/* ============================================================
   LS header — rebuilt to match Template.html
   Global (all pages). Markup stays WHMCS-native.
   ============================================================ */

#header.header,
#header {
  background: transparent !important;
  background-color: transparent !important;
  border: 0;
  box-shadow: none;
  padding: 0;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* ---- top announcement bar ---- */
#header .topbar {
  background: #e6f4ef;
  border-bottom: 1px solid #d3e9e1;
  color: #0f4d45;
  min-height: 40px;
}
#header .topbar .container {
  min-height: 40px;
  display: flex;
  align-items: center;
  max-width: 1280px;
  padding-top: 4px;
  padding-bottom: 4px;
}
#header .topbar .btn,
#header .topbar .btn-active-client {
  background: transparent;
  border: 0;
  color: #0f4d45;
  font-size: 13px;
  font-weight: 600;
  box-shadow: none;
  padding: 4px 8px;
}
#header .topbar .btn:hover { background: #d8efe7; }
#header .topbar .input-group-text {
  background: transparent;
  border: 0;
  color: #3d5a55;
  font-size: 13px;
  padding: 0 4px 0 6px;
}
#header .topbar i { color: #1b7a6c; }
#header .topbar .badge { background: #146157; }

/* ---- floating white pill ---- */
#header .ls-header-main {
  background: rgba(255, 255, 255, .94);
  border: 1px solid #e2ebe8;
  border-radius: 22px;
  max-width: 1280px;
  margin: 12px auto 0;
  padding: 6px 12px;
  box-shadow: 0 1px 2px rgba(14, 43, 39, .04), 0 14px 34px -16px rgba(14, 43, 39, .16);
  backdrop-filter: saturate(150%) blur(10px);
}
#header .ls-header-main > .container {
  max-width: 100%;
  width: 100%;
  padding: 0;
}

#header .ls-header-inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-height: 56px;
  gap: 6px 12px;
}

/* brand */
#header .navbar-brand {
  order: 1;
  margin: 0;
  padding: 0 4px 0 10px;
  color: #0b3d37;
  font-weight: 800;
  font-size: 19px;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}
#header .logo-img {
  max-height: 40px;
  width: auto;
  display: block;
}

/* nav */
#header .main-navbar-wrapper,
#header #mainNavbar {
  order: 2;
  flex: 1 1 auto;
  padding: 0;
  background: transparent;
  border: 0;
}
#header .ls-header-menus { display: flex; align-items: center; gap: 4px; }
#header #nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1 1 auto;
  min-width: 0;
}
#header #nav > li > a {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 9px 13px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #3d5a55;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}
#header #nav > li > a.pr-4 { padding-right: 13px; }
#header #nav > li > a:hover { background: #eef7f4; color: #146157; }
#header #nav > li > a .caret { border-top-color: currentColor; opacity: .55; }

/* active (current) page */
#header #nav > li.is-active > a,
#header #nav > li.active > a,
body.ls-page-clientareahome #header #nav > li[menuitemname="Home"] > a {
  background: #dcf0ea;
  color: #0f4d45;
  font-weight: 700;
}

/* tools (cart + account) */
#header .ls-header-tools {
  order: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-inline-start: auto;
}
#header .ls-header-cart {
  position: relative;
  width: 44px;
  height: 44px;
  border: 1px solid #e2ebe8;
  border-radius: 14px;
  background: #fff;
  color: #146157;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
#header .ls-header-cart:hover { background: #eef7f4; border-color: #a9d6c9; }
#header .ls-header-cart .badge {
  position: absolute;
  top: -6px;
  inset-inline-end: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  background: #146157;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  line-height: 1;
}

/* account chip with avatar initial (value injected from header.tpl) */
#header .ls-header-account { display: flex; align-items: center; gap: 8px; }
#header .ls-header-account > li > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 6px 0 12px;
  border: 1px solid #e2ebe8;
  border-radius: 14px;
  background: #fff;
  color: #0e2b27;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease;
}
#header .ls-header-account > li > a:hover { background: #eef7f4; border-color: #a9d6c9; }
#header .ls-header-account.has-av > li > a::before {
  content: var(--ls-av, '');
  order: -1;
  width: 32px;
  height: 32px;
  flex: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #2fb59b, #146157);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* mobile toggle */
#header .ls-header-toggle {
  width: 44px;
  height: 44px;
  border: 1px solid #e2ebe8;
  border-radius: 14px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* dropdown panels inherit the card language */
#header .dropdown-menu {
  border: 1px solid #e2ebe8;
  border-radius: 16px;
  box-shadow: 0 18px 38px -20px rgba(14, 43, 39, .35);
  padding: 8px;
}
#header .dropdown-menu .dropdown-item a {
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: #3d5a55;
}
#header .dropdown-menu .dropdown-item a:hover { background: #eef7f4; color: #146157; }

/* ---- responsive ---- */
@media (max-width: 1200px) {
  #header .ls-header-inner { flex-wrap: wrap; min-height: 56px; }
  #header .main-navbar-wrapper,
  #header #mainNavbar { order: 4; flex: 1 1 100%; padding: 0 0 10px; }
}
@media (max-width: 767px) {
  #header .ls-header-main { margin: 8px 10px 0; border-radius: 18px; padding: 5px 10px; }
  #header .logo-img { max-height: 32px; }
  #header #nav > li > a { padding: 8px 10px; font-size: 13px; }
}

/* ---- brand: LS tile + name (design) ---- */
#header .ls-brand-mark {
  width: 42px;
  height: 42px;
  flex: none;
  border-radius: 13px;
  background: linear-gradient(135deg, #2fb59b, #0f4d45);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .5px;
  line-height: 1;
  direction: ltr;
  box-shadow: 0 8px 18px -8px rgba(20, 97, 87, .7);
}
#header .ls-brand-name {
  font-size: 19px;
  font-weight: 800;
  color: #0b3d37;
  white-space: nowrap;
  line-height: 1;
}

/* ============================================================
   Top announcement bar — exact match with the design
   (overrides custom.css which uses #header .topbar .active-client .* )
   ============================================================ */
/* the bar is a contained strip (same width as the header pill), not full-bleed */
#header .topbar {
  background: transparent !important;
  border: 0 !important;
  min-height: 0;
  padding: 0;
}
#header .topbar .container {
  min-height: 40px;
  display: flex;
  align-items: center;
  max-width: 1280px;
  width: 100%;
  margin: 12px auto 0;
  padding: 0 18px;
  background: #e6f4ef;
  border: 1px solid #d3e9e1;
  border-radius: 18px;
  box-shadow: 0 1px 2px rgba(14, 43, 39, .04);
}
#header .topbar .d-flex {
  width: 100%;
  align-items: center;
  justify-content: space-between !important;
  gap: 16px;
}
#header .topbar .mr-auto,
#header .topbar .ml-auto {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* notifications (right end) */
#header .topbar .btn,
#header .topbar .active-client .btn,
#header .topbar .btn-active-client,
#header .topbar .active-client .btn-active-client {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #0f4d45 !important;
  font-size: 13px;
  font-weight: 600;
  padding: 4px 2px !important;
}
#header .topbar .btn:hover { background: transparent !important; color: #146157 !important; }

/* bell instead of the FA flag — only on the notifications button */
#header .topbar #accountNotifications > i { display: none !important; }
#header .topbar #accountNotifications::before {
  content: '';
  width: 16px;
  height: 16px;
  flex: none;
  display: inline-block;
  vertical-align: -3px;
  margin-inline-end: 7px;
  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f4d45' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8a6 6 0 1 1 12 0c0 7 3 9 3 9H3s3-2 3-9'/%3E%3Cpath d='M10.3 21a1.94 1.94 0 0 0 3.4 0'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}

/* "logged in as" group (left end) */
#header .topbar .active-client { display: flex; align-items: center; gap: 8px; }
#header .topbar .input-group,
#header .topbar .input-group-text,
#header .topbar .active-client .input-group-text {
  background: transparent !important;
  border: 0 !important;
  color: #3d5a55 !important;
  font-size: 13px;
  font-weight: 500;
  padding: 0 !important;
}
#header .topbar .active-client .btn-group { display: flex; align-items: center; gap: 6px; }
#header .topbar .btn-active-client,
#header .topbar .active-client .btn-active-client {
  color: #0b3d37 !important;
  font-weight: 700 !important;
  border-bottom: 1px dashed #1b7a6c !important;
  border-radius: 0 !important;
  padding: 0 2px 1px !important;
  text-decoration: none;
}
#header .topbar .active-client .btn:not(.btn-active-client) {
  color: #1b7a6c !important;
  padding: 0 4px !important;
}
#header .topbar .active-client .btn i { color: #1b7a6c; }

/* ============================================================
   Phone-verify notice (lsverify addon) — global, design language
   ============================================================ */
body .ls-verify-banner {
  max-width: 1280px;
  margin: 12px auto 0;
  padding: 12px 16px;
  background: #fff7e6;
  border: 1px solid #ffe0a8;
  border-radius: 16px;
  color: #8a5200;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.7;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
body .ls-verify-banner p { margin: 0; flex: none; }
body .ls-verify-banner .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 16px;
  border-radius: 11px;
  border: 1px solid #146157;
  background: #146157;
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 10px 22px -14px rgba(20, 97, 87, .9);
}
body .ls-verify-banner .btn:hover { background: #0f4d45; border-color: #0f4d45; color: #fff; }
@media (max-width: 640px) {
  body .ls-verify-banner { font-size: 12px; padding: 10px 12px; }
  body .ls-verify-banner .btn { height: 34px; padding: 0 14px; }
}
