/* ============================================================
   NOVA VISION — Services dropdown (desktop) + accordion (mobile)
   ============================================================ */

/* ── Desktop ─────────────────────────────────────────────── */
.nav-links li.has-dropdown { position: relative; }

.nav-links li.has-dropdown > a { display: flex; align-items: center; gap: 6px; }
.nav-links .dd-caret { transition: transform 0.25s ease; }
.nav-links li.has-dropdown:hover .dd-caret,
.nav-links li.has-dropdown:focus-within .dd-caret { transform: rotate(180deg); }

.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 600px;
  max-width: 90vw;
  padding: 16px;
  margin-top: 14px;
  background: #fff;
  border: 1px solid rgba(37, 42, 78, 0.1);
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(19, 13, 46, 0.18);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
  z-index: 1100;
}
/* invisible bridge so the menu doesn't close while the pointer crosses the gap */
.nav-dropdown::before {
  content: '';
  position: absolute;
  left: 0; right: 0; top: -16px; height: 16px;
}
.nav-links li.has-dropdown:hover .nav-dropdown,
.nav-links li.has-dropdown:focus-within .nav-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.nav-dropdown-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.nav-links .nav-dropdown a {
  display: block;
  padding: 10px 14px;
  border-radius: 10px;
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  white-space: normal;
  color: var(--primary-dark, #130D2E);
  background: transparent;
}
.nav-links .nav-dropdown a:hover {
  background: #f1f1f9;
  color: var(--primary-dark, #130D2E);
  transform: translateX(3px);
}
.nav-links .nav-dropdown .nav-dropdown-all {
  margin-top: 10px;
  text-align: center;
  font-weight: 800;
  color: #fff;
  background: var(--primary-dark, #130D2E);
}
.nav-links .nav-dropdown .nav-dropdown-all:hover {
  color: #fff;
  background: #252A4E;
  transform: none;
}

/* ── Mobile menu accordion ───────────────────────────────── */
.m-dd-row { display: flex; align-items: center; justify-content: space-between; }
.m-dd-row > a { flex: 1; }
.m-dd-toggle {
  flex-shrink: 0;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: none; border: 0; cursor: pointer;
  color: inherit;
}
.m-dd-toggle svg { transition: transform 0.25s ease; }
.m-dd.open .m-dd-toggle svg { transform: rotate(180deg); }
.m-dd-list {
  display: none;
  padding: 0 0 8px 14px;
  border-left: 2px solid rgba(37, 42, 78, 0.15);
  margin-left: 6px;
}
.m-dd.open .m-dd-list { display: block; }
.mobile-menu-nav .m-dd-list a {
  display: block;
  padding: 9px 8px;
  font-size: 14px;
  font-weight: 600;
  opacity: 0.85;
}

@media (max-width: 900px) {
  .nav-dropdown { display: none; }
}
