
/* Dash Horizon website header — WHMCS-compatible */
.dhx-header{
  --dhds-bg:#070f1d;
  --dhds-bg2:#0b1728;
  --dhds-card:#07111f;
  --dhds-blue:#1A3F6B;
  --dhds-blue2:#6f98c5;
  --dhds-text:#ffffff;
  --dhds-muted:#aab8ca;
  --dhds-soft:#d8e9ff;
  --dhds-border:rgba(216,233,255,.13);
  --dhds-border2:rgba(216,233,255,.08);

  position:sticky;
  top:0;
  z-index:var(--z-header, 1000);
  width:100%;
  max-width:100%;
  background:rgba(7,15,29,.94)!important;
  color:#fff!important;
  border-bottom:1px solid var(--dhds-border2)!important;
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  font-family:inherit!important;
  overflow:visible!important;
}

.dhx-header *{box-sizing:border-box}
.dhx-header a,.dhx-header button{box-shadow:none!important}

.dhx-utility{
  background:rgba(7,15,29,.98);
  border-bottom:1px solid var(--dhds-border2);
  font-size:13px;
}
.dhx-utility-inner{
  max-width:1280px;
  margin:0 auto;
  padding:6px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.dhx-utility .btn,.dhx-utility a{color:var(--dhds-soft)!important}
.dhx-utility .btn-return-to-admin{color:#ffb4b4!important}

.dhx-wrap{
  max-width:1280px;
  margin:0 auto;
  padding:14px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  overflow:visible!important;
}

.dhx-logo{
  display:flex;
  align-items:center;
  gap:11px;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:900;
  flex:0 0 auto;
}
.dhx-logo-mark{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg,var(--dhds-blue),var(--dhds-blue2))!important;
  color:#fff!important;
  box-shadow:0 14px 35px rgba(26,63,107,.35);
  font-weight:900;
}

.dhx-nav{
  display:flex;
  align-items:center;
  gap:8px;
  overflow:visible!important;
  z-index:var(--z-dropdown, 1100);
}

.dhx-nav-link,
.dhx-item>button{
  background:transparent!important;
  border:0!important;
  color:var(--dhds-soft)!important;
  padding:11px 13px;
  border-radius:14px;
  cursor:pointer;
  text-decoration:none!important;
  font-weight:750;
  transition:.22s ease;
}
.dhx-nav-link:hover,
.dhx-item:hover>.dhx-nav-link,
.dhx-item:focus-within>.dhx-nav-link{
  background:rgba(216,233,255,.07)!important;
  color:#fff!important;
}

.dhx-item{position:relative; overflow:visible!important}

.dhx-dropdown{
  position:absolute;
  top:100%;
  left:0;
  width:min(440px, calc(100vw - 40px));
  /* Transparent top border = hover-connected bridge (still part of the panel box) */
  border:1px solid var(--dhds-border)!important;
  border-top:14px solid transparent!important;
  background:rgba(7,17,31,.98)!important;
  background-clip:padding-box!important;
  padding:18px;
  margin-top:0;
  border-radius:0 0 26px 26px;
  box-shadow:0 35px 90px rgba(0,0,0,.52)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index:var(--z-dropdown, 1100);
  max-height:min(70vh, 640px);
  overflow-x:hidden;
  overflow-y:auto;
}

/* Default: menus closed until hover/focus/open (mobile overrides below) */
.dhx-item > .dhx-dropdown{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

/*
 * Desktop fine-pointer hover — PRIMARY open mechanism (no click required).
 * Parent ::after extends the hover hit-area so the pointer never falls through a gap.
 * .is-open is only an assist (keyboard / JS hover) and must clear on mouseleave.
 */
@media (hover: hover) and (pointer: fine){
  @media (min-width: 1201px){
    .dhx-item.has-dropdown::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:100%;
      height:18px;
      z-index:calc(var(--z-dropdown, 1100) - 1);
      background:transparent;
      pointer-events:auto;
    }

    .dhx-item.has-dropdown:hover > .dhx-dropdown,
    .dhx-item.has-dropdown:focus-within > .dhx-dropdown,
    .dhx-item:hover > .dhx-dropdown,
    .dhx-item:focus-within > .dhx-dropdown{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateY(0);
    }

    /* JS/keyboard assist — cleared on mouseleave by dashhorizon-nav.js */
    .dhx-item.has-dropdown.is-open > .dhx-dropdown,
    .dhx-item.is-open > .dhx-dropdown{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translateY(0);
    }

    .dhx-services-item:hover > .dhx-services-menu,
    .dhx-services-item:focus-within > .dhx-services-menu,
    .dhx-services-item.is-open > .dhx-services-menu,
    .dhx-shop-item:hover > .dhx-shop-menu,
    .dhx-tools-item:hover > .dhx-tools-menu,
    .dhx-support-item:hover > .dhx-support-menu,
    .dhx-shop-item:focus-within > .dhx-shop-menu,
    .dhx-tools-item:focus-within > .dhx-tools-menu,
    .dhx-support-item:focus-within > .dhx-support-menu,
    .dhx-shop-item.is-open > .dhx-shop-menu,
    .dhx-tools-item.is-open > .dhx-tools-menu,
    .dhx-support-item.is-open > .dhx-support-menu{
      transform:translateX(-50%) translateY(0)!important;
    }
  }
}

.dhx-services-menu{
  width:min(1120px,calc(100vw - 40px))!important;
  left:50%!important;
  transform:translateX(-50%) translateY(6px)!important;
  max-height:calc(100vh - 125px);
  border-radius:0 0 26px 26px;
}

.dhx-hosting-menu{width:min(540px,calc(100vw - 40px))!important;}
.dhx-vps-menu,.dhx-servers-menu{width:min(620px,calc(100vw - 40px))!important;}
.dhx-shop-menu,.dhx-tools-menu,.dhx-support-menu{
  width:min(760px,calc(100vw - 40px))!important;
  left:50%!important;
  transform:translateX(-50%) translateY(6px)!important;
}

.dhx-company-menu,.dhx-login-menu{right:0!important;left:auto!important;}
.dhx-company-menu{width:min(430px,calc(100vw - 40px))!important;}
.dhx-login-menu{width:min(300px,calc(100vw - 40px))!important;}

/* Keyboard focus — works even when hover media does not match */
@media (min-width: 1201px){
  .dhx-item:focus-within > .dhx-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .dhx-services-item:focus-within > .dhx-services-menu,
  .dhx-shop-item:focus-within > .dhx-shop-menu,
  .dhx-tools-item:focus-within > .dhx-tools-menu,
  .dhx-support-item:focus-within > .dhx-support-menu{
    transform:translateX(-50%) translateY(0)!important;
  }
}

.dhx-menu-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px;}
.dhx-menu-head span{color:var(--dhds-blue2)!important;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.dhx-menu-head h3{margin:5px 0 0;color:#fff!important;font-size:18px;line-height:1.25;}
.dhx-menu-head em,.dhx-stats span{
  display:inline-flex;align-items:center;gap:7px;height:max-content;padding:8px 11px;border-radius:999px;
  background:rgba(216,233,255,.06)!important;color:var(--dhds-soft)!important;font-style:normal;font-size:12px;font-weight:800;
  white-space:nowrap;border:1px solid rgba(216,233,255,.10)!important;
}
.dhx-menu-head i,.dhx-stats i{
  width:8px;height:8px;border-radius:50%;background:var(--dhds-blue2)!important;
  box-shadow:0 0 0 6px rgba(111,152,197,.13),0 0 18px rgba(111,152,197,.55);
}

.dhx-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.dhx-service-col{padding:14px;border-radius:22px;background:rgba(11,23,40,.78)!important;border:1px solid rgba(216,233,255,.10)!important;}
.dhx-service-col h4{margin:0 0 12px;color:var(--dhds-blue2)!important;font-size:12px;text-transform:uppercase;letter-spacing:.09em;}
.dhx-service-link{display:flex!important;gap:12px;align-items:flex-start;padding:12px;border-radius:16px;color:#fff!important;text-decoration:none!important;transition:.22s ease;text-align:left!important;}
.dhx-service-link:hover{background:rgba(216,233,255,.07)!important;transform:translateY(-2px);}
.dhx-service-link b,.dhx-card b{display:block;color:#fff!important;font-size:14.5px;margin-bottom:4px;}
.dhx-service-link small,.dhx-card small{display:block;color:var(--dhds-muted)!important;font-size:12.5px;line-height:1.4;}

.dhx-svg{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,var(--dhds-blue),var(--dhds-blue2))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 12px 25px rgba(0,0,0,.18);}
.dhx-service-link .dhx-svg{width:36px;height:36px;border-radius:14px;}
.dhx-svg svg{width:22px;height:22px;fill:none!important;stroke:#fff!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.dhx-service-link .dhx-svg svg{width:19px;height:19px;}

.dhx-wide-cta,.dhx-hosting-banner{
  margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;border-radius:22px;
  background:linear-gradient(135deg,#10233a,var(--dhds-blue),#07111f)!important;color:#fff!important;text-decoration:none!important;
  border:1px solid rgba(216,233,255,.13)!important;transition:.22s ease;
}
.dhx-wide-cta:hover,.dhx-hosting-banner:hover{transform:translateY(-3px);color:#fff!important;}
.dhx-wide-cta b,.dhx-hosting-banner b{display:block;color:#fff!important;}
.dhx-wide-cta span,.dhx-hosting-banner small{color:var(--dhds-soft)!important;}
.dhx-hosting-banner span{display:block;color:var(--dhds-blue2)!important;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.dhx-hosting-banner b{font-size:18px;margin-bottom:4px;}
.dhx-hosting-banner strong{color:#fff!important;white-space:nowrap;}

.dhx-stats{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.dhx-plan-box{display:flex;justify-content:space-between;gap:18px;padding:20px;border-radius:22px;background:linear-gradient(135deg,#10233a,var(--dhds-blue),#07111f)!important;color:#fff!important;border:1px solid rgba(216,233,255,.12)!important;}
.dhx-plan-box small{color:var(--dhds-blue2)!important;font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.07em;}
.dhx-plan-box h3{margin:6px 0;color:#fff!important;font-size:22px;}
.dhx-plan-box p{margin:0;color:var(--dhds-soft)!important;font-size:13px;line-height:1.45;}
.dhx-plan-box strong{color:#fff!important;white-space:nowrap;font-size:21px;}
.dhx-plan-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0;}
.dhx-plan-picker button{border:1px solid rgba(216,233,255,.10)!important;background:rgba(216,233,255,.06)!important;color:#fff!important;border-radius:14px;padding:10px 8px;font-size:12px;font-weight:850;cursor:pointer;}
.dhx-plan-picker button.active,.dhx-plan-picker button:hover{background:#fff!important;color:var(--dhds-blue)!important;}

.dhx-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.dhx-one-col{grid-template-columns:1fr;}
.dhx-card{display:block;padding:17px;border-radius:20px;background:rgba(216,233,255,.055)!important;border:1px solid rgba(216,233,255,.10)!important;color:#fff!important;text-decoration:none!important;transition:.22s ease;}
.dhx-card:hover{transform:translateY(-4px);background:rgba(216,233,255,.085)!important;color:#fff!important;box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 28px rgba(111,152,197,.14)!important;}
.dhx-card-feature{background:linear-gradient(135deg,#10233a,var(--dhds-blue),#07111f)!important;}
.dhx-card .dhx-svg{margin-bottom:8px;}

.dhx-login-btn{display:flex;align-items:center;gap:8px;background:rgba(216,233,255,.08)!important;border:1px solid rgba(216,233,255,.12)!important;color:#fff!important;padding:8px 12px;border-radius:999px;cursor:pointer;font-weight:800;}
.dhx-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#fff!important;color:var(--dhds-blue)!important;font-size:13px;font-weight:950;flex:0 0 auto;}
.dhx-avatar svg{width:16px;height:16px;fill:none!important;stroke:var(--dhds-blue)!important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.dhx-login-head{display:flex;gap:12px;align-items:center;padding:10px;margin-bottom:8px;}
.dhx-avatar-big{width:42px;height:42px;}
.dhx-avatar-big svg{width:22px;height:22px;}
.dhx-login-head b{color:#fff!important;}
.dhx-login-head small{color:var(--dhds-muted)!important;}
.dhx-login-menu a{display:block;color:#fff!important;text-decoration:none!important;padding:12px 14px;border-radius:15px;background:rgba(216,233,255,.055)!important;margin-top:8px;}
.dhx-login-menu a:hover{background:var(--dhds-blue)!important;}
.dhx-login-menu a.dhx-login-primary{background:#fff!important;color:var(--dhds-blue)!important;font-weight:900;}
.dhx-login-menu a.dhx-login-primary:hover{background:var(--dhds-soft)!important;color:var(--dhds-blue)!important;}

.dhx-cart-btn{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
  background:rgba(216,233,255,.08)!important;border:1px solid rgba(216,233,255,.12)!important;color:#fff!important;text-decoration:none!important;font-weight:800;
}
.dhx-cart-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:var(--dhds-blue2);color:#07111f;font-size:11px;font-weight:900;
}

.dhx-cta{background:#fff!important;color:var(--dhds-blue)!important;text-decoration:none!important;padding:11px 17px;border-radius:999px;font-weight:900;white-space:nowrap;}
.dhx-toggle,.dhx-close{display:none;}
.dhx-toggle{background:transparent!important;border:0!important;cursor:pointer;width:42px;padding:8px;}
.dhx-toggle span{display:block;height:2px;background:#fff!important;margin:7px 0;border-radius:999px;}

/* Prevent WHMCS wrappers from clipping the website header menus */
body.dh-theme,
body.dh-theme #main-body,
body.dh-theme .primary-content,
body.dh-theme .master-breadcrumb{
  overflow:visible!important;
}
/* Hide default Twenty-One header chrome when website header is active */
body.dh-theme #header.header{display:none!important;}

.dhx-hosting-menu .dhx-hosting-banner,
.dhx-vps-menu .dhx-hosting-banner,
.dhx-servers-menu .dhx-hosting-banner{margin:16px 0!important;}
.dhx-hosting-menu .dhx-card-grid,
.dhx-vps-menu .dhx-card-grid,
.dhx-servers-menu .dhx-card-grid{margin-top:12px!important;}

@media(max-width:1270px) and (min-width:1201px){
  .dhx-wrap{max-width:1180px;}
  .dhx-service-grid{grid-template-columns:repeat(2,1fr);}
  .dhx-tools-menu,.dhx-support-menu{left:auto!important;right:0!important;transform:translateY(10px)!important;}
  .dhx-tools-item:hover > .dhx-tools-menu,
  .dhx-support-item:hover > .dhx-support-menu,
  .dhx-tools-item:focus-within > .dhx-tools-menu,
  .dhx-support-item:focus-within > .dhx-support-menu,
  .dhx-tools-item.is-open > .dhx-tools-menu,
  .dhx-support-item.is-open > .dhx-support-menu{transform:translateY(0)!important;}
}

@media(max-width:1200px){
  .dhx-wrap{padding:12px 16px;}
  .dhx-toggle{display:block!important;}
  .dhx-nav{
    position:fixed;top:0;right:-100%;width:min(92vw,430px);height:100vh;
    background:rgba(7,15,29,.98)!important;flex-direction:column;align-items:stretch;gap:8px;
    padding:86px 18px 24px;overflow-y:auto!important;overflow-x:hidden!important;transition:.3s ease;
    box-shadow:-30px 0 80px rgba(0,0,0,.45)!important;z-index:var(--z-mobile-nav, 1200);
  }
  .dhx-nav.open{right:0;}
  .dhx-close{
    display:grid!important;place-items:center;position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:14px;
    background:rgba(216,233,255,.08)!important;border:1px solid rgba(216,233,255,.1)!important;color:#fff!important;font-size:30px;line-height:1;cursor:pointer;z-index:5;
  }
  .dhx-nav-link,.dhx-item>button,.dhx-login-btn,.dhx-cart-btn{
    width:100%;text-align:left;justify-content:space-between;border-radius:18px;padding:15px 16px;
    background:rgba(216,233,255,.06)!important;border:1px solid rgba(216,233,255,.08)!important;
  }
  .dhx-item{position:static;}
  .dhx-dropdown,.dhx-services-menu,.dhx-hosting-menu,.dhx-vps-menu,.dhx-servers-menu,.dhx-shop-menu,.dhx-tools-menu,.dhx-support-menu,.dhx-company-menu,.dhx-login-menu{
    position:relative!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;
    max-height:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;display:none;margin:8px 0 14px!important;padding:14px;overflow:visible!important;
  }
  .dhx-item:hover > .dhx-dropdown{display:none !important;}
  .dhx-item.has-dropdown::after{display:none !important; content:none !important;}
  .dhx-item.open > .dhx-dropdown,.dhx-item.is-open > .dhx-dropdown{display:block!important;}
  .dhx-menu-head,.dhx-wide-cta,.dhx-hosting-banner,.dhx-plan-box{flex-direction:column;align-items:flex-start;}
  .dhx-service-grid,.dhx-card-grid,.dhx-plan-picker{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;}
  .dhx-cta{display:block;text-align:center;width:100%;}
}
