/*
Theme Name:     Niek Andre Media
Template:       fdoctor
Description:    Een child theme van fdoctor theme
Author:         Niek André Media
Author URI:     https://niekandre.nl
Version:        2.3.4
*/

/* =========================================================
   Cesar2Move, design "In beweging" (2026-10-25)
   Bron van waarheid voor kleuren en lettertypen: Elementor > Site-instellingen
   (globale kleuren en globale fonts). Deze CSS leest die variabelen; de waarden
   na de komma zijn alleen terugval.
   ========================================================= */

/* Lettertypen, zelf gehost (OFL). Geen verzoek naar Google (AVG). */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 500 800; font-stretch: 100%; font-display: swap; src: url(fonts/bricolage-grotesque-normal-latin.woff2) format('woff2'); }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(fonts/figtree-normal-latin.woff2) format('woff2'); }
@font-face { font-family: 'Figtree'; font-style: italic; font-weight: 400; font-display: swap; src: url(fonts/figtree-italic-latin.woff2) format('woff2'); }

:root {
  --c2m-plum: var(--e-global-color-primary, #3A1F45);
  --c2m-purple: var(--e-global-color-secondary, #894796);
  --c2m-body: var(--e-global-color-text, #4A4452);
  --c2m-green: var(--e-global-color-accent, #0C783D);
  --c2m-green-deep: var(--e-global-color-c2mgreendeep, #075A2E);
  --c2m-indigo: var(--e-global-color-c2mindigo, #3B4A9E);
  --c2m-muted: var(--e-global-color-c2mmuted, #6E6878);
  --c2m-paper: var(--e-global-color-c2mpaper, #FFFFFF);
  --c2m-mist: var(--e-global-color-c2mmist, #F6F3F7);
  --c2m-lilac: var(--e-global-color-c2mlilac, #F1E8F3);
  --c2m-green-soft: var(--e-global-color-c2mgreensoft, #E5F1E9);
  --c2m-line: var(--e-global-color-c2mline, #E5DEE8);
  --c2m-line-strong: var(--e-global-color-c2mlinestrong, #9A90A3);
  --c2m-on-plum: var(--e-global-color-c2monplum, #D9CCE0);
  --c2m-display: var(--e-global-typography-primary-font-family, "Bricolage Grotesque"), "Figtree", system-ui, sans-serif;
  --c2m-sans: var(--e-global-typography-text-font-family, "Figtree"), system-ui, -apple-system, "Segoe UI", sans-serif;
  --c2m-radius: 16px;
  --c2m-arc: 64px;
}
/* Fdoctor-themavariabelen koppelen aan dezelfde globale waarden */
html:root {
  --heading-color: var(--c2m-plum);
  --body-color: var(--c2m-body);
  --heading-font-family: var(--c2m-display);
  --body-font-family: var(--c2m-sans);
  --primary-color: var(--c2m-green);
  --secondary-color: var(--c2m-purple);
  --link-regular: var(--c2m-indigo);
  --link-hover: var(--c2m-purple);
  --border-color: var(--c2m-line);
}
body { font-family: var(--c2m-sans); color: var(--c2m-body); }
h1, h2, h3, h4, h5, h6, .elementor-heading-title { font-family: var(--c2m-display); color: var(--c2m-plum); text-wrap: balance; }
:focus-visible { outline: 2px solid var(--c2m-green); outline-offset: 2px; }

/* Nederlandse zinsopbouw: geen Engelse Title Case uit het thema */
.pxl-menu-title, .service-text, .service-text a, .box-title, .box-title a, .box-description, .item-title, .item-title a, .item-adress, .item-expertise, .heading-title, .heading-description, .pxl-page-title, .pxl-breadcrumb, .pxl-text-editor, .pxl-text-editor p, .pxl-text-editor a, .pxl-list span, .elementor-heading-title, .pxl-item--title, .pxl-item--description { text-transform: none !important; }

/* Tabellen voor tarieven en lesrooster */
.c2m-tarieven, .c2m-rooster { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 16px; }
.c2m-tarieven th, .c2m-tarieven td, .c2m-rooster th, .c2m-rooster td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--c2m-line); vertical-align: top; }
.c2m-tarieven th, .c2m-rooster th { background: var(--c2m-lilac); color: var(--c2m-plum); font-family: var(--c2m-display); font-weight: 600; }
.c2m-tarieven td:last-child { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 767px) { .c2m-rooster { font-size: 14px; } .c2m-rooster th, .c2m-rooster td { padding: 8px 6px; } }

/* Iconen (Font Awesome als inline SVG): vaste maat, actiekleur */
.elementor-widget-pxl_fancy_box_grid svg.e-font-icon-svg, .elementor-widget-pxl_icon_box svg.e-font-icon-svg, .elementor-widget-pxl_box_list svg.e-font-icon-svg, .elementor-widget-pxl_fancy_box svg.e-font-icon-svg { width: 44px !important; height: 44px !important; fill: var(--c2m-green); }
.elementor-widget-pxl_box_list svg.e-font-icon-svg, .elementor-widget-pxl_icon_box svg.e-font-icon-svg { width: 26px !important; height: 26px !important; fill: currentColor; }
.pxl-button-icon svg.e-font-icon-svg, .btn svg.e-font-icon-svg { width: 15px; height: 15px; fill: currentColor; }
/* Foto's in overzichten even hoog */
.pxl-grid .item-featured .post-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--c2m-radius); }

/* ---------- Componenten (CSS-klassen op Elementor-containers en -widgets) ---------- */
.c2m-page .elementor-widget-text-editor, .c2m-page p, .c2m-page li { font-family: var(--c2m-sans); color: var(--c2m-body); font-size: 17px; line-height: 28px; }
.c2m-page .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.c2m-page a:not(.elementor-button) { color: var(--c2m-indigo); }
.c2m-page a:not(.elementor-button):hover { color: var(--c2m-purple); }
.c2m-measure, .elementor .e-con .elementor-widget.c2m-measure { max-width: 68ch; }

/* Subnav: pillen naar zusterpagina's */
.c2m-subnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.c2m-subnav li { margin: 0; }
.c2m-subnav a { display: inline-block; padding: 9px 18px; border: 1px solid var(--c2m-line); border-radius: 999px; font-family: var(--c2m-sans); font-weight: 600; font-size: 14px; line-height: 1.2; color: var(--c2m-plum) !important; text-decoration: none; transition: border-color .2s, color .2s; }
.c2m-subnav a:hover, .c2m-subnav a:focus-visible { border-color: var(--c2m-green); color: var(--c2m-green) !important; }
.c2m-subnav a[aria-current="page"] { background: var(--c2m-purple); border-color: var(--c2m-purple); color: #fff !important; }

/* Koppen en intro */
.c2m-h2 .elementor-heading-title { font-family: var(--c2m-display); font-weight: 650; font-size: clamp(26px, 2.8vw, 34px); line-height: 1.15; letter-spacing: -0.01em; color: var(--c2m-plum); }
.c2m-h3 .elementor-heading-title { font-family: var(--c2m-display); font-weight: 650; font-size: 22px; line-height: 28px; color: var(--c2m-plum); }
.c2m-lead p { font-family: var(--c2m-sans); font-weight: 500; font-size: 20px !important; line-height: 30px !important; color: var(--c2m-plum) !important; max-width: 32em; }
/* Label met het bewegingsboogje uit het logo */
.c2m-eyebrow p, .ib-eyebrow p { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-family: var(--c2m-sans) !important; font-weight: 700; font-size: 13px !important; line-height: 18px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--c2m-purple) !important; }
.c2m-eyebrow p:before, .ib-eyebrow p:before { content: ""; flex: 0 0 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M8 8a64 64 0 0 1 64 64' fill='none' stroke='%23000' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M8 8a64 64 0 0 1 64 64' fill='none' stroke='%23000' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.c2m-card--tint .c2m-eyebrow p, .c2m-card--tint .ib-eyebrow p { color: var(--c2m-green-deep) !important; }

/* Panelen en kaarten: geen schaduw, kleurvlakken en haarlijnen */
.c2m-panel { background: var(--c2m-lilac); border-radius: var(--c2m-radius); }
.c2m-card { border-radius: var(--c2m-radius); }
.c2m-card--tint { background: var(--c2m-green-soft); }
.c2m-card--lilac { background: var(--c2m-lilac); }
.c2m-card--line { border: 1px solid var(--c2m-line); background: var(--c2m-paper); }
.c2m-card--deep { background: var(--c2m-plum); }
.c2m-card--deep p, .c2m-card--deep li { color: var(--c2m-on-plum) !important; }
.c2m-card--deep .elementor-heading-title { color: #fff; }
.c2m-card--deep .c2m-todo { color: #5C4400; }
.c2m-bignum .elementor-heading-title { font-family: var(--c2m-display); font-weight: 800; font-size: clamp(88px, 9vw, 120px); line-height: .9; letter-spacing: -0.03em; color: #fff; }
.c2m-section--mist { background: var(--c2m-mist); }

/* Feitenlijst met haarlijnen */
.c2m-facts .c2m-fact { padding: 18px 0; border-top: 1px solid rgba(58,31,69,.12); }
.c2m-facts .c2m-fact:first-child { padding-top: 0; border-top: 0; }
.c2m-facts .c2m-fact:last-child { padding-bottom: 0; }
.c2m-facts .c2m-fact strong { display: block; font-family: var(--c2m-display); font-weight: 650; font-size: 18px; line-height: 1.25; color: var(--c2m-plum); margin-bottom: 4px; }
.c2m-facts .c2m-fact span { display: block; font-size: 16px; line-height: 1.6; color: var(--c2m-body); }

/* Foto's; de bewegingshoek (rechtsboven) een keer per sectie via .c2m-arc */
.c2m-img img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; border-radius: var(--c2m-radius); }
.c2m-img, .c2m-img .elementor-widget-container { height: 100%; }
.c2m-img { flex-grow: 1; }
.c2m-arc .c2m-img img, .ib-arc .c2m-img img, .c2m-img.c2m-arc img, .c2m-card.c2m-arc { border-top-right-radius: var(--c2m-arc); }

/* Vragen (Elementor toggle) */
.c2m-faq .elementor-toggle-item { border-top: 1px solid var(--c2m-line); }
.c2m-faq .elementor-toggle-item:last-child { border-bottom: 1px solid var(--c2m-line); }
.c2m-faq .elementor-tab-title { padding: 22px 0; border: 0 !important; font-family: var(--c2m-display); font-weight: 600; font-size: 19px; line-height: 1.3; color: var(--c2m-plum); }
.c2m-faq .elementor-tab-title a { color: inherit !important; text-decoration: none; }
.c2m-faq .elementor-toggle-icon svg { fill: var(--c2m-green); width: 16px; height: 16px; }
.c2m-faq .elementor-tab-title.elementor-active { color: var(--c2m-purple); }
.c2m-faq .elementor-tab-content { padding: 0 0 24px; border: 0 !important; }
.c2m-faq .elementor-tab-content p { max-width: 66ch; }

/* Knoppen (basis komt uit Site-instellingen > Knoppen; dit zijn de varianten) */
.c2m-btn .elementor-button { border-radius: 999px; padding: 14px 26px; font-family: var(--c2m-sans); font-weight: 600; font-size: 16px; line-height: 1.2; background: var(--c2m-green) !important; color: #fff !important; border: 2px solid var(--c2m-green) !important; transition: background .2s, color .2s, border-color .2s; }
.c2m-btn .elementor-button:hover, .c2m-btn .elementor-button:focus-visible { background: var(--c2m-green-deep) !important; border-color: var(--c2m-green-deep) !important; color: #fff !important; }
.c2m-btn .elementor-button:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--c2m-green); }
.c2m-btn--light .elementor-button { background: #fff !important; border-color: #fff !important; color: var(--c2m-plum) !important; }
.c2m-btn--light .elementor-button:hover { background: var(--c2m-lilac) !important; border-color: var(--c2m-lilac) !important; color: var(--c2m-plum) !important; }
.c2m-btn--ghost .elementor-button { background: transparent !important; border-color: var(--c2m-on-plum) !important; color: #fff !important; }
.c2m-btn--ghost .elementor-button:hover { background: rgba(255,255,255,.1) !important; border-color: #fff !important; }
.c2m-btn--outline .elementor-button { background: transparent !important; border-color: var(--c2m-line-strong) !important; color: var(--c2m-plum) !important; }
.c2m-btn--outline .elementor-button:hover { border-color: var(--c2m-plum) !important; background: transparent !important; color: var(--c2m-plum) !important; }

/* Afsluitende band met de boog als beeldmerk */
.c2m-cta { background: var(--c2m-plum); border-radius: var(--c2m-radius); border-top-right-radius: var(--c2m-arc); position: relative; overflow: hidden; }
.c2m-cta:after { content: ""; position: absolute; right: -40px; top: -40px; width: 200px; height: 200px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cpath d='M8 8a64 64 0 0 1 64 64' fill='none' stroke='%23F1E8F3' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; opacity: .18; pointer-events: none; }
.c2m-cta > * { position: relative; z-index: 1; }
.c2m-cta .elementor-heading-title { color: #fff; }
.c2m-cta p { color: var(--c2m-on-plum) !important; }

/* ---------- Paginatitel ---------- */
.c2m-pt .pxl-breadcrumb, .c2m-pt .pxl-breadcrumb a, .c2m-pt .pxl-breadcrumb span { font-family: var(--c2m-sans) !important; font-size: 14px !important; line-height: 1.4 !important; color: var(--c2m-muted) !important; }
.c2m-pt .pxl-breadcrumb a:hover { color: var(--c2m-green) !important; }
.c2m-pt .pxl-breadcrumb .br-divider { font-size: 10px !important; margin: 0 6px; }
.c2m-pt .pxl-breadcrumb > span:first-child:before, .c2m-pt .pxl-brc-wrap:before { display: none !important; }
.c2m-pt .main-title { font-family: var(--c2m-display) !important; font-weight: 700 !important; font-size: clamp(32px, 4vw, 48px) !important; line-height: 1.08 !important; letter-spacing: -0.015em; color: var(--c2m-plum) !important; margin: 0 !important; }
@media (max-width: 767px) { .pxl-pt-wrap .main-title { font-size: 30px !important; line-height: 1.2; overflow-wrap: normal; word-break: normal; hyphens: manual; } }
#pxl-pagetitle + #pxl-main, .pxl-pagetitle ~ #pxl-main { padding-top: 24px; }
#pxl-main:has(.c2m-page) { padding-top: 16px; padding-bottom: 0; }

/* ---------- Kop ---------- */
.c2m-header { border-bottom: 1px solid var(--c2m-line); }
.c2m-header > .e-con-inner > .e-con:last-child { --width: auto; width: auto; flex: 0 0 auto; }
.c2m-logo { flex-shrink: 0; }
.c2m-logo img, .c2m-logo a img, .elementor-widget-image.c2m-logo a img[src$=".svg"] { display: block; width: 154px !important; height: auto !important; max-width: none !important; }
@media (max-width: 1024px) { .c2m-logo img, .c2m-logo a img, .elementor-widget-image.c2m-logo a img[src$=".svg"] { width: 128px !important; } }
.c2m-header .pxl-menu-primary > li > a, .c2m-header .pxl-menu-title { font-family: var(--c2m-sans); font-weight: 600; font-size: 15px; color: var(--c2m-plum); }
.c2m-header .pxl-menu-primary > li > a:hover, .c2m-header .pxl-menu-primary > li.current-menu-item > a, .c2m-header .pxl-menu-primary > li.current-menu-ancestor > a { color: var(--c2m-green); }
.c2m-phone a { display: inline-flex; align-items: center; gap: 8px; font-family: var(--c2m-sans); font-weight: 700; font-size: 16px; color: var(--c2m-plum); text-decoration: none; white-space: nowrap; }
.c2m-phone a:hover { color: var(--c2m-green); }
.c2m-phone a:before { content: ""; width: 18px; height: 18px; background: var(--c2m-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.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center / contain 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.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.c2m-header .c2m-btn .elementor-button { padding: 13px 22px; font-size: 15px; }

/* ---------- Footer ---------- */
.c2m-footer, .elementor-element.c2m-footer { background: var(--c2m-plum) !important; --background-color: var(--c2m-plum); }
.c2m-footer > .e-con-inner > .e-con > .e-con { padding-left: 0 !important; padding-right: 0 !important; }
.c2m-footer p, .c2m-footer li, .c2m-footer a { font-family: var(--c2m-sans); font-size: 15px; line-height: 1.8; color: var(--c2m-on-plum); }
.c2m-footer a { text-decoration: none; }
.c2m-footer a:hover { color: #fff; }
.c2m-footer ul { list-style: none; margin: 0; padding: 0; }
.c2m-footer .c2m-fhead .elementor-heading-title { font-family: var(--c2m-display); font-weight: 650; font-size: 17px; line-height: 1.3; color: #fff; margin-bottom: 4px; }
.c2m-footer .c2m-logo img, .c2m-footer .elementor-widget-image.c2m-logo a img[src$=".svg"] { width: 142px !important; }
.c2m-footer .c2m-fcontact a { color: #fff; font-weight: 600; }
.c2m-footer .c2m-fbottom p, .c2m-footer .c2m-fbottom a { font-size: 14px; color: var(--c2m-on-plum); }
.c2m-footer .c2m-fbottom { border-top: 1px solid rgba(255,255,255,.16); }

/* ---------- Aanvullende componenten (2026-10-25) ---------- */
/* Accentwoord in koppen: merkpaars, niet actiegroen */
.c2m-h2 .elementor-heading-title .color-primary, .c2m-h2 .elementor-heading-title span { color: var(--c2m-purple); }
/* Genummerde stappen (echte volgorde) */
.c2m-steps { list-style: none; margin: 8px 0 0; padding: 0; counter-reset: c2m-step; display: grid; gap: 20px; }
.c2m-steps li { counter-increment: c2m-step; display: grid; grid-template-columns: 40px 1fr; column-gap: 16px; align-items: start; margin: 0; }
.c2m-steps li:before { content: counter(c2m-step); grid-row: 1 / span 2; width: 40px; height: 40px; border-radius: 999px; background: var(--c2m-purple); color: #fff; font-family: var(--c2m-display); font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.c2m-steps li strong { display: block; font-family: var(--c2m-display); font-weight: 650; font-size: 18px; line-height: 1.3; color: var(--c2m-plum); margin: 8px 0 4px; }
.c2m-steps li span { display: block; font-size: 16px; line-height: 26px; color: var(--c2m-body); }
/* Feiten in een raster (locaties) */
.c2m-facts--grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 32px; }
.c2m-facts--grid .c2m-fact, .c2m-facts--grid .c2m-fact:first-child { padding: 16px 0 0; border-top: 1px solid rgba(58,31,69,.12); }
@media (max-width: 767px) { .c2m-facts--grid { grid-template-columns: 1fr; } }
.c2m-facts a { color: var(--c2m-indigo); }
/* Klikbare kaarten */
.c2m-card--link { text-decoration: none !important; transition: border-color .2s, transform .2s; }
.c2m-card--link:hover { border-color: var(--c2m-purple) !important; }
.c2m-card--link:hover .elementor-heading-title { color: var(--c2m-purple); }
.c2m-more p { margin: auto 0 0; font-family: var(--c2m-sans); font-weight: 600; font-size: 15px !important; color: var(--c2m-green) !important; }
.c2m-more p:after { content: " →"; }
.c2m-more { margin-top: auto; }
.c2m-small p, .c2m-small li { font-size: 15px !important; line-height: 24px !important; }
/* Overzichtsrasters van het thema (specialisaties, therapeuten, locaties) */
.c2m-grid .item-cate-rating, .c2m-grid .service-rating, .c2m-grid .doctor-rating, .c2m-grid .hospital-rating, .c2m-grid .service-item { display: none !important; }
.c2m-grid .post-image img { border-radius: var(--c2m-radius) !important; }
.c2m-grid .item-featured .post-image .content-inner { position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; background: transparent !important; padding: 14px 2px 0 !important; inset: auto !important; }
.c2m-grid .service-text, .c2m-grid .service-text a, .c2m-grid .item-title, .c2m-grid .item-title a { font-family: var(--c2m-display) !important; font-weight: 650 !important; font-size: 19px !important; line-height: 1.3 !important; color: var(--c2m-plum) !important; }
.c2m-grid a:hover .service-text, .c2m-grid .service-text a:hover, .c2m-grid .item-title a:hover { color: var(--c2m-purple) !important; }
.c2m-grid .item-expertise, .c2m-grid .item-adress, .c2m-grid .item-expertise span, .c2m-grid .item-adress span { font-family: var(--c2m-sans) !important; font-size: 15px !important; color: var(--c2m-body) !important; }
.c2m-grid .grid-item-inner { box-shadow: none !important; border: 1px solid var(--c2m-line); border-radius: var(--c2m-radius); background: var(--c2m-paper); }
.c2m-grid .pxl-service-grid .grid-item-inner, .c2m-grid .pxl-grid-direction > .grid-item-inner { border: 0; background: transparent; }
/* Formulieren (Contact Form 7) */
.c2m-form input[type=text], .c2m-form input[type=email], .c2m-form input[type=tel], .c2m-form select, .c2m-form textarea { font-family: var(--c2m-sans) !important; font-size: 16px !important; color: var(--c2m-body) !important; background: #fff !important; border: 1px solid var(--c2m-line-strong) !important; border-radius: 8px !important; box-shadow: none !important; }
.c2m-form input:focus, .c2m-form select:focus, .c2m-form textarea:focus { border-color: var(--c2m-green) !important; outline: 2px solid var(--c2m-green); outline-offset: 0; }
.c2m-form label, .c2m-form .wpcf7-list-item-label { font-family: var(--c2m-sans); color: var(--c2m-plum); font-size: 15px; }
.c2m-form .wpcf7-submit, .c2m-form button[type=submit], .c2m-form .btn { font-family: var(--c2m-sans) !important; font-weight: 600 !important; border-radius: 999px !important; background: var(--c2m-green) !important; color: #fff !important; border: 0 !important; }
.c2m-form .wpcf7-submit:hover, .c2m-form button[type=submit]:hover, .c2m-form .btn:hover { background: var(--c2m-green-deep) !important; }
/* Locaties, specialisaties, therapeuten: de Elementor-inhoud is de pagina; themakop (foto, beoordeling, titel, adres) verbergen */
.pxl-single-posttype .single-elementor-content > :not(.elementor) { display: none !important; }
.pxl-single-posttype.container { max-width: none; padding-left: 0; padding-right: 0; }
/* Lange Nederlandse woorden netjes afbreken in kaarten */
.c2m-card .elementor-heading-title { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: normal; word-break: normal; }

/* ---------- Homepage hero ---------- */
.c2m-display .elementor-heading-title { font-family: var(--c2m-display); font-weight: 750; font-size: clamp(40px, 4.6vw, 60px); line-height: 1.04; letter-spacing: -0.025em; color: var(--c2m-plum); }
.c2m-display .elementor-heading-title .color-primary, .c2m-display .elementor-heading-title span { color: var(--c2m-purple); }
.c2m-hero .c2m-img img { min-height: 440px; }
@media (max-width: 767px) { .c2m-hero .c2m-img img { min-height: 260px; } }
.c2m-avatars { gap: 0 !important; }
.c2m-avatars .c2m-avatar { width: auto !important; margin-left: -10px; }
.c2m-avatars .c2m-avatar:first-child { margin-left: 0; }
.c2m-avatar img { width: 44px !important; height: 44px !important; object-fit: cover; object-position: top; border-radius: 999px; border: 3px solid #fff; background: var(--c2m-lilac); }
.c2m-trust { border-top: 1px solid var(--c2m-line); padding-top: 20px !important; margin-top: 8px; }
.c2m-trust .elementor-widget { width: auto !important; }
.c2m-stat p { font-size: 15px !important; line-height: 22px !important; color: var(--c2m-body) !important; margin: 0; }
.c2m-stat strong { font-family: var(--c2m-display); font-weight: 750; font-size: 24px; color: var(--c2m-purple); margin-right: 4px; }
.c2m-trust .c2m-small p { margin: 0; color: var(--c2m-plum) !important; }
/* Homepage: geen dubbele ruimte onder de hero (paginatitel-template) */
.home #pxl-main, .home .pxl-main { padding-top: 0 !important; }
.c2m-trust > .e-con, .c2m-trust > .e-con-inner > .e-con { --width: auto; width: auto !important; flex: 0 0 auto !important; }
.c2m-trust .c2m-avatars, .c2m-trust .c2m-avatars > .e-con-inner { width: auto !important; flex: 0 0 auto !important; }
/* Subnav op mobiel: een veegbare rij */
@media (max-width: 767px) { .c2m-subnav ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-right: -20px; padding-right: 20px; } .c2m-subnav ul::-webkit-scrollbar { display: none; } .c2m-subnav a { white-space: nowrap; } }
/* WhatsApp in de kop */
.c2m-phone--wa a:before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.9 9.9 0 0 0-8.5 15l-1.4 5.1 5.2-1.4A9.9 9.9 0 1 0 12.04 2zm0 18.1a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3.1.8.8-3-.2-.3a8.2 8.2 0 1 1 7 3.9zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.7-1.4.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a.9.9 0 0 0-.7.3 2.8 2.8 0 0 0-.9 2.1 4.9 4.9 0 0 0 1 2.6 11.2 11.2 0 0 0 4.3 3.8c1.6.7 2.2.7 3 .6a2.5 2.5 0 0 0 1.7-1.2 2 2 0 0 0 .1-1.2c0-.1-.2-.2-.4-.3z'/%3E%3C/svg%3E") !important; mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.04 2a9.9 9.9 0 0 0-8.5 15l-1.4 5.1 5.2-1.4A9.9 9.9 0 1 0 12.04 2zm0 18.1a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3.1.8.8-3-.2-.3a8.2 8.2 0 1 1 7 3.9zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8-.2-.1-.4-.1-.6.1l-.8 1c-.1.2-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.2-.4.7-1.4.1-.2 0-.3 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a.9.9 0 0 0-.7.3 2.8 2.8 0 0 0-.9 2.1 4.9 4.9 0 0 0 1 2.6 11.2 11.2 0 0 0 4.3 3.8c1.6.7 2.2.7 3 .6a2.5 2.5 0 0 0 1.7-1.2 2 2 0 0 0 .1-1.2c0-.1-.2-.2-.4-.3z'/%3E%3C/svg%3E") !important; }
/* Knop met icoon */
.c2m-btn .elementor-button-content-wrapper { gap: 8px; align-items: center; }
.c2m-btn .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }

/* ---------- Kaarten [c2m_cards]: specialisaties, locaties, team ---------- */
.c2m-cards { display: grid; grid-template-columns: repeat(var(--c2m-cols, 3), minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1024px) { .c2m-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .c2m-cards { grid-template-columns: 1fr; } .c2m-cards--specialisaties { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.c2m-cardx { display: flex; flex-direction: column; background: var(--c2m-paper); border: 1px solid var(--c2m-line); border-radius: var(--c2m-radius); overflow: hidden; text-decoration: none !important; color: inherit; transition: border-color .2s; }
.c2m-cardx__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c2m-mist); }
.c2m-cardx__media img, .c2m-cardx .c2m-cardx__img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; transition: transform .4s ease; border-radius: 0 !important; }
.c2m-cardx__body { display: flex; flex-direction: column; gap: 6px; flex: 1; padding: 20px 22px 22px; border-top: 1px solid var(--c2m-line); }
.c2m-cardx__title { font-family: var(--c2m-display); font-weight: 650; font-size: 19px; line-height: 1.25; color: var(--c2m-plum); hyphens: auto; -webkit-hyphens: auto; transition: color .2s; }
.c2m-cardx__text { font-family: var(--c2m-sans); font-size: 15px; line-height: 22px; color: var(--c2m-body); }
.c2m-cardx__text--pin { display: flex; gap: 6px; align-items: flex-start; }
.c2m-cardx__text--pin:before { content: ""; flex: 0 0 16px; height: 16px; margin-top: 3px; background: var(--c2m-purple); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.c2m-cardx__more { margin-top: auto; padding-top: 10px; font-family: var(--c2m-sans); font-weight: 600; font-size: 15px; color: var(--c2m-green); }
.c2m-cardx__more:after { content: " →"; display: inline-block; transition: transform .2s; }
.c2m-cardx:hover { border-color: var(--c2m-purple); }
.c2m-cardx:hover .c2m-cardx__img { transform: scale(1.04); }
.c2m-cardx:hover .c2m-cardx__title { color: var(--c2m-purple); }
.c2m-cardx:hover .c2m-cardx__more:after { transform: translateX(4px); }
.c2m-cardx:focus-visible { outline: 2px solid var(--c2m-green); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .c2m-cardx__img, .c2m-cardx__more:after { transition: none; } .c2m-cardx:hover .c2m-cardx__img { transform: none; } }
/* Specialisaties: compacter */
.c2m-cards--specialisaties .c2m-cardx__body { padding: 16px 18px 18px; }
.c2m-cards--specialisaties .c2m-cardx__title { font-size: 18px; }
.c2m-cards--specialisaties .c2m-cardx__more { font-size: 14px; }
/* Team: staand portret, hoofd altijd zichtbaar */
.c2m-cards--team .c2m-cardx__media { aspect-ratio: 5 / 6; background: #fff; }
.c2m-cards--team .c2m-cardx__media img { object-position: center top; }
.elementor-widget-shortcode .c2m-cards { margin: 4px 0 0; }
/* Engelse vorige/volgende-navigatie van het thema niet tonen */
.pxl-single-posttype .single-next-prev-nav { display: none !important; }

/* Formulier: ruimte in de velden, akkoordregel links uitgelijnd, knop zonder Title Case */
.c2m-form input[type=text], .c2m-form input[type=email], .c2m-form input[type=tel], .c2m-form select { height: auto !important; min-height: 50px; padding: 12px 16px !important; line-height: 1.4 !important; }
.c2m-form textarea { padding: 14px 16px !important; line-height: 1.5 !important; min-height: 140px; }
.c2m-form select { padding-right: 40px !important; }
.c2m-form ::placeholder { color: #8C8496 !important; opacity: 1; }
.c2m-form .wpcf7-acceptance { padding-left: 0 !important; margin-left: 0 !important; display: block; }
.c2m-form .wpcf7-list-item { margin: 0 !important; }
.c2m-form .wpcf7-list-item-label { padding-left: 32px !important; font-size: 15px !important; line-height: 24px !important; }
.c2m-form .wpcf7-list-item-label:before { width: 20px !important; height: 20px !important; top: 2px !important; border: 1px solid var(--c2m-line-strong) !important; border-radius: 5px !important; background: #fff; }
.c2m-form .wpcf7-list-item input:focus-visible + .wpcf7-list-item-label:before { outline: 2px solid var(--c2m-green); outline-offset: 2px; }
.c2m-form .wpcf7-list-item input:checked + .wpcf7-list-item-label:before { background: var(--c2m-green) !important; border-color: var(--c2m-green) !important; }
.c2m-form .wpcf7-list-item input:checked + .wpcf7-list-item-label:after { left: 7px !important; top: 6px !important; }
.c2m-form button[type=submit], .c2m-form .wpcf7-submit { text-transform: none !important; padding: 15px 28px !important; font-size: 16px !important; }
.c2m-form button.pxli-Vector-button:before, .c2m-form button.pxli-Vector-button i { display: none !important; }

/* ---------- Mobiele kop en menupaneel ---------- */
.c2m-menu-toggle .pxl-anchor { width: 44px; height: 44px; border-radius: 999px; background: var(--c2m-lilac); justify-content: center; transition: background .2s; }
.c2m-menu-toggle .pxl-anchor:hover, .c2m-menu-toggle .pxl-anchor:focus-visible { background: #E6D7EA; }
.c2m-menu-toggle .pxl-anchor:focus-visible { outline: 2px solid var(--c2m-green); outline-offset: 2px; }
.c2m-menu-toggle .pxl-anchor-icon svg { width: 22px; height: 22px; }
.c2m-panel-cta .elementor-button { width: 100%; justify-content: center; }
.c2m-panel-cta .elementor-widget-button { width: 100%; }
.pxl-hidden-template-876 .pxl-menu-primary a, .pxl-hidden-template-876 .pxl-menu-title { font-family: var(--c2m-display) !important; font-weight: 600 !important; color: var(--c2m-plum) !important; }
.pxl-hidden-template-876 .pxl-text-editor p, .pxl-hidden-template-876 .pxl-text-editor a { font-family: var(--c2m-sans) !important; }
.pxl-page-overlay, .pxl-hidden-template ~ .pxl-page-overlay { background-color: rgba(58, 31, 69, .55) !important; }
