/* ========================================================
   PRODUZA NAVBAR BULLETPROOF FIX — PADRÃO ANEXO 1
   Prevents navbar from collapsing, turning black, or breaking fonts/icons
   ======================================================== */

@import url('https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap');

/* --- 1. Top Navbar Container (Red Bar) --- */
.navbar,
nav.navbar,
.navbar-dropdown,
section.menu .navbar,
.cid-tGgCwMtP5A nav.navbar,
.cid-tGgCwMtP5A .navbar,
.cid-tGgCJoMEYW nav.navbar,
.cid-tGgCJoMEYW .navbar,
.cid-tI32M0si6K nav.navbar,
.cid-tI32M0si6K .navbar,
.cid-tI34dXiKF2 nav.navbar,
.cid-tI34dXiKF2 .navbar,
.cid-tIcJXJTGXP nav.navbar,
.cid-tIcJXJTGXP .navbar,
.cid-tGgCwMtP5A .navbar.navbar-short,
.cid-tGgCwMtP5A .navbar.opened,
.navbar-dropdown.bg-color {
  background: #ef4238 !important;
  background-color: #ef4238 !important;
  min-height: 70px !important;
  max-height: 70px !important;
  height: 70px !important;
  padding: 0 1.5rem !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  position: fixed !important;
  z-index: 1030 !important;
  display: flex !important;
  align-items: center !important;
  transition: none !important;
}

/* Ensure no text wraps or breaks inside navbar */
.navbar,
.navbar *,
.navbar a,
.navbar span,
.navbar p,
.navbar li {
  word-break: keep-all !important;
  word-wrap: normal !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

/* --- 2. Brand & Logo --- */
.navbar-brand,
.navbar .navbar-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 70px !important;
  height: 70px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.navbar-brand .navbar-logo,
.navbar-brand .navbar-logo a {
  display: flex !important;
  align-items: center !important;
}

.navbar-brand .navbar-logo img {
  height: 2.75rem !important;
  max-height: 44px !important;
  width: auto !important;
  display: block !important;
}

.navbar-caption,
.navbar-caption-wrap,
.navbar-caption-wrap a,
.navbar-brand .navbar-caption {
  color: #ffd200 !important;
  font-size: 0.95rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-weight: 700 !important;
  font-family: 'Jost', sans-serif !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

/* --- 3. Navigation List & Horizontal Layout --- */
.navbar-nav,
.navbar-collapse .navbar-nav,
.nav-dropdown {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.4rem !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 70px !important;
  list-style: none !important;
  flex-wrap: nowrap !important;
}

.navbar-nav .nav-item {
  height: auto !important;
  width: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

/* Override any Bootstrap display-4 explosion inside navbar */
.navbar .display-4,
.navbar-nav .display-4,
.navbar a.display-4,
.navbar span.display-4,
.navbar-dropdown .display-4 {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

/* --- 4. Navigation Links (HOME, SOLUÇÕES, GALERIA, BLOG, CONTATO) --- */
.navbar-nav .nav-link,
.navbar-nav a.nav-link,
.navbar-nav .nav-item a,
.nav-dropdown .link {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  font-family: 'Jost', sans-serif !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0.45rem 0.65rem !important;
  margin: 0 !important;
  line-height: 1 !important;
  height: auto !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  transition: color 0.15s ease, background-color 0.15s ease !important;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-item a:hover,
.navbar-nav .nav-link.show,
.navbar-nav .nav-item.show > a {
  color: #ffd200 !important;
}

.navbar-nav .nav-link.text-warning,
.navbar-nav .nav-link.text-primary {
  color: #ffffff !important;
}

.navbar-nav .nav-link.text-warning:hover,
.navbar-nav .nav-link.text-primary:hover {
  color: #ffd200 !important;
}

/* --- 5. Navigation Icons (Crisp, Inline, Correctly Sized) --- */
.navbar-nav .nav-link .mbr-iconfont,
.navbar-nav .nav-link .socicon,
.navbar-nav .nav-link [class*="mobi-mbri"],
.navbar-nav .nav-link [class*="mbrib-"],
.navbar-nav .mbr-iconfont-btn,
.navbar .display-4 > .mbr-iconfont,
.navbar-dropdown .mbr-iconfont {
  font-size: 1rem !important;
  width: 1.15rem !important;
  height: 1.15rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  color: inherit !important;
  flex-shrink: 0 !important;
}

.navbar-nav .nav-link:hover .mbr-iconfont,
.navbar-nav .nav-link:hover .socicon {
  color: #ffd200 !important;
}

/* Dropdown arrow toggle icon */
.nav-link.dropdown-toggle::after {
  display: inline-block !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
  border-top: 0.3em solid #ffffff !important;
  border-right: 0.3em solid transparent !important;
  border-bottom: 0 !important;
  border-left: 0.3em solid transparent !important;
  content: "" !important;
}

.nav-link.dropdown-toggle:hover::after {
  border-top-color: #ffd200 !important;
}

/* --- 6. Dropdown Menu Flyout --- */
.dropdown-menu,
.navbar-nav .dropdown-menu,
.navbar.navbar-expand-lg .dropdown .dropdown-menu {
  background: #ef4238 !important;
  background-color: #ef4238 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 6px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
  padding: 6px 0 !important;
  min-width: 230px !important;
  margin-top: 0 !important;
}

.dropdown-item,
.navbar-nav .dropdown-item,
.dropdown-menu .dropdown-item {
  color: #ffffff !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  font-family: 'Jost', sans-serif !important;
  padding: 8px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  transition: background-color 0.15s, color 0.15s !important;
}

.dropdown-item:last-child {
  border-bottom: none !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #26344d !important;
  color: #ffd200 !important;
}

.dropdown-item .mbr-iconfont {
  font-size: 0.9rem !important;
  margin-left: 8px !important;
  color: inherit !important;
}

/* --- 7. Social Media Icons --- */
.icons-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 0 8px !important;
  height: 70px !important;
  margin: 0 !important;
}

.icons-menu .iconfont-wrapper {
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.15) !important;
  text-decoration: none !important;
  transition: background-color 0.15s, color 0.15s !important;
}

.icons-menu .iconfont-wrapper:hover {
  background-color: rgba(255, 255, 255, 0.3) !important;
  color: #ffd200 !important;
}

.icons-menu .mbr-iconfont,
.icons-menu .socicon {
  font-size: 0.9rem !important;
  color: inherit !important;
  padding: 0 !important;
  display: inline-block !important;
}

/* --- 8. Phone CTA Button (48 4141-7993) --- */
.navbar-buttons,
.navbar .navbar-buttons {
  margin: 0 0 0 10px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}

.navbar-buttons .btn {
  background-color: #26344d !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  font-family: 'Jost', sans-serif !important;
  padding: 7px 18px !important;
  border-radius: 30px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  transition: background-color 0.15s, color 0.15s, transform 0.15s !important;
}

.navbar-buttons .btn:hover {
  background-color: #1a2436 !important;
  color: #ffd200 !important;
  transform: translateY(-1px) !important;
}

.navbar-buttons .btn .socicon,
.navbar-buttons .btn .mbr-iconfont {
  font-size: 1rem !important;
  color: inherit !important;
}

/* --- 9. Desktop Container Alignment --- */
@media (min-width: 992px) {
  .navbar .container,
  .navbar .container-fluid {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1360px !important;
    padding: 0 1rem !important;
    height: 70px !important;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
    height: 70px !important;
    flex-grow: 1 !important;
  }
}
