body {
  font-family: "Nunito", system-ui, -apple-system, sans-serif;
  overflow-y: scroll;
}

.navbar,
.navbar .menu {
  overflow: visible;
}

.fade-in {
  animation: fadeIn 0.6s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hero text fade-in animation */
.animate-fade-in-up {
  animation: fadeInUp 1.2s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.slide-in {
  animation: slideIn 0.8s ease-out;
}

@keyframes slideIn {
  from {
    transform: translateX(-30px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }
}

.animate-float {
  animation: float 6s ease-in-out forwards;
}

.animate-float-delayed {
  animation: float 6s ease-in-out 3s forwards;
}

.delay-100 {
  animation-delay: 100ms;
}
.delay-200 {
  animation-delay: 200ms;
}
.delay-300 {
  animation-delay: 300ms;
}
.delay-500 {
  animation-delay: 500ms;
}
.delay-700 {
  animation-delay: 700ms;
}

.animation-fill-forwards {
  animation-fill-mode: forwards;
}

.card-hover {
  transition: all 0.3s ease;
}

.card-hover:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 52, 104, 0.15);
}

.dropdown.dropdown-hover .dropdown-content {
  pointer-events: none;
}

.dropdown.dropdown-hover:hover .dropdown-content {
  pointer-events: auto;
}

.dropdown.dropdown-hover {
  position: relative;
}

.dropdown.dropdown-hover:after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  height: 20px;
}

.nav-active {
  color: #003468 !important;
}

.orcamento {
  font-weight: 600 !important;
  color: #003468;
}

.navbar .menu li > :where(a, button) {
  font-size: 14px;
  font-weight: 400;
}

.navbar .menu li summary {
  font-size: 14px;
  font-weight: 400;
}

@media (max-width: 768px) {
  .navbar .menu li > :where(a, button) {
    font-size: 0.95rem;
  }

  .navbar .menu li summary {
    font-size: 0.95rem;
  }

  .header-email {
    font-size: 0.9rem;
  }
}

@media (max-width: 480px) {
  .navbar .menu li > :where(a, button) {
    font-size: 0.85rem;
  }

  .navbar .menu li summary {
    font-size: 0.85rem;
  }

  .header-email {
    font-size: 0.85rem;
  }
}

/* Dropdown behavior */
.menu li details {
  position: relative;
}

/* Close dropdown on mouse leave for desktop */
@media (min-width: 1024px) {
  .menu li details[open]:not(:hover) summary ~ ul {
    display: none;
  }

  .menu li details:not([open]):hover {
    cursor: pointer;
  }

  .menu li details:hover > summary ~ ul {
    display: block;
  }
}

.navbar-brand-bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: calc(35vw);
  background-color: var(--color-primary);
  transform: skewX(-25deg);
  transform-origin: top left;
  border-right: 10px solid var(--color-secondary);
  z-index: 0;
}

@media (max-width: 768px) {
  .navbar-brand-bg {
    width: 350px;
  }
}
