/* ============================================================
   Over-pagina's: /over-wendy-de-groot/ (21), /over-rustmoment-in-de-klas/ (20),
   /op-locatie/wendy-als-spreker/ (12). Prefix ov-. 04-09-2026
   ============================================================ */
.ov-page [id] { scroll-margin-top: 120px; }

/* Typografie */
.ov-page .ov-h1 .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:54px; line-height:1.08; text-wrap:balance; color:#3A6476; }
.ov-page .ov-h2 .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:40px; line-height:1.18; color:#3A6476; text-wrap:balance; }
.ov-page .ov-h3 .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:21px; line-height:1.35; color:#3A6476; }
.ov-page .ov-eyebrow .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#D84528; }
.ov-page .ov-kicker .elementor-heading-title { font-family:'Caveat',cursive; font-weight:600; font-size:26px; color:#FC6048; line-height:1.2; }
.ov-page .ov-lead, .ov-page .ov-lead p { font-family:'Quicksand',sans-serif; font-size:20px; font-weight:600; line-height:1.5; color:#3A6476; margin:0; }
.ov-page .ov-body, .ov-page .ov-body p { font-family:'Quicksand',sans-serif; font-size:17px; font-weight:500; line-height:1.7; color:#5A6B77; }
.ov-page .ov-body p { margin:0 0 14px; } .ov-page .ov-body p:last-child { margin-bottom:0; }
.ov-page .ov-body a { color:#3075B1; text-decoration:underline; text-underline-offset:3px; }
.ov-page .ov-center { text-align:center; }
.ov-page .ov-center .elementor-heading-title { text-align:center; }
.ov-page .ov-intro, .ov-page .ov-intro p { font-family:'Quicksand',sans-serif; font-size:17px; font-weight:500; line-height:1.7; color:#5A6B77; margin:0; text-align:center; max-width:680px; margin-left:auto; margin-right:auto; }
.ov-page .ov-mark { position:relative; display:inline-block; z-index:0; white-space:nowrap; }
.ov-page .ov-mark::after { content:''; position:absolute; left:-0.05em; right:-0.08em; bottom:0.04em; height:0.24em; border-radius:8px; background:#FFAC24; opacity:.85; z-index:-1; }

/* Knoppen */
.ov-page .ov-btn .elementor-button { background:#FC6048; color:#fff; border-radius:999px; padding:16px 32px; font-family:'Quicksand',sans-serif; font-weight:700; font-size:17px; border:none; white-space:normal; text-align:center; box-shadow:0 6px 18px rgba(58,100,118,.18); transition:all 180ms cubic-bezier(.4,0,.2,1); }
.ov-page .ov-btn .elementor-button:hover, .ov-page .ov-btn .elementor-button:focus { background:#D84528; color:#fff; transform:translateY(-2px); }
.ov-page .ov-btn-licht .elementor-button { background:#fff; border:2px solid #3A6476; color:#3A6476; border-radius:999px; padding:14px 28px; font-family:'Quicksand',sans-serif; font-weight:700; font-size:16px; white-space:normal; text-align:center; transition:all 180ms cubic-bezier(.4,0,.2,1); }
.ov-page .ov-btn-licht .elementor-button:hover, .ov-page .ov-btn-licht .elementor-button:focus { background:#3A6476; color:#fff; }
.ov-page .ov-btnrij { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.ov-page .ov-btnrij > .elementor-element { width:auto; }

/* Hero */
.ov-page .ov-hero { background:#EAF1F7; }
.ov-page .ov-herorow { display:grid !important; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; }
.ov-page .ov-herorow > .e-con-inner { display:contents; }
.ov-page .ov-herokolom > .elementor-element { margin-bottom:18px; } .ov-page .ov-herokolom > .elementor-element:last-child { margin-bottom:0; }
.ov-page .ov-herofoto img { width:100%; height:auto; border-radius:24px; box-shadow:0 18px 44px rgba(58,100,118,.18); display:block; }
.ov-page .ov-herofoto--rond img { width:min(100%,380px); aspect-ratio:1; object-fit:cover; border-radius:50%; margin:0 auto; box-shadow:0 18px 44px rgba(58,100,118,.18); }
.ov-page .ov-herobeeld { position:relative; }
.ov-page .ov-heroquote { position:absolute; left:-14px; bottom:-18px; max-width:300px; background:#fff; border-radius:16px; padding:16px 18px; box-shadow:0 10px 28px rgba(58,100,118,.16); }
.ov-page .ov-heroquote .ov-hq { font-family:'Caveat',cursive; font-weight:600; font-size:22px; line-height:1.25; color:#FC6048; margin:0 0 6px; }
.ov-page .ov-heroquote .ov-hqsub { font-family:'Quicksand',sans-serif; font-weight:600; font-size:12px; color:#8A98A2; margin:0; }

/* Statement */
.ov-page .ov-statement { background:#FAF6EE; }
.ov-page .ov-statementtekst .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:32px; line-height:1.3; color:#3A6476; text-align:center; max-width:820px; margin:0 auto; text-wrap:balance; }
.ov-page .ov-statementtekst strong { position:relative; z-index:0; font-weight:700; }
.ov-page .ov-statementtekst strong::after { content:''; position:absolute; left:-0.05em; right:-0.08em; bottom:0.04em; height:0.24em; border-radius:8px; background:#FFAC24; opacity:.85; z-index:-1; }

/* Kaartgrids */
.ov-page .ov-grid3, .ov-page .ov-grid3 > .e-con-inner { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ov-page .ov-grid2, .ov-page .ov-grid2 > .e-con-inner { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ov-page .ov-grid4, .ov-page .ov-grid4 > .e-con-inner { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ov-page .ov-kaart { background:#fff; border:1px solid #E6EAEE; border-radius:20px; padding:28px; display:flex !important; flex-direction:column; gap:10px; width:100% !important; }
.ov-page .ov-kaart--creme { background:#FAF6EE; border-color:#E8DFCC; }
.ov-page .ov-kaart--sage { background:#E3EEED; border-color:#E3EEED; }
.ov-page .ov-kaart .ov-h3 .elementor-heading-title { margin:0; }
.ov-page .ov-kaart .ov-body p { font-size:16px; }
.ov-page .ov-stap .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#3075B1; }
.ov-page .ov-kaartlink a { font-family:'Quicksand',sans-serif; font-weight:700; font-size:15px; color:#3075B1; text-decoration:none; margin-top:auto; }
.ov-page .ov-kaartlink a:hover { color:#D84528; }

/* Cijfers */
.ov-page .ov-cijfers { background:#3A6476; }
.ov-page .ov-cijfer { text-align:center; }
.ov-page .ov-cijfer .ov-getal .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:700; font-size:44px; line-height:1; color:#FFAC24; text-align:center; }
.ov-page .ov-cijfer .ov-label .elementor-heading-title { font-family:'Quicksand',sans-serif; font-weight:600; font-size:15px; color:#fff; opacity:.9; text-align:center; margin-top:8px; }

/* Quote-strook */
.ov-page .ov-quote { background:#FFF3DC; }
.ov-page .ov-quotecaveat .elementor-heading-title { font-family:'Caveat',cursive; font-weight:600; font-size:40px; line-height:1.2; color:#3A6476; text-align:center; max-width:760px; margin:0 auto; }
.ov-page .ov-quotesub, .ov-page .ov-quotesub p { font-family:'Quicksand',sans-serif; font-weight:600; font-size:15px; color:#5A6B77; text-align:center; margin:12px 0 0; }

/* Logo-pills en themapills */
.ov-page .ov-pills { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.ov-page .ov-pills span { font-family:'Quicksand',sans-serif; font-weight:600; font-size:14px; color:#3A6476; background:#fff; border:1px solid #E6EAEE; border-radius:999px; padding:8px 16px; }
.ov-page .ov-pills .ov-pillslabel { background:transparent; border:0; color:#8A98A2; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:12px; padding:8px 4px; }

/* Vinkjes (icon-list) */
.ov-page .ov-checks .elementor-icon-list-item { font-family:'Quicksand',sans-serif; font-weight:600; font-size:16px; color:#3A6476; line-height:1.5; padding:6px 0; }
.ov-page .ov-checks .elementor-icon-list-icon i, .ov-page .ov-checks .elementor-icon-list-icon svg { color:#FFAC24; fill:#FFAC24; }

/* CTA-blok */
.ov-page .ov-cta { background:#3A6476; border-radius:28px; }
.ov-page .ov-cta .ov-h2 .elementor-heading-title { color:#fff; text-align:center; }
.ov-page .ov-cta .ov-intro, .ov-page .ov-cta .ov-intro p { color:rgba(255,255,255,.9); }
.ov-page .ov-cta .ov-btnrij { justify-content:center; }
.ov-page .ov-cta .ov-btn-licht .elementor-button { background:transparent; border-color:#fff; color:#fff; }
.ov-page .ov-cta .ov-btn-licht .elementor-button:hover { background:#fff; color:#3A6476; }
.ov-page .ov-handtekening img { width:150px; height:auto; display:block; margin-top:6px; }

/* Quotekaarten (ervaringen) 05-09-2026 */
.ov-page .ov-quotekaart { gap:6px; justify-content:flex-start; }
.ov-page .ov-quotekaart .ov-qk, .ov-page .ov-quotekaart .ov-qk p { font-family:'Caveat',cursive; font-weight:600; font-size:26px; line-height:1.25; color:#3A6476; margin:0; }
.ov-page .ov-quotekaart .ov-qksub, .ov-page .ov-quotekaart .ov-qksub p { font-family:'Quicksand',sans-serif; font-weight:600; font-size:13px; line-height:1.4; color:#8A98A2; margin:6px 0 0; }
.ov-page .elementor-element-ovbewijs .ov-pills { margin-top:32px; }
.ov-page .ov-onderzoek .ov-body a { font-weight:700; }
@media (max-width:767px) { .ov-page .ov-quotekaart .ov-qk, .ov-page .ov-quotekaart .ov-qk p { font-size:23px; } }

/* Responsive */
@media (max-width:1024px) {
  .ov-page .ov-h1 .elementor-heading-title { font-size:44px; }
  .ov-page .ov-h2 .elementor-heading-title { font-size:34px; }
  .ov-page .ov-herorow { gap:36px; }
  .ov-page .ov-grid3, .ov-page .ov-grid3 > .e-con-inner, .ov-page .ov-grid4, .ov-page .ov-grid4 > .e-con-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ov-page .ov-statementtekst .elementor-heading-title { font-size:27px; }
}
@media (max-width:767px) {
  .ov-page .ov-h1 .elementor-heading-title { font-size:36px; }
  .ov-page .ov-h2 .elementor-heading-title { font-size:29px; }
  .ov-page .ov-herorow { grid-template-columns:1fr; gap:28px; }
  .ov-page .ov-herobeeld { order:-1; }
  .ov-page .ov-heroquote { position:static; margin:-34px 12px 0; max-width:none; }
  .ov-page .ov-grid2, .ov-page .ov-grid2 > .e-con-inner, .ov-page .ov-grid3, .ov-page .ov-grid3 > .e-con-inner, .ov-page .ov-grid4, .ov-page .ov-grid4 > .e-con-inner { grid-template-columns:1fr; }
  .ov-page .ov-kaart { padding:22px; }
  .ov-page .ov-statementtekst .elementor-heading-title { font-size:23px; }
  .ov-page .ov-quotecaveat .elementor-heading-title { font-size:30px; }
  .ov-page .ov-cijfer .ov-getal .elementor-heading-title { font-size:36px; }
  .ov-page .ov-lead, .ov-page .ov-lead p { font-size:18px; }
}