/*
 * ot-cms.css: de opmaaklaag van orthopedie-turnhout.be in het CMS.
 *
 * Alleen wat de omzetting van Webflow naar het CMS kost, en niets anders
 * (ONTWERP.md, sectie 6). Geen nieuwe kleuren, maten of lettertypes: elke waarde
 * komt uit de stylesheet van Webflow, orthopedie-turnhout.shared.c68cd7265.css
 * (hieronder "site.css", met het regelnummer van die regel), of is gemeten op de
 * live site.
 *
 * Waarom deze laag bestaat: Webflow verbergt een leeg veld met de klasse
 * w-dyn-bind-empty en een voorwaarde met w-condition-invisible, telkens PER ITEM
 * in de gepubliceerde HTML. Een sjabloon dat alle items bedient, kan die klassen
 * niet dragen (dan zou het blok bij elk item verdwijnen). Ze gaan dus uit het
 * sjabloon, en elke voorwaarde wordt hier een :has()-regel op het veld waar ze
 * van afhangt.
 *
 * Gelinkt na de stylesheet van Webflow in elke pagina en elk sjabloon (bouw.py).
 */

/* ---------------------------------------------------------------- leeg veld
 * Hetzelfde als .w-dyn-bind-empty van Webflow (site.css regel 2064): een gebonden
 * element zonder inhoud verdwijnt. Het CMS maakt een leeg veld leeg zonder klasse.
 * img, input en iframe tellen niet mee: die zijn altijd leeg, en een leeg beeld of
 * een lege video krijgt van het CMS zelf `hidden`.
 */
[data-veld]:not(img):not(input):not(iframe):empty{display:none!important}

/* ---------------------------------------------------------------- lege staat
 * Een w-dyn-empty in een lijst toont Webflow alleen bij nul items. Staat hij in
 * het ontwerp, dan nu ook alleen dan. De opmaak zelf blijft die van site.css
 * regel 2059.
 */
.w-dyn-list>.w-dyn-empty{display:none}
.w-dyn-list:has(>.w-dyn-items:empty)>.w-dyn-empty{display:block}

/* ---------------------------------------------------------------- menu-icoon
 * In het menu zet het CMS het icoon zelf als img in de wikkel (data-veld="icoon"
 * op .navbar11_icon-wrapper), zonder het attribuut width="29" van het ontwerp.
 * 29px is die breedte, de wikkel zelf blijft site.css regel 7287.
 */
.navbar11_icon-wrapper>img{width:29px}

/* ================================================================ artsen/_item.html
 * Elke regel volgt uit de w-condition-invisible op de 11 live artsenpagina's
 * (afgeleid door bouw.py, zie AFWIJKINGEN-A.md voor de telling).
 */

/* RIZIV: de wikkel verdwijnt zonder nummer (6 artsen). Via het kind, want de
   wikkel van de tags draagt dezelfde klassen. */
.margin-top.margin-small:has(>.arts_risiv-wrapper>p[data-veld="riziv_nummer"]:empty){display:none}
/* Tags: de wikkel verdwijnt zonder tags (9 van de 11). */
.margin-top.margin-small:has(>.w-dyn-list>.arts_tags-wrapper:empty){display:none}
/* Andere artsen: de wikkel verdwijnt zonder collega (dr. De Baets). */
.margin-top.margin-medium:has(>.layout1_artsen-wrapper .layout1_artsen-collection:empty){display:none}
/* Opleidingen, Lidmaatschap, Certificaten, Aanvullende functies: kop en tekst
   verdwijnen samen als het veld leeg is. */
.arts_about-div:has(>.w-richtext:empty){display:none}

/* ================================================================ nieuws/_item.html */

/* Hoofdafbeelding: zonder foto verdwijnt de wikkel (8 van de 16). Het CMS zet een
   leeg fotoveld op `hidden`. */
.content2_image-wrapper:has(img[hidden]){display:none}
/* Inschrijvingsblok: alleen bij keuze "Formulier" (live alleen het
   mini-symposium van 2024). De keuze staat als value in de verborgen input. */
.nieuws_inschrijvingsformulier:has(input.ot-voorwaarde:not([value="Formulier"])){display:none}
/* "Misschien ook interessant": de lege .padding-small vult de kaart alleen als
   de samenvatting leeg is. Gescoped op .text-wrapper-nieuws, want padding-small is
   een algemene klasse van Client-First. */
.text-wrapper-nieuws>.padding-small{display:none}
.text-wrapper-nieuws:has(>.text-size-regular:empty)>.padding-small{display:block}

/* ================================================================ klinische-paden/_item.html
 * De nieuwe lay-out. Elke regel volgt uit de w-condition-invisible op de 112
 * live paden met de vernieuwde lay-out.
 */

/* Een inhoudsblok met een lege tekst verdwijnt, met zijn regel in de
   inhoudstafel. Alleen de acht blokken met een id: het vrije contentblok en de
   lege restwikkel blijven live ook staan. */
.klinisch-pad-content-block[id]:has(>.w-richtext:empty){display:none}
.klinisch-pad-wrapper:has(#wat-is-het>.w-richtext:empty) #link-wat-is-het,
.klinisch-pad-wrapper:has(#bij-wie-komt-het-voor>.w-richtext:empty) #link-bij-wie-komt-het-voor,
.klinisch-pad-wrapper:has(#wat-zijn-de-symptomen>.w-richtext:empty) #link-wat-zijn-de-symptomen,
.klinisch-pad-wrapper:has(#hoe-stelt-de-arts-de-diagnose>.w-richtext:empty) #link-hoe-stelt-de-arts-de-diagnose,
.klinisch-pad-wrapper:has(#wanneer-naar-een-volgende-stap>.w-richtext:empty) #link-wanneer-naar-een-volgende-stap,
.klinisch-pad-wrapper:has(#behandeling>.w-richtext:empty) #link-behandeling,
.klinisch-pad-wrapper:has(#prognose>.w-richtext:empty) #link-prognose,
.klinisch-pad-wrapper:has(#conclusie>.w-richtext:empty) #link-conclusie{display:none}
/* Video: zonder video verdwijnt de wikkel (192 van de 195). */
.klinisch-pad-video-wrapper:has(iframe[hidden]){display:none}
/* Jouw arts(en), Lees ook en de FAQ: weg zonder items. Live staat de FAQ-sectie
   dan niet eens in de HTML; hier staat ze er leeg en verborgen. */
.klinisch-pad-sticky-wrapper:has(.layout1_artsen-collection:empty){display:none}
.klinisch-pad-lees-ook-wrapper:has(.klinisch-pad-lees-meer-collection:empty){display:none}
.section_faq13:has(.faq13_grid-list:empty){display:none}

/* ================================================================ specialisaties/_item.html */

/* Klachtenbanner: alleen als toon_klachten_banner aan staat EN de gekoppelde
   klacht online staat, zoals de hulptekst in Webflow het zegt. Een schakelaar
   rendert als "ja" of "nee"; een lege verwijzing maakt elk veld erachter leeg.
   Live: op schouder-elleboog, traumatologie, knie en hand-pols, niet op
   heup-bekken en voet-enkel. */
.section_cta13:has(input.ot-voorwaarde:not([value="ja"])){display:none}

/* Vangnet van de zelfverwijzing. De lijsten op deze pagina filteren op het veld
   specialisatie van de pagina zelf; is dat leeg, dan toont het CMS ALLES (alle 11
   artsen, alle 36 categorieen). Fail-closed: dan liever niets. */
body:has(input.ot-zelf:is([value=""],:not([value]))) :is(.layout1_artsen-collection,.layout133_content,.aandoeningen_filters-grid,.aandoeningen_collection){display:none}

/* Groepsfoto: het CMS bouwt de img zelf in .layout133_image-wrapper en die img
   mist de klasse .layout133_image. Dezelfde regels, site.css regel 7732 en 8835. */
.layout133_image-wrapper>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0%}
@media screen and (max-width:991px){.layout133_image-wrapper>img{object-position:50% 25%}}

/* Paden per categorie. Live plakt Finsweet de lijst van de categoriepagina in
   elke categoriekaart; het CMS zet er server-side een li > a per pad in
   (<ul data-veld="klinische_paden">). Deze regels geven die rij de opmaak van
   een a.klinisch-pad_link-block op de categoriepagina:
   - de ul: .klinische-paden_grid-list staat er als klasse op (site.css regel
     7411, raster van twee kolommen); hier alleen de lijstopmaak van ul en li uit
     site.css regel 2211 en 2234 terug op nul, zoals de div van Webflow;
   - de a: site.css regel 7420 (.klinisch-pad_link-block);
   - de pijl: het icoon van 1.5rem (site.css regel 4728) met het svg-pad uit het
     ontwerp, in de kleur van .text-color-green (site.css regel 6472);
   - de lijn: site.css regel 7433 (.klinsch-pad_link-line). */
ul.ot-paden{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}
.ot-paden>li{margin-bottom:0}
.ot-paden>li>a{width:100%;color:var(--black);justify-content:space-between;align-items:center;padding-bottom:.25rem;font-family:futura-pt,sans-serif;font-size:1.25rem;text-decoration:none;display:flex;position:relative}
.ot-paden>li>a::after{content:"";flex:none;width:1.5rem;height:1.5rem;background-color:var(--light-sea-green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6v2h8.59L5 17.59L6.41 19L16 9.41V18h2V6z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6v2h8.59L5 17.59L6.41 19L16 9.41V18h2V6z'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.ot-paden>li>a::before{content:"";background-color:#00000026;height:1px;position:absolute;inset:auto 0% 0%}

/* ================================================================ /artsen: artsenfilter
 * Live filtert Finsweet CMS Filter de artsenkaarten op specialisatie (meer
 * vinkjes = of). Zonder Finsweet doet CSS hetzelfde: elk selectievakje draagt
 * data-ot-filter met de slug van zijn specialisatie, elke kaart een verborgen
 * input.ot-spec met de slug van de specialisatie van die arts. Staat er een vinkje
 * en staat een specialisatie NIET aangevinkt, dan verdwijnen haar kaarten. Een
 * kaart met een specialisatie buiten de zes (een nieuwe) verdwijnt ook zodra er
 * gefilterd wordt, zoals bij Finsweet.
 */
.section_team4:has(input[data-ot-filter]:checked):not(:has(input[data-ot-filter="hand-pols"]:checked)) .collection-list-2>.w-dyn-item:has(input.ot-spec[value="hand-pols"]),
.section_team4:has(input[data-ot-filter]:checked):not(:has(input[data-ot-filter="heup-bekken"]:checked)) .collection-list-2>.w-dyn-item:has(input.ot-spec[value="heup-bekken"]),
.section_team4:has(input[data-ot-filter]:checked):not(:has(input[data-ot-filter="knie"]:checked)) .collection-list-2>.w-dyn-item:has(input.ot-spec[value="knie"]),
.section_team4:has(input[data-ot-filter]:checked):not(:has(input[data-ot-filter="traumatologie"]:checked)) .collection-list-2>.w-dyn-item:has(input.ot-spec[value="traumatologie"]),
.section_team4:has(input[data-ot-filter]:checked):not(:has(input[data-ot-filter="schouder-elleboog"]:checked)) .collection-list-2>.w-dyn-item:has(input.ot-spec[value="schouder-elleboog"]),
.section_team4:has(input[data-ot-filter]:checked):not(:has(input[data-ot-filter="voet-enkel"]:checked)) .collection-list-2>.w-dyn-item:has(input.ot-spec[value="voet-enkel"]),
.section_team4:has(input[data-ot-filter]:checked) .collection-list-2>.w-dyn-item:not(:has(input.ot-spec:is([value="hand-pols"],[value="heup-bekken"],[value="knie"],[value="traumatologie"],[value="schouder-elleboog"],[value="voet-enkel"]))){display:none}

/* Het aangevinkte label. Live zet Finsweet .is-active op het label van een
   aangevinkt vakje en haalt het bij het laden van alle labels weg (gemeten in
   Chromium op 16-10-2026: zonder vinkje geen enkel is-active, met vinkje alleen
   dat label). De regels van .checkbox-field.is-active: site.css regel 4598, 8265,
   9254 en 9915. */
.checkbox-field:has(input:checked){background-color:var(--light-sea-green);color:#fff;border-style:none;height:100%}
@media screen and (max-width:991px){.checkbox-field:has(input:checked){height:auto}}
@media screen and (max-width:767px){.checkbox-field:has(input:checked){height:100%}}
@media screen and (max-width:479px){.checkbox-field:has(input:checked){margin-bottom:1rem}}

/* Footer-credit Zorg Voor Digitaal | Studio 27 (variant D, 21-10-2026). Erft lettertype en kleur van de footer. */
.zvd-credit{font:inherit;color:inherit;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.1em .4em}
.zvd-credit a{color:inherit;text-decoration:none}
.zvd-credit a:hover,.zvd-credit a:focus-visible{text-decoration:underline;text-underline-offset:.2em}
.zvd-credit__brand{font-weight:600}
.zvd-credit__sub{font-size:.85em;opacity:.72}
.zvd-credit__icon{width:1.05em;height:1.05em;flex:none;display:block}
.zvd-credit__divider{width:1px;height:1em;background:currentColor;opacity:.4}
