.elementor-kit-8{--e-global-color-primary:#070930;--e-global-color-secondary:#111111;--e-global-color-text:#333333;--e-global-color-accent:#D8DAE3;--e-global-typography-primary-font-family:"Italiana";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Marcellus SC";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:400;--e-global-typography-primary-letter-spacing:-0.02em;--e-global-typography-secondary-letter-spacing:0.06em;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-letter-spacing:0.22em;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* === Charlois: responsieve correcties (2026-10-04) === */

/* Koppen: evenwichtig afbreken, geen weeswoorden */
h1, h2, h3 { text-wrap: balance; }

/* Kopgroottes per schermformaat */
.charlois-h1 { font-size: 60px !important; }
.elementor-widget-heading h2.elementor-heading-title,
h2.charlois-h2 { font-size: 44px !important; line-height: 1.1 !important; }
h2.charlois-cta-heading { font-size: 52px !important; }

@media (max-width: 1024px) {
  .charlois-h1 { font-size: 42px !important; }
  .elementor-widget-heading h2.elementor-heading-title,
  h2.charlois-h2 { font-size: 36px !important; }
  h2.charlois-cta-heading { font-size: 40px !important; }
}
@media (max-width: 767px) {
  .charlois-h1 { font-size: 36px !important; line-height: 1.08 !important; }
  .elementor-widget-heading h2.elementor-heading-title,
  h2.charlois-h2 { font-size: 30px !important; line-height: 1.15 !important; }
  h2.charlois-cta-heading { font-size: 30px !important; }
}

/* Hero-H1 in smallere kolom (Inkomstenbelasting, Toeslagen) */
.elementor-507 .charlois-h1, .elementor-509 .charlois-h1 { font-size: 52px !important; }
@media (max-width: 1024px) { .elementor-507 .charlois-h1, .elementor-509 .charlois-h1 { font-size: 36px !important; } }
@media (max-width: 767px) { .elementor-507 .charlois-h1, .elementor-509 .charlois-h1 { font-size: 34px !important; } }

/* Knoppen: minder letterafstand, telefoonnummer nooit afbreken */
.elementor-button { letter-spacing: 0.04em !important; }
a.elementor-button[href^="tel:"] .elementor-button-text { white-space: nowrap; }
@media (max-width: 767px) {
  .elementor-button { letter-spacing: 0.01em !important; }
}
@media (min-width: 768px) { .elementor-button .elementor-button-text { white-space: nowrap; } }

/* Reviews: aanhalingsteken niet over de tekst */
.charlois-testimonials .testimonial-card { padding-top: 64px !important; }

/* CTA-blokken en FAQ: knoppen gecentreerd onder gecentreerde tekst */
.e-con.e-parent:has(.charlois-cta-heading) .e-con:has(> .elementor-widget-button),
.e-con.e-parent:has(.charlois-cta-heading) .e-con:has(> .e-con-inner > .elementor-widget-button) { justify-content: center !important; align-items: center !important; }
.e-con.e-parent:has(.charlois-cta-heading) .e-con:has(> .e-con-inner > .elementor-widget-button) > .e-con-inner { justify-content: center !important; align-items: center !important; }
.e-con.e-parent:has(.elementor-widget-accordion) .elementor-widget-button { margin-left: auto !important; margin-right: auto !important; }

/* FAQ: losse kaarten, smalle leeskolom, knop rechts */
.elementor-widget-accordion .elementor-accordion { display: flex; flex-direction: column; gap: 12px; width: 100%; max-width: 820px; margin: 0 auto; }
.elementor-widget-accordion .elementor-accordion .elementor-accordion-item { border: 1px solid rgba(16,29,66,0.08) !important; border-radius: 16px; background: #fff; overflow: hidden; transition: border-color 200ms ease, box-shadow 200ms ease; }
.elementor-widget-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active) { border-color: rgba(117,139,253,0.5) !important; box-shadow: 0 16px 32px -20px rgba(16,29,66,0.25); }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px !important; border: 0 !important; background: transparent !important; cursor: pointer; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title { font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; font-size: 17px !important; line-height: 1.35 !important; color: #101D42 !important; text-decoration: none; transition: color 150ms ease; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title:hover .elementor-accordion-title { color: #4F63D9 !important; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon { order: 2; flex: none; float: none !important; width: 32px !important; height: 32px; margin: 0 !important; border-radius: 9999px; background: rgba(117,139,253,0.12); display: flex !important; align-items: center; justify-content: center; transition: background-color 200ms ease; }
.elementor-widget-accordion .elementor-accordion .elementor-accordion-icon svg { width: 12px; height: 12px; fill: #4F63D9 !important; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon { background: #758BFD; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg { fill: #fff !important; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-title:focus-visible { outline: 2px solid #758BFD; outline-offset: -2px; border-radius: 16px; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-content { padding: 0 24px 24px !important; border: 0 !important; background: transparent !important; font-family: 'Poppins', sans-serif !important; font-size: 16px !important; line-height: 1.7 !important; color: rgba(13,19,23,0.72) !important; }
.elementor-widget-accordion .elementor-accordion .elementor-tab-content p { margin: 0; }
@media (max-width: 767px) {
  .elementor-widget-accordion .elementor-accordion { gap: 10px; }
  .elementor-widget-accordion .elementor-accordion .elementor-tab-title { padding: 18px !important; gap: 12px; }
  .elementor-widget-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title { font-size: 16px !important; }
  .elementor-widget-accordion .elementor-accordion .elementor-tab-content { padding: 0 18px 20px !important; font-size: 15px !important; }
}

/* Zwevende badges niet buiten beeld (veroorzaakte horizontaal scrollen) */
@media (max-width: 1100px) { .badge-stat-tr { right: 8px !important; } .badge-stat-bl { left: 8px !important; } }
html { overflow-x: clip; }

/* Dashboard-kaartjes op mobiel */
@media (max-width: 480px) {
  .charlois-dashboard-card { padding: 20px !important; }
  .charlois-dashboard-card .dash-kpis { grid-template-columns: 1fr !important; }
  .charlois-dashboard-card .activity-row { flex-wrap: wrap; gap: 4px 12px; }
}

/* Header op mobiel: logo en menu op één rij, knop alleen in het menu */
@media (max-width: 767px) {
  .elementor-109 .elementor-element-aa62178,
  .elementor-109 .elementor-element-aa62178 > .e-con-inner { flex-direction: row !important; flex-wrap: nowrap !important; justify-content: space-between !important; align-items: center !important; gap: 12px !important; }
  .elementor-109 .elementor-element-aa62178 .elementor-widget { width: auto !important; margin: 0 !important; }
  .elementor-109 .elementor-element-2c08dff { display: none !important; }
}

/* Header op tablet: alles op één rij */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-109 .elementor-element-aa62178 > .e-con-inner { flex-wrap: nowrap !important; gap: 16px !important; }
  .elementor-109 .elementor-element-2c08dff { width: auto !important; }
}

/* Footer op tablet: e-mailadres niet midden in het woord afbreken */
@media (max-width: 1024px) and (min-width: 768px) {
  .charlois-footer-grid { grid-template-columns: 1fr 1fr !important; }
  .charlois-footer-grid .footer-brand { grid-column: 1 / -1; }
}
.charlois-footer-grid ul li a[href^="mailto:"] { word-break: normal !important; overflow-wrap: anywhere; }

/* Zijmarges op tablet en mobiel (Inkomstenbelasting en Toeslagen hadden 10px) */
@media (max-width: 1024px) { .elementor-507 > .e-con.e-parent, .elementor-509 > .e-con.e-parent { padding-left: 24px !important; padding-right: 24px !important; } }
@media (max-width: 767px) { .elementor-507 > .e-con.e-parent, .elementor-509 > .e-con.e-parent { padding-left: 20px !important; padding-right: 20px !important; } }/* End custom CSS */