/* Start custom CSS */.elementor .ct-label span { color: #9ca4b0; }
.elementor .ct-input::placeholder, .elementor .ct-form textarea::placeholder, .elementor .ct-form input[type=tel]::placeholder { color: #6b7280; opacity: 1; }
.elementor .ct-select { color: #121316; }
.elementor .ct-select:has(option[value=""]:checked) { color: #6b7280; }
.elementor .ct-form.ct-is-step2 .ct-form-step1 { display: none; }
.elementor .ct-form.ct-is-step2 .ct-form-step2 { display: grid; }
.elementor .ct-form.ct-is-step2 .ct-stepper-connector { background-color: #2b4e6c; }
.elementor .ct-form.ct-is-step2 .ct-stepper-step2 { background-color: #2b4e6c; color: #f8fbff; }
.elementor .ct-form.ct-is-step2 .ct-stepper-step2 + p { color: #2b4e6c; font-weight: 700; }
.elementor .ct-form input[type=checkbox]:checked { background-image: url('https://bluem.nl/wp-content/uploads/2026/10/contact-icon24-check.svg'), url('https://bluem.nl/wp-content/uploads/2026/10/contact-checkbox-square-24.svg'); background-size: 16px 16px, 24px 24px; }
.elementor .ct-form input[type=checkbox]:focus-visible, .elementor .ct-form-continue:focus-visible, .elementor .ct-form-back:focus-visible { outline: 2px solid #7070ba; outline-offset: 2px; }
.elementor .ct-form p a { color: #2b4e6c; }
.ct-team-track::-webkit-scrollbar { display: none; }
.elementor .ct-team-prev.ct-is-disabled, .elementor .ct-team-next.ct-is-disabled { opacity: 0.4; pointer-events: none; }
@media (max-width: 767px) { .elementor .ct-form.ct-is-step2 .ct-stepper-step2 + p { display: none; } }

/* Solutions multi-select (UI built by the page script on top of the native select multiple) */
.elementor .ct-form select.ct-ms-native { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.ct-ms { position: relative; width: 100%; }
.ct-ms-control { display: flex; align-items: center; min-height: 40px; box-sizing: border-box; padding: 4px 48px 4px 4px; background: #ffffff url('https://bluem.nl/wp-content/uploads/2026/10/contact-select-chevron-16.svg') no-repeat calc(100% - 20px) 50% / 16px 16px; border: 1px solid #d6dbe2; border-radius: 20px; cursor: pointer; font-family: Satoshi, sans-serif; font-size: 14px; line-height: 22px; color: #121316; transition: border-color 0.2s ease; }
.ct-ms-control:focus { outline: none; }
.ct-ms.ct-is-open .ct-ms-control, .ct-ms-control:focus-visible { border-color: #2b4e6c; }
.ct-ms.ct-is-invalid .ct-ms-control { border-color: #c0392b; }
.ct-ms-chips { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.ct-ms.ct-has-value .ct-ms-control { padding-left: 6px; }
.ct-ms-placeholder { padding-left: 16px; color: #6b7280; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ct-ms-placeholder[hidden] { display: none; }
.ct-ms-chip { display: inline-flex; align-items: center; gap: 2px; max-width: 100%; box-sizing: border-box; padding: 2px 2px 2px 12px; background-color: #e3ebf3; color: #2b4e6c; border-radius: 999px; font-size: 13px; font-weight: 500; line-height: 20px; }
.ct-ms-chip-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.elementor .ct-form .ct-ms-chip-remove { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 22px; width: 22px; height: 22px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; color: #2b4e6c; font-family: Satoshi, sans-serif; font-size: 16px; font-weight: 500; line-height: 1; cursor: pointer; box-shadow: none; }
.elementor .ct-form .ct-ms-chip-remove:hover { background-color: #cddbe8; }
.elementor .ct-form .ct-ms-chip-remove:focus-visible { outline: 2px solid #7070ba; outline-offset: 1px; }
.ct-ms-list { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; margin: 0; padding: 6px; list-style: none; max-height: 288px; overflow-y: auto; background-color: #ffffff; border: 1px solid #d6dbe2; border-radius: 16px; box-shadow: 0 16px 32px -8px rgba(18, 19, 22, 0.14); }
.ct-ms-list[hidden] { display: none; }
.ct-ms-option { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px 12px; border-radius: 10px; font-family: Satoshi, sans-serif; font-size: 14px; line-height: 20px; color: #121316; cursor: pointer; }
.ct-ms-option:hover, .ct-ms-option.ct-is-active { background-color: #f2f5f9; }
.ct-ms-box { flex: 0 0 20px; width: 20px; height: 20px; box-sizing: border-box; border: 1.5px solid #d6dbe2; border-radius: 6px; background-color: #ffffff; }
.ct-ms-option[aria-selected="true"] .ct-ms-box { border: 0; background-color: transparent; background-image: url('https://bluem.nl/wp-content/uploads/2026/10/contact-icon24-check.svg'), url('https://bluem.nl/wp-content/uploads/2026/10/contact-checkbox-square-24.svg'); background-repeat: no-repeat; background-position: center; background-size: 14px 14px, 20px 20px; }
.elementor .ct-form .ct-ms-error { margin: 4px 0 0; font-family: Satoshi, sans-serif; font-size: 12px; line-height: 16px; color: #c0392b; }
.ct-ms-error[hidden] { display: none !important; }

/* Submit: loading state */
@keyframes ct-spin { to { transform: rotate(360deg); } }
.ct-form .ct-spinner { display: inline-block; width: 16px; height: 16px; margin-right: 8px; vertical-align: -3px; box-sizing: border-box; border: 2px solid rgba(248, 251, 255, 0.35); border-top-color: #f8fbff; border-radius: 50%; animation: ct-spin 0.8s linear infinite; }
.elementor .ct-form button[type=submit][aria-busy="true"] { cursor: progress; opacity: 0.85; }
@media (prefers-reduced-motion: reduce) { .ct-form .ct-spinner { animation-duration: 2s; } }

/* Success state (Figma 5440:15178): the success content replaces the stepper and both steps */
.elementor .ct-form.form-state-success > :not([data-element_type="e-form-success-message"]) { display: none !important; }
.elementor .ct-form [data-id="31b13f21"] { width: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; color: inherit; font-size: inherit; text-align: left; }
.elementor .ct-form [data-id="31b13f21"]:focus { outline: none; }
.elementor .ct-form [data-id="6defc47d"] strong { font-weight: 500; color: #121316; }
.elementor .ct-form [data-id="3e59bda1"]:focus-visible, .elementor .ct-form [data-id="7eceece7"]:focus-visible, .elementor .ct-form [data-id="14cacb85"]:focus-visible { outline: 2px solid #7070ba; outline-offset: 2px; }

/* Team cards: copy-to-clipboard snackbar (created by the page script) */
.ct-snackbar { position: fixed; left: 50%; bottom: 48px; z-index: 99999; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 12px 20px; border-radius: 12px; background-color: #121316; color: #f8fbff; font-family: Satoshi, sans-serif; font-size: 14px; font-weight: 500; line-height: 20px; text-align: center; box-shadow: 0 8px 24px rgba(18, 19, 22, 0.18); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s; pointer-events: none; }
.ct-snackbar.ct-is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s; }
@media (prefers-reduced-motion: reduce) { .ct-snackbar, .ct-snackbar.ct-is-visible { transition: none; } }

/* Background patterns (hero 1424x648 inside the card, next steps 1440x568 full width). The next steps pattern spans wider screens (scaled, not distorted). */
@media (min-width: 1441px) {
  .elementor [data-id="23e605e1"] { left: 0 !important; right: 0 !important; transform: none !important; width: 100% !important; height: auto !important; aspect-ratio: 1440 / 568; }
}
/* Taller sections (tablet / mobile): continue the pattern's bottom tone below the image so there is no visible edge. */
@media (max-width: 1440px) {
  .elementor [data-id="372a5fc8"]::before { content: ""; position: absolute; left: 0; right: 0; top: 648px; bottom: 0; z-index: 0; background-color: rgba(248, 251, 255, 0.91); pointer-events: none; }
  .elementor [data-id="1a75c3d0"]::before { content: ""; position: absolute; left: 0; right: 0; top: 568px; bottom: 0; z-index: 0; background-color: rgba(248, 251, 255, 0.91); pointer-events: none; }
}
@media (max-width: 767px) {
  .elementor [data-id="6d061129"] { left: -193px !important; transform: none !important; }
}

/* Trustbar: continuous single-line logo marquee, same behaviour as Home (logo set duplicated once for a seamless loop) */
@keyframes ct-logos-marquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-50%,0,0); } }
[data-id="2832f19a"] { overflow: hidden; }
[data-id="524bc6c8"] { display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; align-self: flex-start !important; width: max-content !important; max-width: none !important; overflow: visible !important; scroll-snap-type: none !important; animation: ct-logos-marquee 15s linear infinite; will-change: transform; -webkit-mask-image: none; mask-image: none; }
[data-id="524bc6c8"] > [data-id] { flex: 0 0 auto !important; margin-right: 24px; }
[data-id="524bc6c8"]:hover { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { [data-id="524bc6c8"] { animation: none !important; } }

/* Light header variant for this page only (Figma Contact header). Shared header site part stays untouched. */
body.page-id-465 .elementor-location-header [data-id="5863ac"] { position: relative; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); }
body.page-id-465 .elementor-location-header [data-id="7acb4b5d"] { display: none; }
body.page-id-465 .elementor-location-header [data-id="5b1bc6fc"] { display: block; }
body.page-id-465 .elementor-location-header .bl-mega-item .bl-label-md { color: #2b4e6c; }
body.page-id-465 .elementor-location-header .bl-mega-item .bl-icon-20 { color: #2b4e6c; }
body.page-id-465 .elementor-location-header [data-id="5d7f4d"] { display: none; }
body.page-id-465 .elementor-location-header [data-id="7b6b8b94"] { background-color: #2b4e6c; border-color: #2b4e6c; color: #f8fbff; }
body.page-id-465 .elementor-location-header [data-id="7b6b8b94"]:hover { background-color: #264660; border-color: #264660; }
@media (max-width: 1024px) {
  body.page-id-465 .elementor-location-header [data-id="5b1bc6fc"] { display: none; }
  body.page-id-465 .elementor-location-header [data-id="14b07efc"] svg { visibility: hidden; }
  body.page-id-465 .elementor-location-header [data-id="14b07efc"] { background: url('https://bluem.nl/wp-content/uploads/2026/10/contact-header-logo-color-mobile.svg') center / 141.97px 56px no-repeat; }
  body.page-id-465 .elementor-location-header [data-id="12233f05"] { background-color: #f1f5f9; }
  body.page-id-465 .elementor-location-header [data-id="12233f05"] svg path { fill: #2b4e6c; }
}/* End custom CSS */