/* Crisis Dynamics – aanvullende CSS bij de Elementor-opbouw.
   Kleuren en lettertypen komen uit Elementor › Site-instellingen (globale kleuren/typografie). */

/* ---------- algemeen ---------- */
body { overflow-x: clip; }
.cd-main { display: block; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor a { text-decoration: underline; text-underline-offset: 2px; }
.e-con[data-element_type="container"] > a, a.e-con { text-decoration: none; color: inherit; }

/* maximale regelbreedtes (zoals in het ontwerp) */
body .elementor-widget-heading.cd-mw-20ch .elementor-heading-title { max-width: 20ch; }
body .elementor-element.cd-mw-38ch { max-width: 38ch !important; }
body .elementor-element.cd-mw-46ch { max-width: 46ch !important; }
body .elementor-element.cd-mw-52ch { max-width: 52ch !important; }
body .elementor-element.cd-mw-56ch { max-width: 56ch !important; }
body .elementor-element.cd-mw-58ch { max-width: 58ch !important; }
body .elementor-element.cd-mw-60ch { max-width: 60ch !important; }
body .elementor-element.cd-mw-62ch { max-width: 62ch !important; }
body .elementor-element.cd-mw-68ch { max-width: 68ch !important; }
body .elementor-element.cd-mw-72ch { max-width: 72ch !important; }
body .elementor-element.cd-mw-680 { max-width: 680px !important; }

/* ---------- header ---------- */
.cd-site-part--header { position: sticky; top: 0; z-index: 100; }
body.admin-bar .cd-site-part--header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .cd-site-part--header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .cd-site-part--header { top: 0; } }
.cd-header { background-color: rgba(255, 255, 255, .96); }
.cd-logo img { display: block; width: auto; }

.cd-nav-link .elementor-heading-title { display: inline-block; padding: 6px 0 4px; border-bottom: 2px solid transparent; transition: color .15s; }
body.cd-section-home .cd-nav .cd-nav-home .elementor-heading-title,
body.cd-section-aanbod .cd-nav .cd-nav-aanbod .elementor-heading-title,
body.cd-section-about .cd-nav .cd-nav-about .elementor-heading-title,
body.cd-section-blog .cd-nav .cd-nav-blog .elementor-heading-title,
body.cd-section-contact .cd-nav .cd-nav-contact .elementor-heading-title {
  font-weight: 700; color: var(--e-global-color-cdblue7); border-bottom-color: var(--e-global-color-cdgreen);
}

/* Aanbod-dropdown */
.cd-dd { position: relative; }
.cd-dd::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 16px; }
.cd-dd__toggle { cursor: pointer; }
.cd-dd__toggle .elementor-icon { display: flex; padding: 4px; }
.e-con.cd-dd__panel { display: none; position: absolute; top: 100%; left: -24px; margin-top: 12px; width: 580px; max-width: none; z-index: 30; box-shadow: 0 4px 16px rgba(47, 40, 123, .10); }
.cd-dd:hover .e-con.cd-dd__panel, .cd-dd:focus-within .e-con.cd-dd__panel, .cd-dd.is-open .e-con.cd-dd__panel { display: grid; }
.e-con.cd-dd__all { grid-column: 1 / -1; }
.e-con.cd-dd__item { margin: 0 -10px; transition: background-color .15s; }
.e-con.cd-dd__item:hover { background-color: var(--e-global-color-cdmint0); }
/* in de Elementor-editor van de header: dropdown zichtbaar om te kunnen bewerken */
.elementor-editor-active .elementor-edit-area-active .e-con.cd-dd__panel { display: grid; position: relative; left: 0; margin-top: 8px; }

/* mobiel menu */
.e-con.cd-mobile-menu { display: none; }
.cd-header.is-open .e-con.cd-mobile-menu { display: flex; }
.elementor-editor-active .elementor-edit-area-active .e-con.cd-mobile-menu { display: flex; }
.cd-mobile-menu .cd-nav-link .elementor-heading-title { display: block; padding: 12px 0; border-bottom: 1px solid var(--e-global-color-cdgrid0); }
.cd-mobile-menu .cd-nav-aanbod .elementor-heading-title { border-bottom: 0; padding-bottom: 4px; }
.cd-mobile-menu .e-con.cd-mnav-group { border-bottom: 1px solid var(--e-global-color-cdgrid0); }
body.cd-section-home .cd-mobile-menu .cd-nav-home .elementor-heading-title,
body.cd-section-aanbod .cd-mobile-menu .cd-nav-aanbod .elementor-heading-title,
body.cd-section-about .cd-mobile-menu .cd-nav-about .elementor-heading-title,
body.cd-section-blog .cd-mobile-menu .cd-nav-blog .elementor-heading-title,
body.cd-section-contact .cd-mobile-menu .cd-nav-contact .elementor-heading-title { font-weight: 700; color: var(--e-global-color-cdblue7); }
.cd-menu-toggle .elementor-icon { display: flex; cursor: pointer; }

/* taalwisselaar */
.cd-lang { display: flex; border: 1px solid var(--e-global-color-cdgrid0); border-radius: 4px; overflow: hidden; flex-shrink: 0; }
.cd-lang__item { display: block; padding: 6px 10px; font-family: var(--e-global-typography-cdtbtsm-font-family), sans-serif; font-weight: 600; font-size: 13px; line-height: 1.2; color: var(--e-global-color-cdblue5); background: #fff; text-decoration: none; }
.cd-lang__item:hover { color: var(--e-global-color-cdblue7); background: var(--e-global-color-cdmint0); }
.cd-lang__item.is-active, .cd-lang__item.is-active:hover { background: var(--e-global-color-cdblue5); color: #fff; }

/* ---------- hero ---------- */
.e-con.cd-hero-media { position: relative; }
.e-con.cd-hero-photo { position: absolute; inset: 0; width: auto; min-height: 0; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%); }
.e-con.cd-stripe { position: absolute; top: 0; bottom: 0; width: 14%; min-height: 0; pointer-events: none; }
.e-con.cd-stripe--blue { left: 0; background: linear-gradient(to bottom right, transparent calc(50% - 4px), var(--e-global-color-cdblue5) calc(50% - 4px), var(--e-global-color-cdblue5) calc(50% + 4px), transparent calc(50% + 4px)); }
.e-con.cd-stripe--green { left: -5%; background: linear-gradient(to bottom right, transparent calc(50% - 3px), var(--e-global-color-cdgreen) calc(50% - 3px), var(--e-global-color-cdgreen) calc(50% + 3px), transparent calc(50% + 3px)); }

/* ---------- kaarten en links ---------- */
.e-con.cd-card { transition: border-color .15s; }
.elementor-element.cd-push { margin-top: auto; padding-top: 6px; }
.e-con.cd-linkrow .elementor-heading-title { transition: color .15s; }
.e-con.cd-linkrow:hover .elementor-heading-title { color: var(--e-global-color-cdblue5); }
.cd-clamp-2 .elementor-heading-title, .cd-clamp-2 p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.cd-badge .elementor-heading-title { display: inline-block; white-space: nowrap; }

/* ---------- blogfilter (Elementor Tabs) ---------- */
.cd-filtertabs .e-n-tab-title { cursor: pointer; }

/* ---------- juridische pagina's ---------- */
.cd-legal-ul ul { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.cd-legal-ul li { padding-left: 4px; }
body .elementor-element.cd-legal-num { flex: 0 0 54px; width: 54px; font-variant-numeric: tabular-nums; }

/* ---------- footer ---------- */
.cd-footer-links a:hover .elementor-icon-list-text { text-decoration: underline; }
.cd-footer-legal a { margin-left: 16px; text-decoration: underline; text-underline-offset: 3px; }
.e-con.cd-footer-bottom { border-top-color: rgba(255, 255, 255, .2); }
