/* Tandarts van Schiedam bovenop de De Bresser-opmaak (impressie 3-10-2026). Kleuren zitten al in style-tvs.min.css. */

/* Sterren in Google-geel, niet in de goud-accentkleur */
.sb-sterren{background:linear-gradient(90deg,#FBBC05 var(--vul),var(--lijn) 0)}

/* Logo: breed woordmerk in de witte tab in plaats van het vierkante De Bresser-logo */
.topbar .topbar__logo img{height:64px}
.topbar.is-stuck .topbar__logo img{height:48px}
@media(max-width:1180px){.topbar .topbar__logo img{height:56px}}
@media(max-width:940px){.topbar .topbar__logo img,.topbar.is-stuck .topbar__logo img{height:44px}}
.topbar .topbar__logo{margin-bottom:-20px}
.topbar.is-stuck .topbar__logo{margin-bottom:-10px}
@media(max-width:940px){.topbar .topbar__logo,.topbar.is-stuck .topbar__logo{margin-bottom:-12px}}
.drawer__logo img{height:44px}
.footer__merk .footer__logo{width:210px}
@media(max-width:760px){.footer__merk .footer__logo{width:170px}}

/* Hero: TvS-woordmerk als lichte watermerk-deco */
.hero .art-b6{width:300px;opacity:.22}

/* Band "zonder angst": beeldmerk links, 22-jaar-krans rechts (niet bijsnijden zoals het De Bresser-logo) */
.sb-opslag .opslag__mark{aspect-ratio:auto;object-fit:contain;height:58%}
.sb-opslag .opslag__script{height:78%}

/* Kerncijfers en keurmerken */
.kc-logo--iso img{height:64px;width:auto}
/* Google-G in kleur (de SVG heeft al witte tekst) en het KNMT-woordmerk in wit */
.keurmerk--kv img{filter:none}
.hf1 .keurmerk--ev{width:auto}
.hf1 .keurmerk--ev img{height:24px;width:auto;translate:0 0}
.mega__ev img,.drawer__ev img{height:34px;width:auto}

/* Footer: partnerlogo's wit, ISO-logo omgezet naar wit */
.footer__merken .merk img{height:46px;width:auto}
.footer__merken .merk--iso img{height:56px;filter:brightness(0) invert(1)}
.footer__merken .merk--im img{height:38px}
@media(max-width:760px){.footer__merken .merk img{height:36px}.footer__merken .merk--iso img{height:44px}.footer__merken .merk--im img{height:30px}}
.footer__vest li{min-width:0}

/* Servicegebied: molen-uitsnede ligt pixel op pixel op de scene en steekt boven de fotorand uit */
.sb-route__wagen{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:80% 50%}


/* Wisselwoord in de hero: goud-accent (groen haalt op navy te weinig contrast) */
.hero__wissel{color:#DCB114}
/* Wisselwoord reserveert de breedte van het langste woord (data-langste), zodat de kop niet van hoogte of regelbreking
   wisselt en niets eronder verspringt. Vanaf 441px past die kop op de 56rem van de hero op een regel. */
.hero__wissel::before{content:attr(data-langste);display:block;height:0;overflow:hidden;visibility:hidden}
@media(min-width:441px){.hero--home .hero__title--merk{font-size:clamp(2.2rem,4.1vw,3.1rem)}.hero__wissel{text-align:left}}

/* Knop in het snelle inschrijfformulier: dezelfde groene actieknop als elders */
#tvsSnel .of-cta{background:var(--offerte);border:1px solid var(--offerte);color:var(--offerte-tekst)}
#tvsSnel .of-cta:hover,#tvsSnel .of-cta:focus-visible{background:var(--offerte-hover);border-color:var(--offerte-rand);color:#fff}

/* Nieuwskaarten zonder pop-out: het raam vult alleen het beeldvak */
.bh-nieuws__beeld{position:relative}

/* 22-jaar-krans rechtsboven bij de reviews (de kroon van De Bresser was breed en laag) */
#reviews .art-b2{left:auto;right:7%;top:4%;width:118px}

/* Footer: routeknop onder het adres */
.footer__vest .footer__route{display:inline-block;margin-top:.2rem}
@media(min-width:761px){.footer__vest li:first-child{grid-column:span 2}}

/* Mobiel: breed woordmerk kleiner, beoordeling pas vanaf 431px, zodat knop en menu in beeld blijven */
@media(max-width:600px){.topbar .topbar__logo img,.topbar.is-stuck .topbar__logo img{height:36px}}
@media(max-width:430px){.topbar__kv{display:none}}

/* Intro bij de behandelingen niet onder het beeldmerk rechtsboven door laten lopen */
#diensten .sectiekop .intro{max-width:60ch}

/* Footerfoto: de echte gevel, met het bord "Tandarts" in beeld (De Bresser-uitsnede viel net onder het bord) */
.footer__media img{object-position:50% 20%}
@media(max-width:700px){.footer__media img{object-position:50% 8%}}

/* Stappen: achterste plaat in een lichte tint van de eigen kleur (blauw met lichtblauw, zoals Shahab goedkeurde) */
.c7-b43__stap--blauw .c7-b43__plateau::before{background:#84ADFF}
.c7-b43__stap--geel .c7-b43__plateau::before{background:#EFD77E}
.c7-b43__stap--groen .c7-b43__plateau::before{background:#8FD69C}
.keurmerk__sub .tvs-kort{display:none}
@media(max-width:600px){.hf1 .keurmerk--ev img{height:16px}.keurmerk__sub .tvs-lang{display:none}.keurmerk__sub .tvs-kort{display:inline}}

/* Dienstkaarten: heel dunne goudlijn rondom (als schaduwlaag, zodat de pop-outkop eroverheen valt) */
#diensten .sb-dienst{box-shadow:0 0 0 1px #DCB114,var(--schaduw-kaart)}
#diensten .sb-dienst:hover{box-shadow:0 0 0 1px #DCB114,var(--schaduw)}

/* Goud van de 22-jaar-krans in plaats van oranje op de vlakke kaarten (Shahab 3-10); navy tekst, wit haalt op goud te weinig contrast */
.sb-pop+.sb-voordelen__kaarten li:is(:nth-child(2),:nth-child(3)){background:#DCB114}
.sb-pop+.sb-voordelen__kaarten li:is(:nth-child(2),:nth-child(3)) :is(h3,p,a){color:#001145}
.sb-pop+.sb-voordelen__kaarten li:is(:nth-child(2),:nth-child(3)) img{filter:brightness(0);opacity:.85}
.sb-zakelijk__kaart,.sb-zakelijk__tekstvak{background:#DCB114}

/* Pijlknop bij hover: lichtblauw vlak, zodat het blauw-gouden pijltje zichtbaar blijft (was blauw op blauw) */
#diensten .sb-dienst:hover .sb-dienst__pijl{background:#84ADFF;transform:translateX(2px)}

/* Toen/nu links: behandelkamer met de stoel als pop-out (zelfde opbouw als de gevel rechts; maten uit gereedschap/echtpop.py) */
.sb-toennu__toen .sb-toennu__raam{aspect-ratio:1.1765}
.sb-toennu__toen :is(.sb-toennu__foto,.sb-toennu__uit){position:absolute;left:-37.171%;top:-45.085%;width:164.474%;max-width:none;height:auto;aspect-ratio:auto;border-radius:0;object-fit:fill}
.sb-toennu__toen .sb-toennu__uit{left:0;width:100%;z-index:2;pointer-events:none;clip-path:inset(0 0 9.27% 0);filter:drop-shadow(8px 6px 7px rgba(0,17,69,.45)) drop-shadow(1px 1px 2px rgba(0,17,69,.3))}

/* Toen/nu rechts: het echte bord "Tandarts" steekt boven de gevelfoto uit (maten uit gereedschap/echtpop.py) */
.sb-toennu__nu :is(.sb-toennu__foto,.sb-toennu__uit){left:-25%;top:-23.4%;width:125%}
.sb-toennu__nu .sb-toennu__uit{left:0;width:100%;clip-path:inset(0 0 16.78% 0)}

/* Gouden ring (1px #DCB114) op de homepageblokken die overal gelijk zijn: reviewkaarten, nieuwskaarten, offerteformulier (alle pagina-s + homepage). Geen layoutverschuiving: outline binnen de rand, border-kleur van bestaande randen. */
.sbr__kaart,.bh-nieuws__kaart{outline:1px solid #DCB114;outline-offset:-1px}
.sbr__profiel{border-color:#DCB114}
.sb-ob__kaart::before{border-color:#DCB114}

/* Scroll-reveal van de generator (onthul.py): eigen attribuut en klasse, botst niet met pagina-regels op .in */
.js [data-onthul]{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease,cubic-bezier(.22,.61,.36,1)),transform .7s var(--ease,cubic-bezier(.22,.61,.36,1))}
.js [data-onthul].onthul-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js [data-onthul]{opacity:1;transform:none;transition:none}}
@media print{[data-onthul]{opacity:1!important;transform:none!important}}

/* Bel-knop met witte rand (.btn--lijn-wit) op een lichte sectie: marine rand en tekst (klasse zet onthul.py op basis van de achtergrond) */
.page--inner.page--inner.page--inner main a.btn.btn--lijn-wit.bel-licht[href^="tel:"]:not(.c7-b43 *){--bel-kleur:#001145;--bel-vlak:#fff;--bel-hover-vlak:#0031AF;--bel-hover-kleur:#fff;box-shadow:0 8px 16px -12px rgba(0,17,69,.5)}
.page--inner.page--inner.page--inner main a.btn.btn--lijn-wit.bel-licht[href^="tel:"]:not(.c7-b43 *):is(:hover,:focus-visible,:active){box-shadow:0 14px 22px -12px rgba(0,17,69,.6)}

/* Site-brede regel: geen onderstreepte tekst. Links blijven herkenbaar aan kleur en gewicht (lopende-tekstlinks zonder klasse: semibold). Doorhalingen blijven ongemoeid. */
a,a:hover,a:focus,a:focus-visible,a:active,a:visited,a *,button,button:hover,button:focus-visible,summary,label,u,ins,abbr[title],[role="button"],.footer a:not(.btn):hover,.footer__legal a,.footer__legal-knop{text-decoration:none!important;text-underline-offset:0!important}
main :is(p,dd,td,figcaption,.hf1-tel,.sbr__lead) a:not(.btn):not([class*="btn"]),main li:not([class]) > a:not([class]){font-weight:700}
/* R27 G9: dikke gele accentbalken (balk, geen rand) blijven dik #FFC400: tabbalk, blokfoto-onderbalk, zeker-houder, contactbeeld, mail-fallback, contactkop. Randen, ringen en focusringen hieronder blijven 1px #DCB114. De 2px-streep onder .sb-kennis__bel a blijft 1px goud: het is een onderstreping-vervanger en dat mag niet. */
/* Dunne goudrand (1px #DCB114) overal waar een gele rand, ring of focusring stond; vlakken blijven vlak. Ook pagina-kopieen met een afwijkend geel (#FFC400) lopen hierdoor gelijk. */
.sb-dienst__ico,.sb-zakelijk__icoon,.c7-blog__clay,.c7-kev__ster,.c7-wb-badge,.usps .ico{outline:1px solid #DCB114!important;outline-offset:-1px!important}
.wa-zweef:focus-visible,a.dienst:focus-visible{outline:1px solid #DCB114!important}
.di-i__tab[aria-selected="true"]{box-shadow:inset 0 3px 0 #FFC400!important}
.page--inner .blok--navy .blok__foto{border-bottom:6px solid #FFC400!important}
.page--inner .zeker__houder{border-left:3px solid #FFC400!important}
.page--inner .sb-contact__beeld{border-bottom:4px solid #FFC400!important}
.page--inner .sb-kennis__bel a{border-bottom:1px solid #DCB114!important}
.page--inner .form-mail-fallback{border-left:4px solid #FFC400!important}
.page--inner main>.sectie#contact .sectiekop--midden{border-top:6px solid #FFC400!important}
/* Ook niet-link elementen (bv. spans met een onderstreepte kop-accent) en alle pagina-CSS: nergens onderstreping; de enige doorhaling (klaar-item in de checklist) blijft. */
*,*::before,*::after{text-decoration-line:none!important}
.vcl-item.klaar .t{text-decoration-line:line-through!important}
/* Stapnummer van de gele stap in "Zo word je patient": dunne goudring (1px) in plaats van 3px */
.c7-b43__stap--geel .c7-b43__nr{box-shadow:0 0 0 1px #DCB114,var(--schaduw)}

/* R28 G15: de zwevende WhatsApp-knop bedekte op 1000-1499 px lopende tekst (op 1280 px staat de tekst tot 40 px van de rand, de knop is 56 px + 16 px marge).
   Op die breedtes krimpt de knop tot de ruimte naast de inhoudskolom (rand van .wrap = (100vw - 1300px)/2 + var(--pad), 8 px marge voor de scrollbalk) en staat hij in die goot;
   vanaf 1500 px is de goot breed genoeg voor de gewone knop. Onder 1000 px (tablet) blijft de gewone knop. */
@media(min-width:1000px) and (max-width:1499.98px){
.wa-zweef{--wa-g:calc(max(0px,(100vw - 1300px)/2) + clamp(16px,4vw,40px) - 8px);--wa-d:clamp(34px,calc(var(--wa-g) - 22px),56px);
width:var(--wa-d);height:var(--wa-d);right:clamp(2px,calc((var(--wa-g) - var(--wa-d))/2),16px)}
.wa-zweef svg{width:60%;height:60%}
}

/* R28 G22: op mobiel staan de knoprijen "Schrijf je in" + WhatsApp niet onder elke sectie maar onder elke derde (site.js zet data-rij-mob="weg" op de rest). */
@media(max-width:767.98px){
body.page--inner main [data-rij-mob="weg"]{display:none!important}
}

/* R28 kop-lagen: de uitsnede (kop) van een linkkaart staat altijd voor de gouden kaartrand (box-shadow 1px #DCB114) van de eigen en elke andere kaart, ook tijdens de onthulling
   (li met opacity/transform is dan een eigen stapelcontext). Elke kaart is nu een eigen stapelcontext, in DOM-volgorde: een latere kaart (volgende rij, met zijn kop) ligt boven de rand van een eerdere. */
.sb-diensten .sb-dienst{isolation:isolate}
.sb-diensten .sb-dpop__boven{z-index:3}
/* Foutmelding onder het snelformulier (pill) op het blauwe vlak: lichte tekst, anders onleesbaar rood op blauw (26-10-2026). */
.of-form .of-melding{color:#ffe1dc;font-weight:600;margin:.5rem 0 0}
.of-form .of-melding:empty{display:none}
/* Bedankje van het snelformulier op hetzelfde blauwe vlak: witte kop, de standaard donkerblauwe kop (--goud-diep) valt weg (29-10-2026). */
.of-form .sbf__klaar strong{color:#fff}
/* Terugvalkaart in het reviewblok (geen antwoord van /api/google-reviews/): even hoog als een echte reviewkaart (381 px op desktop),
   anders zakt het blok in en steken de boog en de medewerker boven de tekst uit (26-10-2026). */
.sbr__kaart--terugval{min-height:23.8rem;justify-content:center}
/* Desktop: de scorekolom is nooit lager dan met echte reviews (podium 460 px). Zonder of met korte reviews zakte het blok in en
   stak de medewerker tot 50 px in de introzin (GO-TVS-030, 29-10-2026). */
@media (min-width:901px){#reviews.sbr .sbr__score{min-height:calc(28.75rem + var(--sbr-onder))}}
/* ===== Mobiel gedeeld S2-S6 (MOBIEL-SURVEY-20261027). Alles binnen max-width 900/768/620/400: 1280 tot 2560 blijft ongewijzigd. ===== */
/* S2 voettekst: merklogo's en telefoonlink minimaal tikgrootte */
@media (max-width:768px){
html body .footer a.merk{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
html body .footer a[href^="tel:"]{display:inline-block;min-height:28px;line-height:28px}
}
/* S3 voettekst: linklijst niet tegen de rand bij 360 */
@media (max-width:400px){
html body .footer .wrap{padding-inline:max(var(--pad,16px),16px)}
html body .footer__vest a{overflow-wrap:anywhere}
/* Ronde 2: de links staan in .footer__rooster (2 kolommen van 155 px); 'Kindertandheelkunde' is 166 px breed en stak 5 px van de rand. Rechterkolom iets breder. */
/* binnen-basis zet #site-footer .footer__rooster (id) op 1fr 1fr; daarom ook met id. Rechterkolom >=166 px bij 360. */
html body #site-footer .footer__rooster{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);column-gap:16px}
}
/* S4 stappenblok: een kolom op 900 en lager */
@media (max-width:900px){
html body .sectie.c7-b43 .c7-b43__stappen{grid-template-columns:minmax(0,1fr);gap:.6rem}
}
/* S5 linkkaarten: 2 kolommen op 900, 1 kolom op 620 (D2) */
@media (max-width:900px){
/* !important: paginastijlen (services-cutout-popout-cards, services-grid) zetten 3 kolommen met id-specificiteit tot 860 px */
html body .sb-diensten__grid.sb-diensten__grid--3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Ronde 2: kaarten kleiner dan 280 px (D2) op 621-647 px: eerder naar 1 kolom */
@media (max-width:648px){
html body .sb-diensten__grid,html body .sb-diensten__grid.sb-diensten__grid--3{grid-template-columns:minmax(0,1fr)!important}
html body .sb-diensten__grid>li{flex:1 1 100%;max-width:100%}
}
/* S6 knoppen: label breekt af in plaats van over de rand te lopen */
@media (max-width:620px){
html body .btn{max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
}
@media (max-width:768px){
html body .w.s1-trio .btn{white-space:normal}
}
/* Ronde 2 (D6): lopende tekst minimaal 14 px op mobiel (routefeiten, treinhaltes, reviewbron); labels en knoppen blijven 12 px */
@media (max-width:620px){
html body .rm-tabs .rm-tabs__facts p,html body .rm-tabs .rm-tabs__tab small,html body .sbr__wie,html body .sbr__wie a{font-size:.875rem}
}
/* ===== Mobiel visueel gedeeld: reviewblok (27-10-2026). Alles binnen max-width 900: vanaf 1280 ongewijzigd. ===== */
@media (max-width:900px){
/* Terugvalkaart: geen 23.8rem-hoge kaart met twee regels erin; hoogte volgt de inhoud */
.page--inner .sbr__kaart--terugval{min-height:0;justify-content:flex-start;flex-basis:min(26.4rem,100%)}
/* Kaarten op eigen hoogte: een korte review rekt niet op tot de hoogte van de foto-kaart ernaast */
.page--inner .sbr__kaarten{align-items:flex-start}
.page--inner .sbr__fotos{flex:none;min-height:0}
.page--inner .sbr__foto{height:auto;aspect-ratio:720/444}
/* Minder lucht rond kop en onderkant */
.page--inner .sbr__kopgroep{margin-bottom:1.25rem}
.page--inner .sbr{padding-bottom:2.5rem}
}
/* 22-jaar-krans over de leadtekst bij 621 tot 900: tekst blijft links van de krans */
@media (min-width:621px) and (max-width:900px){
.page--inner .sbr__kopgroep{padding-right:9.5rem}
}
/* Mobiel visueel gedeeld: inschrijfblok onder de hero (vast:prijs) op tablet, 621 tot 900: meer lucht rond keurmerken, kop en formulier */
@media (min-width:621px) and (max-width:900px){
html body .hf1 .of-box{padding:30px 34px 28px}
html body .hf1 .of-trust{margin-bottom:22px}
html body .hf1 .of-title{margin-bottom:10px}
html body .hf1 .of-sub{margin-bottom:22px}
html body .hf1 .of-form{gap:12px}
}
/* Mobiel visueel gedeeld (28-10-2026): reviewblok compact en in balans. Alles binnen max-width 900: vanaf 1280 ongewijzigd. */
@media (max-width:620px){
/* Linkkaarten: de beschrijving is hier verborgen, dan hoeft de tekstvlak geen 4,8 rem reserve (45 tot 60 px lege band onder de titel) */
.page--inner .sb-diensten__grid--3 .sb-dienst__tekst{min-height:0}
.page--inner .sbr__kopgroep{margin-bottom:.5rem}
.page--inner .sbr__score{gap:.2rem;margin-bottom:.2rem}
}
/* Tablet: tekst links, score met foto rechts, kaarten over de volle breedte eronder (geen lege zijkanten) */
@media (min-width:621px) and (max-width:900px){
.page--inner .sbr__in{grid-template-columns:minmax(0,1fr) minmax(0,22rem);grid-template-areas:"kop podium" "profiel podium" "rail rail";column-gap:2rem}
.page--inner .sbr__score{display:contents}
.page--inner .sbr__kopgroep{grid-area:kop;align-self:end;padding-right:0;margin-bottom:.75rem}
.page--inner .sbr__podium{grid-area:podium;justify-self:end;margin-top:5rem;margin-bottom:1rem}
.page--inner .sbr__score>.sbr__profiel{grid-area:profiel;align-self:start;justify-self:start}
.page--inner .sbr__kaart--terugval{flex-basis:100%}
.page--inner #reviews .art-b2{top:1.25rem;width:110px}
/* Linkkaarten (sb-diensten, 3-grid): derde kaart alleen op de tweede rij staat gecentreerd op dezelfde breedte */
.page--inner .sb-diensten__grid--3:not(:has(>li:nth-child(4))) >li:nth-child(odd):last-child{grid-column:1/-1;justify-self:center;width:calc(50% - .45rem)}
/* Sinds-2004-blok: de stoel-uitsnede steekt niet meer over de kop (foto's zijn hier groot, de uitsnede rijst hoger) */
[data-blok="sinds2004"] .sb-toennu__fotos{margin-top:5.4rem}
}
/* Hero-titel (vast:hero): regel 3.4, geen afbreking midden in het woord en geen automatisch koppelteken; het lettertype krimpt vloeiend zodat het langste woord (Wortelkanaalbehandeling, 13,3 em) op de breedte past */
@media (max-width:620px){
html body .hero--pagina .hero__title{-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal;word-break:normal}
html body .hero--pagina:not(.hero--home) .hero__title{font-size:clamp(1.45rem,calc((100vw - 2.1rem) / 13.8),1.9rem)}
/* FAQ-vragen: een lang woord laat het vraagteken niet alleen op een regel achter; het woord wordt afgebroken */
html body .c7-fv details>summary{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:normal;word-break:normal}
html body .c7-fv__meer .btn{text-wrap:balance}
/* Privacyregel onder de inschrijfknop en in de offertekaart: tekst loopt niet onder de zwevende WhatsApp-knop (rechts, 56 px) */
html body .sb-ob__verstuur p,html body .hf1-tel{padding-right:3.25rem}
}
/* Samen-blok (slant-cells): plaat en ronde uitsnede blijven binnen de 16 px marge van het scherm (smaller dan 901) */
@media (max-width:900px){
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__visual{margin-right:.9rem}
}
/* Mobiel visueel gedeeld (28-10-2026): stappenblok 'Zo word je patient' op tablet, 621 tot 900: plateau met figuur links, tekst rechts (geen brede lege banen). Vanaf 901 ongewijzigd. */
@media (min-width:621px) and (max-width:900px){
html body .sectie.c7-b43 .c7-b43__stappen{gap:1.4rem}
html body .sectie.c7-b43 .c7-b43__stap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:2.25rem;align-items:center}
html body .sectie.c7-b43 .c7-b43__stap .c7-b43__tekst{margin-top:0}
}
/* Mobiel visueel gedeeld (28-10-2026): footer-juridische links op smal scherm links uitgelijnd met de kopijregel (geen gecentreerd wees-linkje 'Contact'). Alleen tot 620 px. */
@media (max-width:620px){
html body #site-footer .footer__legal{justify-content:flex-start}
html body #site-footer .footer__legal a{padding-inline:0}
}
/* Mobiel: logo-restjes weg (menu, 28-10-2026): het losse KNMT-logo onderin het open mobiele menu valt weg en laat geen lege band meer achter; het paneel eindigt na het contactblok. */
@media (max-width:1279.98px){
html body .drawer .drawer__evruimte{display:none}
html body .drawer .drawer__panel{inset:0 0 auto auto;height:auto;max-height:100dvh}
}
/* Mobiel compact (28-10-2026): Google-reviewsblok op inner pages en homepage. Alles binnen max-width 900: vanaf 901 ongewijzigd.
   Telefoon: score, ring en Google-badge op een rij; kaarten een zwiprij (kaart plus rand van de volgende), kortere tekst, geen sfeerfoto in de kaart.
   Tablet: geen sfeerfoto in de kaart, tekst korter, kaarten even hoog. */
@media (max-width:620px){
body #reviews.sbr .sbr__score{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.9rem;margin-bottom:.35rem}
body #reviews.sbr .sbr__podium{position:relative;inset:auto;flex:none;width:auto;max-width:none;height:auto;justify-self:auto}
body #reviews.sbr .sbr__stapel,body #reviews.sbr .sbr__persoon{display:none}
body #reviews.sbr .sbr__podium>.sbr__boog{position:relative;left:auto;bottom:auto;width:9.4rem}
body #reviews.sbr .sbr__getal b{font-size:2.5rem}
body #reviews.sbr .sbr__getal>span[aria-hidden]{gap:.2rem}
body #reviews.sbr .sbr__getal .sb-sterren{font-size:.95rem}
body #reviews.sbr .sbr__sub{max-width:7rem;font-size:.875rem}
body #reviews.sbr .sbr__kaarten{align-items:stretch;gap:.8rem}
body #reviews.sbr .sbr__kaart{flex-basis:min(19.5rem,86%);padding:1.1rem 1.15rem}
body #reviews.sbr .sbr__fotos{display:none}
body #reviews.sbr .sbr__tekst{margin-bottom:.6rem}
body #reviews.sbr .sbr__tekst p{font-size:.92rem;line-height:1.55}
body #reviews.sbr .sbr__rail--js .sbr__tekst:not(.is-open) p{-webkit-line-clamp:4;line-clamp:4}
body #reviews.sbr .sbr__wie{padding-top:.7rem}
body #reviews.sbr .sbr__kaart--terugval{flex-basis:100%}
}
@media (min-width:621px) and (max-width:900px){
body #reviews.sbr .sbr__kaarten{align-items:stretch}
body #reviews.sbr .sbr__fotos{display:none}
body #reviews.sbr .sbr__tekst{margin-bottom:.6rem}
body #reviews.sbr .sbr__rail--js .sbr__tekst:not(.is-open) p{-webkit-line-clamp:5;line-clamp:5}
}
/* Homepage tablet: score, ring met medewerker en Google-badge op een rij in plaats van een hoog gecentreerd podium */
@media (min-width:621px) and (max-width:900px){
body:not(.page--inner) #reviews.sbr .sbr__score{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:1.75rem;margin-bottom:.5rem}
body:not(.page--inner) #reviews.sbr .sbr__podium{position:relative;inset:auto;flex:none;width:19rem;max-width:none;height:12.5rem;justify-self:auto}
body:not(.page--inner) #reviews.sbr .sbr__stapel{top:auto;right:0;bottom:0;width:9rem;height:9.4rem}
body:not(.page--inner) #reviews.sbr .sbr__persoon{right:.5rem;bottom:0;height:13.5rem}
body:not(.page--inner) #reviews.sbr .sbr__podium>.sbr__boog{left:0;bottom:0;width:9.6rem}
body:not(.page--inner) #reviews.sbr .sbr__getal b{font-size:2.6rem}
body:not(.page--inner) #reviews.sbr .sbr__getal .sb-sterren{font-size:1rem}
body:not(.page--inner) #reviews.sbr .sbr__sub{font-size:.875rem;max-width:6.6rem}
}

/* Mobiel compact (28-10-2026): samen-blok (slant-cells) 2x2 in plaats van 4 hoge kaarten onder elkaar; vanaf 621 ongewijzigd */
@media (max-width:620px){
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.1rem .7rem}
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__card{min-height:0;padding:2.6rem .8rem .9rem;gap:.3rem}
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__card p{font-size:1.02rem;line-height:1.25;hyphens:manual;overflow-wrap:normal}
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__more{font-size:.875rem;line-height:1.4;hyphens:manual;overflow-wrap:normal}
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__icon{top:-22px;left:.8rem;width:56px;height:56px;border-radius:16px}
html body section[data-soort="vertrouwen"][data-patroon="trust-strip-slant-cells-rise"] .slant-cells__icon img{width:30px;height:30px}
}
/* Mobiel compact (28-10-2026): stappenblok 'Zo word je patient' op 620 en smaller: plateau met figuur links, tekst rechts (drie kaarten van 322 px werden 3 compacte rijen). Homepage gelijk; vanaf 621 ongewijzigd. */
@media (max-width:620px){
html body .sectie.c7-b43 .c7-b43__stappen{gap:1rem}
html body .sectie.c7-b43 .c7-b43__stap{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);column-gap:1rem;align-items:center}
html body .sectie.c7-b43 .c7-b43__stap .c7-b43__tekst{margin-top:0}
}

/* Footer op 320: tweede kolom past (Kindertandheelkunde), geen zijwaartse scroll (2026-10-28) */
@media(max-width:340px){html body #site-footer .footer__rooster{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:12px}html body #site-footer .footer__rooster ul{font-size:14px}}

/* Kindertandarts s5 (29-10-2026, GO-TVS-043): foto nieuws-foto-6 is 3:2. Desktop weer 800x533 zonder uitrekken; mobiel vult het kader met assistente en peuter in beeld. */
html body section[data-sectie-id="s5"][data-patroon="about-team-fact-tiles-uit"] .tk__ph[src*="nieuws-foto-6"],html body section[data-sectie-id="s5"][data-patroon="about-team-fact-tiles-uit"] .tk__cut[src*="nieuws-foto-6"]{bottom:-17px;height:533px}
@media (max-width:900px){html body section[data-sectie-id="s5"][data-patroon="about-team-fact-tiles-uit"] .tk__ph[src*="nieuws-foto-6"]{left:0;bottom:0;width:100%;height:100%;object-fit:cover;object-position:35% 50%}}

/* Reviews V3 (29-10-2026, besluit Shahab): momentopname 4,8 uit 689 met zichtbaar label. Zonder JS staat het label er; met JS alleen als
   Google niet antwoordt (google-reviews.js zet dan html.sb-momentopname), bij een geldige score haalt het script het weg. De ruimte voor
   het label geldt alleen in die twee standen, zodat bij een werkend eindpunt niets verspringt. */
.sb-moment{display:block;font-size:12px;font-weight:400;line-height:1.2}
html.js:not(.sb-momentopname) .sb-moment{display:none}
@media(min-width:431px){:is(html:not(.js),html.sb-momentopname) .topbar__kv{display:inline-grid;grid-template-columns:auto auto auto 1fr;align-items:center;column-gap:.4rem;row-gap:2px}
:is(html:not(.js),html.sb-momentopname) .topbar__kv .sb-moment{grid-column:1/-1;font-size:11px;white-space:nowrap}}
@media(max-width:560px){:is(html:not(.js),html.sb-momentopname) .keurmerk--score.keurmerk--kv img{height:16px}
:is(html:not(.js),html.sb-momentopname) .keurmerk--kv.keurmerk--score{gap:.3rem;padding-inline:6px}
:is(html:not(.js),html.sb-momentopname) .keurmerk__cijfer .sb-moment{font-size:9.5px;line-height:1.1}
:is(html:not(.js),html.sb-momentopname) .c7-fv-badge{width:112px;height:112px}
:is(html:not(.js),html.sb-momentopname) .c7-fv-badge b{font-size:1.5rem}
:is(html:not(.js),html.sb-momentopname) .c7-fv-badge small{max-width:none;font-size:10px!important}
:is(html:not(.js),html.sb-momentopname) .c7-fv-badge .sb-moment{max-width:80px;font-size:8.5px;line-height:1.1}}
@media(max-width:560px){html[lang="en"]:is(:not(.js),.sb-momentopname) .keurmerk__cijfer .sb-moment{font-size:8.5px;line-height:1.05}}

/* Woorden breken nooit midden door (Shahab 29-10-2026, FAQ op mobiel: 'pati-ënten', 'span-nend'). Nergens automatisch afbreken; een woord
   breekt alleen als laatste redmiddel als het breder is dan zijn vak, en break-word telt (anders dan anywhere) niet mee in de minimale
   breedte, dus vakken krijgen de maat van hun langste woord. Is een vak toch te smal, dan maakt site.js de letter kleiner. */
html body *{-webkit-hyphens:manual!important;hyphens:manual!important;overflow-wrap:break-word!important}
/* Kronen en bruggen, kaart op de foto: op mobiel was de tekstkolom 120 px voor "wortelkanaalbehandeling" (199 px); de kaart krijgt de fotobreedte. */
@media(max-width:560px){html body #kb-intro .hv__kaart{width:calc(100% - 1.2rem);max-width:none}}
/* Vertrouwensbalk in het formulier (P57-1, 29-10-2026): tot 440 px paste de pil niet. 4,8 met Google Maps (12 px, nowrap) en SINDS 2004 liepen
   tot 17 px buiten hun vak en over de ronde rand. Smal: de vakken groeien mee in hoogte, het Google-vak zet logo, cijfer en Google Maps onder
   elkaar en de pil wordt een afgeronde rechthoek. Lettergroottes en desktop blijven gelijk. */
@media(max-width:440px){html body .of-trust.keurmerken{border-radius:18px;align-items:stretch}
html body .of-trust.keurmerken>.keurmerk{height:auto;min-height:48px}
html body .of-trust.keurmerken>.keurmerk--kv.keurmerk--score{flex-direction:column;gap:3px;padding-inline:4px}
html body .of-trust.keurmerken .keurmerk__cijfer{align-items:center!important;text-align:center}}
/* Fotobijschriften Binnen en Onze praktijk (P57-3): van 11,5 naar 14 px; onder 400 px iets minder letterafstand, zodat ONZE PRAKTIJK op 360 op een regel blijft. */
html body .sb-toennu__fotos figcaption{font-size:14px}
@media(max-width:400px){html body .sb-toennu__fotos figcaption{letter-spacing:.06em}}
