:root{
  --bg0:#050814;

  --panel: rgba(12,18,42,.55);
  --panel2: rgba(12,18,42,.86);

  --text: rgba(235,245,255,.92);
  --muted: rgba(190,210,255,.72);

  --stroke: 1px solid rgba(140,185,255,.18);
  --stroke2: 1px solid rgba(255,255,255,.10);

  --shadow: 0 22px 60px rgba(0,0,0,.55);

  --r-xl:22px;
  --r-lg:16px;
  --pill:999px;

  --cta:#fddc16;
  --ctaText: rgba(15,18,22,.95);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

/* =========================================================
   PAGE BASE (no stars/particles)
========================================================= */
body.rc-spacehud{
  margin:0;
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;

  background:
    radial-gradient(1100px 620px at 15% 0%, rgba(18,40,90,.55), transparent 68%),
    radial-gradient(900px 560px at 88% 8%, rgba(18,40,90,.45), transparent 66%),
    radial-gradient(900px 620px at 50% 112%, rgba(27,59,134,.40), transparent 70%),
    linear-gradient(180deg, var(--bg0) 0%, #0a1230 45%, rgba(18,40,90,.95) 100%);

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;

  min-height: 100vh;
}

/* =========================================================
   FULL-WIDTH HUD HEADER BAR (NO stars/particles)
========================================================= */
.rc-header{
  width: 100%;
  margin: 0;
  position: sticky;
  top: 0;
  z-index: 2000;

  border-bottom: var(--stroke);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(12,18,42,.45);

  box-shadow: 0 10px 40px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  overflow: visible;
}

/* ✅ Static soft glow only (no dots, no motion) */
.rc-header::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;

  background:
    radial-gradient(circle at 18% 22%, rgba(18,40,90,.30), transparent 58%),
    radial-gradient(circle at 82% 18%, rgba(27,59,134,.22), transparent 62%),
    radial-gradient(circle at 60% 86%, rgba(18,40,90,.18), transparent 62%);

  opacity:.75;
  clip-path: inset(0);
}

.rc-header-inner{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;

  max-width: 1180px;
  margin: 0 auto;

  padding: 10px 16px;
  min-height: 64px;
}

/* Logo */
.rc-brand{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.rc-logo{
  height: 54px;
  width: auto;
  display:block;
  object-fit: contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.45));
}
@media (min-width: 900px){ .rc-logo{ height: 66px; } }
@media (max-width: 420px){ .rc-logo{ height: 46px; } }

/* Desktop nav wrapper */
.rc-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* WP menu UL */
.rc-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.rc-menu > li{ margin:0; padding:0; position:relative; }
.rc-menu .sub-menu{ display:none; } /* portalized on desktop; overridden in no-portal mode */

/* Pills base */
.rc-link, .rc-dd-btn{
  text-decoration:none;
  color: rgba(235,245,255,.90);
  font-weight: 900;
  font-size: 12px;
  padding: 7px 10px;
  border-radius: var(--pill);
  border: 1px solid rgba(127,183,255,.20);
  background: rgba(127,183,255,.06);
  transition: .15s ease;
  letter-spacing:.02em;
  white-space:nowrap;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.rc-link:hover, .rc-dd-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.08);
}

/* Ensure WP menu anchors look like pills even BEFORE JS runs */
.rc-menu > li > a{
  text-decoration:none;
  color: rgba(235,245,255,.90);
  font-weight: 900;
  font-size: 12px;
  padding: 7px 10px;
  border-radius: var(--pill);
  border: 1px solid rgba(127,183,255,.20);
  background: rgba(127,183,255,.06);
  transition: .15s ease;
  letter-spacing:.02em;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.rc-menu > li > a:hover{
  transform: translateY(-1px);
  filter: brightness(1.08);
}

/* Active menu highlight */
.rc-menu .current-menu-item > .rc-link,
.rc-menu .current_page_item > .rc-link,
.rc-menu .current-menu-ancestor > .rc-dd-btn,
.rc-menu .current-menu-item > a,
.rc-menu .current_page_item > a{
  background: linear-gradient(180deg, rgba(253,220,22,1), rgba(253,220,22,.78));
  color: var(--ctaText);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 14px 30px rgba(253,220,22,.16);
}

.rc-caret{ opacity:.9; font-size:.9rem; transform: translateY(-1px); }

/* Mobile menu button */
.rc-menu-btn{
  display:none;
  align-items:center;
  gap:10px;
  border-radius: 14px;
  border: 1px solid rgba(127,183,255,.30);
  background: rgba(127,183,255,.08);
  color: rgba(235,245,255,.92);
  padding: 9px 10px;
  font-weight: 950;
  font-size: 12px;
  cursor:pointer;
  transition:.15s ease;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.rc-menu-btn:hover{ transform: translateY(-1px); filter: brightness(1.08); }
.rc-burger{
  width: 18px;
  height: 12px;
  display:grid;
  gap:3px;
}
.rc-burger span{
  height:2px;
  border-radius: 999px;
  background: rgba(235,245,255,.92);
  opacity:.92;
}

/* Mobile drawer */
.rc-mobile{
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 12px 14px 14px;
}
.rc-mobile-panel{
  border-radius: 18px;
  border: var(--stroke2);
  background: rgba(12,18,42,.55);
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
  padding: 12px;
  display:grid;
  gap:10px;
}

/* Mobile menu list */
.rc-mobile-menu{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:10px;
}
.rc-mobile-menu li{ margin:0; padding:0; }
.rc-mobile-menu .sub-menu{ display:none; } /* accordionized in JS */

.rc-mobile-link{
  text-decoration:none;
  color: rgba(235,245,255,.92);
  font-weight: 900;
  font-size: 12px;
  padding: 9px 10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(12,18,42,.30);
  transition:.15s ease;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.rc-mobile-link:hover{ transform: translateY(-1px); filter: brightness(1.06); }

.rc-acc{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  border-radius: 16px;
  overflow:hidden;
}
.rc-acc-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border:0;
  background: transparent;
  color: rgba(235,245,255,.92);
  font-weight: 950;
  font-size: 12px;
  cursor:pointer;
  text-align:left;
}
.rc-acc-body{ display:none; padding: 0 10px 10px; gap:8px; }
.rc-acc.open .rc-acc-body{ display:grid; }

@media (max-width: 980px){
  .rc-nav{ display:none; }
  .rc-menu-btn{ display:inline-flex; }
}

/* =========================================================
   PORTAL DROPDOWN MENU (desktop-only; JS controls display)
========================================================= */
.rc-portal-menu{
  position: fixed;
  min-width: 240px;
  max-width: min(320px, calc(100vw - 24px));
  border-radius: 16px;
  border: var(--stroke2);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(12,18,42,.90);
  box-shadow: 0 26px 80px rgba(0,0,0,.62);
  padding: 10px;
  z-index: 999999;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  overflow:hidden;
  display:none;
}

/* keep portal visuals static (no animated particles) */
.rc-portal-menu::before{
  content:"";
  position:absolute; inset:-25%;
  background:
    radial-gradient(circle at 18% 22%, rgba(18,40,90,.22), transparent 58%),
    radial-gradient(circle at 82% 18%, rgba(27,59,134,.18), transparent 62%);
  opacity:.55;
  pointer-events:none;
}
.rc-portal-menu > *{ position:relative; z-index:1; }

.rc-portal-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding: 9px 9px;
  border-radius: 14px;
  text-decoration:none;
  color: rgba(235,245,255,.92);
  font-weight: 900;
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  transition:.15s ease;
}
.rc-portal-item:hover{ transform: translateY(-1px); filter: brightness(1.06); }
.rc-portal-item small{
  opacity:.78;
  color: var(--muted);
  font-weight: 900;
  font-size: 11px;
}

/* =========================================================
   NO-PORTAL MODE (mobile + touch devices)
   - Use normal submenu dropdown instead of portals
========================================================= */

body.rc-no-portal .rc-menu .sub-menu{
  list-style:none;
  padding: 10px;
  margin: 0;
  min-width: 240px;

  border-radius: 16px;
  border: var(--stroke2);
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    rgba(12,18,42,.90);
  box-shadow: 0 26px 80px rgba(0,0,0,.62);

  position: absolute;
  top: calc(100% + 10px);
  left: 0;

  z-index: 9999;
  display: none;
}

body.rc-no-portal .rc-menu > li.menu-item-has-children:hover > .sub-menu,
body.rc-no-portal .rc-menu > li.menu-item-has-children:focus-within > .sub-menu{
  display: block;
}

body.rc-no-portal .rc-menu .sub-menu a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;

  padding: 9px 9px;
  border-radius: 14px;
  text-decoration:none;
  color: rgba(235,245,255,.92);
  font-weight: 900;
  font-size: 12px;

  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  transition:.15s ease;
}
body.rc-no-portal .rc-menu .sub-menu a:hover{
  transform: translateY(-1px);
  filter: brightness(1.06);
}

/* Hide portals entirely in no-portal mode */
body.rc-no-portal .rc-portal-menu{
  display: none !important;
}