/* REPUBLIK365 — Cosmic Saints / Planetary theme
   Primary purple: #8a35e1 | Gold: #f9d638
*/
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&amp;family=Outfit:wght@400;500;600;700&amp;display=swap");

:root {
  --oly-bg: #0a0614;
  --oly-surface: #1a1030;
  --oly-surface-alt: #2b1d45;
  --oly-purple: #8a35e1;
  --oly-purple-light: #a555e0;
  --oly-purple-dark: #5c1f9a;
  --oly-gold: #f9d638;
  --oly-yellow: #ffe066;
  --oly-gold-dark: #c9a820;
  --oly-text: #f6efff;
  --oly-text-muted: #b3a3cc;
  --oly-border: #3d2a5c;
  --oly-danger: #b5442e;
  --oly-success: #6f8a3a;
  --oly-font-display: "Cinzel", "Times New Roman", serif;
  --oly-font-body: "Outfit", "Segoe UI", sans-serif;

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

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

body {
  color: var(--oly-text) !important;
  font-family: var(--oly-font-body) !important;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(138, 53, 225, 0.28), transparent 55%),
    radial-gradient(circle at 85% 20%, rgba(249, 214, 56, 0.08), transparent 28%),
    radial-gradient(circle at 10% 70%, rgba(165, 85, 224, 0.14), transparent 35%),
    linear-gradient(165deg, #05030c 0%, #120b1a 35%, #1a0f2e 65%, #0a0614 100%) !important;
  background-attachment: fixed !important;
  overflow-x: hidden;
}

/* ─── Cosmic Saints Hero ─── */
.oly-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(249, 214, 56, 0.18);
}

.oly-cosmos__sky {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 90% 70% at 50% 110%, rgba(92, 31, 154, 0.45), transparent 55%),
    radial-gradient(circle at 50% 45%, rgba(138, 53, 225, 0.12), transparent 42%);
}

.oly-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(249, 214, 56, 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(165, 85, 224, 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(249, 214, 56, 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(249, 214, 56, 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(165, 85, 224, 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(249, 214, 56, 0.55), transparent);
  animation: oly-twinkle 4.5s ease-in-out infinite alternate;
}

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

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

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

.oly-cosmos__rays {
  position: absolute;
  inset: -20%;
  background: conic-gradient(
    from 200deg at 50% 55%,
    transparent 0deg,
    rgba(249, 214, 56, 0.04) 18deg,
    transparent 36deg,
    rgba(138, 53, 225, 0.07) 72deg,
    transparent 100deg,
    rgba(249, 214, 56, 0.05) 140deg,
    transparent 175deg,
    rgba(165, 85, 224, 0.06) 220deg,
    transparent 260deg,
    rgba(249, 214, 56, 0.04) 300deg,
    transparent 360deg
  );
  animation: oly-spin-slow 80s linear infinite;
  opacity: 0.85;
}

.oly-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%, #fff6b0 0%, var(--oly-gold) 28%, #c98a10 55%, transparent 72%),
    radial-gradient(circle, rgba(138, 53, 225, 0.5), transparent 70%);
  box-shadow:
    0 0 24px rgba(249, 214, 56, 0.4),
    0 0 52px rgba(138, 53, 225, 0.3),
    0 0 80px rgba(249, 214, 56, 0.12);
  animation: oly-pulse-sun 5s ease-in-out infinite;
  z-index: 1;
}

.oly-orbit {
  position: absolute;
  left: 50%;
  top: 46%;
  border: 1px solid rgba(249, 214, 56, 0.12);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

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

.oly-orbit--2 {
  width: min(40vw, 260px);
  height: min(40vw, 260px);
  animation: oly-orbit-spin 22s linear infinite reverse;
  border-color: rgba(138, 53, 225, 0.18);
}

.oly-orbit--3 {
  width: min(52vw, 340px);
  height: min(52vw, 340px);
  animation: oly-orbit-spin 32s linear infinite;
  border-color: rgba(165, 85, 224, 0.12);
}

.oly-orbit--4 {
  width: min(64vw, 420px);
  height: min(64vw, 420px);
  animation: oly-orbit-spin 44s linear infinite reverse;
  border-color: rgba(249, 214, 56, 0.08);
}

.oly-orbit--5 {
  width: min(76vw, 500px);
  height: min(76vw, 500px);
  animation: oly-orbit-spin 56s linear infinite;
  border-color: rgba(138, 53, 225, 0.1);
}

.oly-orbit--6 {
  width: min(88vw, 580px);
  height: min(88vw, 580px);
  animation: oly-orbit-spin 70s linear infinite reverse;
  border-color: rgba(249, 214, 56, 0.07);
}

.oly-orbit--7 {
  width: min(100vw, 660px);
  height: min(100vw, 660px);
  animation: oly-orbit-spin 88s linear infinite;
  border-color: rgba(165, 85, 224, 0.08);
}

.oly-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);
}

.oly-planet--violet {
  width: 12px;
  height: 12px;
  background: radial-gradient(circle at 30% 28%, #d4a8ff, var(--oly-purple) 55%, #3a1068);
  box-shadow:
    inset -4px -3px 8px rgba(0, 0, 0, 0.45),
    0 0 10px rgba(138, 53, 225, 0.7);
}

.oly-planet--gold {
  width: 9px;
  height: 9px;
  background: radial-gradient(circle at 30% 28%, #fff3a8, var(--oly-gold) 50%, #8a6a08);
  box-shadow:
    inset -3px -2px 6px rgba(0, 0, 0, 0.4),
    0 0 9px rgba(249, 214, 56, 0.65);
}

.oly-planet--rose {
  width: 14px;
  height: 14px;
  background: radial-gradient(circle at 32% 30%, #ffc4e8, #c45adf 48%, #5c1f9a);
  box-shadow:
    inset -5px -3px 10px rgba(0, 0, 0, 0.45),
    0 0 12px rgba(165, 85, 224, 0.6);
}

.oly-planet--cyan {
  width: 8px;
  height: 8px;
  background: radial-gradient(circle at 30% 28%, #e8d4ff, #9b6dff 50%, #4a2080);
  box-shadow:
    inset -2px -2px 4px rgba(0, 0, 0, 0.4),
    0 0 8px rgba(165, 85, 224, 0.55);
}

.oly-planet--amber {
  width: 11px;
  height: 11px;
  background: radial-gradient(circle at 30% 28%, #ffe9a8, #f0b429 52%, #8a5a08);
  box-shadow:
    inset -3px -2px 7px rgba(0, 0, 0, 0.4),
    0 0 11px rgba(249, 214, 56, 0.55);
}

.oly-planet--indigo {
  width: 7px;
  height: 7px;
  background: radial-gradient(circle at 28% 26%, #c8b6ff, #6b3fd4 55%, #2a1060);
  box-shadow:
    inset -2px -2px 5px rgba(0, 0, 0, 0.45),
    0 0 9px rgba(107, 63, 212, 0.65);
}

.oly-planet--mint {
  width: 10px;
  height: 10px;
  background: radial-gradient(circle at 30% 28%, #e4d4ff, #a555e0 48%, #4a1a80);
  box-shadow:
    inset -3px -2px 6px rgba(0, 0, 0, 0.4),
    0 0 10px rgba(165, 85, 224, 0.5);
}

.oly-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: oly-rise 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

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

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

.oly-cosmos__brand {
  margin: 0;
  font-family: var(--oly-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(--oly-yellow) 45%, var(--oly-gold) 70%, #c9a820 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 4px 16px rgba(138, 53, 225, 0.4));
}

.oly-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(--oly-text-muted);
}

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

.oly-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 124px;
  padding: 0.7rem 1.2rem;
  font-family: var(--oly-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;
}

.oly-btn--gold {
  color: #1a0a08 !important;
  background: linear-gradient(135deg, var(--oly-yellow), var(--oly-gold) 45%, var(--oly-gold-dark));
  box-shadow:
    0 0 0 1px rgba(249, 214, 56, 0.5),
    0 8px 28px rgba(249, 214, 56, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.oly-btn--gold:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 0 1px rgba(249, 214, 56, 0.7),
    0 12px 36px rgba(249, 214, 56, 0.4),
    0 0 40px rgba(138, 53, 225, 0.25);
}

.oly-btn--ghost {
  color: var(--oly-gold) !important;
  background: rgba(18, 11, 26, 0.55);
  border: 1px solid rgba(249, 214, 56, 0.45);
  backdrop-filter: blur(8px);
  box-shadow: 0 0 24px rgba(138, 53, 225, 0.2);
}

.oly-btn--ghost:hover {
  transform: translateY(-2px);
  background: rgba(138, 53, 225, 0.22);
  border-color: var(--oly-gold);
  color: #fff !important;
}

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

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

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

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

@keyframes oly-pulse-sun {
  0%, 100% {
    box-shadow:
      0 0 40px rgba(249, 214, 56, 0.45),
      0 0 90px rgba(138, 53, 225, 0.35),
      0 0 140px rgba(249, 214, 56, 0.15);
  }
  50% {
    box-shadow:
      0 0 55px rgba(249, 214, 56, 0.6),
      0 0 120px rgba(138, 53, 225, 0.5),
      0 0 180px rgba(249, 214, 56, 0.22);
  }
}

@keyframes oly-logo-glow {
  from { filter: drop-shadow(0 0 14px rgba(249, 214, 56, 0.25)); }
  to { filter: drop-shadow(0 0 28px rgba(249, 214, 56, 0.5)); }
}

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

@media (prefers-reduced-motion: reduce) {
  .oly-cosmos__stars,
  .oly-cosmos__nebula,
  .oly-cosmos__rays,
  .oly-orbit,
  .oly-sun,
  .oly-cosmos__logo,
  .oly-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(18, 11, 26, 0.96), rgba(10, 6, 20, 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(--oly-text) !important;
  fill: var(--oly-text) !important;
  font-family: var(--oly-font-display), var(--oly-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(--oly-gold) !important;
}

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

.oly-gnb-ghost {
  padding: 8px 12px !important;
  border: 1px solid rgba(249, 214, 56, 0.35) !important;
  background: rgba(249, 214, 56, 0.06) !important;
  color: var(--oly-gold) !important;
}

.oly-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(249, 214, 56, 0.5) !important;
  background: linear-gradient(135deg, #ffe066, #f9d638 45%, #c9a820) !important;
  color: #1a0a08 !important;
  box-shadow: 0 4px 14px rgba(249, 214, 56, 0.25);
}

.oly-gnb-cta .nv00-gnb-v4__l0-menu-text,
.oly-gnb-cta span,
a.oly-gnb-cta {
  color: #1a0a08 !important;
  -webkit-text-fill-color: #1a0a08 !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(249, 214, 56, 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) ─── */
.oly-orbit-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: 1.35rem 1.25rem;
  border-bottom: 1px solid rgba(249, 214, 56, 0.22);
  background:
    radial-gradient(ellipse 60% 120% at 88% 50%, rgba(138, 53, 225, 0.28), transparent 55%),
    radial-gradient(circle at 12% 50%, rgba(249, 214, 56, 0.08), transparent 35%),
    linear-gradient(105deg, #0a0614 0%, #1a0f2e 48%, #120b1a 100%);
}

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

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

.oly-orbit-banner__planet--a {
  top: 18%;
  right: 18%;
  width: 42px;
  height: 42px;
  background: radial-gradient(circle at 32% 28%, #fff3a8, var(--oly-gold) 45%, #8a6a08);
  box-shadow: 0 0 28px rgba(249, 214, 56, 0.45);
  animation: oly-banner-float 5s ease-in-out infinite;
}

.oly-orbit-banner__planet--b {
  bottom: 16%;
  right: 32%;
  width: 16px;
  height: 16px;
  background: radial-gradient(circle at 30% 28%, #d4a8ff, var(--oly-purple) 55%, #3a1068);
  box-shadow: 0 0 16px rgba(138, 53, 225, 0.6);
  animation: oly-banner-float 6.5s ease-in-out infinite reverse;
}

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

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

.oly-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;
}

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

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

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

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

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

.oly-orbit-banner__perks li {
  padding: 0.35rem 0.7rem;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff8e0;
  border: 1px solid rgba(249, 214, 56, 0.35);
  background: rgba(249, 214, 56, 0.08);
}

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

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

.oly-orbit-banner__cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(249, 214, 56, 0.35);
}

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

.oly-orbit-banner__link:hover {
  transform: translateY(-2px);
  color: #fff !important;
  background: rgba(138, 53, 225, 0.25);
}

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

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

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

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

  .oly-orbit-banner__cta,
  .oly-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(138, 53, 225, 0.2);
}

.hdd02-gallery__image img,
.image__main {
  filter: drop-shadow(0 12px 40px rgba(92, 31, 154, 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(--oly-purple), var(--oly-purple-dark)) !important;
  color: #fff !important;
  border: 1px solid rgba(249, 214, 56, 0.35) !important;
  box-shadow: 0 0 20px rgba(138, 53, 225, 0.35) !important;
}

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

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

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

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

.oly-cosmos-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin: 0;
  padding: 2.5rem 1.25rem 1.5rem;
  border-top: 1px solid rgba(249, 214, 56, 0.22) !important;
  background:
    radial-gradient(ellipse 70% 80% at 15% 0%, rgba(138, 53, 225, 0.22), transparent 50%),
    radial-gradient(circle at 90% 80%, rgba(249, 214, 56, 0.06), transparent 30%),
    linear-gradient(180deg, #0a0614 0%, #120b1a 100%) !important;
  color: var(--oly-text-muted) !important;
}

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

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

.oly-cosmos-footer__orb--a {
  top: 20%;
  right: 10%;
  width: 10px;
  height: 10px;
  background: var(--oly-gold);
  box-shadow: 0 0 14px rgba(249, 214, 56, 0.55);
}

.oly-cosmos-footer__orb--b {
  bottom: 28%;
  left: 8%;
  width: 7px;
  height: 7px;
  background: var(--oly-purple-light);
  box-shadow: 0 0 12px rgba(165, 85, 224, 0.55);
}

.oly-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;
}

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

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

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

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

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

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

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

.oly-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(138, 53, 225, 0.25);
  font-size: 0.75rem;
  color: var(--oly-text-muted);
}

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

.oly-cosmos-footer__meta {
  color: rgba(249, 214, 56, 0.65);
}

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

/* ─── Slim OLY nav (replaces Samsung GNB) ─── */
.oly-nav {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(249, 214, 56, 0.14);
  background: linear-gradient(180deg, rgba(18, 11, 26, 0.97), rgba(10, 6, 20, 0.94));
  backdrop-filter: blur(16px);
}

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

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

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

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

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

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

.oly-nav__ghost,
.oly-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(--oly-font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
}

.oly-nav__ghost {
  border: 1px solid rgba(249, 214, 56, 0.35);
  background: rgba(249, 214, 56, 0.06);
  color: var(--oly-gold) !important;
}

.oly-nav__gold {
  border: 1px solid rgba(249, 214, 56, 0.5);
  background: linear-gradient(135deg, #ffe066, #f9d638 45%, #c9a820);
  color: #1a0a08 !important;
  box-shadow: 0 4px 14px rgba(249, 214, 56, 0.25);
}

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

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

.oly-article-wrap .gold-divider {
  width: min(180px, 40%);
  height: 2px;
  margin: 0 auto 1.35rem;
  background: linear-gradient(90deg, transparent, #f9d638, transparent);
  box-shadow: 0 0 12px rgba(249, 214, 56, 0.45);
}

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

.oly-article-wrap .info-card {
  padding: 1rem 0.65rem;
  text-align: center;
  border: 1px solid rgba(249, 214, 56, 0.28);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(138, 53, 225, 0.22), transparent 60%),
    linear-gradient(160deg, #120b1a, #1e1430);
}

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

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

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

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

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

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

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

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

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

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

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

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