/* ===== Philevi basis: fonts, tokens, knoppen ===== */
@font-face{font-family:'Archivo';src:url(../assets/fonts/archivo.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url(../assets/fonts/plex-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url(../assets/fonts/plex-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'IBM Plex Sans';src:url(../assets/fonts/plex-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(../assets/fonts/plexmono-500.woff2) format('woff2');font-weight:500;font-display:swap}
:root{
  --pv-ink:#16282C;--pv-muted:#4F6166;--pv-line:#DCE4E5;--pv-surf:#F2F5F5;--pv-teal:#40AAA5;--pv-teald:#1C7A76;
  --pv-teals:#E8F4F3;--pv-teall:#7FD3CE;--pv-dmute:#A9B8BB;--pv-wa:#1FAF5A;--pv-field:#82959A;--pv-wrap:1200px;--pv-gut:20px;
}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--pv-ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;background:#fff;overflow-x:clip}
h1,h2,h3,h4,h5,h6,.pv-d{font-family:'Archivo',sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--pv-ink)}
a{color:var(--pv-teald)}a:hover{color:var(--pv-ink)}
.pv-mono,.sku{font-family:'IBM Plex Mono',ui-monospace,monospace;font-weight:500}
.pv-muted{color:var(--pv-muted)}
:focus-visible{outline:2px solid var(--pv-teald);outline-offset:2px}
.pv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* knoppen: eigen klassen + Elementor-knop + Woo */
.pv-btn,.elementor-button.pv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:4px;font-weight:600;font-size:15px;line-height:1;white-space:nowrap;text-decoration:none;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s;cursor:pointer;font-family:inherit}
.pv-btn-p{background:var(--pv-teald);border-color:var(--pv-teald);color:#fff}
.pv-btn-p:hover{background:var(--pv-ink);border-color:var(--pv-ink);color:#fff}
.pv-btn-d{background:var(--pv-ink);border-color:var(--pv-ink);color:#fff}
.pv-btn-d:hover{background:var(--pv-teald);border-color:var(--pv-teald);color:#fff}
.pv-btn-o{background:#fff;border-color:var(--pv-ink);color:var(--pv-ink)}
.pv-btn-o:hover{background:var(--pv-ink);color:#fff}
.pv-btn-wa{background:#fff;border-color:#C9D4D6;color:var(--pv-ink)}
.pv-btn-wa:hover{border-color:var(--pv-ink);color:var(--pv-ink)}
.pv-btn-w{background:#fff;border-color:#fff;color:var(--pv-ink)}
.pv-btn-w:hover{background:var(--pv-teall);border-color:var(--pv-teall);color:var(--pv-ink)}
.pv-btn-ow{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(22,40,44,.35)}
.pv-btn-ow:hover{border-color:#fff;color:#fff}
.pv-btn-sm{height:40px;padding:0 14px;font-size:14px;gap:8px}
.pv-btn svg{flex-shrink:0}
/* Elementor button widget met pv-klasse op de wrapper: <div class="elementor-widget-button pv-ebtn-p"> */
.pv-ebtn-p .elementor-button,.pv-ebtn-d .elementor-button,.pv-ebtn-wa .elementor-button,.pv-ebtn-o .elementor-button,.pv-ebtn-w .elementor-button,.pv-ebtn-ow .elementor-button{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:4px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:15px;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s}
.pv-ebtn-p .elementor-button{background:var(--pv-teald);border-color:var(--pv-teald);color:#fff}
.pv-ebtn-p .elementor-button:hover{background:var(--pv-ink);border-color:var(--pv-ink);color:#fff}
.pv-ebtn-d .elementor-button{background:var(--pv-ink);border-color:var(--pv-ink);color:#fff}
.pv-ebtn-d .elementor-button:hover{background:var(--pv-teald);border-color:var(--pv-teald)}
.pv-ebtn-wa .elementor-button{background:#fff;border-color:#C9D4D6;color:var(--pv-ink)}
.pv-ebtn-wa .elementor-button:hover{border-color:var(--pv-ink);color:var(--pv-ink)}
.pv-ebtn-o .elementor-button{background:#fff;border-color:var(--pv-ink);color:var(--pv-ink)}
.pv-ebtn-o .elementor-button:hover{background:var(--pv-ink);color:#fff}
.pv-ebtn-w .elementor-button{background:#fff;border-color:#fff;color:var(--pv-ink)}
.pv-ebtn-w .elementor-button:hover{background:var(--pv-teall);border-color:var(--pv-teall);color:var(--pv-ink)}
.pv-ebtn-ow .elementor-button{background:rgba(22,40,44,.35);border-color:rgba(255,255,255,.6);color:#fff}
.pv-ebtn-ow .elementor-button:hover{border-color:#fff}
.pv-ebtn-sm .elementor-button{height:40px;padding:0 14px;font-size:14px}
.pv-ebtn-block .elementor-button{width:100%;justify-content:center}
.pv-ebtn-wa .elementor-button-icon svg{fill:var(--pv-wa)}
/* container-breedte */
.pv-wrap{max-width:calc(var(--pv-wrap) + 2*var(--pv-gut));margin-left:auto;margin-right:auto;padding-left:var(--pv-gut);padding-right:var(--pv-gut);width:100%}
@media (max-width:640px){:root{--pv-gut:16px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* hulpblok "Onderdeel niet gevonden?" (template PV Hulpblok) */
.pv-help-band.e-con{background:var(--pv-teals);border-radius:8px;align-items:center}
.pv-help-band>.e-con-inner>.e-con,.pv-help-band>.e-con{--width:auto}
.pv-help-band .pv-hb-img{width:auto;flex:0 0 auto}
.pv-help-band .pv-hb-img img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 14%}
.pv-help-band .pv-hb-t.e-con{flex:1 1 300px;--width:auto;min-width:0}
.pv-help-band .pv-hb-btns.e-con{--width:auto;flex:0 0 auto}
.pv-help-band .pv-hb-t .elementor-heading-title{font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:18px;letter-spacing:0;color:var(--pv-ink)}
.pv-help-band .pv-hb-t p{color:var(--pv-muted);font-size:15px;margin:2px 0 0}
.pv-help-band .pv-hb-btns{--gap:10px}
@media (max-width:640px){.pv-help-band .pv-hb-btns.e-con{--width:100%;flex:1 1 100%}.pv-help-band .pv-hb-btns .elementor-widget-button,.pv-help-band .pv-hb-btns .elementor-button{width:100%;justify-content:center}}
