/* ====================================================================
   Digital Vision Technology Pvt Ltd — "Light Travel" navbar
   One signature idea: a magnetic light glides between menu items and
   ignites each item's own colour as it lands. Loaded LAST; scoped to
   .header_wrap so nothing else on the page is affected.
   ==================================================================== */

:root{
  --dvt-nav-bg1:#0e0a20;
  --dvt-nav-bg2:#0a0819;
  --dvt-nav-border:rgba(140,160,255,.12);
  --dvt-nav-txt:#f2f5ff;
  --dvt-nav-dim:#93a0c6;
}

/* ---------- header shell (TRANSPARENT while at top) ---------- */
.header_wrap{
  background:transparent!important;
  -webkit-backdrop-filter:none; backdrop-filter:none;
  box-shadow:none!important; border:0!important;
  transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}
.header_wrap.active,
.header_wrap.no-sticky{
  background:transparent!important; box-shadow:none!important;
}
.header_wrap .container-fluid{ padding:0 26px; }
.dvt_nav{ position:relative; min-height:74px; }

/* ---------- header shell (SCROLLED / fixed) ----------
   Solid, fully opaque panel in the site's own dark tone — no
   transparency, no blur, nothing bleeding through from content
   underneath. This is what keeps logo/menu text readable on every
   page once the header goes fixed. */
.header_wrap.nav-fixed{
  background:#12081f!important;
  box-shadow:0 4px 18px rgba(0,0,0,.45)!important;
}

/* (bottom hairline removed per request) */
.header_wrap::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(220px 120px at var(--mx,50%) var(--my,50%),
            var(--glow,rgba(120,150,255,.16)),transparent 70%);
  opacity:.9; transition:background .25s ease;
}

.header_wrap .navbar-brand{ position:relative; z-index:3; }
.header_wrap .navbar-brand img.cu-lg-wdth{
 height:auto;
  filter:drop-shadow(0 0 14px rgba(120,150,255,.18));
}
.header_wrap.nav-fixed .navbar-brand img{ max-width:258px; }

/* ---------- the menu ---------- */
.dvt_menu{ position:relative; z-index:3; align-items:center; }
.header_wrap .dvt_menu.navbar-nav>li{ padding:0 2px; position:relative; }

/* the travelling light (positioned by JS) */
.dvt_spot{
  position:absolute; top:0; left:0; height:44px; width:80px; border-radius:13px;
  background:linear-gradient(180deg,
      color-mix(in srgb,var(--nc,#7cc4ff) 26%,transparent),
      color-mix(in srgb,var(--nc,#7cc4ff) 8%,transparent));
  box-shadow:0 6px 20px color-mix(in srgb,var(--nc,#7cc4ff) 40%,transparent),
             inset 0 0 0 1px color-mix(in srgb,var(--nc,#7cc4ff) 45%,transparent);
  opacity:0; z-index:0; pointer-events:none;
  transition:transform .42s cubic-bezier(.34,1.4,.4,1),
             width .42s cubic-bezier(.34,1.4,.4,1),
             opacity .3s ease, background .3s ease, box-shadow .3s ease;
}
.dvt_menu.is-ready .dvt_spot{ opacity:1; }

.dvt_item>.nav-link{
  position:relative; z-index:1;
  display:flex!important; align-items:center; gap:9px;
  height:44px; padding:0 14px!important;
  border-radius:13px; text-transform:none!important; line-height:1;
  color:var(--dvt-nav-dim); font-weight:600; font-size:14px; letter-spacing:.2px;
  text-shadow:0 1px 10px rgba(0,0,0,.55);
  transition:color .3s ease;
}
.dvt_ico{
  font-size:16px; color:var(--dvt-nav-dim);
  filter:drop-shadow(0 1px 6px rgba(0,0,0,.5));
  transition:color .3s ease, transform .3s cubic-bezier(.34,1.4,.4,1), filter .3s ease;
}
.dvt_lbl{ transition:color .3s ease; white-space:nowrap; }

/* one-time orchestrated entrance (fade + de-blur, no layout shift) */
.header_wrap .dvt_menu>li.dvt_item{ animation:dvtNavIn .55s both; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(1){ animation-delay:.04s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(2){ animation-delay:.09s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(3){ animation-delay:.14s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(4){ animation-delay:.19s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(5){ animation-delay:.24s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(6){ animation-delay:.29s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(7){ animation-delay:.34s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(8){ animation-delay:.39s; }
.header_wrap .dvt_menu>li.dvt_item:nth-of-type(9){ animation-delay:.44s; }
@keyframes dvtNavIn{ from{opacity:0; filter:blur(5px);} to{opacity:1; filter:blur(0);} }
.dvt_caret{ font-size:12px; margin-left:1px; opacity:.7; transition:transform .3s ease; }

/* ignite: the lit item takes its own colour (set as the light lands) */
.dvt_item.is-lit>.nav-link{ color:#fff; }
.dvt_item.is-lit .dvt_ico{
  color:var(--nc);
  transform:translateY(-1px) scale(1.12);
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--nc) 70%,transparent));
}
.dvt_item.is-lit .dvt_lbl{ color:#fff; }
.dvt_item.dropdown:hover .dvt_caret{ transform:rotate(180deg); }

/* keep the theme's underline pseudo off our links */
.header_wrap .dvt_item>.nav-link.active::before,
.header_wrap .dvt_item>.nav-link::before{ display:none!important; }

/* neutralize theme's scrollspy .active + a:hover colour — the light controls colour */
.header_wrap .dvt_item>.nav-link,
.header_wrap .dvt_item>.nav-link.active,
.header_wrap .dvt_item>.nav-link:hover{ color:var(--dvt-nav-dim)!important; }
.header_wrap .dvt_item.is-lit>.nav-link{ color:#fff!important; }
.header_wrap .dvt_item>.nav-link.active .dvt_ico{ color:var(--dvt-nav-dim); }
.header_wrap .dvt_item.is-lit>.nav-link .dvt_ico{ color:var(--nc); }

/* ====================================================================
   MEGA-MENU (Services) — user-triggered reveal
   ==================================================================== */
@media (min-width:992px){
  .header_wrap .dvt_mega.dropdown-menu{
    display:block; position:absolute; top:calc(100% + 12px); /*right:0;*/ left:auto;
    width:340px; max-width:min(340px,94vw); margin:0; padding:14px;
    background:linear-gradient(180deg,rgba(16,12,36,.99),rgba(10,8,24,.99))!important;
    border:1px solid var(--dvt-nav-border)!important; border-radius:18px;
    box-shadow:0 26px 54px rgba(0,0,0,.55);
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translateY(14px) scale(.98); transform-origin:top right;
    transition:opacity .28s ease, transform .34s cubic-bezier(.2,.85,.25,1), visibility .28s;
    z-index:30;
  }
  /* invisible bridge across the gap so hover doesn't drop while moving to the panel */
  .header_wrap .dvt_mega.dropdown-menu::before{
    content:""; position:absolute; left:0; right:0; top:-16px; height:16px;
  }
  .header_wrap .dvt_mega_glow{
    position:absolute; top:0; left:18px; right:18px; height:2px; border-radius:2px;
    background:linear-gradient(90deg,transparent,#22d3ee,#a78bfa,transparent);
    box-shadow:0 0 12px rgba(120,180,255,.6);
  }
  .header_wrap .dvt_item.dvt_hasmega:hover>.dvt_mega.dropdown-menu{
    opacity:1; visibility:visible; pointer-events:auto;
    transform:translateY(0) scale(1);
  }
  .dvt_mega_grid{ display:grid; grid-template-columns:1fr; gap:6px; }
  .dvt_srv--wide{ grid-column:auto; }

  .header_wrap .dvt_srv{
    opacity:0; transform:translateY(8px);
    transition:opacity .3s ease, transform .3s ease, background .25s ease;
  }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv{ opacity:1; transform:translateY(0); }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(1){ transition-delay:.05s; }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(2){ transition-delay:.09s; }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(3){ transition-delay:.13s; }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(4){ transition-delay:.17s; }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(5){ transition-delay:.21s; }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(6){ transition-delay:.25s; }
  .header_wrap .dvt_item.dvt_hasmega:hover .dvt_srv:nth-child(7){ transition-delay:.29s; }
}

/* service item look (shared) */
.header_wrap .dvt_srv{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; border-radius:12px;
  color:var(--dvt-nav-txt)!important; font-size:14px; font-weight:600;
  background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.04);
}
.header_wrap .dvt_srv i{
  width:34px; height:34px; border-radius:10px; flex:0 0 34px;
  display:flex; align-items:center; justify-content:center; font-size:16px;
  color:var(--sc,#22d3ee);
  background:color-mix(in srgb,var(--sc,#22d3ee) 14%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc,#22d3ee) 30%,transparent);
  transition:transform .25s ease, box-shadow .25s ease;
}
.header_wrap .dvt_srv:hover{
  background:color-mix(in srgb,var(--sc,#22d3ee) 12%,transparent);
  border-color:color-mix(in srgb,var(--sc,#22d3ee) 40%,transparent);
  transform:translateX(4px);
}
.header_wrap .dvt_srv:hover i{
  transform:scale(1.08);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sc,#22d3ee) 55%,transparent),
             0 0 14px color-mix(in srgb,var(--sc,#22d3ee) 45%,transparent);
}

/* ---------- toggler ---------- */
.header_wrap .navbar-toggler{
  border:1px solid var(--dvt-nav-border); border-radius:10px; padding:6px 10px;
}
.header_wrap .navbar-toggler .ion-android-menu{ font-size:22px; color:#7cc4ff; }
/* ====================================================================
   MOBILE (< 992px) — light travel off; clean animated panel
   ==================================================================== */
@media (max-width:991px){
  .dvt_nav{ min-height:62px; }
  .dvt_spot{ display:none; }
  .header_wrap::after{ display:none; }
  .header_wrap .navbar-collapse{
    margin-top:10px; padding:10px;
    background:linear-gradient(180deg,rgba(16,12,36,.99),rgba(10,8,24,.99));
    border:1px solid var(--dvt-nav-border); border-radius:16px;
    max-height:78vh; overflow-y:auto;
  }
  .header_wrap .dvt_menu.navbar-nav>li{ padding:0; }
  .dvt_item>.nav-link{ width:100%; height:auto; padding:12px 12px!important; margin:2px 0; }
  .dvt_item.is-active>.nav-link,
  .dvt_item.is-lit>.nav-link{
    background:color-mix(in srgb,var(--nc) 16%,transparent);
    color:#fff;
  }
  .dvt_item.is-active .dvt_ico,.dvt_item.is-lit .dvt_ico{ color:var(--nc); }
  .dvt_caret{ margin-left:auto; }

  .header_wrap .dvt_mega.dropdown-menu{
    position:static; float:none; display:none; width:auto; min-width:0;
    margin:0 0 6px 10px; padding:6px 0 6px 8px;
    background:transparent!important; border:0!important;
    border-left:2px solid var(--dvt-nav-border)!important;
    border-radius:0; box-shadow:none; opacity:1; visibility:visible;
    transform:none; animation:dvtSubOpen .28s ease;
  }
  .header_wrap .dvt_item.dropdown.show>.dvt_mega.dropdown-menu{ display:block; }
  .dvt_mega_grid{ display:block; }
  .dvt_mega_glow{ display:none; }
  .header_wrap .dvt_srv{ background:transparent; border:0; padding:9px 10px; }
  .header_wrap .dvt_srv--wide{ width:100%; }
}
@keyframes dvtSubOpen{ from{opacity:0;transform:translateY(-6px);} to{opacity:1;transform:translateY(0);} }

/* medium desktop — keep one row */
@media (min-width:992px) and (max-width:1199px){
  .header_wrap .container-fluid{ padding:0 12px; }
  .header_wrap .navbar-brand img.cu-lg-wdth{ max-width:150px; }
  .dvt_item>.nav-link{ padding:0 10px!important; gap:7px; font-size:13px; }
  .dvt_ico{ font-size:15px; }
}

/* ====================================================================
   Get Quote CTA (last item — excluded from light-travel)
   ==================================================================== */
.header_wrap .dvt_cta_li{ margin-left:8px; }
.header_wrap .dvt_cta{
  display:inline-flex; align-items:center; gap:8px;
  height:44px; padding:0 20px; border-radius:13px;
  font-weight:700; font-size:14px; letter-spacing:.2px; color:#fff!important;
  background:linear-gradient(100deg,#ff5a3c 0%,#ff2e8b 55%,#a855f7 100%);
  background-size:180% 100%; background-position:0 0;
  box-shadow:0 8px 22px rgba(255,60,120,.35);
  border:0; white-space:nowrap; position:relative; z-index:1; overflow:hidden;
  transition:transform .28s cubic-bezier(.34,1.4,.4,1),
             box-shadow .28s ease, background-position .5s ease;
}
.header_wrap .dvt_cta i{ font-size:14px; }
.header_wrap .dvt_cta::before{
  content:""; position:absolute; top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-18deg); transition:left .6s ease;
}
.header_wrap .dvt_cta:hover{
  transform:translateY(-2px);
  background-position:100% 0;
  box-shadow:0 12px 30px rgba(255,60,120,.5);
}
.header_wrap .dvt_cta:hover::before{ left:140%; }

@media (max-width:991px){
  .header_wrap .dvt_cta_li{ margin:6px 0 2px; }
  .header_wrap .dvt_cta{ width:100%; height:auto; padding:13px 16px; justify-content:center; }
}

/* mobile: stretch items + CTA to full width of the panel */
@media (max-width:991px){
  .header_wrap .dvt_menu{ align-items:stretch; }
  .header_wrap .dvt_cta_li{ width:100%; }
}
