/* ===== Solutions Mega Menu — Wider, Clearer, Opaque ===== */
.solutions-menu{
  background:#0c1422 !important;          /* fully opaque, no see-through */
  width:min(1180px, calc(100vw - 40px)) !important;
  max-width:1180px !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:36px !important;
  padding:36px 40px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 30px 70px rgba(0,0,0,.45) !important;
}

.solutions-group{
  min-width:0;
}

.solutions-label{
  margin-bottom:18px !important;
  padding-bottom:16px !important;
  font-size:.82rem !important;
  letter-spacing:.18em !important;
}

.solutions-links{
  gap:18px !important;
}

.solutions-menu a{
  font-size:1rem !important;
  line-height:1.5 !important;
  padding:6px 10px !important;
  border-radius:10px !important;
  white-space:normal !important;
}

.solutions-menu a:hover,
.solutions-menu a:focus-visible{
  background:rgba(54,199,199,.12) !important;
  color:#fff !important;
}

/* Tablet */
@media (max-width: 1100px){
  .solutions-menu{
    width:min(920px, calc(100vw - 32px)) !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px 36px !important;
    padding:30px !important;
  }
}

/* Mobile fallback (mega menu collapses to mobile drawer anyway) */
@media (max-width: 720px){
  .solutions-menu{
    grid-template-columns:repeat(1,minmax(0,1fr)) !important;
    width:min(560px, calc(100vw - 24px)) !important;
    padding:24px !important;
    gap:24px !important;
  }
}

/* ===== Never let the desktop mega menu overflow the screen =====
   Caps the dropdown to the visible viewport height and lets it scroll,
   so no links are ever hidden below the fold on short screens
   (e.g. 1536x864, or 1920x1080 at 125% display scaling). */
@media (min-width: 1025px){
  .solutions-menu{
    max-height:calc(100vh - 120px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    scrollbar-width:thin !important;
    scrollbar-color:rgba(255,255,255,.32) transparent !important;
  }
  .solutions-menu::-webkit-scrollbar{width:8px}
  .solutions-menu::-webkit-scrollbar-track{background:transparent}
  .solutions-menu::-webkit-scrollbar-thumb{
    background:rgba(255,255,255,.28);
    border-radius:8px;
  }
  .solutions-menu::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.45)}
}

/* On short viewports, compress spacing so the full menu fits without
   needing to scroll in the first place. */
@media (min-width: 1025px) and (max-height: 900px){
  .solutions-menu{
    padding:22px 30px !important;
    gap:18px 32px !important;
    top:calc(100% + 8px) !important;
  }
  .solutions-links{gap:11px !important}
  .solutions-label{
    margin-bottom:11px !important;
    padding-bottom:9px !important;
  }
  .solutions-menu a{
    font-size:.95rem !important;
    line-height:1.4 !important;
    padding:4px 10px !important;
  }
}
