/* ==========================================================================
   Quantum IT Australia — Header & page-width fixes
   Added via WPVibe. Loads after Elementor styles to win the cascade.
   ========================================================================== */

/* --- 1. Kill horizontal overflow / page-width scroll ------------------- */
/* NOTE: do NOT put overflow-x:hidden on html/body — it silently breaks
   position:sticky on the Elementor header, which made the header vanish.
   Constrain overflow on the page wrapper instead. */
body {
  max-width: 100%;
}

.elementor,
.site-main,
#content {
  overflow-x: clip;
  max-width: 100%;
}

/* --- 1b. Make sure the Elementor header is always rendered/visible ----- */
header.elementor-location-header {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 999;
}

/* Stray full-bleed elements should never exceed the viewport */
.elementor-section,
.e-con,
.elementor-widget-container {
  max-width: 100%;
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

/* --- 2. Header logo sizing --------------------------------------------- */
/* The source logo is 420x361; constrain its rendered height so the
   sticky header bar stays compact and aligned. */
.elementor-61 .elementor-element.elementor-element-d58f0a7 img,
header.elementor-location-header .elementor-widget-image img {
  height: 40px !important;
  width: auto !important;
  max-width: 100% !important;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .elementor-61 .elementor-element.elementor-element-d58f0a7 img,
  header.elementor-location-header .elementor-widget-image img {
    height: 36px !important;
    width: auto !important;
  }
}

/* --- 3. Header layout: keep contents within the boxed container -------- */
header.elementor-location-header .e-con-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}

/* Vertically centre the three header columns (logo / nav / social) */
header.elementor-location-header > .e-con > .e-con-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}
