/* CSB native Elementor widgets, keeping the existing visual design. */
body.i4-site .csb-native-desktop-menu,
body.i4-site .csb-native-desktop-menu > .elementor-widget-container { display: contents; }
body.i4-site .csb-native-desktop-menu ul { margin: 0; padding: 0; list-style: none; }
body.i4-site .csb-native-desktop-menu .menu { display: flex; align-items: flex-start; justify-content: flex-end; }
body.i4-site .csb-native-desktop-menu .menu > li { position: relative; padding: 0 15px; }
body.i4-site .csb-native-desktop-menu .menu > li:last-child { padding-right: 0; }
body.i4-site .csb-native-desktop-menu a { display: block; padding: 0 5px; border-bottom: 2px solid #fff; color: var(--csb-nav); font-size: 17.88px; font-weight: 300; line-height: 22px; text-decoration: none; }
body.i4-site .csb-native-desktop-menu a:hover { border-color: var(--csb-red); color: var(--csb-nav); }
body.i4-site .csb-native-desktop-menu .sub-menu { display: none; position: absolute; top: 100%; left: 10px; min-width: 150px; z-index: 20; padding: 8px 0; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
body.i4-site .csb-native-desktop-menu .sub-menu li { padding: 4px 12px; }
body.i4-site .csb-native-desktop-menu .sub-menu a { font-size: 15px; border-bottom: 0; white-space: nowrap; }
body.i4-site .csb-native-cta { display: block; margin: 0 0 10px; padding: 0 0 15px; }
body.i4-site .source-actions .csb-native-cta { margin-bottom: 15px; }
body.i4-site .csb-native-cta .elementor-button { font-family: inherit; text-decoration: none; }
body.i4-site .csb-native-cta .elementor-button-text { line-height: inherit; }
body.i4-site .csb-native-seminar { position: relative !important; width: var(--width); max-width: 100%; margin: 0 0 25px; }
body.i4-site .csb-native-seminar-video { width: 100%; }
body.i4-site .csb-native-seminar-video .elementor-wrapper { background: #151515; }
body.i4-site .csb-native-seminar-video .elementor-custom-embed-image-overlay { background: #151515; }
body.i4-site .csb-native-seminar-video .elementor-custom-embed-image-overlay img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.i4-site .csb-native-seminar-video .elementor-custom-embed-play { width: 64px; height: 48px; border: 1px solid rgba(255,255,255,.9); border-radius: 6px; background: rgba(0,0,0,.25); opacity: 1; }
body.i4-site .csb-native-seminar-video .elementor-custom-embed-play i,
body.i4-site .csb-native-seminar-video .elementor-custom-embed-play svg { display: none; }
body.i4-site .csb-native-seminar-video .elementor-custom-embed-play::after { position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left: 17px solid #fff; content: ""; transform: translate(-40%, -50%); }
body.i4-site .csb-native-seminar-title { position: absolute; top: 18px; left: 20px; z-index: 2; max-width: calc(100% - 40px); color: #fff; font-family: "Open Sans",Arial,sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; text-shadow: 0 1px 2px rgba(0,0,0,.8); pointer-events: none; }
body.i4-site .csb-native-seminar-title .elementor-heading-title { font: inherit; color: inherit; line-height: inherit; }
body.i4-site .csb-native-seminar:has(iframe) .csb-native-seminar-title { display: none; }
@media (max-width: 1200px) {
  body.i4-site .csb-native-desktop-menu .menu > li { padding: 0 5px; }
}
@media (max-width: 900px) {
  body.i4-site .csb-native-mobile-nav { position: relative; }
  body.i4-site .csb-native-mobile-toggle .e-n-accordion { display: block; }
  body.i4-site .csb-native-mobile-toggle .e-n-accordion-item-title-header { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  body.i4-site .csb-native-mobile-content { position: absolute !important; top: 100%; left: 0; z-index: 100; width: 100%; margin: 0; padding: 10px 0; border: 0; background: #fff; text-align: center; box-shadow: 0 5px 8px rgba(0,0,0,.08); }
  body.i4-site .csb-native-mobile-content .menu,
  body.i4-site .csb-native-mobile-content .sub-menu { margin: 0; padding: 0; list-style: none; }
  body.i4-site .csb-native-mobile-content .sub-menu a { font-size: 15px; }
}
@media (max-width: 600px) {
  body.i4-site .csb-header { padding-bottom: 20px; }
  body.i4-site .csb-mobile-nav { margin-top: 20px; }
  body.i4-site .csb-native-seminar { width: 100%; }
  body.i4-site .csb-native-seminar-title { top: 14px; left: 16px; font-size: 17px; }
  body.i4-site .csb-native-contact-cta { padding-left: 15px; }
}

/* Connect migrated styling to native Elementor controls without fixing their values. */
body.i4-site .csb-editable-heading .elementor-heading-title {
  margin: 0;
  padding: 0;
}
body.i4-site .csb-editable-text p,
body.i4-site .csb-editable-text ul,
body.i4-site .csb-editable-text ol {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
body.i4-site .elementor .csb-editable-layout {
  padding-top: var(--padding-top);
  padding-right: var(--padding-right);
  padding-bottom: var(--padding-bottom);
  padding-left: var(--padding-left);
  margin-top: var(--margin-top);
  margin-right: var(--margin-right);
  margin-bottom: var(--margin-bottom);
  margin-left: var(--margin-left);
  min-height: var(--min-height);
  gap: var(--row-gap) var(--column-gap);
}
@media (max-width: 900px) {
  body.i4-site .csb-native-mobile-toggle { position: static; }
  body.i4-site .csb-native-mobile-toggle .e-n-accordion-item {
    position: static;
    height: auto !important;
    overflow: visible !important;
  }
  body.i4-site .csb-native-mobile-toggle summary.e-n-accordion-item-title {
    width: auto;
    height: auto;
    margin: 0;
    padding: var(--n-accordion-padding);
  }
}
@media (max-width: 1024px) {
  body.i4-site .csb-editable-text.external-design-link { height: auto; }
  body.i4-site .csb-editable-text.external-design-link a { float: none; }
}

/* Native Image alignment and Advanced spacing own the portrait boxes. */
body.i4-site .csb-editable-image { line-height: 0; }
body.i4-site .elementor .elementor-widget-image.csb-editable-image img { display: inline-block; margin: 0; vertical-align: middle; }
@media (max-width: 1024px) {
  body.i4-site .csb-editable-layout.service-section-body { height: auto; }
  body.i4-site .csb-editable-layout.service-section-body img { float: none; box-sizing: border-box; margin-inline: 0; padding: 0; }
}

body.i4-site .elementor .csb-editable-width { width: var(--width); }

/* Image selection, sizing, links and spacing use the native Image widget. */
body.i4-site .elementor .csb-native-standard-image { line-height: 0; }
body.i4-site .elementor .csb-native-standard-image img {
  display: inline-block;
  position: static;
  float: none;
  inset: auto;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}
body.i4-site .elementor .csb-native-standard-image.csb-logo { flex-basis: auto; }
body.i4-site .elementor .csb-native-service-image { float: left; }
body.i4-site .elementor .csb-native-standard-image.homebar-bg > .elementor-widget-container { height: 100%; }
@media (max-width: 1024px) {
  body.i4-site .elementor .csb-native-service-image { float: none; }
}

/* Keep the first gallery slide visible when its thumbnail targets it. */
body.i4-site .work-gallery:has(.gallery-slide:target) #work-1:target { display: block; }
