/**
 * Header layout fix
 * - Keep blue "WATER HEATERS" bar flush under the black top bar
 * - Keep Home / Product / Features / Catalogue / Store Locator / Search on one row
 * - Place search immediately after Store Locator (not over the hero)
 * - Keep original black top header: logo left, social + usha care + language on one right row
 */

header,
header.role-banner,
header[role="header"] {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.site-main {
  margin: 0 !important;
  padding: 0 !important;
}

.site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#skipCont {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Black top header — restore single-row layout */
header .topnav {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 6px;
  padding-bottom: 6px;
  background-color: #000;
  line-height: 50px;
  color: #fff;
}

header .topnav > .container > .row {
  align-items: center !important;
  flex-wrap: nowrap !important;
  margin-left: 0;
  margin-right: 0;
}

header .topnav .usha-logo-img {
  flex: 0 0 auto;
  max-width: 24%;
}

header .topnav .usha-logo-img img {
  max-height: 42px;
  width: auto;
  height: auto;
}

/* Right cluster must stay a Bootstrap column AND an internal flex row */
@media (min-width: 768px) {
  header .topnav .border-inner-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    /* keep column width — do not force width:auto or the row wraps under the logo */
    max-width: 75%;
    flex: 0 0 75%;
  }

  header .topnav .border-inner-right > .social-icon,
  header .topnav .border-inner-right > .care,
  header .topnav .border-inner-right > .language {
    width: auto !important;
    max-width: none;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    position: relative;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  header .topnav .border-inner-right > .care {
    max-width: 38% !important;
  }

  header .topnav .border-inner-right .care img,
  header .topnav .care a img {
    max-width: 100%;
    max-height: 32px;
    width: auto;
    height: auto;
    display: block;
  }

  header .topnav .border-inner-right > .language {
    width: 160px !important;
    margin-right: 0 !important;
  }
}

header .mainnav {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: 59px;
  display: flex;
  align-items: center;
  overflow: visible;
  position: relative;
}

/* Undo global mobile .position-relative { display:flex; justify-content:center } on the nav bar */
@media (max-width: 768px) {
  header .mainnav.position-relative {
    display: block !important;
    justify-content: initial !important;
    align-items: initial !important;
  }
}

/* Product mega-menu must sit below the blue nav (Product label), not over the header */
@media (min-width: 768px) {
  header .navscroll {
    overflow: visible !important;
    max-height: none !important;
  }

  header .navbar-expand-md .navbar-nav .dropdown-menu,
  header .mainnav .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1050 !important;
  }
}

header .mainnav > .container {
  width: 100%;
}

header .mainnav > .container > .row {
  align-items: center !important;
  margin-left: 0;
  margin-right: 0;
}

header .mainnav .title {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  line-height: 1.2;
}

header .mainnav .title.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

header .col-md-8.col-4.row.justify-content-end.align-items-center.position-static.mainnav-li {
  margin-top: 0 !important;
}

header .navbar {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  width: 100%;
  justify-content: flex-end;
}

header .navbar-expand-md .navbar-collapse {
  padding-left: 0 !important;
}

header #navbarMain .navscroll {
  max-height: none !important;
  overflow: visible !important;
}

/* Desktop/tablet: keep nav items on one row */
@media (min-width: 768px) {
  header #navbarMain .navbar-nav {
    flex-wrap: nowrap !important;
    align-items: center !important;
    flex-direction: row !important;
  }

  header #navbarMain .region-navigation,
  header #navbarMain #block-framework-mainnavigation {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  /* Superfish desktop menu: keep Home…Store Locator on one row */
  header #superfish-main.sf-menu,
  header ul#superfish-main {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header #superfish-main > li {
    float: none !important;
    display: flex !important;
    align-items: center !important;
    white-space: nowrap !important;
  }

  /* Hide accordion clone on desktop — Superfish uses horizontal menu */
  header #superfish-main-accordion,
  header .sf-accordion-toggle {
    display: none !important;
  }
}

header #superfish-main > li > a,
header ul.sf-menu > li > a,
header ul.sf-menu > li > span.nolink {
  padding: 8px 10px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

header #superfish-main > li:first-child > a {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

header #navbarMain .nav-item {
  padding: 0.35rem 0.5rem !important;
  margin: 0 !important;
  white-space: nowrap;
}

header #navbarMain .nav-item .nav-link {
  padding: 0.35rem 0.4rem !important;
  white-space: nowrap;
}

/* Search sits after Store Locator on the same blue bar row */
header #navbarMain .new_srch {
  padding: 0 0 0 6px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  position: relative;
  width: auto !important;
  align-self: center !important;
}

header #navbarMain .new_srch .region-search,
header #navbarMain .new_srch .search-block-form,
header #navbarMain .new_srch form {
  margin: 0 !important;
  width: auto !important;
  background: transparent !important;
  padding: 0 !important;
  position: relative !important;
  display: inline-block !important;
}

header #navbarMain .new_srch .form-item {
  margin: 0 !important;
  display: block !important;
}

/* Overlay actions on the right of the input so the icon can center cleanly */
header #navbarMain .new_srch .form-actions {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 34px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

header li.nav-item.new_srch .region-search input#edit-keys,
header #navbarMain .new_srch input.form-text,
header #navbarMain .new_srch input[type="search"] {
  width: 150px !important;
  height: 32px !important;
  margin: 0 !important;
  vertical-align: middle;
  padding: 0 34px 0 12px !important;
  line-height: 32px !important;
  box-sizing: border-box !important;
}

/* Center search icon exactly in the search field */
header li.nav-item.new_srch .form-submit,
header .new_srch .form-submit,
.user-role-anonymous header li.nav-item.new_srch .form-submit,
body.user-role-anonymous li.nav-item.new_srch .form-submit,
html.user-role-anonymous li.nav-item.new_srch .form-submit {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 16px !important;
  height: 16px !important;
  transform: none !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 16px 16px !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 0 !important;
  display: block !important;
}

/* Desktop / laptop: keep single-row header */
@media (min-width: 992px) {
  header .mainnav {
    min-height: 59px;
    height: auto !important;
  }

  header .mainnav .col-md-4 {
    max-width: 22% !important;
    flex: 0 0 22% !important;
  }

  header .mainnav .col-md-8,
  header .mainnav .mainnav-li {
    max-width: 78% !important;
    flex: 0 0 78% !important;
  }

  header #navbarMain .navbar-nav {
    flex-wrap: nowrap !important;
  }

  header #superfish-main.sf-menu,
  header ul#superfish-main {
    flex-wrap: nowrap !important;
  }

  header #navbarMain .new_srch {
    padding-bottom: 0 !important;
  }
}

/* Tablet: still keep one row; tighten spacing instead of wrapping */
@media (min-width: 768px) and (max-width: 1199px) {
  header .mainnav {
    height: auto !important;
    min-height: 59px;
  }

  header .mainnav .title {
    margin-bottom: 0 !important;
    font-size: 18px;
  }

  header .mainnav .col-md-4 {
    max-width: 20% !important;
    flex: 0 0 20% !important;
  }

  header .mainnav .col-md-8,
  header .mainnav .mainnav-li {
    max-width: 80% !important;
    flex: 0 0 80% !important;
  }

  header #superfish-main > li > a,
  header ul.sf-menu > li > a,
  header ul.sf-menu > li > span.nolink {
    padding: 6px 7px !important;
    font-size: 13px !important;
  }

  header #navbarMain .nav-item {
    padding: 0.2rem 0.25rem !important;
  }

  header #navbarMain .nav-item .nav-link {
    font-size: 14px;
    padding: 0.25rem 0.3rem !important;
  }

  header li.nav-item.new_srch .region-search input#edit-keys,
  header #navbarMain .new_srch input.form-text,
  header #navbarMain .new_srch input[type="search"] {
    width: 110px !important;
  }

  header #navbarMain .new_srch {
    padding-bottom: 0 !important;
    padding-left: 4px !important;
  }
}

/* Mobile: allow collapse menu; don't force desktop nowrap inside hamburger */
@media (max-width: 767px) {
  /* Hide desktop Superfish row — only accordion inside hamburger */
  header #superfish-main.sf-menu,
  header ul#superfish-main {
    display: none !important;
  }

  header .sf-accordion-toggle {
    display: none !important;
  }

  header #superfish-main-accordion {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  header #superfish-main-accordion > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
    text-align: left;
    overflow: visible !important;
  }

  header #superfish-main-accordion > li > a,
  header #superfish-main-accordion > li > span.nolink {
    display: block !important;
    float: none !important;
    width: 100% !important;
    padding: 12px 16px !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }

  /* Hardcoded product mega-menu in page.twig — desktop only */
  header #navbarMain > .navscroll > .navbar-nav > .dropdown-menu,
  header .nav.navbar-nav > .dropdown-menu {
    display: none !important;
  }

  header #navbarMain .region-navigation,
  header #navbarMain #block-framework-mainnavigation {
    display: block !important;
    width: 100% !important;
  }

  header #navbarMain.show .navbar-nav,
  header #navbarMain.collapsing .navbar-nav {
    flex-wrap: wrap !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  header #navbarMain .navscroll {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  header #navbarMain .new_srch {
    width: 100% !important;
    padding: 8px 10px !important;
  }

  header li.nav-item.new_srch .region-search input#edit-keys,
  header #navbarMain .new_srch input.form-text,
  header #navbarMain .new_srch input[type="search"] {
    width: 100% !important;
  }

  /* Prevent horizontal page overflow from nav */
  header .mainnav,
  header .mainnav .container,
  header .mainnav .row {
    max-width: 100%;
    overflow-x: hidden;
  }
}
