/* FariHost boot CSS */
/* FariHost nav text contrast — white header needs dark links (WCAG) */
body.fh-body .fh-header{
  background:#ffffff !important;
  border-bottom:1px solid #e2e8f0 !important;
  box-shadow:0 10px 28px rgba(15,23,42,.06) !important;
  backdrop-filter:none !important;
}
body.fh-body .fh-header .fh-nav-wrap{ background:#ffffff !important; }
body.fh-body .fh-header .fh-logo-word{ color:#0b1d49 !important; }
body.fh-body .fh-header .fh-logo-word span{ color:#1479ff !important; }
body.fh-body .fh-header .fh-logo-mark{
  background:rgba(20,121,255,.12) !important;
  color:#1479ff !important;
}
body.fh-body .fh-header .fh-link,
body.fh-body .fh-header .fh-menu .fh-link,
body.fh-body .fh-header .fh-menu .nav-link{
  color:#0f172a !important;
}
body.fh-body .fh-header .fh-link i,
body.fh-body .fh-header .fh-link i:first-child{
  color:#1d4ed8 !important;
}
body.fh-body .fh-header .fh-link:hover,
body.fh-body .fh-header .fh-menu>li:hover>.fh-link,
body.fh-body .fh-header .fh-has-dropdown.is-open>.fh-link{
  color:#1d4ed8 !important;
  background:rgba(29,78,216,.08) !important;
}
body.fh-body .fh-header .fh-link:hover i,
body.fh-body .fh-header .fh-menu>li:hover>.fh-link i{
  color:#1d4ed8 !important;
}
body.fh-body .fh-header .fh-pill.login{ color:#0f172a !important; }
body.fh-body .fh-header .fh-pill.cart{
  color:#0f172a !important;
  background:#eff6ff !important;
  border-color:#bfdbfe !important;
}
body.fh-body .fh-header .fh-mobile-toggle{
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
}
body.fh-body .fh-header .fh-dropdown-panel{
  background:#ffffff !important;
  border:1px solid #dbe3f0 !important;
  box-shadow:0 18px 50px rgba(15,23,42,.14) !important;
}
body.fh-body .fh-header .fh-dropdown-panel:before{
  background:#ffffff !important;
  border-left:1px solid #dbe3f0 !important;
  border-top:1px solid #dbe3f0 !important;
}
body.fh-body .fh-header .fh-dropdown-panel a{ color:#0f172a !important; }
body.fh-body .fh-header .fh-dropdown-panel a i{ color:#1d4ed8 !important; }
body.fh-body .fh-header .fh-dropdown-panel a:hover{
  color:#1d4ed8 !important;
  background:#eff6ff !important;
}

/* Kill WHMCS full-page loading spinner sitewide (#fullpage-overlay beats .w-hidden via ID specificity) */
#fullpage-overlay,
#fullpage-overlay.w-hidden,
body #fullpage-overlay{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}

/* A11y: alert bar contrast + language/currency touch targets */
body.fh-body .fh-alertbar{
  color:#e8eefc !important;
}
body.fh-body .fh-alertbar a{
  color:#ffffff !important;
  text-decoration:underline;
  text-underline-offset:2px;
}
body.fh-body .modal-localisation .item-selector .item{
  min-height:48px !important;
  min-width:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 10px !important;
  margin:6px 0 !important;
  border-radius:10px !important;
  line-height:1.2 !important;
}
body.fh-body .modal-localisation .item-selector .col-4{
  margin-bottom:8px !important;
}
body.fh-body #modalGeneratePassword .modal-footer .btn,
body.fh-body #modalGeneratePassword .modal-body .btn,
body.fh-body #modalAjax .modal-footer .btn{
  min-height:48px !important;
  min-width:48px !important;
  padding:12px 18px !important;
  margin:4px !important;
}
body.fh-body #modalGeneratePassword .modal-footer{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  justify-content:flex-end !important;
}

/* FariHost mobile menu — centered list on pale blue (reference style) */
@media (max-width: 1199.98px) {
  body.fh-body .fh-header .fh-nav-wrap {
    position: relative;
  }

  body.fh-body .fh-header .fh-nav.collapse {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 10050;
    background: #eef6ff;
    border-top: 1px solid #dbeafe;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
    padding: 8px 0 24px;
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }

  body.fh-body .fh-header .fh-nav.collapse.show {
    display: block !important;
  }

  body.fh-body .fh-header .fh-nav-inner {
    position: relative;
    flex-wrap: wrap;
  }

  body.fh-body .fh-header .fh-menu {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.fh-body .fh-header .fh-menu > li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(11, 29, 73, 0.07);
  }

  body.fh-body .fh-header .fh-menu > li:last-child {
    border-bottom: 0;
  }

  body.fh-body .fh-header .fh-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 54px;
    padding: 16px 48px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0b1d49 !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: normal !important;
    position: relative;
  }

  /* Hide left icons — text-only like reference */
  body.fh-body .fh-header .fh-link > i:first-child:not(.fa-angle-down) {
    display: none !important;
  }

  /* Chevron sits on the right */
  body.fh-body .fh-header .fh-link .fa-angle-down {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px !important;
    color: #0b1d49 !important;
    margin: 0 !important;
    transition: transform 0.2s ease;
  }

  body.fh-body .fh-header .fh-has-dropdown.is-open > .fh-link .fa-angle-down {
    transform: translateY(-50%) rotate(180deg);
  }

  body.fh-body .fh-header .fh-link:hover,
  body.fh-body .fh-header .fh-has-dropdown.is-open > .fh-link {
    background: rgba(20, 121, 255, 0.06) !important;
    color: #0b1d49 !important;
  }

  /* Accordion sub-menu */
  body.fh-body .fh-header .fh-dropdown-panel {
    display: none !important;
    position: static !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f8fbff !important;
    border: none !important;
    border-top: 1px solid rgba(11, 29, 73, 0.06) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.fh-body .fh-header .fh-dropdown-panel:before {
    display: none !important;
  }

  body.fh-body .fh-header .fh-has-dropdown.is-open > .fh-dropdown-panel {
    display: block !important;
  }

  body.fh-body .fh-header .fh-dropdown-panel a {
    display: block !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #1e3a5f !important;
    background: transparent !important;
    border-top: 1px solid rgba(11, 29, 73, 0.05);
    border-radius: 0 !important;
  }

  body.fh-body .fh-header .fh-dropdown-panel a:first-child {
    border-top: 0;
  }

  body.fh-body .fh-header .fh-dropdown-panel a i {
    display: none !important;
  }

  body.fh-body .fh-header .fh-dropdown-panel a:hover {
    background: rgba(20, 121, 255, 0.08) !important;
    color: #1479ff !important;
    transform: none !important;
  }

  /* Login / Get Started below menu */
  body.fh-body .fh-header .fh-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 16px 0 0 !important;
    padding: 0 20px !important;
    grid-template-columns: none !important;
  }

  body.fh-body .fh-header .fh-pill {
    width: 100% !important;
    justify-content: center !important;
    min-height: 48px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
  }

  body.fh-body .fh-header .fh-pill.register {
    order: -1;
  }

  body.fh-body .fh-header .fh-mobile-toggle {
    width: 44px;
    height: 44px;
    border-radius: 10px !important;
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    color: #0b1d49 !important;
  }
}

@media (max-width: 767.98px) {
  body.fh-body .fh-header .fh-link {
    font-size: 16px !important;
    min-height: 50px;
    padding: 14px 40px !important;
  }
}

@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/font-awesome/fa-solid-900.woff2) format("woff2")}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/font-awesome/fa-brands-400.woff2) format("woff2")}