/* ============ IMPERIUM HUD BUILD ih-3.2.3 ============ */  /* layers: base+neutralizers+homepage+clientarea (FULL) */
/* ============================================================================
   IMPERIUM-HOSTING — Tactical HUD design system
   File: css/imperium.css
   Load order: LAST in the cascade (after theme.min.css / aalayer / custom.css)
   Scope: every rule is scoped under body.ih-hud (class set in header.tpl)
   Phases: [1] base system  [2] homepage layer  [3] client area / store / support
   ============================================================================ */

/* ----------------------------------------------------------------------------
   [1.0] TOKENS
   ---------------------------------------------------------------------------- */
:root {
  --ih-void:   #050607;   /* page background            */
  --ih-bg:     #0a0d10;   /* raised background / strips */
  --ih-panel:  #0d1117;   /* card & panel surfaces      */
  --ih-panel2: #11161c;   /* hover surface              */
  --ih-line:   #1c242c;   /* hairline borders           */
  --ih-red:    #ff0303;   /* Imperial Red — primary accent, actions */
  --ih-red-dk: #c40202;   /* red hover state            */
  --ih-cyan:   #00d9ff;   /* secondary accent, links    */
  --ih-text:   #ccd6de;   /* body text                  */
  --ih-dim:    #8b98a3;   /* secondary text             */
  --ih-faint:  #5c6873;   /* labels / muted             */
  --ih-clip:    polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  --ih-clip-sm: polygon(6px 0, 100% 0, 100% calc(100% - 6px), calc(100% - 6px) 100%, 0 100%, 0 6px);
  --ih-font-display: "Rajdhani", "Open Sans", sans-serif;
  --ih-font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  --ih-font-body: "Open Sans", "Helvetica Neue", Arial, sans-serif;
}

/* ----------------------------------------------------------------------------
   [1.1] BASE SURFACES & TYPE
   ---------------------------------------------------------------------------- */
body.ih-hud {
  background: var(--ih-void);
  color: var(--ih-text);
  font-family: var(--ih-font-body);
}
body.ih-hud #main-body { background: transparent; }

body.ih-hud h1, body.ih-hud h2, body.ih-hud h3,
body.ih-hud h4, body.ih-hud h5, body.ih-hud h6,
body.ih-hud .h1, body.ih-hud .h2, body.ih-hud .h3,
body.ih-hud .h4, body.ih-hud .h5, body.ih-hud .h6 {
  font-family: var(--ih-font-display);
  font-weight: 700;
  color: #fff;
  letter-spacing: .02em;
}
body.ih-hud h1, body.ih-hud .h1 { text-transform: uppercase; letter-spacing: .04em; }
body.ih-hud h2, body.ih-hud .h2 { text-transform: uppercase; letter-spacing: .04em; }

body.ih-hud p  { color: var(--ih-text); }
body.ih-hud small, body.ih-hud .small { color: var(--ih-dim); }
body.ih-hud .text-muted { color: var(--ih-dim) !important; }
body.ih-hud hr { border-top: 1px solid var(--ih-line); }

body.ih-hud a { color: var(--ih-cyan); }
body.ih-hud a:hover { color: #fff; text-decoration: none; }

body.ih-hud ::selection { background: var(--ih-red); color: #fff; }

/* Accessibility floor */
body.ih-hud :focus-visible {
  outline: 2px solid var(--ih-cyan);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  body.ih-hud *, body.ih-hud *::before, body.ih-hud *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ----------------------------------------------------------------------------
   [1.2] SIGNATURE UTILITIES — labels, frames, LED
   ---------------------------------------------------------------------------- */

/* Mono eyebrow label: rendered as  // LABEL  */
body.ih-hud .ih-label,
body.ih-hud .ih-sec-eyebrow {
  display: inline-block;
  font-family: var(--ih-font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ih-faint);
}
body.ih-hud .ih-label::before,
body.ih-hud .ih-sec-eyebrow::before {
  content: "// ";
  color: var(--ih-red);
  letter-spacing: 0;
}

/* Red corner brackets (top-left + bottom-right) */
body.ih-hud .ih-frame { position: relative; }
body.ih-hud .ih-frame::before,
body.ih-hud .ih-frame::after {
  content: "";
  position: absolute;
  width: 26px; height: 26px;
  pointer-events: none;
  z-index: 3;
}
body.ih-hud .ih-frame::before {
  top: -1px; left: -1px;
  border-top: 2px solid var(--ih-red);
  border-left: 2px solid var(--ih-red);
}
body.ih-hud .ih-frame::after {
  bottom: -1px; right: -1px;
  border-bottom: 2px solid var(--ih-red);
  border-right: 2px solid var(--ih-red);
}

/* Pulsing green status LED */
body.ih-hud .ih-led {
  display: inline-block;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #2bd94a;
  box-shadow: 0 0 6px rgba(43, 217, 74, .9);
  animation: ih-led-pulse 2s ease-in-out infinite;
  vertical-align: middle;
}
@keyframes ih-led-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: .35; }
}

/* Full-bleed helper for sections that must escape a .container ancestor */
body.ih-hud .ih-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* ----------------------------------------------------------------------------
   [1.3] BUTTONS — red = action, cyan = information
   ---------------------------------------------------------------------------- */
body.ih-hud .btn {
  font-family: var(--ih-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-radius: 0;
  clip-path: var(--ih-clip-sm);
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
body.ih-hud .btn-primary,
body.ih-hud .btn-danger {
  background: var(--ih-red);
  border-color: var(--ih-red);
  color: #fff;
}
body.ih-hud .btn-primary:hover, body.ih-hud .btn-primary:focus, body.ih-hud .btn-primary:active,
body.ih-hud .btn-danger:hover,  body.ih-hud .btn-danger:focus,  body.ih-hud .btn-danger:active {
  background: var(--ih-red-dk);
  border-color: var(--ih-red-dk);
  color: #fff;
  box-shadow: 0 0 14px rgba(255, 3, 3, .35);
}
body.ih-hud .btn-outline-primary {
  color: var(--ih-cyan);
  border-color: var(--ih-cyan);
  background: transparent;
}
body.ih-hud .btn-outline-primary:hover,
body.ih-hud .btn-outline-primary:focus {
  background: rgba(0, 217, 255, .12);
  color: #fff;
  border-color: var(--ih-cyan);
}
body.ih-hud .btn-default,
body.ih-hud .btn-secondary,
body.ih-hud .btn-light {
  background: var(--ih-panel2);
  border: 1px solid var(--ih-line);
  color: var(--ih-text);
}
body.ih-hud .btn-default:hover,
body.ih-hud .btn-secondary:hover,
body.ih-hud .btn-light:hover {
  background: var(--ih-panel);
  border-color: var(--ih-cyan);
  color: #fff;
}
body.ih-hud .btn-outline-light {
  color: var(--ih-text);
  border-color: var(--ih-line);
}
body.ih-hud .btn-outline-light:hover {
  border-color: var(--ih-cyan);
  color: #fff;
  background: rgba(0, 217, 255, .08);
}
body.ih-hud .btn-success { background: #1f9d4d; border-color: #1f9d4d; }
body.ih-hud .btn-link { color: var(--ih-cyan); text-transform: none; letter-spacing: 0; clip-path: none; }

/* ----------------------------------------------------------------------------
   [1.4] HEADER / NAV  (markup unchanged — navbar.tpl is donor; restyle only)
   ---------------------------------------------------------------------------- */
body.ih-hud header#header .navbar-caesar {
  background: rgba(5, 6, 7, .92);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--ih-line);
  box-shadow: 0 1px 0 rgba(255, 3, 3, .18), 0 8px 24px rgba(0, 0, 0, .55);
}
body.ih-hud header#header .navbar-brand img.logocae { max-height: 44px; width: auto; }

body.ih-hud header#header .navbar-nav > li > a,
body.ih-hud header#header .navbar-nav .nav-link {
  font-family: var(--ih-font-display);
  font-weight: 600;
  font-size: .95rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--ih-text) !important;
  position: relative;
}
body.ih-hud header#header .navbar-nav > li > a:hover,
body.ih-hud header#header .navbar-nav .nav-link:hover {
  color: #fff !important;
}
/* active/hover red underline */
body.ih-hud header#header .navbar-nav > li > a::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: 2px;
  height: 2px;
  background: var(--ih-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .18s ease;
}
body.ih-hud header#header .navbar-nav > li > a:hover::after,
body.ih-hud header#header .navbar-nav > li.active > a::after { transform: scaleX(1); }

body.ih-hud header#header .dropdown-menu {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  clip-path: var(--ih-clip-sm);
  box-shadow: 0 14px 30px rgba(0, 0, 0, .6);
}
body.ih-hud header#header .dropdown-menu .dropdown-item,
body.ih-hud header#header .dropdown-menu a.dropdown-item {
  color: var(--ih-text);
  font-family: var(--ih-font-display);
  font-weight: 500;
  letter-spacing: .04em;
  background: transparent;
}
body.ih-hud header#header .dropdown-menu a.dropdown-item:hover {
  background: var(--ih-panel2);
  color: var(--ih-cyan);
}
body.ih-hud header#header .navbar-toggler { border-color: var(--ih-line); }

/* navbar search (markup in includes/navbar.tpl — donor, untouched) */
body.ih-hud header#header #searchInput {
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
  color: var(--ih-text);
  border-radius: 0;
  clip-path: var(--ih-clip-sm);
  font-family: var(--ih-font-mono);
  font-size: .8rem;
}
body.ih-hud header#header #searchInput:focus {
  border-color: var(--ih-cyan);
  box-shadow: none;
}
body.ih-hud header#header #searchSuggestions {
  background: var(--ih-panel) !important;
  border: 1px solid var(--ih-line) !important;
  border-radius: 0;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .6);
}
body.ih-hud header#header #searchSuggestions li {
  background: var(--ih-panel);
  border-color: var(--ih-line);
  color: var(--ih-text);
  font-family: var(--ih-font-mono);
  font-size: .8rem;
}
body.ih-hud header#header #searchSuggestions li:hover {
  background: var(--ih-panel2);
  color: var(--ih-cyan);
}
/* loyalty link stays gold but on-system */
body.ih-hud header#header .navbar-nav .nav-link.text-warning { color: #f0b429 !important; }

/* keep content clear of the fixed navbar */
body.ih-hud { padding-top: 72px; }
@media (max-width: 767.98px) { body.ih-hud { padding-top: 62px; } }

/* Breadcrumb strip — separator is // in red */
body.ih-hud .master-breadcrumb {
  background: var(--ih-bg);
  border-bottom: 1px solid var(--ih-line);
}
body.ih-hud .master-breadcrumb .breadcrumb {
  background: transparent;
  margin: 0;
  padding: .55rem 0;
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.ih-hud .master-breadcrumb .breadcrumb-item a { color: var(--ih-dim); }
body.ih-hud .master-breadcrumb .breadcrumb-item a:hover { color: var(--ih-cyan); }
body.ih-hud .master-breadcrumb .breadcrumb-item.active { color: var(--ih-text); }
body.ih-hud .master-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "//";
  color: var(--ih-red);
  padding-right: .5rem;
}

/* ----------------------------------------------------------------------------
   [1.5] GENERIC PANELS / CARDS / SIDEBAR (covers inherited WHMCS pages)
   ---------------------------------------------------------------------------- */
body.ih-hud .card,
body.ih-hud .panel {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  clip-path: var(--ih-clip);
  color: var(--ih-text);
}
body.ih-hud .card-header,
body.ih-hud .panel-heading {
  background: var(--ih-bg);
  border-bottom: 1px solid var(--ih-line);
  font-family: var(--ih-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #fff;
}
body.ih-hud .card-footer { background: var(--ih-bg); border-top: 1px solid var(--ih-line); }
body.ih-hud .card .card-title { color: #fff; }

body.ih-hud .sidebar .card,
body.ih-hud .card-sidebar { clip-path: var(--ih-clip); }
body.ih-hud .list-group-item {
  background: var(--ih-panel);
  border-color: var(--ih-line);
  color: var(--ih-text);
  font-family: var(--ih-font-display);
  font-weight: 500;
  letter-spacing: .03em;
}
body.ih-hud .list-group-item-action:hover {
  background: var(--ih-panel2);
  color: var(--ih-cyan);
}
body.ih-hud .list-group-item.active {
  background: var(--ih-panel2);
  border-color: var(--ih-line);
  color: #fff;
  border-left: 3px solid var(--ih-red);
}
body.ih-hud .list-group-item .badge { background: var(--ih-red); color: #fff; border-radius: 0; }

/* ----------------------------------------------------------------------------
   [1.6] FORMS
   ---------------------------------------------------------------------------- */
body.ih-hud .form-control,
body.ih-hud .custom-select,
body.ih-hud select.form-control,
body.ih-hud textarea.form-control {
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
  color: var(--ih-text);
  border-radius: 0;
}
body.ih-hud .form-control:focus,
body.ih-hud .custom-select:focus {
  background: var(--ih-bg);
  border-color: var(--ih-cyan);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(0, 217, 255, .25);
}
body.ih-hud .form-control::placeholder { color: var(--ih-faint); }
body.ih-hud label, body.ih-hud .form-control-label {
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ih-dim);
}
body.ih-hud .input-group-text {
  background: var(--ih-panel2);
  border: 1px solid var(--ih-line);
  color: var(--ih-dim);
  border-radius: 0;
}

/* ----------------------------------------------------------------------------
   [1.7] TABLES / ALERTS / BADGES / PAGINATION / MODALS / TABS
   ---------------------------------------------------------------------------- */
body.ih-hud .table { color: var(--ih-text); }
body.ih-hud .table th {
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ih-dim);
  border-color: var(--ih-line);
  background: var(--ih-bg);
}
body.ih-hud .table td { border-color: var(--ih-line); }
body.ih-hud .table-hover tbody tr:hover { background: var(--ih-panel2); color: #fff; }
body.ih-hud .table-striped tbody tr:nth-of-type(odd) { background: rgba(255, 255, 255, .015); }

body.ih-hud .alert { border-radius: 0; clip-path: var(--ih-clip-sm); border-width: 1px; }
body.ih-hud .alert-success { background: rgba(43, 217, 74, .08); border-color: rgba(43, 217, 74, .4); color: #9ff0b2; }
body.ih-hud .alert-danger  { background: rgba(255, 3, 3, .08);  border-color: rgba(255, 3, 3, .45);  color: #ffb3b3; }
body.ih-hud .alert-warning { background: rgba(240, 180, 41, .08); border-color: rgba(240, 180, 41, .4); color: #f5d78e; }
body.ih-hud .alert-info,
body.ih-hud .alert-secondary { background: rgba(0, 217, 255, .06); border-color: rgba(0, 217, 255, .35); color: #a8ecf9; }

body.ih-hud .badge { border-radius: 0; font-family: var(--ih-font-mono); letter-spacing: .06em; }

body.ih-hud .pagination .page-link {
  background: var(--ih-panel);
  border-color: var(--ih-line);
  color: var(--ih-text);
  font-family: var(--ih-font-mono);
  border-radius: 0;
}
body.ih-hud .pagination .page-item.active .page-link { background: var(--ih-red); border-color: var(--ih-red); color: #fff; }
body.ih-hud .pagination .page-link:hover { background: var(--ih-panel2); color: var(--ih-cyan); }

body.ih-hud .modal-content {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  clip-path: var(--ih-clip);
  color: var(--ih-text);
}
body.ih-hud .modal-header, body.ih-hud .modal-footer { border-color: var(--ih-line); }
body.ih-hud .modal-header .close { color: var(--ih-dim); text-shadow: none; }

body.ih-hud .nav-tabs { border-bottom: 1px solid var(--ih-line); }
body.ih-hud .nav-tabs .nav-link {
  border: 1px solid transparent;
  border-radius: 0;
  color: var(--ih-dim);
  font-family: var(--ih-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}
body.ih-hud .nav-tabs .nav-link.active {
  background: var(--ih-panel);
  border-color: var(--ih-line) var(--ih-line) var(--ih-panel);
  color: #fff;
  box-shadow: inset 0 2px 0 var(--ih-red);
}

/* ----------------------------------------------------------------------------
   [1.8] FOOTER (rebuilt markup in footer.tpl)
   ---------------------------------------------------------------------------- */
body.ih-hud .fspace { height: 56px; }

body.ih-hud footer#footer {
  background: var(--ih-bg);
  border-top: 1px solid var(--ih-line);
  position: relative;
  color: var(--ih-dim);
  padding: 48px 0 0;
}
/* red 180px "hot edge" on the footer's top border */
body.ih-hud footer#footer::before {
  content: "";
  position: absolute;
  top: -1px; left: 0;
  width: 180px; height: 2px;
  background: var(--ih-red);
  box-shadow: 0 0 12px rgba(255, 3, 3, .6);
}

body.ih-hud .ih-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 36px;
}
@media (max-width: 991.98px) { body.ih-hud .ih-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { body.ih-hud .ih-footer-grid { grid-template-columns: 1fr; } }

body.ih-hud .ih-footer-brand .ih-wordmark {
  font-family: var(--ih-font-display);
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: .1em;
  color: #fff;
  text-transform: uppercase;
}
body.ih-hud .ih-footer-brand .ih-wordmark span { color: var(--ih-red); }
body.ih-hud .ih-footer-brand p { color: var(--ih-dim); font-size: .9rem; max-width: 40ch; }

body.ih-hud .ih-footer-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ih-dim);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip-sm);
  padding: 7px 12px;
  background: var(--ih-panel);
}
body.ih-hud a.ih-footer-status:hover { color: var(--ih-cyan); border-color: var(--ih-cyan); }

body.ih-hud .ih-footer-col .ih-label { margin-bottom: 12px; }
body.ih-hud .ih-footer-col ul { list-style: none; margin: 0; padding: 0; }
body.ih-hud .ih-footer-col ul li { margin-bottom: 8px; }
body.ih-hud .ih-footer-col ul a {
  color: var(--ih-dim);
  font-family: var(--ih-font-display);
  font-weight: 500;
  letter-spacing: .04em;
  font-size: .95rem;
}
body.ih-hud .ih-footer-col ul a:hover { color: var(--ih-cyan); }

body.ih-hud .ih-footer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0 18px;
  border-top: 1px solid var(--ih-line);
}
body.ih-hud .ih-footer-meta,
body.ih-hud .ih-footer-meta a {
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--ih-faint);
}
body.ih-hud .ih-footer-meta a { text-decoration: underline; }
body.ih-hud .ih-footer-meta a:hover { color: var(--ih-cyan); }
body.ih-hud footer#footer .btn-icon { color: var(--ih-dim); border: 1px solid var(--ih-line); border-radius: 0; clip-path: var(--ih-clip-sm); }
body.ih-hud footer#footer .btn-icon:hover { color: var(--ih-cyan); border-color: var(--ih-cyan); }
body.ih-hud footer#footer .ih-lang-btn {
  color: var(--ih-dim);
  border: 1px solid var(--ih-line);
  background: var(--ih-panel);
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.ih-hud footer#footer .ih-lang-btn:hover { color: var(--ih-cyan); border-color: var(--ih-cyan); }

/* ----------------------------------------------------------------------------
   [1.9] COOKIE BANNER + MODAL (markup in footer.tpl)
   ---------------------------------------------------------------------------- */
body.ih-hud .cookie-banner {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 2000;
  background: rgba(10, 13, 16, .97);
  border-top: 1px solid var(--ih-line);
  box-shadow: 0 -10px 30px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 3, 3, .25);
  padding: 14px 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}
body.ih-hud .cookie-banner__text { color: var(--ih-text); font-size: .9rem; max-width: 70ch; }
body.ih-hud .cookie-banner__text a { color: var(--ih-cyan); }
body.ih-hud .cookie-banner__actions { display: flex; gap: 8px; flex-wrap: wrap; }

body.ih-hud .cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 2010;
  background: rgba(5, 6, 7, .8);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
body.ih-hud .cookie-modal[hidden] { display: none; }
body.ih-hud .cookie-modal__window {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip);
  max-width: 480px;
  width: 100%;
  max-height: 85vh;
  overflow: auto;
  padding: 24px;
  color: var(--ih-text);
}
body.ih-hud .cookie-group { border-bottom: 1px solid var(--ih-line); padding: 10px 0; }
body.ih-hud .cookie-group:last-of-type { border-bottom: 0; }

/* Support hint chip (Tawk, phones) */
body.ih-hud #support-hint {
  position: fixed;
  right: 84px; bottom: 16px;
  z-index: 1500;
  background: var(--ih-panel);
  border: 1px solid var(--ih-red);
  clip-path: var(--ih-clip-sm);
  color: #fff;
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 8px 14px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
body.ih-hud #support-hint.show { opacity: 1; }

/* Affiliate strip (homepage markup, footer script) */
body.ih-hud .affiliate-tagline {
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
  border-left: 3px solid var(--ih-red);
  clip-path: var(--ih-clip-sm);
  color: var(--ih-text);
  font-family: var(--ih-font-mono);
  font-size: .8rem;
  letter-spacing: .06em;
  padding: 8px 16px;
  border-radius: 0;
}

/* Back-to-top */
body.ih-hud .back-to-top {
  position: fixed;
  right: 18px; bottom: 84px;
  z-index: 1400;
  width: 42px; height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip-sm);
  color: var(--ih-text);
  font-size: 18px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease, border-color .15s ease;
}
body.ih-hud .back-to-top.show { opacity: 1; pointer-events: auto; }
body.ih-hud .back-to-top:hover { border-color: var(--ih-red); color: #fff; }

/* Admin return button — WHMCS theme.min.css ships this as a grey tab rotated
   90deg pinned at top:425px/right:0 (all !important). Combined offsets can
   stretch it into a giant panel, so every box property is countered here.
   Result: small fixed chip, bottom-right, follows scroll; icon-only on
   phones (the label span is d-none d-md-inline-block in footer.tpl). */
body.ih-hud .btn-return-to-admin {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  padding: 9px 14px !important;
  background: var(--ih-red) !important;
  background-color: var(--ih-red) !important;
  color: #fff !important;
  border: 1px solid var(--ih-red-dk) !important;
  border-radius: 0 !important;
  clip-path: var(--ih-clip-sm);
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 12px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  z-index: 2147480000 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .5);
  text-decoration: none !important;
  opacity: .95;
}
body.ih-hud .btn-return-to-admin:hover {
  background: var(--ih-red-dk) !important;
  background-color: var(--ih-red-dk) !important;
  color: #fff !important;
  opacity: 1;
}

/* Fullpage overlay + system modal inherit panel colors */
body.ih-hud #fullpage-overlay { background: rgba(5, 6, 7, .85); }

/* ----------------------------------------------------------------------------
   [1.10] DONOR THEME NEUTRALIZERS
   aalayer-designs.css ships several !important rules the HUD must counter with
   equal force (imperium.css loads last, so matching !important wins):
     - footer.footer  -> fixed, red rgba(217,85,85,.9), z-index 999999
     - html.addcover  -> photographic page background (img/html.jpg)
     - body           -> font-family 'Nunito' !important
     - .navbar-caesar -> grey glass bg, red dropdown hover, 18px link padding
     - .modal-localisation .modal-body -> red background
   ---------------------------------------------------------------------------- */

/* Page canvas: kill the fixed photo background, enforce the void */
html.addcover { background: var(--ih-void) !important; }
body.ih-hud,
body.ih-hud.primary-bg-color {
  background: var(--ih-void) !important;
  font-family: var(--ih-font-body) !important;
}

/* Footer: donor runs a fixed red "reveal" footer. Force it static + HUD dark. */
body.ih-hud footer#footer.footer {
  position: static !important;
  background: var(--ih-bg) !important;
  width: auto !important;
  bottom: auto !important;
  z-index: auto !important;
  padding: 48px 20px 0 !important;
}
body.ih-hud .fspace { padding: 0 !important; height: 56px; }

/* Language/currency modal: donor paints it red */
body.ih-hud .modal-localisation .modal-body { background: var(--ih-panel) !important; }
body.ih-hud .modal-localisation .item-selector .item { color: var(--ih-text); }

/* Navbar: reclaim the HUD glass + dropdown hover from donor !important rules */
body.ih-hud header#header .navbar-caesar {
  background: rgba(5, 6, 7, .92) !important;
  backdrop-filter: blur(8px) !important;
  box-shadow: 0 1px 0 rgba(255, 3, 3, .18), 0 8px 24px rgba(0, 0, 0, .55) !important;
}
body.ih-hud header#header .navbar-caesar .dropdown-menu {
  background: var(--ih-panel) !important;
  border: 1px solid var(--ih-line) !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .6) !important;
}
body.ih-hud header#header .navbar-caesar .dropdown-item:focus,
body.ih-hud header#header .navbar-caesar .dropdown-item:hover {
  background: var(--ih-panel2) !important;
  color: var(--ih-cyan) !important;
}

/* Nav layout (ports of the donor inline <style> removed in Phase 1) */
body.ih-hud header#header .navbar,
body.ih-hud header#header .navbar-collapse,
body.ih-hud header#header .container,
body.ih-hud header#header .navbar-nav { overflow: visible !important; }
body.ih-hud header#header .navbar-collapse {
  display: flex;
  flex-grow: 1;
  justify-content: space-between;
}
body.ih-hud header#header .navbar-nav {
  flex-wrap: nowrap !important;
  align-items: center;
  flex-direction: row;
}
body.ih-hud header#header .navbar-nav.ml-auto > li { white-space: nowrap; }
body.ih-hud header#header .navbar-caesar form[action="search.php"] { flex: 0 0 auto; display: flex; align-items: center; }
body.ih-hud header#header #searchInput { width: 200px !important; min-width: 180px; }
@media (min-width: 1400px) { body.ih-hud header#header #searchInput { width: 240px !important; } }
@media (max-width: 1200px) and (min-width: 768px) {
  body.ih-hud header#header .navbar-collapse,
  body.ih-hud header#header .navbar-nav { flex-wrap: wrap !important; }
  body.ih-hud header#header .navbar-nav > li > a { padding: 8px 10px !important; font-size: 14px; line-height: 1.2; }
  body.ih-hud header#header .navbar-caesar form[action="search.php"] {
    order: 3; flex: 1 0 100%; width: 100%; margin-top: 8px; justify-content: center;
  }
  body.ih-hud header#header #searchInput { width: 100% !important; max-width: 560px; }
}
@media (max-width: 767.98px) {
  body.ih-hud header#header .navbar-nav { flex-direction: column; align-items: stretch; flex-wrap: nowrap !important; }
  body.ih-hud header#header .navbar-nav.ml-auto > li { white-space: normal; }
}

/* Safety net: nothing inside the HUD may render wider than its container.
   (Without this, an unstyled partner/regiment logo renders at native size.) */
body.ih-hud img { max-width: 100%; }

/* Cookie banner must sit above any donor stacking context, with a solid panel */
body.ih-hud .cookie-banner {
  background: rgba(10, 13, 16, .98) !important;
  border-top: 1px solid var(--ih-line) !important;
  z-index: 2147482000 !important;
}
body.ih-hud .cookie-modal { z-index: 2147483600 !important; }

/* ----------------------------------------------------------------------------
   [1.11] ih-3.0.3 additions
   ---------------------------------------------------------------------------- */

/* Brand logo: make the slot unhideable regardless of donor rules */
body.ih-hud header#header .navbar-brand {
  display: inline-flex !important;
  align-items: center;
  visibility: visible !important;
  opacity: 1 !important;
}
body.ih-hud header#header img.logocae {
  display: inline-block !important;
  max-height: 44px !important;
  max-width: 180px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 12px 0 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Donor forces red on active dropdown items — counter it */
body.ih-hud header#header .dropdown-item.active,
body.ih-hud header#header .dropdown-item:active {
  background: var(--ih-panel2) !important;
  color: var(--ih-cyan) !important;
}


/* ----------------------------------------------------------------------------
   [1.12] ih-3.1.0: page-wide ambient background
   The scan-grid + red/cyan glows now cover the WHOLE page (fixed, so they
   follow the scroll), not just the hero. Also closes the dark band that sat
   between the fixed nav and the homepage content.
   ---------------------------------------------------------------------------- */
body.ih-hud::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 55% 42% at 12% 0%,   rgba(255, 3, 3, .10),  transparent 60%),
    radial-gradient(ellipse 50% 36% at 88% 4%,   rgba(0, 217, 255, .06), transparent 60%),
    radial-gradient(ellipse 70% 45% at 50% 100%, rgba(255, 3, 3, .05),  transparent 65%),
    linear-gradient(rgba(139, 152, 163, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139, 152, 163, .045) 1px, transparent 1px),
    var(--ih-void);
  background-size: auto, auto, auto, 44px 44px, 44px 44px, auto;
}

/* Homepage: no stock top padding on the wrapper — content meets the nav */
body.ih-hud.page-homepage section#main-body { padding-top: 0 !important; }

/* ----------------------------------------------------------------------------
   [1.13] ih-3.1.1: inner-page separation from the fixed nav
   The removed breadcrumb bar used to hold inner-page content away from the
   header. Restore clear breathing room on every non-homepage page, and give
   the blog's category tab bar (.ih-tabs-wrap, first element on /blog) proper
   standing inside the page instead of hugging the nav.
   ---------------------------------------------------------------------------- */
body.ih-hud:not(.page-homepage) section#main-body { padding-top: 34px !important; }

body.ih-hud .ih-tabs-wrap { margin: 4px 0 24px; }
body.ih-hud .ih-tabs .nav-link {
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
/* ============================================================================
   [2] PHASE 2 — HOMEPAGE LAYER
   Rebuilt homepage.tpl markup; every donor inline <style> consolidated here.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   [2.0] HERO ("mrheading" region rebuilt as HUD command deck)
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-hero {
  position: relative;
  background: transparent; /* ambient grid + glows are page-wide as of ih-3.1.0 */
  overflow: hidden;
  padding: 28px 0 56px;
}
body.ih-hud .ih-hero > .container { position: relative; z-index: 2; }

body.ih-hud .ih-hero h1 {
  font-size: clamp(2.1rem, 5vw, 3.4rem);
  font-weight: 700;
  margin: 18px 0 6px;
}
body.ih-hud .ih-hero .ih-hero-tagline {
  font-family: var(--ih-font-display);
  font-weight: 500;
  font-size: clamp(1.05rem, 2.4vw, 1.4rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ih-cyan);
  margin-bottom: 22px;
}
body.ih-hud .ih-hero .cbuttons { margin-bottom: 34px; }
body.ih-hud .ih-hero .cbuttons .btn { padding: .8rem 2rem; font-size: 1rem; }

/* Vets banner */
body.ih-hud .vets-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-left: 3px solid var(--ih-red);
  clip-path: var(--ih-clip-sm);
  padding: 12px 16px;
  margin: 16px 0 26px;
  text-align: left;
}
body.ih-hud .vets-banner__content { color: var(--ih-text); font-size: .95rem; }
body.ih-hud .vets-banner__content u { text-decoration-color: var(--ih-red); text-underline-offset: 3px; }
body.ih-hud .vets-banner__link {
  color: var(--ih-cyan);
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .85rem;
  margin-left: 6px;
  white-space: nowrap;
}
body.ih-hud .regiment-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip-sm);
  padding: 6px 12px;
}
body.ih-hud .regiment-chip__logo { height: 26px; width: auto; }
body.ih-hud .regiment-chip__links {
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.ih-hud .regiment-chip__link { color: var(--ih-dim); }
body.ih-hud .regiment-chip__link:hover { color: var(--ih-cyan); }
body.ih-hud .regiment-chip__divider { color: var(--ih-faint); margin: 0 6px; }

/* Framed live-feed video */
body.ih-hud .ih-hero-media {
  max-width: 1100px;
  margin: 0 auto;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  padding: 10px;
}
body.ih-hud .ih-hero-media .ih-media-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 2px 8px;
}
body.ih-hud .ih-hero-media iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
}

/* ----------------------------------------------------------------------------
   [2.1] FEATURED DEPLOYMENT (hero card for $games[7])
   ---------------------------------------------------------------------------- */
body.ih-hud .featured-hero {
  position: relative;
  min-height: 560px;
  border-radius: 0;
  clip-path: var(--ih-clip);
  overflow: hidden;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  margin-bottom: 60px;
  border: 1px solid var(--ih-line);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .45);
}
body.ih-hud .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(5, 6, 7, .94) 0%,
    rgba(5, 6, 7, .62) 45%,
    rgba(5, 6, 7, .22) 100%);
}
body.ih-hud .hero-content {
  position: relative;
  z-index: 2;
  max-width: 650px;
  padding: 60px;
  color: #fff;
}
body.ih-hud .hero-badge {
  display: inline-block;
  background: var(--ih-red);
  color: #fff;
  clip-path: var(--ih-clip-sm);
  padding: 7px 16px;
  font-family: var(--ih-font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 20px;
}
body.ih-hud .featured-hero h2 {
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  font-weight: 700;
  margin-bottom: 16px;
  line-height: 1.08;
}
body.ih-hud .featured-hero p {
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--ih-text);
  margin-bottom: 12px;
}
body.ih-hud .featured-hero .ih-featured-price {
  font-family: var(--ih-font-mono);
  color: var(--ih-cyan);
  letter-spacing: .08em;
  margin-bottom: 28px;
}
body.ih-hud .hero-buttons { display: flex; gap: 15px; flex-wrap: wrap; }

/* ----------------------------------------------------------------------------
   [2.2] GAME GRID
   ---------------------------------------------------------------------------- */
body.ih-hud .game-grid-section { margin-bottom: 80px; }
body.ih-hud .section-title { text-align: center; margin-bottom: 40px; }
body.ih-hud .section-title h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 10px; }
body.ih-hud .section-title p {
  font-family: var(--ih-font-mono);
  font-size: .85rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ih-dim);
}
body.ih-hud .game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 22px;
}
body.ih-hud .game-card {
  position: relative;
  height: 240px;
  border-radius: 0;
  clip-path: var(--ih-clip);
  overflow: hidden;
  text-decoration: none;
  border: 1px solid var(--ih-line);
  transition: transform .25s ease, box-shadow .25s ease, border-color .15s ease;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .35);
  display: block;
}
body.ih-hud .game-card:hover {
  transform: translateY(-6px);
  border-color: var(--ih-red);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .55), 0 0 18px rgba(255, 3, 3, .18);
}
body.ih-hud .game-card-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .4s ease;
}
body.ih-hud .game-card:hover .game-card-bg { transform: scale(1.07); }
body.ih-hud .game-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 6, 7, .12) 0%, rgba(5, 6, 7, .9) 100%);
}
body.ih-hud .game-card-content {
  position: absolute;
  bottom: 18px;
  left: 18px;
  right: 18px;
  z-index: 2;
  color: #fff;
}
body.ih-hud .game-card-content h3 {
  font-size: 1.55rem;
  font-weight: 700;
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
body.ih-hud .game-card-content span {
  font-family: var(--ih-font-mono);
  font-size: .85rem;
  letter-spacing: .08em;
  color: var(--ih-cyan);
}

/* ----------------------------------------------------------------------------
   [2.3] FEATURES ("What Makes Us Unique")
   ---------------------------------------------------------------------------- */
body.ih-hud .mrfea { padding: 10px 0 30px; }
body.ih-hud .mrfea h2 { text-align: center; margin-bottom: 34px; }
body.ih-hud .mrfea .row {
  border-radius: 0;
  overflow: hidden;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip);
}
body.ih-hud .mrfea .col-md-4 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 26px 18px;
  gap: 10px;
  border: 1px solid rgba(28, 36, 44, .6);
}
body.ih-hud .mrfea .col-md-4 img { width: auto; height: 56px; }
body.ih-hud .mrfea .col-md-4 h4 {
  margin: 6px 0 4px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: 1.05rem;
}
body.ih-hud .mrfea .col-md-4 p {
  max-width: 44ch;
  margin: 0 auto;
  color: var(--ih-dim);
  font-size: .92rem;
}

/* ----------------------------------------------------------------------------
   [2.4] ABOUT PANEL ("mrwho")
   ---------------------------------------------------------------------------- */
body.ih-hud .mrwho {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  padding: 40px 30px;
  color: var(--ih-text);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .25);
}
body.ih-hud .mrwho img {
  max-width: 90%;
  height: auto;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .4));
}
body.ih-hud .mrwho h2 { margin-bottom: 20px; }
body.ih-hud .mrwho p { color: var(--ih-dim); line-height: 1.65; font-size: 1rem; }
@media (max-width: 992px) {
  body.ih-hud .mrwho { flex-direction: column; text-align: center; padding: 30px 20px; }
  body.ih-hud .mrwho img { max-width: 70%; margin-bottom: 20px; }
}

/* ----------------------------------------------------------------------------
   [2.5] NEWS / REVIEWS SWITCHER
   ---------------------------------------------------------------------------- */
body.ih-hud #news-reviews { text-align: left; }
body.ih-hud #news-reviews .nr-viewport { position: relative; height: auto; }
body.ih-hud #news-reviews .nr-panel {
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
body.ih-hud #news-reviews .nr-panel.is-active { opacity: 1; pointer-events: auto; }

body.ih-hud #news-reviews .news-card {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  clip-path: var(--ih-clip);
  overflow: hidden;
  padding: 24px;
}
body.ih-hud #news-reviews .news-card + .news-card { margin-top: 16px; }
body.ih-hud #news-reviews .news-card img { border-radius: 0; }
body.ih-hud #news-reviews .news-teaser { font-size: 1.02rem; line-height: 1.55; color: var(--ih-dim); }
body.ih-hud #news-reviews .news-card h3 { color: #fff; }
body.ih-hud #news-reviews .news-card .text-muted {
  font-family: var(--ih-font-mono);
  font-size: .8rem !important;
  letter-spacing: .08em;
}

body.ih-hud .reviews-section .section-header { text-align: center; margin-bottom: 8px; }
body.ih-hud .trustpilot-rating {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 10px;
}
body.ih-hud .trustpilot-rating .trustpilot { height: 34px; width: auto; }
body.ih-hud .trustpilot-rating .rating { text-align: left; }
body.ih-hud .trustpilot-rating .score {
  display: block;
  font-family: var(--ih-font-display);
  font-weight: 700;
  color: #fff;
  letter-spacing: .04em;
}
body.ih-hud .trustpilot-rating .based-on {
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ih-faint);
}
body.ih-hud .trustpilot-link { color: var(--ih-cyan); margin-left: 4px; }

body.ih-hud .reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 10px;
}
body.ih-hud .review-card {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip);
  padding: 22px;
  text-align: left;
}
body.ih-hud .review-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
body.ih-hud .review-header .stars { color: var(--ih-red); letter-spacing: 2px; }
body.ih-hud .review-header .review-date {
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--ih-faint);
}
body.ih-hud .review-card h3 { font-size: 1.1rem; margin-bottom: 10px; }
body.ih-hud .review-card p { color: var(--ih-dim); font-size: .93rem; line-height: 1.6; }
body.ih-hud .review-cta { text-align: center; margin-top: 22px; }
body.ih-hud .review-cta .btn-outline,
body.ih-hud .btn.btn-outline {
  color: var(--ih-text);
  border: 1px solid var(--ih-line);
}
body.ih-hud .review-cta .btn-outline:hover { border-color: var(--ih-cyan); color: #fff; }

/* ----------------------------------------------------------------------------
   [2.6] LOCATIONS
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-locations {
  text-align: center;
  padding: 10px 0 30px;
}
body.ih-hud .ih-locations .ih-map {
  position: relative;
  display: inline-block;
  margin-bottom: 22px;
  padding: 10px;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
}
body.ih-hud .ih-locations .ih-map img {
  width: min(600px, 90vw);
  height: auto;
  display: block;
}
body.ih-hud .ih-locations ul {
  list-style: none;
  display: inline-block;
  text-align: left;
  margin: 14px 0 0;
  padding: 0;
  columns: 2;
  column-gap: 44px;
}
@media (max-width: 575.98px) { body.ih-hud .ih-locations ul { columns: 1; } }
body.ih-hud .ih-locations ul li {
  font-family: var(--ih-font-mono);
  font-size: .85rem;
  letter-spacing: .08em;
  color: var(--ih-text);
  padding: 4px 0;
}
body.ih-hud .ih-locations ul li::before { content: "// "; color: var(--ih-red); }

/* ----------------------------------------------------------------------------
   [2.7] PARTNERS
   ---------------------------------------------------------------------------- */
body.ih-hud .partners-wrap .btn-outline-light { font-size: .8rem; }
body.ih-hud .partner-hero {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 28px;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  padding: 28px;
}
@media (max-width: 767.98px) { body.ih-hud .partner-hero { grid-template-columns: 1fr; } }
body.ih-hud .partner-hero .hero-left { text-align: center; }
body.ih-hud .partner-badge {
  display: inline-block;
  background: var(--ih-red);
  color: #fff;
  clip-path: var(--ih-clip-sm);
  font-family: var(--ih-font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 5px 12px;
  margin-bottom: 14px;
}
body.ih-hud .partner-hero .hero-logo {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 120px;
  margin: 0 auto 14px;
  object-fit: contain;
}
body.ih-hud .hero-tags, body.ih-hud .card-tags { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 14px; }
body.ih-hud .partners-wrap .tag {
  font-family: var(--ih-font-mono);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ih-dim);
  border: 1px solid var(--ih-line);
  padding: 3px 8px;
}
body.ih-hud .hero-ctas, body.ih-hud .card-ctas { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
body.ih-hud .btn-visit, body.ih-hud .btn-visit-sm {
  display: inline-block;
  background: var(--ih-red);
  color: #fff;
  clip-path: var(--ih-clip-sm);
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .82rem;
  padding: 8px 18px;
}
body.ih-hud .btn-visit:hover, body.ih-hud .btn-visit-sm:hover { background: var(--ih-red-dk); color: #fff; }
body.ih-hud .btn-more, body.ih-hud .btn-more-sm {
  display: inline-block;
  color: var(--ih-cyan);
  border: 1px solid var(--ih-cyan);
  clip-path: var(--ih-clip-sm);
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .82rem;
  padding: 8px 18px;
}
body.ih-hud .btn-more:hover, body.ih-hud .btn-more-sm:hover { background: rgba(0, 217, 255, .1); color: #fff; }
body.ih-hud .partner-hero .hero-name { margin-bottom: 8px; }
body.ih-hud .partner-hero .hero-about { color: var(--ih-dim); }
body.ih-hud .hero-more, body.ih-hud .card-more { margin-top: 12px; color: var(--ih-dim); font-size: .93rem; }
body.ih-hud .hero-more a, body.ih-hud .card-more a { color: var(--ih-cyan); }

body.ih-hud .grid-title {
  font-size: 1.15rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin-bottom: 14px;
}
body.ih-hud .partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
body.ih-hud .partner-card {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip);
  padding: 22px;
  text-align: center;
  transition: border-color .15s ease, transform .2s ease;
}
body.ih-hud .partner-card:hover { border-color: var(--ih-red); transform: translateY(-3px); }
body.ih-hud .partner-card .card-logo {
  max-width: 100%;
  height: 64px;
  object-fit: contain;
  margin-bottom: 12px;
}
body.ih-hud .partner-card .card-name { font-size: 1rem; text-transform: uppercase; letter-spacing: .05em; }
body.ih-hud .partner-card .card-about { color: var(--ih-dim); font-size: .88rem; min-height: 60px; }

/* ----------------------------------------------------------------------------
   [2.8] STREAMERS CTA + FINAL CTA
   ---------------------------------------------------------------------------- */
body.ih-hud .streamers-cta {
  background: var(--ih-panel) !important;
  border: 1px solid var(--ih-line) !important;
  border-radius: 0 !important;
  clip-path: var(--ih-clip);
}
body.ih-hud .streamers-cta p { color: var(--ih-dim) !important; }

body.ih-hud .slisty { padding: 20px 0 60px; }
body.ih-hud .support {
  border-radius: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255, 3, 3, .14), transparent 55%),
    var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip);
  padding: 34px 10px;
  text-align: center;
}
body.ih-hud .support h2 {
  margin: 0;
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
}

/* ----------------------------------------------------------------------------
   [2.9] ih-3.0.3: hero content centered per owner request
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-hero .container { text-align: center; }
body.ih-hud .ih-hero .ih-hero-media { text-align: left; }
body.ih-hud .ih-hero .ih-media-bar { justify-content: flex-start; }

/* ----------------------------------------------------------------------------
   [2.10] ih-3.0.4: bigger map + live ping test
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-locations .ih-map {
  display: block;
  max-width: 1200px;
  margin: 0 auto 28px;
}
body.ih-hud .ih-locations .ih-map img { width: 100%; }

body.ih-hud .ih-loc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 10px 24px;
  max-width: 940px;
  margin: 20px auto 0;
  text-align: left;
}
body.ih-hud .ih-loc {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip-sm);
  padding: 10px 14px;
  font-family: var(--ih-font-mono);
  font-size: .85rem;
  letter-spacing: .08em;
  color: var(--ih-text);
}
body.ih-hud .ih-loc .ih-loc-name::before { content: "// "; color: var(--ih-red); }

body.ih-hud .ih-ping {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ih-dim);
  font-size: .8rem;
  white-space: nowrap;
}
body.ih-hud .ih-ping .ih-ping-led {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ih-faint);
  display: inline-block;
}
body.ih-hud .ih-ping.is-run .ih-ping-val { color: var(--ih-dim); }
body.ih-hud .ih-ping.is-ok  .ih-ping-led { background: #2bd94a; box-shadow: 0 0 6px rgba(43,217,74,.9); }
body.ih-hud .ih-ping.is-ok  .ih-ping-val { color: var(--ih-cyan); }
body.ih-hud .ih-ping.is-warn .ih-ping-led { background: #f0b429; box-shadow: 0 0 6px rgba(240,180,41,.8); }
body.ih-hud .ih-ping.is-warn .ih-ping-val { color: #f5d78e; }
body.ih-hud .ih-ping.is-bad .ih-ping-led { background: var(--ih-red); box-shadow: 0 0 6px rgba(255,3,3,.8); }
body.ih-hud .ih-ping.is-bad .ih-ping-val { color: #ffb3b3; }
body.ih-hud .ih-ping.is-off .ih-ping-led { background: var(--ih-faint); }
body.ih-hud .ih-ping.is-off .ih-ping-val { color: var(--ih-faint); }

body.ih-hud .ih-ping-actions { margin-top: 20px; }
body.ih-hud .ih-ping-actions .ih-ping-note {
  display: block;
  margin-top: 10px;
  font-family: var(--ih-font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ih-faint);
}

/* ----------------------------------------------------------------------------
   [2.11] ih-3.0.6: chrome-free hero video + custom controls
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-vid-controls {
  margin-left: auto;
  display: inline-flex;
  gap: 8px;
}
body.ih-hud .ih-vid-btn {
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
  color: var(--ih-text);
  clip-path: var(--ih-clip-sm);
  width: 36px;
  height: 26px;
  font-size: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
body.ih-hud .ih-vid-btn:hover { border-color: var(--ih-red); color: #fff; }

body.ih-hud .ih-video-shell { position: relative; }
body.ih-hud .ih-video-shell iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
}
body.ih-hud .ih-video-shield {
  position: absolute;
  inset: 0;
  cursor: pointer;
  /* fully transparent — exists only to intercept hover/clicks */
}


/* ----------------------------------------------------------------------------
   [2.12] ih-3.1.0: node-status section + no-dead-space review switcher
   ---------------------------------------------------------------------------- */
body.ih-hud #news-reviews .nr-viewport { transition: height .25s ease; }
body.ih-hud .ih-locations .ih-sec-eyebrow { display: block; margin-bottom: 6px; }
body.ih-hud .ih-locations h2 { margin-bottom: 22px; }
body.ih-hud .ih-locations .ih-map { margin: 34px auto 0; }

/* ----------------------------------------------------------------------------
   [2.13] ih-3.1.3: static reviews section + clickable ping chips
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-reviews { padding-bottom: 8px; }
body.ih-hud .ih-loc[data-host] { cursor: pointer; transition: border-color .15s ease; }
body.ih-hud .ih-loc[data-host]:hover { border-color: var(--ih-red); }

/* ----------------------------------------------------------------------------
   [2.14] ih-3.1.5: interactive node map (dots + labels + click popups)
   ---------------------------------------------------------------------------- */
body.ih-hud .ih-map-wrap {
  position: relative;
  display: block;
  max-width: 1200px;
  margin: 26px auto 0;
}
body.ih-hud .ih-map-wrap img { width: 100%; display: block; }

body.ih-hud .ih-node {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 30px; height: 30px;
  background: none; border: 0; padding: 0;
  cursor: pointer;
  z-index: 2;
}
body.ih-hud .ih-node:focus { outline: none; }
body.ih-hud .ih-node.is-open { z-index: 6; }

body.ih-hud .ih-node-core {
  position: absolute; left: 50%; top: 50%;
  width: 11px; height: 11px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 8px rgba(255, 255, 255, .75);
}
body.ih-hud .ih-node-ring {
  position: absolute; left: 50%; top: 50%;
  width: 27px; height: 27px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255, 3, 3, .6);
  border-radius: 50%;
  animation: ih-node-pulse 2.4s ease-out infinite;
}
@keyframes ih-node-pulse {
  0%   { transform: translate(-50%, -50%) scale(.7); opacity: 1; }
  70%  { transform: translate(-50%, -50%) scale(1.25); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1.25); opacity: 0; }
}

/* state colours */
body.ih-hud .ih-node.is-run .ih-node-core { background: var(--ih-cyan); box-shadow: 0 0 8px rgba(0, 217, 255, .8); }
body.ih-hud .ih-node.is-ok  .ih-node-core { background: #2bd94a; box-shadow: 0 0 8px rgba(43, 217, 74, .85); }
body.ih-hud .ih-node.is-ok  .ih-node-ring { border-color: rgba(43, 217, 74, .6); }
body.ih-hud .ih-node.is-warn .ih-node-core { background: #f0b429; box-shadow: 0 0 8px rgba(240, 180, 41, .85); }
body.ih-hud .ih-node.is-warn .ih-node-ring { border-color: rgba(240, 180, 41, .6); }
body.ih-hud .ih-node.is-bad .ih-node-core { background: var(--ih-red); box-shadow: 0 0 8px rgba(255, 3, 3, .85); }
body.ih-hud .ih-node.is-off .ih-node-core { background: var(--ih-faint); box-shadow: none; }
body.ih-hud .ih-node.is-off .ih-node-ring { animation: none; opacity: .25; }

/* side labels, reference-style: bold name + dim subline */
body.ih-hud .ih-node-tag {
  /* ih-3.1.9: side labels hidden - location names now appear only in the
     click popup (.ih-node-pop), per owner request for a cleaner map */
  display: none;
  position: absolute; top: 50%;
  transform: translateY(-50%);
  left: 26px;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
}
body.ih-hud .ih-node--left .ih-node-tag { left: auto; right: 26px; text-align: right; }
body.ih-hud .ih-node-tag b {
  display: block;
  font-family: var(--ih-font-display);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .9);
}
body.ih-hud .ih-node-tag i {
  display: block;
  font-style: normal;
  font-family: var(--ih-font-mono);
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--ih-dim);
  text-shadow: 0 1px 4px rgba(0, 0, 0, .9);
}

/* click popup */
body.ih-hud .ih-node-pop {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip-sm);
  padding: 10px 16px;
  min-width: 168px;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transition: opacity .16s ease, transform .16s ease;
  pointer-events: none;
}
body.ih-hud .ih-node.is-open .ih-node-pop {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
body.ih-hud .ih-node-pop b {
  display: block;
  font-family: var(--ih-font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
}
body.ih-hud .ih-node-pop i {
  display: block;
  font-style: normal;
  font-family: var(--ih-font-mono);
  font-size: 10px;
  letter-spacing: .08em;
  color: var(--ih-dim);
}
body.ih-hud .ih-node-pop .ih-node-ms {
  display: block;
  margin-top: 7px;
  font-style: normal;
  font-family: var(--ih-font-mono);
  font-size: 15px;
  color: var(--ih-cyan);
}
body.ih-hud .ih-node.is-off  .ih-node-pop .ih-node-ms { color: var(--ih-faint); }
body.ih-hud .ih-node.is-warn .ih-node-pop .ih-node-ms { color: #f5d78e; }
body.ih-hud .ih-node.is-bad  .ih-node-pop .ih-node-ms { color: #ffb3b3; }

@media (max-width: 767.98px) {
  body.ih-hud .ih-node-tag { display: none; }
  body.ih-hud .ih-node-core { width: 9px; height: 9px; }
  body.ih-hud .ih-node-ring { width: 22px; height: 22px; }
}

/* [2.15] ih-3.1.6: N/A state for nodes awaiting a verified probe endpoint */
body.ih-hud .ih-node.is-na .ih-node-pop .ih-node-ms { color: var(--ih-dim); }
/* ============================================================================
   [3] PHASE 3 — CLIENT AREA / STORE / SUPPORT LAYER
   CSS-first pass per roadmap §11.5: the donor page templates are inherited
   untouched; this layer re-skins them. Selectors below were collected from the
   actual donor .tpl files (clientareahome, login, sidebar, tablelist, tickets,
   kb, invoices, store). Everything stays scoped under body.ih-hud.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   [3.0] CLIENT AREA HOME
   ---------------------------------------------------------------------------- */
body.ih-hud .client-home-cards .card { margin-bottom: 20px; }
body.ih-hud .client-home-cards .card .card-body i { color: var(--ih-dim); }

/* Stat tiles: .highlight.bg-color-* keep their semantic hue but go HUD */
body.ih-hud .highlight {
  border-radius: 0;
  clip-path: var(--ih-clip-sm);
  border: 1px solid var(--ih-line);
  background: var(--ih-panel);
  color: #fff;
}
body.ih-hud .highlight.bg-color-red    { background: linear-gradient(135deg, rgba(255,3,3,.22),   var(--ih-panel)) !important; border-color: rgba(255,3,3,.5); }
body.ih-hud .highlight.bg-color-green  { background: linear-gradient(135deg, rgba(43,217,74,.18), var(--ih-panel)) !important; border-color: rgba(43,217,74,.45); }
body.ih-hud .highlight.bg-color-blue   { background: linear-gradient(135deg, rgba(0,217,255,.16), var(--ih-panel)) !important; border-color: rgba(0,217,255,.45); }
body.ih-hud .highlight.bg-color-gold   { background: linear-gradient(135deg, rgba(240,180,41,.18), var(--ih-panel)) !important; border-color: rgba(240,180,41,.45); }
body.ih-hud .btn.bg-color-red, body.ih-hud .btn.bg-color-green,
body.ih-hud .btn.bg-color-blue, body.ih-hud .btn.bg-color-gold { color: #fff; border: 0; }

/* Accent cards (card-accent-<color> left borders) */
body.ih-hud [class*="card-accent-"] { border-top: 0; border-left-width: 3px; border-left-style: solid; }
body.ih-hud .card-accent-red,
body.ih-hud .card-accent-pomegranate   { border-left-color: var(--ih-red); }
body.ih-hud .card-accent-green,
body.ih-hud .card-accent-emerald       { border-left-color: #2bd94a; }
body.ih-hud .card-accent-blue,
body.ih-hud .card-accent-teal,
body.ih-hud .card-accent-midnight-blue { border-left-color: var(--ih-cyan); }
body.ih-hud .card-accent-gold,
body.ih-hud .card-accent-sun-flower    { border-left-color: #f0b429; }
body.ih-hud .card-accent-asbestos      { border-left-color: var(--ih-faint); }

/* Quick action icon tiles (homepage/client links pattern) */
body.ih-hud .action-icon-btns a {
  display: block;
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip-sm);
  color: var(--ih-text);
  text-align: center;
  padding: 18px 10px;
  font-family: var(--ih-font-display);
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  font-size: .82rem;
  transition: border-color .15s ease, color .15s ease;
}
body.ih-hud .action-icon-btns a:hover { border-color: var(--ih-red); color: #fff; }
body.ih-hud .action-icon-btns .ico-container { margin-bottom: 10px; }
body.ih-hud .action-icon-btns .ico-container i { font-size: 1.6rem; color: var(--ih-cyan); }

/* ----------------------------------------------------------------------------
   [3.1] LOGIN / REGISTER / PASSWORD
   ---------------------------------------------------------------------------- */
body.ih-hud .seo-hidden-h1 {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
body.ih-hud .login-form .card,
body.ih-hud .card.mw-540 {
  border-top: 2px solid var(--ih-red);
}
body.ih-hud .input-group-merge .form-control { border-left: 0; }
body.ih-hud .btn-reveal-pw { border: 1px solid var(--ih-line); background: var(--ih-panel2); color: var(--ih-dim); }
body.ih-hud .providerLinkingFeedback { color: var(--ih-dim); }

/* password strength meter */
body.ih-hud .progress { background: var(--ih-bg); border: 1px solid var(--ih-line); border-radius: 0; }
body.ih-hud .progress-bar { background-color: var(--ih-red); }
body.ih-hud .progress-bar.bg-success { background-color: #2bd94a !important; }
body.ih-hud .progress-bar.bg-warning { background-color: #f0b429 !important; }

/* ----------------------------------------------------------------------------
   [3.2] TABLES / DATATABLES (invoices, services, domains, tickets lists)
   ---------------------------------------------------------------------------- */
body.ih-hud .table-container { background: transparent; }
body.ih-hud .dataTables_wrapper .dataTables_length select,
body.ih-hud .dataTables_wrapper .dataTables_filter input {
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
  color: var(--ih-text);
  border-radius: 0;
}
body.ih-hud .dataTables_wrapper .dataTables_info,
body.ih-hud .dataTables_wrapper .dataTables_length,
body.ih-hud .dataTables_wrapper .dataTables_filter label {
  color: var(--ih-dim);
  font-family: var(--ih-font-mono);
  font-size: .78rem;
  letter-spacing: .06em;
}
body.ih-hud table.dataTable tbody tr { background: transparent; }
body.ih-hud table.dataTable.no-footer { border-bottom: 1px solid var(--ih-line); }

/* Status labels used across services/invoices/tickets */
body.ih-hud .label, body.ih-hud .status {
  border-radius: 0;
  font-family: var(--ih-font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.ih-hud .status-active,   body.ih-hud .label-success { background: rgba(43,217,74,.15); color: #7ce89a; border: 1px solid rgba(43,217,74,.5); }
body.ih-hud .status-pending,  body.ih-hud .label-warning { background: rgba(240,180,41,.14); color: #f5d78e; border: 1px solid rgba(240,180,41,.5); }
body.ih-hud .status-suspended, body.ih-hud .status-overdue,
body.ih-hud .label-danger    { background: rgba(255,3,3,.14); color: #ffb3b3; border: 1px solid rgba(255,3,3,.55); }
body.ih-hud .status-cancelled, body.ih-hud .status-terminated,
body.ih-hud .status-expired, body.ih-hud .label-default { background: rgba(92,104,115,.2); color: var(--ih-dim); border: 1px solid var(--ih-line); }
body.ih-hud .status-open,     body.ih-hud .label-info    { background: rgba(0,217,255,.12); color: #a8ecf9; border: 1px solid rgba(0,217,255,.5); }

/* ----------------------------------------------------------------------------
   [3.3] SUPPORT — TICKETS / KNOWLEDGEBASE / DOWNLOADS / STATUS / CONTACT
   ---------------------------------------------------------------------------- */
body.ih-hud .ticket-reply,
body.ih-hud .message {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  clip-path: var(--ih-clip);
}
body.ih-hud .ticket-reply .card-header { background: var(--ih-bg); }
body.ih-hud .ticket-reply.staff { border-left: 3px solid var(--ih-red); }
body.ih-hud .ticket-reply.client { border-left: 3px solid var(--ih-cyan); }
body.ih-hud .attachments-list a { color: var(--ih-cyan); }

body.ih-hud .kb-article-title a { color: #fff; }
body.ih-hud .kb-article-title a:hover { color: var(--ih-cyan); }
body.ih-hud .kbrating i { color: #f0b429; }
body.ih-hud .search-kb-bar,
body.ih-hud .kb-search {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  clip-path: var(--ih-clip);
  padding: 22px;
}

body.ih-hud .server-status-icon i.text-success { color: #2bd94a !important; }
body.ih-hud .server-status-icon i.text-danger { color: var(--ih-red) !important; }

/* ----------------------------------------------------------------------------
   [3.4] STORE / CART / ORDER FLOW
   Cart pages render inside the same header/footer, so these apply even where
   markup ships from WHMCS core order-form templates.
   ---------------------------------------------------------------------------- */
body.ih-hud .products .product,
body.ih-hud .product-info,
body.ih-hud #order-standard_cart .product {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  border-radius: 0;
  clip-path: var(--ih-clip);
  color: var(--ih-text);
}
body.ih-hud #order-standard_cart .card,
body.ih-hud #order-standard_cart .sidebar-summary,
body.ih-hud #order-standard_cart .view-cart-items-header,
body.ih-hud #order-standard_cart .summary-container {
  background: var(--ih-panel);
  border-color: var(--ih-line);
  border-radius: 0;
  color: var(--ih-text);
}
body.ih-hud #order-standard_cart .view-cart-items .item { border-color: var(--ih-line); }
body.ih-hud #order-standard_cart .pricing-info .price,
body.ih-hud .product .price, body.ih-hud .pricing .price {
  font-family: var(--ih-font-mono);
  color: var(--ih-cyan);
}
body.ih-hud #order-standard_cart .order-summary,
body.ih-hud .order-summary {
  background: var(--ih-bg);
  border: 1px solid var(--ih-line);
}
body.ih-hud .promo-container, body.ih-hud #order-standard_cart .promotion-code {
  background: var(--ih-bg);
  border: 1px dashed var(--ih-line);
}
body.ih-hud .cycle-options .btn, body.ih-hud .billing-cycles .btn { clip-path: none; }

/* Store landing (store.css pages) — soften bright surfaces onto the HUD */
body.ih-hud #main-body .bg-white,
body.ih-hud #main-body .bg-light { background: var(--ih-panel) !important; color: var(--ih-text); }
body.ih-hud #main-body .text-dark { color: var(--ih-text) !important; }

/* ----------------------------------------------------------------------------
   [3.5] INVOICES / PAYMENT
   ---------------------------------------------------------------------------- */
body.ih-hud .invoice-container {
  background: var(--ih-panel);
  border: 1px solid var(--ih-line);
  color: var(--ih-text);
}
body.ih-hud .invoice-status .paid     { color: #2bd94a; }
body.ih-hud .invoice-status .unpaid   { color: var(--ih-red); }
body.ih-hud .invoice-status .overdue  { color: var(--ih-red); }
body.ih-hud .invoice-status .refunded { color: var(--ih-cyan); }
body.ih-hud .payment-btn-container .btn { min-width: 180px; }
body.ih-hud .small-font, body.ih-hud .invoice-header { color: var(--ih-dim); }

/* ----------------------------------------------------------------------------
   [3.6] MISC INHERITED WIDGETS
   ---------------------------------------------------------------------------- */
body.ih-hud .tooltip-inner { background: var(--ih-panel2); border: 1px solid var(--ih-line); color: var(--ih-text); border-radius: 0; }
body.ih-hud .popover { background: var(--ih-panel); border: 1px solid var(--ih-line); border-radius: 0; color: var(--ih-text); }
body.ih-hud .popover-header { background: var(--ih-bg); border-bottom: 1px solid var(--ih-line); color: #fff; }
body.ih-hud .dropdown-menu { background: var(--ih-panel); border: 1px solid var(--ih-line); border-radius: 0; }
body.ih-hud .dropdown-menu .dropdown-item { color: var(--ih-text); }
body.ih-hud .dropdown-menu .dropdown-item:hover { background: var(--ih-panel2); color: var(--ih-cyan); }
body.ih-hud .custom-control-label::before { background: var(--ih-bg); border: 1px solid var(--ih-line); border-radius: 0; }
body.ih-hud .custom-control-input:checked ~ .custom-control-label::before { background: var(--ih-red); border-color: var(--ih-red); }
body.ih-hud .custom-checkbox .custom-control-label::before { border-radius: 0; }
body.ih-hud .close { color: var(--ih-dim); text-shadow: none; }
body.ih-hud .text-primary { color: var(--ih-cyan) !important; }
body.ih-hud a.text-primary:hover { color: #fff !important; }
body.ih-hud .border, body.ih-hud .border-top, body.ih-hud .border-bottom,
body.ih-hud .border-left, body.ih-hud .border-right { border-color: var(--ih-line) !important; }

/* Panel include (includes/panel.tpl) + flash messages */
body.ih-hud .flash-message .alert { margin-bottom: 20px; }

/* Print safety: invoices print light */
@media print {
  body.ih-hud { background: #fff; color: #000; }
  body.ih-hud .card, body.ih-hud .invoice-container { background: #fff; border-color: #ccc; color: #000; clip-path: none; }
}
