/* =========================================================
   Kiwi Rim Ride - centered nav + smart hamburger
   Paste into Helix: Template Options > Custom Code > Custom CSS
   ========================================================= */

.body-wrapper,
.body-innerwrapper {
  overflow-x: hidden !important;
  width: 100% !important;
}

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

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
  color: #ffffff !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

.sp-megamenu-parent > li:hover > a,
.sp-megamenu-parent > li.active > a,
.sp-megamenu-parent > li.current-item > a {
  color: #e65100 !important;
}

#sp-header {
  width: 100% !important;
  background-color: #1a1a1a !important;
  padding: 0 !important;
  margin: 0 !important;
}

#sp-header.header-sticky {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background-color: #1a1a1a !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
}

#offcanvas-toggler .burger-icon span {
  background: #ffffff !important;
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  margin: 5px 0 !important;
}

/* ---------- DESKTOP 1200+ : all navs centered, no hamburger ---------- */
@media (min-width: 1200px) {
  #sp-header-topbar {
    display: block !important;
    background: #ffffff !important;
    padding: 16px 0 !important;
  }

  #sp-header-topbar #sp-logo {
    display: flex !important;
    justify-content: center !important;
  }

  #sp-header-topbar .logo-image {
    height: 160px !important;
    width: auto !important;
  }

  #sp-header .col-lg-3 .logo {
    display: none !important;
  }

  #sp-header .row > .col-lg-9 > .d-flex {
    justify-content: center !important;
  }

  .sp-megamenu-parent {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .sp-megamenu-parent > li > a,
  .sp-megamenu-parent > li > span {
    padding: 14px 28px !important;
    font-size: 16px !important;
  }

  #offcanvas-toggler,
  #sp-header .ms-3.ps-2 {
    display: none !important;
  }
}

/* ---------- 992–1199 : all navs centered, no hamburger ---------- */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #sp-header-topbar {
    display: block !important;
    background: #ffffff !important;
    padding: 12px 0 !important;
    height: auto !important;
  }

  #sp-header-topbar #sp-contact,
  #sp-header-topbar #sp-social {
    display: none !important;
  }

  #sp-header-topbar #sp-logo {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    justify-content: center !important;
  }

  #sp-header-topbar .logo-image {
    height: 120px !important;
    width: auto !important;
  }

  #sp-header > .container .row > .col-lg-3 {
    display: none !important;
  }

  #sp-header > .container .row > .col-lg-9 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  #sp-header .row > .col-lg-9 > .d-flex {
    justify-content: center !important;
    width: 100% !important;
  }

  .sp-megamenu-parent {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .sp-megamenu-parent > li > a,
  .sp-megamenu-parent > li > span {
    padding: 12px 16px !important;
    font-size: 15px !important;
  }

  #offcanvas-toggler,
  #sp-header .ms-3.ps-2 {
    display: none !important;
  }
}

/* =========================================================
   ≤991 : logo ABOVE + black nav CENTERED
   ========================================================= */
@media (max-width: 991.98px) {
  #sp-header-topbar {
    display: none !important;
  }

  .sticky-header-placeholder {
    display: block !important;
    width: 100% !important;
  }

  #sp-header {
    background: #ffffff !important;
  }

  #sp-header .container,
  #sp-header .container-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  #sp-header .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    margin: 0 !important;
  }

  /* Logo upside */
  #sp-header .row > .col-lg-3,
  #sp-header .row > .col-6:first-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: #ffffff !important;
    padding: 12px 10px !important;
    order: 1 !important;
  }

  #sp-header .logo-image,
  #sp-header .logo-image-phone {
    height: 84px !important;
    width: auto !important;
    max-width: 180px !important;
    object-fit: contain !important;
  }

  /* Black nav bar */
  #sp-header .row > .col-lg-9,
  #sp-header .row > .col-6:last-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    background: #1a1a1a !important;
    order: 2 !important;
    padding: 0 !important;
  }

  /* Center nav like big screen */
  #sp-header .row > .col-lg-9 > .d-flex,
  #sp-header .row > .col-6:last-child > .d-flex {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    min-height: 48px !important;
    width: 100% !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
  }

  #sp-header .sp-megamenu-parent {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    padding: 10px 10px !important;
    font-size: 13px !important;
  }

  /* Default under 992: hamburger hidden unless phone breakpoint below */
  #sp-header #offcanvas-toggler,
  #sp-header .ms-3.ps-2 {
    display: none !important;
  }

  /* Sticky: logo hides, black bar stays */
  #sp-header.header-sticky {
    background: #1a1a1a !important;
  }

  #sp-header.header-sticky .row > .col-lg-3,
  #sp-header.header-sticky .row > .col-6:first-child {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  #sp-header.header-sticky .row > .col-lg-9,
  #sp-header.header-sticky .row > .col-6:last-child {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    order: 1 !important;
  }

  #sp-main-body,
  #sp-component,
  .item-page {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #sp-main-body img,
  #sp-component img {
    width: 100% !important;
    height: auto !important;
  }
}

/* ---------- 450–991 : ALL navs CENTERED, NO hamburger ---------- */
@media (min-width: 450px) and (max-width: 991.98px) {
  #sp-header .sp-megamenu-parent > li {
    display: list-item !important;
  }

  #sp-header .logo-image,
  #sp-header .logo-image-phone {
    height: 90px !important;
  }

  #sp-header .row > .col-lg-9 > .d-flex,
  #sp-header .row > .col-6:last-child > .d-flex {
    justify-content: center !important;
    padding: 0 6px !important;
  }

  #sp-header .sp-megamenu-parent {
    justify-content: center !important;
    margin: 0 auto !important;
  }

  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    padding: 10px 8px !important;
    font-size: 12px !important;
  }

  /* All links fit → hide hamburger */
  #sp-header #offcanvas-toggler,
  #sp-header .ms-3.ps-2 {
    display: none !important;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    padding: 12px 12px !important;
    font-size: 13px !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span {
    padding: 12px 16px !important;
    font-size: 14px !important;
  }
}

/* ---------- ≤449 (phones) : NO partial navs — hamburger ONLY (right) ---------- */
@media (max-width: 449.98px) {
  #sp-header .logo-image,
  #sp-header .logo-image-phone {
    height: 68px !important;
    max-width: 140px !important;
  }

  #sp-header .row > .col-lg-3,
  #sp-header .row > .col-6:first-child {
    padding: 10px 8px !important;
  }

  /* Hide all inline nav links — avoid Home/About duplication */
  #sp-header .sp-megamenu-parent {
    display: none !important;
  }

  #sp-header .row > .col-lg-9 > .d-flex,
  #sp-header .row > .col-6:last-child > .d-flex {
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 0 12px !important;
  }

  /* Hamburger only, same right-side position */
  #sp-header .ms-3.ps-2 {
    display: block !important;
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #sp-header #offcanvas-toggler {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
