/* ============================================================
   Artesian Nav Bar — Elementor widget styles
   Scoped under .anb-scope so it never leaks into the theme.
   All design tokens are CSS variables → overridable by Elementor.
   ============================================================ */

.anb-scope{
  --anb-bg:#212842;
  --anb-text:#E8E8E8;
  --anb-muted:#aab2cc;
  --anb-accent:#E85000;
  --anb-accent-hover:#ff6a1a;
  --anb-violet:#6C3FE0;
  --anb-violet-hover:#8257FF;
  --anb-line:rgba(255,255,255,.10);
  --anb-nav-h:88px;
  --anb-nav-h-scrolled:72px;
  --anb-logo-h:56px;
  --anb-logo-h-scrolled:46px;
  --anb-bp:992px;
}

.anb-scope *{margin:0;padding:0;box-sizing:border-box}

/* ===== HEADER ===== */
.anb-scope .anb-header{
  position:relative;top:0;z-index:1000;width:100%;
  background:var(--anb-bg);
  border-bottom:1px solid var(--anb-line);
  font-family:"Montserrat",sans-serif;
  transition:background .3s ease, box-shadow .3s ease;
}
.anb-scope .anb-header.anb-sticky{position:sticky}
.anb-scope .anb-header.anb-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.35)}

.anb-scope .anb-wrap{
  max-width:1240px;margin:0 auto;min-height:var(--anb-nav-h);
  display:flex;align-items:center;gap:32px;padding:0 28px;
  transition:min-height .3s ease;
}
.anb-scope .anb-shrinkable.anb-scrolled .anb-wrap{min-height:var(--anb-nav-h-scrolled)}

/* ===== LOGO ===== */
.anb-scope .anb-logo{display:flex;align-items:center;flex:0 0 auto;line-height:0;text-decoration:none}
.anb-scope .anb-logo img{
  height:var(--anb-logo-h);width:auto;display:block;
  transition:height .3s ease, transform .25s ease;
}
.anb-scope .anb-logo:hover img{transform:translateY(-1px) scale(1.02)}
.anb-scope .anb-shrinkable.anb-scrolled .anb-logo img{height:var(--anb-logo-h-scrolled)}
.anb-scope .anb-logo-text{
  font:800 26px/1 "Montserrat",sans-serif;color:var(--anb-text);
  letter-spacing:.5px;line-height:normal;
}

/* ===== MENU ===== */
.anb-scope .anb-menu{margin-left:auto;display:flex;align-items:center;gap:6px;list-style:none}
.anb-scope .anb-menu>li{position:relative}
.anb-scope .anb-menu>li>a,
.anb-scope .anb-menu>li>button{
  font:600 15px/1 "Montserrat",sans-serif;color:var(--anb-text);
  text-decoration:none;background:none;border:0;cursor:pointer;
  padding:12px 16px;border-radius:8px;letter-spacing:.2px;
  display:inline-flex;align-items:center;gap:7px;
  transition:color .2s ease, background .2s ease;
}
.anb-scope .anb-menu>li>a:hover,
.anb-scope .anb-menu>li>button:hover,
.anb-scope .anb-menu>li.open>button{color:var(--anb-accent-hover);background:rgba(255,255,255,.04)}
.anb-scope .anb-menu>li>a::after{
  content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;
  background:var(--anb-accent);transform:scaleX(0);transform-origin:left;
  transition:transform .25s ease;border-radius:2px;
}
.anb-scope .anb-menu>li>a:hover::after,
.anb-scope .anb-menu>li>a.anb-active::after{transform:scaleX(1)}
.anb-scope .anb-caret{width:11px;height:11px;transition:transform .25s ease}
.anb-scope .anb-menu>li.open .anb-caret{transform:rotate(180deg)}

/* Parent item that is BOTH a clickable link AND a dropdown toggle */
.anb-scope .anb-menu>li.anb-dd-linked{display:flex;align-items:center}
/* Desktop dropdown parents open on hover — hide the caret / toggle entirely */
.anb-scope .anb-menu>li.anb-dd-linked>.anb-dd-toggle{display:none}
.anb-scope .anb-menu>li .anb-caret{display:none}
.anb-scope .anb-menu>li.anb-dd-linked:hover>.anb-dd-parent,
.anb-scope .anb-menu>li.anb-dd-linked.open>.anb-dd-parent{color:var(--anb-accent-hover);background:rgba(255,255,255,.04)}

/* ===== DROPDOWN ===== */
.anb-scope .anb-dropdown{
  position:absolute;top:calc(100% + 10px);left:0;min-width:240px;
  background:var(--anb-violet);border-radius:6px;overflow:hidden;
  box-shadow:0 24px 50px rgba(0,0,0,.45);
  display:block;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .22s ease, transform .22s ease, visibility .22s;
}
.anb-scope .anb-dropdown::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.anb-scope .anb-menu>li.open .anb-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.anb-scope .anb-dropdown a{
  display:block;padding:13px 22px;text-decoration:none;white-space:nowrap;
  color:#fff;font:700 15px/1.2 "Montserrat",sans-serif;
  border-bottom:1px solid rgba(255,255,255,.12);
  transition:background .18s ease;
}
.anb-scope .anb-dropdown a:last-child{border-bottom:0}
.anb-scope .anb-dropdown a:hover{background:var(--anb-violet-hover)}

/* ===== CTA ===== */
.anb-scope .anb-cta{
  position:relative;overflow:hidden;
  flex:0 0 auto;margin-left:8px;
  background:var(--anb-accent);color:#fff;text-decoration:none;
  font:700 15px/1 "Montserrat",sans-serif;letter-spacing:.3px;
  padding:14px 26px;border-radius:999px;
  box-shadow:0 8px 22px rgba(232,80,0,.35);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.anb-scope .anb-cta>span{position:relative;z-index:1}
.anb-scope .anb-cta::before{
  content:"";position:absolute;top:0;bottom:0;left:-130%;width:70%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-22deg);transition:left .55s ease;z-index:0;
}
.anb-scope .anb-cta:hover{background:var(--anb-accent-hover);transform:translateY(-2px);box-shadow:0 12px 28px rgba(232,80,0,.45)}
.anb-scope .anb-cta:hover::before{left:130%}
.anb-scope .anb-cta:active{transform:translateY(0)}

/* ===== HAMBURGER ===== */
.anb-scope .anb-burger{
  display:none;margin-left:auto;width:46px;height:46px;border:0;background:none;cursor:pointer;
  border-radius:10px;position:relative;
}
.anb-scope .anb-burger:hover{background:rgba(255,255,255,.05)}
.anb-scope .anb-burger span{
  position:absolute;left:11px;right:11px;height:2.5px;background:var(--anb-text);border-radius:3px;
  transition:transform .3s ease, opacity .2s ease, top .3s ease;
}
.anb-scope .anb-burger span:nth-child(1){top:15px}
.anb-scope .anb-burger span:nth-child(2){top:22px}
.anb-scope .anb-burger span:nth-child(3){top:29px}
.anb-scope .anb-burger.anb-active span:nth-child(1){top:22px;transform:rotate(45deg)}
.anb-scope .anb-burger.anb-active span:nth-child(2){opacity:0}
.anb-scope .anb-burger.anb-active span:nth-child(3){top:22px;transform:rotate(-45deg)}

/* ===== MOBILE PANEL ===== */
.anb-scope .anb-mobile-panel{
  overflow:hidden;max-height:0;background:#1a2036;
  border-top:1px solid transparent;
  transition:max-height .4s cubic-bezier(.4,0,.2,1),border-color .3s;
}
.anb-scope .anb-mobile-panel.open{max-height:80vh;overflow-y:auto;border-top-color:var(--anb-line)}
.anb-scope .anb-mobile-inner{padding:14px 20px 24px}
.anb-scope .anb-mobile-panel ul{list-style:none}
.anb-scope .anb-m-link,
.anb-scope .anb-m-toggle{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:15px 8px;color:var(--anb-text);text-decoration:none;background:none;border:0;
  border-bottom:1px solid var(--anb-line);cursor:pointer;
  font:600 16px/1 "Montserrat",sans-serif;text-align:left;
}
.anb-scope .anb-m-link:hover,
.anb-scope .anb-m-toggle:hover{color:var(--anb-accent-hover)}
.anb-scope .anb-m-link.anb-active{color:var(--anb-accent-hover)}
/* Mobile parent that is a link + separate caret toggle */
.anb-scope .anb-m-row{display:flex;align-items:center;border-bottom:1px solid var(--anb-line)}
.anb-scope .anb-m-row .anb-m-link{flex:1;border-bottom:0}
.anb-scope .anb-m-toggle-only{
  flex:0 0 auto;width:52px;justify-content:center;border-bottom:0;
  border-left:1px solid var(--anb-line);
}
.anb-scope .anb-m-sub{overflow:hidden;max-height:0;transition:max-height .35s ease}
.anb-scope .anb-m-item.open .anb-m-sub{max-height:600px}
.anb-scope .anb-m-item.open .anb-m-toggle .anb-caret{transform:rotate(180deg)}
.anb-scope .anb-m-sub a{
  display:block;padding:12px 8px 12px 24px;color:var(--anb-muted);text-decoration:none;
  font:500 14px/1 "Montserrat",sans-serif;border-bottom:1px solid var(--anb-line);
}
.anb-scope .anb-m-sub a:hover{color:#fff}
.anb-scope .anb-cta-mobile{
  display:block;text-align:center;margin-top:20px;background:var(--anb-accent);color:#fff;
  text-decoration:none;font:700 16px/1 "Montserrat";padding:16px;border-radius:999px;
  box-shadow:0 8px 22px rgba(232,80,0,.35);
}

/* ===== RESPONSIVE — driven by JS-added .anb-mobile class so the
   breakpoint can be set per-widget inside Elementor ===== */
.anb-scope.anb-mobile .anb-menu,
.anb-scope.anb-mobile .anb-cta{display:none}
.anb-scope.anb-mobile .anb-burger{display:block}
.anb-scope.anb-mobile .anb-menu{margin-left:0}

/* Fallback for no-JS / very small screens */
@media (max-width:520px){
  .anb-scope .anb-wrap{padding:0 18px}
}
