/*! Author/Owner: ZetTateK.
 * Copyright (c) 2026 ZetTateK. All rights reserved.
 * Proprietary intellectual property of ZetTateK.
 */
/* Inproem production layout fixes (mobile). Scoped to small viewports. */
/* Elementor appends all three background slides before awaiting Swiper.
   Keep the original HTML cover visible until Swiper positions those slides. */
body.home #hero[data-id="blaanraz"] > .elementor-background-slideshow:not(.swiper-initialized) { visibility: hidden; }
/* Start every generated slide transparent. Swiper's inline opacity takes over
   normally, preserving fades while avoiding an initial last-slide fade-out. */
body.home #hero[data-id="blaanraz"] > .elementor-background-slideshow .swiper-slide { opacity: 0; }
/* Keep a real first-paint image above the section background, the slideshow
   above that image, and the original gradient/text above both backgrounds. */
body.home #hero[data-id="blaanraz"] { background-image: none !important; }
body.home #hero[data-id="blaanraz"] > .elementor-background-slideshow { z-index: 1; }
body.home #hero[data-id="blaanraz"]::before { z-index: 2; pointer-events: none; }
body.home #hero[data-id="blaanraz"] > .e-con-inner { position: relative; z-index: 3; }
main.inproem-main { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
.zt-assess-section-btn, .zt-assess-section-btn:hover { background: #213654 !important; color: #fff !important; }
.elementor-post__badge { color: #595959 !important; background: #fff !important; }
.inproem-breadcrumbs { padding: 12px 24px; background: #101B35; color: #E8EDF8; font-size: 13px; }
.inproem-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.inproem-breadcrumbs li + li::before { content: "/"; margin-right: 8px; color: #9AAAC8; }
.inproem-breadcrumbs a { color: #E8EDF8; text-decoration: underline; }
.inproem-skip-link { position: absolute; top: -200px; left: 8px; padding: 12px 16px; background: #101B35; color: #E8EDF8; z-index: 2147483647; }
.inproem-skip-link:focus { top: 8px; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible { outline: 3px solid #41B3AB !important; outline-offset: 3px; }
/* Review-only warning stays in flow instead of obscuring mobile cookie actions.
 * Canonical production never displays a false "measurement isolated" notice. */
#migration-preview-banner { display: none !important; }
.inproem-review-host #migration-preview-banner {
  display: block !important;
  position: static !important;
  margin: 0 !important;
  border-radius: 0 !important;
  width: auto !important;
  z-index: auto !important;
}
/* Language bar remains in normal flow. Header becomes sticky only as it reaches
 * the viewport top; no hardcoded language-bar offset survives after scrolling. */
[data-elementor-type="twbb_header"].inproem-native-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1001;
  width: 100%;
}
[data-elementor-type="twbb_header"].inproem-native-header > .inproem-native-header-row {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}
@media (max-width: 480px) {
  /* Long counter values with suffix overflowed 375 px screens (es/cybersecurity-solutions). */
  .elementor-counter .elementor-counter-number-wrapper { font-size: 40px !important; flex-wrap: wrap; max-width: 100%; }
}

/* Anchor the responsive dropdown to the complete header row, not its narrow toggle.
 * TenWeb's runtime desktop width/offset must never push links off-screen. */
@media (max-width: 1024px) {
  [data-elementor-type="twbb_header"].inproem-native-header .elementor-widget-twbb-nav-menu,
  [data-elementor-type="twbb_header"].inproem-native-header .elementor-widget-twbb-nav-menu > .elementor-widget-container {
    position: static !important;
  }
  [data-elementor-type="twbb_header"].inproem-native-header .twbb-nav-menu--dropdown {
    left: 12px !important;
    right: 12px !important;
    top: 100% !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 !important;
    box-sizing: border-box;
  }
}


/* The home hero's longest Spanish word must fit 320px screens without clipping. */
@media (max-width: 389px) {
  .elementor-element-sqie90ux h1.twbb-headline {
    font-size: clamp(24px, 8vw, 28px) !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
  }
}


/* Let the document grow; the captured viewport-height body created a second scrollbar. */
html { height: auto !important; min-height: 100%; overflow-y: auto !important; }
body { height: auto !important; min-height: 100vh; }
