/* =========================================================
   NORSAFE SITE FINAL FIXES
   Layout-only/front-end safety layer
   ========================================================= */

:root {
  --nsf-final-navy: #091125;
  --nsf-final-blue: #002240;
  --nsf-final-orange: #ff5400;
  --nsf-final-silver: #e0e1e5;
  --nsf-final-white: #ffffff;
}

/* ---------------------------------------------------------
   CONTACT PAGE FOOTER SPACING
--------------------------------------------------------- */

.nsf-contact-page .nsf-contact-map-section {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.nsf-contact-page .nsf-contact-map-frame {
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

.nsf-contact-page .nsf-contact-map-frame iframe,
.nsf-contact-page .nsf-contact-map-frame .wpgsv,
.nsf-contact-page .nsf-contact-map-frame [class*="wpgsv"] {
  display: block !important;
  margin-bottom: 0 !important;
}

.nsf-contact-page .nsf-contact-footer {
  margin-top: 0 !important;
  padding-top: clamp(32px, 4vw, 46px) !important;
  padding-bottom: 16px !important;
  background: #050c18 !important;
}

.nsf-contact-page .nsf-contact-footer-inner {
  align-items: start !important;
  gap: clamp(22px, 3vw, 44px) !important;
  padding-bottom: 0 !important;
}

.nsf-contact-page .nsf-contact-footer img {
  margin-bottom: 12px !important;
}

.nsf-contact-page .nsf-contact-footer strong {
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

.nsf-contact-page .nsf-contact-footer a,
.nsf-contact-page .nsf-contact-footer div {
  line-height: 1.55 !important;
}

.nsf-contact-page .nsf-contact-footer-note {
  margin: 0 !important;
  max-width: 340px !important;
}

.nsf-contact-page .nsf-contact-footer-bottom {
  margin-top: 30px !important;
  padding-top: 14px !important;
}

/* Make the contact footer breathe better on narrower screens */
@media (max-width: 1100px) {
  .nsf-contact-page .nsf-contact-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .nsf-contact-page .nsf-contact-footer {
    padding-top: 30px !important;
  }

  .nsf-contact-page .nsf-contact-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .nsf-contact-page .nsf-contact-footer-bottom {
    margin-top: 22px !important;
  }
}

/* ---------------------------------------------------------
   RESPONSIVE HEADER / MENUS
   Works with Norsafe header shortcode + normal WP menu output
--------------------------------------------------------- */

.nsf-header-bar {
  width: 100% !important;
  overflow: visible !important;
}

.nsf-header-inner {
  min-width: 0 !important;
}

.nsf-nav,
.nsf-nav-list,
.nsf-header-bar nav,
.nsf-header-bar ul {
  min-width: 0 !important;
}

.nsf-nav-list {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(10px, 1.4vw, 22px) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex-wrap: wrap !important;
}

.nsf-nav-list li {
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.nsf-nav-list a,
.nsf-header-bar nav a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 6px 2px !important;
}

.nsf-header-bar .nsf-btn-primary,
.nsf-header-bar a[href*="request-a-quote"],
.nsf-header-bar a[href*="rfq"] {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  .nsf-header-inner {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px 16px !important;
    padding: 10px 0 !important;
  }

  .nsf-header-inner .nsf-logo {
    order: 1 !important;
  }

  .nsf-header-inner .nsf-btn-primary {
    order: 2 !important;
  }

  .nsf-header-inner .nsf-nav {
    order: 3 !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin !important;
    padding: 4px 0 0 !important;
  }

  .nsf-header-inner .nsf-nav-list {
    width: max-content !important;
    min-width: 100% !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
  }

  .nsf-header-inner .nsf-logo img {
    height: 42px !important;
  }
}

@media (max-width: 560px) {
  .nsf-header-inner {
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .nsf-header-inner .nsf-logo img {
    height: 38px !important;
  }

  .nsf-header-inner .nsf-btn-primary {
    padding: 10px 13px !important;
    font-size: 12px !important;
  }

  .nsf-header-inner .nsf-nav-list {
    justify-content: flex-start !important;
    gap: 14px !important;
  }

  .nsf-header-inner .nsf-nav-list a {
    font-size: 12px !important;
  }
}

/* ---------------------------------------------------------
   QUOTE BUTTON CONSISTENCY
--------------------------------------------------------- */

.nsf-btn[href*="request-a-quote"],
.nsf-contact-btn[href*="request-a-quote"],
a[href="https://norsafe.co.za/request-a-quote/"] {
  cursor: pointer !important;
}
