/* ION77 — Cosmic Saints / Planetary theme
   Primary magenta: #e6008d | Pink: #ff4fb3
*/
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&family=Outfit:wght@400;500;600;700&display=swap");

:root {
  --bl77-bg: #030e15;
  --bl77-surface: #0b1b26;
  --bl77-surface-alt: #102939;
  --bl77-purple: #2084c6;
  --bl77-purple-light: #6fb2df;
  --bl77-purple-dark: #186090;
  --bl77-gold: #6fb2df;
  --bl77-yellow: #8cc2e6;
  --bl77-gold-dark: #1b70a9;
  --bl77-text: #fff1fa;
  --bl77-text-muted: #adc4d3;
  --bl77-border: #193c54;
  --bl77-danger: #347eaf;
  --bl77-success: #2d6d97;
  --bl77-font-display: "Cinzel", "Times New Roman", serif;
  --bl77-font-body: "Outfit", "Segoe UI", sans-serif;

  --kc-navy: var(--bl77-bg);
  --kc-blue: var(--bl77-purple-dark);
  --kc-royal: var(--bl77-purple);
  --kc-cyan: var(--bl77-purple-light);
  --kc-purple: var(--bl77-purple);
  --kc-gold: var(--bl77-gold);
  --kc-gold-dark: var(--bl77-gold-dark);
  --kc-white: #ffffff;
  --kc-muted: var(--bl77-text-muted);
  --kc-text: var(--bl77-text);
}

html {
  background: var(--bl77-bg) !important;
  scroll-behavior: smooth;
}

body {
  color: var(--bl77-text) !important;
  font-family: var(--bl77-font-body) !important;
  background:
    radial-gradient(
      ellipse 80% 50% at 50% -10%,
      rgba(32, 132, 198, 0.28),
      transparent 55%
    ),
    radial-gradient(
      circle at 85% 20%,
      rgba(111, 178, 223, 0.08),
      transparent 28%
    ),
    radial-gradient(
      circle at 10% 70%,
      rgba(111, 178, 223, 0.14),
      transparent 35%
    ),
    linear-gradient(165deg, #030a0f 0%, #030e15 35%, #102939 65%, #030e15 100%) !important;
  background-attachment: fixed !important;
  overflow-x: hidden;
}

/* ─── Cosmic Saints Hero ─── */
.bl77-cosmos {
  position: relative;
  isolation: isolate;
  min-height: min(78vh, 640px);
  display: grid;
  place-items: center;
  overflow: hidden;
  margin: 0;
  padding: clamp(3.5rem, 7vh, 5rem) 1.25rem 2.5rem;
  border-bottom: 1px solid rgba(111, 178, 223, 0.18);
}

.bl77-cosmos__sky {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(
      ellipse 90% 70% at 50% 110%,
      rgba(24, 96, 144, 0.45),
      transparent 55%
    ),
    radial-gradient(circle at 50% 45%, rgba(32, 132, 198, 0.12), transparent 42%);
}

.bl77-cosmos__stars {
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(
      1.5px 1.5px at 8% 18%,
      rgba(255, 255, 255, 0.9),
      transparent
    ),
    radial-gradient(1px 1px at 22% 42%, rgba(111, 178, 223, 0.85), transparent),
    radial-gradient(
      1.5px 1.5px at 35% 12%,
      rgba(255, 255, 255, 0.7),
      transparent
    ),
    radial-gradient(1px 1px at 48% 28%, rgba(111, 178, 223, 0.9), transparent),
    radial-gradient(2px 2px at 62% 8%, rgba(255, 255, 255, 0.95), transparent),
    radial-gradient(1px 1px at 74% 36%, rgba(111, 178, 223, 0.7), transparent),
    radial-gradient(
      1.5px 1.5px at 88% 16%,
      rgba(255, 255, 255, 0.8),
      transparent
    ),
    radial-gradient(1px 1px at 12% 68%, rgba(255, 255, 255, 0.6), transparent),
    radial-gradient(
      1.5px 1.5px at 28% 82%,
      rgba(111, 178, 223, 0.75),
      transparent
    ),
    radial-gradient(1px 1px at 55% 74%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(2px 2px at 78% 66%, rgba(111, 178, 223, 0.85), transparent),
    radial-gradient(1px 1px at 92% 88%, rgba(255, 255, 255, 0.65), transparent),
    radial-gradient(1px 1px at 41% 55%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(
      1.5px 1.5px at 67% 48%,
      rgba(111, 178, 223, 0.55),
      transparent
    );
  animation: bl77-twinkle 4.5s ease-in-out infinite alternate;
}

.bl77-cosmos__nebula {
  position: absolute;
  border-radius: 50%;
  filter: blur(48px);
  opacity: 0.55;
  mix-blend-mode: screen;
}

.bl77-cosmos__nebula--a {
  width: min(70vw, 520px);
  height: min(70vw, 520px);
  top: -8%;
  right: -12%;
  background: radial-gradient(circle, rgba(32, 132, 198, 0.55), transparent 68%);
  animation: bl77-drift 18s ease-in-out infinite alternate;
}

.bl77-cosmos__nebula--b {
  width: min(55vw, 420px);
  height: min(55vw, 420px);
  bottom: 5%;
  left: -10%;
  background: radial-gradient(
    circle,
    rgba(111, 178, 223, 0.22),
    transparent 70%
  );
  animation: bl77-drift 22s ease-in-out infinite alternate-reverse;
}

.bl77-cosmos__rays {
  position: absolute;
  inset: -20%;
  background: conic-gradient(
    from 200deg at 50% 55%,
    transparent 0deg,
    rgba(111, 178, 223, 0.04) 18deg,
    transparent 36deg,
    rgba(32, 132, 198, 0.07) 72deg,
    transparent 100deg,
    rgba(111, 178, 223, 0.05) 140deg,
    transparent 175deg,
    rgba(111, 178, 223, 0.06) 220deg,
    transparent 260deg,
    rgba(111, 178, 223, 0.04) 300deg,
    transparent 360deg
  );
  animation: bl77-spin-slow 80s linear infinite;
  opacity: 0.85;
}

.bl77-sun {
  position: absolute;
  left: 50%;
  top: 46%;
  width: clamp(40px, 7vw, 64px);
  height: clamp(40px, 7vw, 64px);
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(
      circle at 35% 30%,
      #e5edf2 0%,
      var(--bl77-gold) 28%,
      #19689c 55%,
      transparent 72%
    ),
    radial-gradient(circle, rgba(32, 132, 198, 0.5), transparent 70%);
  box-shadow:
    0 0 24px rgba(111, 178, 223, 0.4),
    0 0 52px rgba(32, 132, 198, 0.3),
    0 0 80px rgba(111, 178, 223, 0.12);
  animation: bl77-pulse-sun 5s ease-in-out infinite;
  z-index: 1;
}

.bl77-orbit {
  position: absolute;
  left: 50%;
  top: 46%;
  border: 1px solid rgba(111, 178, 223, 0.12);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.bl77-orbit--1 {
  width: min(28vw, 180px);
  height: min(28vw, 180px);
  animation: bl77-orbit-spin 14s linear infinite;
}

.bl77-orbit--2 {
  width: min(40vw, 260px);
  height: min(40vw, 260px);
  animation: bl77-orbit-spin 22s linear infinite reverse;
  border-color: rgba(32, 132, 198, 0.18);
}

.bl77-orbit--3 {
  width: min(52vw, 340px);
  height: min(52vw, 340px);
  animation: bl77-orbit-spin 32s linear infinite;
  border-color: rgba(111, 178, 223, 0.12);
}

.bl77-orbit--4 {
  width: min(64vw, 420px);
  height: min(64vw, 420px);
  animation: bl77-orbit-spin 44s linear infinite reverse;
  border-color: rgba(111, 178, 223, 0.08);
}

.bl77-orbit--5 {
  width: min(76vw, 500px);
  height: min(76vw, 500px);
  animation: bl77-orbit-spin 56s linear infinite;
  border-color: rgba(32, 132, 198, 0.1);
}

.bl77-orbit--6 {
  width: min(88vw, 580px);
  height: min(88vw, 580px);
  animation: bl77-orbit-spin 70s linear infinite reverse;
  border-color: rgba(111, 178, 223, 0.07);
}

.bl77-orbit--7 {
  width: min(100vw, 660px);
  height: min(100vw, 660px);
  animation: bl77-orbit-spin 88s linear infinite;
  border-color: rgba(111, 178, 223, 0.08);
}

.bl77-planet {
  position: absolute;
  top: 0;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: inset -6px -4px 12px rgba(0, 0, 0, 0.45);
}

.bl77-planet--violet {
  width: 12px;
  height: 12px;
  background: radial-gradient(
    circle at 30% 28%,
    #d6e6f0,
    var(--bl77-purple) 55%,
    #114669
  );
  box-shadow:
    inset -4px -3px 8px rgba(0, 0, 0, 0.45),
    0 0 10px rgba(32, 132, 198, 0.7);
}

.bl77-planet--gold {
  width: 9px;
  height: 9px;
  background: radial-gradient(
    circle at 30% 28%,
    #e0e9ef,
    var(--bl77-gold) 50%,
    #155783
  );
  box-shadow:
    inset -3px -2px 6px rgba(0, 0, 0, 0.4),
    0 0 9px rgba(111, 178, 223, 0.65);
}

.bl77-planet--rose {
  width: 14px;
  height: 14px;
  background: radial-gradient(circle at 32% 30%, #d2e3ef, #6fb2df 48%, #186090);
  box-shadow:
    inset -5px -3px 10px rgba(0, 0, 0, 0.45),
    0 0 12px rgba(111, 178, 223, 0.6);
}

.bl77-planet--cyan {
  width: 8px;
  height: 8px;
  background: radial-gradient(circle at 30% 28%, #e2ebf1, #91c5e7 50%, #215070);
  box-shadow:
    inset -2px -2px 4px rgba(0, 0, 0, 0.4),
    0 0 8px rgba(111, 178, 223, 0.55);
}

.bl77-planet--amber {
  width: 11px;
  height: 11px;
  background: radial-gradient(circle at 30% 28%, #e0e9ef, #7cb9e2 52%, #155783);
  box-shadow:
    inset -3px -2px 7px rgba(0, 0, 0, 0.4),
    0 0 11px rgba(111, 178, 223, 0.55);
}

.bl77-planet--indigo {
  width: 7px;
  height: 7px;
  background: radial-gradient(circle at 28% 26%, #e0e9ef, #1e7cbb 55%, #163951);
  box-shadow:
    inset -2px -2px 5px rgba(0, 0, 0, 0.45),
    0 0 9px rgba(30, 124, 187, 0.65);
}

.bl77-planet--mint {
  width: 10px;
  height: 10px;
  background: radial-gradient(circle at 30% 28%, #e6edf2, #6fb2df 48%, #215070);
  box-shadow:
    inset -3px -2px 6px rgba(0, 0, 0, 0.4),
    0 0 10px rgba(111, 178, 223, 0.5);
}

.bl77-cosmos__inner {
  position: relative;
  z-index: 5;
  width: min(560px, 100%);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  animation: bl77-rise 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.bl77-cosmos__logo {
  width: min(180px, 48vw);
  height: auto;
  filter: drop-shadow(0 0 16px rgba(111, 178, 223, 0.3));
  animation: bl77-logo-glow 3.2s ease-in-out infinite alternate;
}

.bl77-cosmos__tagline {
  margin: 0.15rem 0 0;
  font-family: var(--bl77-font-display);
  font-size: clamp(0.62rem, 1.3vw, 0.72rem);
  font-weight: 500;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--bl77-gold);
  text-shadow: 0 0 14px rgba(111, 178, 223, 0.3);
}

.bl77-cosmos__brand {
  margin: 0;
  font-family: var(--bl77-font-display);
  font-weight: 900;
  font-size: clamp(1.7rem, 5.2vw, 2.75rem);
  line-height: 1;
  letter-spacing: 0.05em;
  color: #fff;
  background: linear-gradient(
    180deg,
    #ffffff 10%,
    var(--bl77-yellow) 45%,
    var(--bl77-gold) 70%,
    #1b70a9 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 4px 16px rgba(32, 132, 198, 0.4));
}

.bl77-cosmos__lead {
  margin: 0.15rem 0 0.35rem;
  max-width: 26rem;
  font-size: clamp(0.82rem, 1.8vw, 0.95rem);
  font-weight: 400;
  line-height: 1.5;
  color: var(--bl77-text-muted);
}

.bl77-cosmos__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-top: 0.6rem;
}

.bl77-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 124px;
  padding: 0.7rem 1.2rem;
  font-family: var(--bl77-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  border-radius: 2px;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}

.bl77-btn--gold {
  color: #051520 !important;
  background: linear-gradient(
    135deg,
    var(--bl77-yellow),
    var(--bl77-gold) 45%,
    var(--bl77-gold-dark)
  );
  box-shadow:
    0 0 0 1px rgba(111, 178, 223, 0.5),
    0 8px 28px rgba(111, 178, 223, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.bl77-btn--gold:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(111, 178, 223, 0.7),
    0 12px 36px rgba(111, 178, 223, 0.4),
    0 0 40px rgba(32, 132, 198, 0.25);
}

.bl77-btn--ghost {
  color: var(--bl77-gold) !important;
  background: rgba(3, 14, 21, 0.55);
  border: 1px solid rgba(111, 178, 223, 0.45);
  backdrop-filter: blur(8px);
  box-shadow: 0 0 24px rgba(32, 132, 198, 0.2);
}

.bl77-btn--ghost:hover {
  transform: translateY(-2px);
  background: rgba(32, 132, 198, 0.22);
  border-color: var(--bl77-gold);
  color: #fff !important;
}

/* ─── Motion ─── */
@keyframes bl77-twinkle {
  from {
    opacity: 0.55;
  }
  to {
    opacity: 1;
  }
}

@keyframes bl77-drift {
  from {
    transform: translate(0, 0) scale(1);
  }
  to {
    transform: translate(-24px, 18px) scale(1.08);
  }
}

@keyframes bl77-spin-slow {
  to {
    transform: rotate(360deg);
  }
}

@keyframes bl77-orbit-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

@keyframes bl77-pulse-sun {
  0%,
  100% {
    box-shadow:
      0 0 40px rgba(111, 178, 223, 0.45),
      0 0 90px rgba(32, 132, 198, 0.35),
      0 0 140px rgba(111, 178, 223, 0.15);
  }
  50% {
    box-shadow:
      0 0 55px rgba(111, 178, 223, 0.6),
      0 0 120px rgba(32, 132, 198, 0.5),
      0 0 180px rgba(111, 178, 223, 0.22);
  }
}

@keyframes bl77-logo-glow {
  from {
    filter: drop-shadow(0 0 14px rgba(111, 178, 223, 0.25));
  }
  to {
    filter: drop-shadow(0 0 28px rgba(111, 178, 223, 0.5));
  }
}

@keyframes bl77-rise {
  from {
    opacity: 0;
    transform: translateY(28px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bl77-cosmos__stars,
  .bl77-cosmos__nebula,
  .bl77-cosmos__rays,
  .bl77-orbit,
  .bl77-sun,
  .bl77-cosmos__logo,
  .bl77-cosmos__inner {
    animation: none !important;
  }
}

/* ─── GNB / Chrome overrides ─── */
.nv00-gnb-v4,
.nv00-gnb-v4__wrap,
header.nv00-gnb-v4,
.nv00-gnb-v4__header {
  background: linear-gradient(
    180deg,
    rgba(3, 14, 21, 0.96),
    rgba(3, 14, 21, 0.92)
  ) !important;
  backdrop-filter: blur(16px);
  border-bottom: none !important;
  box-shadow: none !important;
}

.nv00-gnb-v4__inner {
  max-width: 1180px;
  margin: 0 auto;
}

.nv00-gnb-v4__logo,
.nv00-gnb-v4__logo img {
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  text-decoration: none !important;
}

.nv00-gnb-v4__logo img {
  width: auto !important;
  max-height: 44px !important;
  filter: none !important;
}

.nv00-gnb-v4__header::after,
.nv00-gnb-v4__wrap::after,
.nv00-gnb-v4::after {
  display: none !important;
  content: none !important;
}

.nv00-gnb-v4__l0-menu-text,
.nv00-gnb-v4__l0-menu-btn,
.nv00-gnb-v4__utility,
.nv00-gnb-v4 a,
.nv00-gnb-v4 span,
.nv00-gnb-v4 button {
  color: var(--bl77-text) !important;
  fill: var(--bl77-text) !important;
  font-family: var(--bl77-font-display), var(--bl77-font-body) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.nv00-gnb-v4__l0-menu-link:hover .nv00-gnb-v4__l0-menu-text,
.nv00-gnb-v4__l0-menu-text:hover,
.nv00-gnb-v4__l0-menu-btn:hover {
  color: var(--bl77-gold) !important;
}

.nv00-gnb-v4__l0-menu-list--right {
  align-items: center;
  gap: 8px;
}

.bl77-gnb-ghost {
  padding: 8px 12px !important;
  border: 1px solid rgba(111, 178, 223, 0.35) !important;
  background: rgba(111, 178, 223, 0.06) !important;
  color: var(--bl77-gold) !important;
}

.bl77-gnb-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 78px;
  padding: 8px 14px !important;
  border: 1px solid rgba(111, 178, 223, 0.5) !important;
  background: linear-gradient(135deg, #8cc2e6, #6fb2df 45%, #1b70a9) !important;
  color: #051520 !important;
  box-shadow: 0 4px 14px rgba(111, 178, 223, 0.25);
}

.bl77-gnb-cta .nv00-gnb-v4__l0-menu-text,
.bl77-gnb-cta span,
a.bl77-gnb-cta {
  color: #051520 !important;
  -webkit-text-fill-color: #051520 !important;
}

/* Hide Samsung cart — not relevant for slot landing */
.nv00-gnb-v4__utility-cart,
.js-global-cart-btn {
  display: none !important;
}

.nv00-gnb-v4__utility-search .icon,
.nv00-gnb-v4__utility-user .icon {
  opacity: 0.85;
}

.nv00-gnb-v4__utility:hover .icon {
  opacity: 1;
  filter: drop-shadow(0 0 6px rgba(111, 178, 223, 0.45));
}

/* Soften Samsung promo chrome into theme */
.pd-banner,
.pd-g-product-detail-offer-banner .pd-banner {
  display: none !important;
}

/* ─── Orbit Promo Banner (replaces Samsung offer strip) ─── */
.bl77-orbit-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: 1.35rem 1.25rem;
  border-bottom: 1px solid rgba(111, 178, 223, 0.22);
  background:
    radial-gradient(
      ellipse 60% 120% at 88% 50%,
      rgba(32, 132, 198, 0.28),
      transparent 55%
    ),
    radial-gradient(
      circle at 12% 50%,
      rgba(111, 178, 223, 0.08),
      transparent 35%
    ),
    linear-gradient(105deg, #030e15 0%, #102939 48%, #030e15 100%);
}

.bl77-orbit-banner__sky {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.bl77-orbit-banner__planet {
  position: absolute;
  border-radius: 50%;
}

.bl77-orbit-banner__planet--a {
  top: 18%;
  right: 18%;
  width: 42px;
  height: 42px;
  background: radial-gradient(
    circle at 32% 28%,
    #e0e9ef,
    var(--bl77-gold) 45%,
    #155783
  );
  box-shadow: 0 0 28px rgba(111, 178, 223, 0.45);
  animation: bl77-banner-float 5s ease-in-out infinite;
}

.bl77-orbit-banner__planet--b {
  bottom: 16%;
  right: 32%;
  width: 16px;
  height: 16px;
  background: radial-gradient(
    circle at 30% 28%,
    #d6e6f0,
    var(--bl77-purple) 55%,
    #114669
  );
  box-shadow: 0 0 16px rgba(32, 132, 198, 0.6);
  animation: bl77-banner-float 6.5s ease-in-out infinite reverse;
}

.bl77-orbit-banner__ring {
  position: absolute;
  top: 50%;
  right: 14%;
  width: 110px;
  height: 110px;
  border: 1px solid rgba(111, 178, 223, 0.2);
  border-radius: 50%;
  transform: translateY(-50%);
  animation: bl77-spin-slow 40s linear infinite;
}

.bl77-orbit-banner__ring::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  background: var(--bl77-purple-light);
  box-shadow: 0 0 10px rgba(111, 178, 223, 0.7);
}

.bl77-orbit-banner__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.bl77-orbit-banner__copy {
  flex: 1 1 280px;
  min-width: 0;
}

.bl77-orbit-banner__eyebrow {
  margin: 0 0 0.35rem;
  font-family: var(--bl77-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bl77-gold);
}

.bl77-orbit-banner__title {
  margin: 0 0 0.4rem;
  font-family: var(--bl77-font-display);
  font-size: clamp(1.05rem, 2.4vw, 1.45rem);
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #fff;
}

.bl77-orbit-banner__lead {
  margin: 0 0 0.7rem;
  max-width: 36rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--bl77-text-muted);
}

.bl77-orbit-banner__perks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bl77-orbit-banner__perks li {
  padding: 0.35rem 0.7rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff1fa;
  border: 1px solid rgba(111, 178, 223, 0.35);
  background: rgba(111, 178, 223, 0.08);
}

.bl77-orbit-banner__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
  flex: 0 0 auto;
}

.bl77-orbit-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  padding: 0.75rem 1.25rem;
  font-family: var(--bl77-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #051520 !important;
  background: linear-gradient(
    135deg,
    var(--bl77-yellow),
    var(--bl77-gold) 45%,
    var(--bl77-gold-dark)
  );
  border: 1px solid rgba(111, 178, 223, 0.55);
  box-shadow: 0 8px 22px rgba(111, 178, 223, 0.25);
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.bl77-orbit-banner__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(111, 178, 223, 0.35);
}

.bl77-orbit-banner__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 0.75rem 1.15rem;
  font-family: var(--bl77-font-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--bl77-gold) !important;
  border: 1px solid rgba(111, 178, 223, 0.4);
  background: rgba(3, 14, 21, 0.45);
  transition:
    background 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease;
}

.bl77-orbit-banner__link:hover {
  transform: translateY(-2px);
  color: #fff !important;
  background: rgba(32, 132, 198, 0.25);
}

@keyframes bl77-banner-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

@media (max-width: 767px) {
  .bl77-orbit-banner {
    padding: 1.15rem 1rem 1.25rem;
  }

  .bl77-orbit-banner__planet--a,
  .bl77-orbit-banner__ring {
    opacity: 0.45;
  }

  .bl77-orbit-banner__actions {
    width: 100%;
  }

  .bl77-orbit-banner__cta,
  .bl77-orbit-banner__link {
    flex: 1 1 40%;
  }
}

.hdd02-pdp-header,
.pd-g-product-detail-header-ux2,
.st-page-pd,
.hdd02-gallery,
.hdd02-product-summary,
.cp-product,
[class*="pd-g-"] {
  background-color: transparent !important;
}

/* Hide Samsung price/anchor chrome that leaves a white strip under orbit banner */
.pd-g-product-promotion-bar,
#sgDevPriceAreaBase,
.sdf-component-templates,
.pdd39-anchor-nav__menu,
.pdd39-anchor-nav__header-dummy,
.pdd39-anchor-nav__price.pd-buying-price,
.pdd39-anchor-nav__bottom-wrap,
#anchorNavigationPriceBarMobile {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
}

.hdd02-pdp-header__buying-tool,
.sg-pdh-buying-tool {
  min-height: 0 !important;
  height: auto !important;
}

/* Hide empty Samsung scrollbar shells that leave blank space */
.scrollbar__wrap:empty,
.scrollbar__wrap:has(> .scrollbar__contents:empty),
.scrollbar__wrap:has(> .scrollbar__contents > ul:empty:only-child),
.scrollbar__wrap:has(> ul.scrollbar__contents:empty) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.eip-popup__tab--select-wrap .scrollbar__wrap,
.eip-popup__tab--table-wrap .scrollbar__wrap {
  height: auto !important;
  max-height: none !important;
}

.eip-popup__tab--select-wrap .scrollbar__wrap:has(ul:empty),
.eip-popup__tab--table-wrap .scrollbar__wrap:has(.scrollbar__contents:empty) {
  display: none !important;
  height: 0 !important;
}

.pd-g-manufacturer-info-popup:has(.scrollbar__contents:empty),
.add-on__layer-learn-more:has(.add-on__learn-more-images:empty):has(
    .add-on__learn-more-content:empty
  ),
.upgrade-learn-more-popup:has(.upgrade-learn-more-popup__content-wrap:empty) {
  display: none !important;
}

.hdd02-gallery__image,
.hdd02-gallery__item .image {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 40px rgba(32, 132, 198, 0.2);
}

.hdd02-gallery__image img,
.image__main {
  filter: drop-shadow(0 12px 40px rgba(24, 96, 144, 0.35));
}

/* CTA / buy buttons → gold saints accent */
.cta--contained,
.cta--black,
.cta.cta--contained,
button.cta--contained,
a.cta--contained {
  background: linear-gradient(
    135deg,
    var(--bl77-purple),
    var(--bl77-purple-dark)
  ) !important;
  color: #fff !important;
  border: 1px solid rgba(111, 178, 223, 0.35) !important;
  box-shadow: 0 0 20px rgba(32, 132, 198, 0.35) !important;
}

.cta--contained:hover,
.cta--black:hover {
  background: linear-gradient(
    135deg,
    var(--bl77-gold),
    var(--bl77-gold-dark)
  ) !important;
  color: #051520 !important;
}

/* Text / headings */
h1,
h2,
h3,
h4,
.headline,
.pd-info__title,
strong {
  font-family: var(--bl77-font-display), var(--bl77-font-body) !important;
}

.st-page-pd,
#content {
  color: var(--bl77-text);
}

/* Footer — cosmic saints shell */
footer.footer,
.footer .footer-column,
.footer .footer-bottom {
  display: none !important;
}

.bl77-cosmos-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: 2.5rem 1.25rem 1.5rem;
  border-top: 1px solid rgba(111, 178, 223, 0.22) !important;
  background:
    radial-gradient(
      ellipse 70% 80% at 15% 0%,
      rgba(32, 132, 198, 0.22),
      transparent 50%
    ),
    radial-gradient(
      circle at 90% 80%,
      rgba(111, 178, 223, 0.06),
      transparent 30%
    ),
    linear-gradient(180deg, #030e15 0%, #030e15 100%) !important;
  color: var(--bl77-text-muted) !important;
}

.bl77-cosmos-footer__sky {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.bl77-cosmos-footer__orb {
  position: absolute;
  border-radius: 50%;
  opacity: 0.7;
}

.bl77-cosmos-footer__orb--a {
  top: 20%;
  right: 10%;
  width: 10px;
  height: 10px;
  background: var(--bl77-gold);
  box-shadow: 0 0 14px rgba(111, 178, 223, 0.55);
}

.bl77-cosmos-footer__orb--b {
  bottom: 28%;
  left: 8%;
  width: 7px;
  height: 7px;
  background: var(--bl77-purple-light);
  box-shadow: 0 0 12px rgba(111, 178, 223, 0.55);
}

.bl77-cosmos-footer__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.6fr);
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto 1.75rem;
}

.bl77-cosmos-footer__eyebrow {
  margin: 0 0 0.4rem;
  font-family: var(--bl77-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bl77-gold);
}

.bl77-cosmos-footer__logo {
  display: block;
  margin-bottom: 0.55rem;
  font-family: var(--bl77-font-display);
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  font-weight: 900;
  letter-spacing: 0.06em;
  background: linear-gradient(180deg, #fff 10%, #8cc2e6 50%, #6fb2df 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.bl77-cosmos-footer__tagline {
  margin: 0;
  max-width: 22rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--bl77-text-muted);
  font-weight: 400;
  font-family: var(--bl77-font-body) !important;
}

.bl77-cosmos-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.bl77-cosmos-footer__col h3 {
  margin: 0 0 0.75rem;
  font-family: var(--bl77-font-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bl77-gold) !important;
}

.bl77-cosmos-footer__col a {
  display: block;
  margin: 0 0 0.45rem;
  font-family: var(--bl77-font-body);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--bl77-text-muted) !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

.bl77-cosmos-footer__col a:hover {
  color: #fff !important;
}

.bl77-cosmos-footer__bottom {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(32, 132, 198, 0.25);
  font-size: 0.75rem;
  color: var(--bl77-text-muted);
}

.bl77-cosmos-footer__bottom p {
  margin: 0;
  font-family: var(--bl77-font-body) !important;
  font-weight: 400;
}

.bl77-cosmos-footer__meta {
  color: rgba(111, 178, 223, 0.65);
}

.ION77-footer-shell {
  max-width: 1000px !important;
  margin: 1.5rem auto 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid rgba(111, 178, 223, 0.25) !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ─── Slim bl77 nav (replaces Samsung GNB) ─── */
.bl77-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(111, 178, 223, 0.14);
  background: linear-gradient(
    180deg,
    rgba(3, 14, 21, 0.97),
    rgba(3, 14, 21, 0.94)
  );
  backdrop-filter: blur(16px);
}

.bl77-nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.7rem 1.15rem;
}

.bl77-nav__logo img {
  display: block;
  width: auto;
  max-height: 42px;
}

.bl77-nav__links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem 0.85rem;
  flex: 1;
}

.bl77-nav__links a {
  font-family: var(--bl77-font-display);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: var(--bl77-text) !important;
  transition: color 0.2s ease;
}

.bl77-nav__links a:hover {
  color: var(--bl77-gold) !important;
}

.bl77-nav__cta {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-shrink: 0;
}

.bl77-nav__ghost,
.bl77-nav__gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  padding: 0.45rem 0.85rem;
  border-radius: 0;
  font-family: var(--bl77-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.bl77-nav__ghost {
  border: 1px solid rgba(111, 178, 223, 0.35);
  background: rgba(111, 178, 223, 0.06);
  color: var(--bl77-gold) !important;
}

.bl77-nav__gold {
  border: 1px solid rgba(111, 178, 223, 0.5);
  background: linear-gradient(135deg, #8cc2e6, #6fb2df 45%, #1b70a9);
  color: #051520 !important;
  box-shadow: 0 4px 14px rgba(111, 178, 223, 0.25);
}

/* ─── Article wrap + info cards ─── */
.bl77-article-wrap {
  max-width: 1000px;
  margin: 0 auto;
  padding: 2rem 1.25rem 0.5rem;
}

.bl77-article-wrap > h1 {
  margin: 0 0 0.75rem;
  text-align: center;
  font-family: var(--bl77-font-display);
  font-size: clamp(1.25rem, 3.2vw, 1.85rem);
  font-weight: 800;
  line-height: 1.35;
  color: #fff !important;
}

.bl77-article-wrap .gold-divider {
  width: min(180px, 40%);
  height: 2px;
  margin: 0 auto 1.35rem;
  background: linear-gradient(90deg, transparent, #6fb2df, transparent);
  box-shadow: 0 0 12px rgba(111, 178, 223, 0.45);
}

.bl77-article-wrap .info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 1.25rem;
}

.bl77-article-wrap .info-card {
  padding: 1rem 0.65rem;
  text-align: center;
  border: 1px solid rgba(111, 178, 223, 0.28);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(32, 132, 198, 0.22), transparent 60%),
    linear-gradient(160deg, #030e15, #0b1b26);
}

.bl77-article-wrap .info-card .label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bl77-purple-light);
}

.bl77-article-wrap .info-card .value {
  margin-top: 0.4rem;
  font-family: var(--bl77-font-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--bl77-gold);
}

@media (max-width: 900px) {
  .bl77-nav__links {
    display: none;
  }

  .bl77-article-wrap .info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .bl77-cosmos {
    min-height: min(72svh, 560px);
    padding-top: 4rem;
    padding-bottom: 2rem;
  }

  .bl77-orbit--4 {
    opacity: 0.4;
  }

  .bl77-orbit--5,
  .bl77-orbit--6,
  .bl77-orbit--7 {
    opacity: 0.28;
  }

  .bl77-btn {
    min-width: 112px;
    padding: 0.65rem 1rem;
    font-size: 0.65rem;
  }

  .bl77-cosmos__lead {
    padding: 0 0.25rem;
  }

  .bl77-cosmos-footer__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .bl77-cosmos-footer__nav {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }

  .bl77-cosmos-footer__col:last-child {
    grid-column: 1 / -1;
  }
}