#galaxy-broadcast-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(5, 5, 12, 0.72);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  animation: galaxyBroadcastFade .2s ease;
}

#galaxy-broadcast-modal {
  --gb-accent: #7c3aed;

  position: relative;
  width: min(680px, 100%);
  max-height: min(760px, calc(100vh - 44px));
  overflow: auto;
  border: 2px solid var(--gb-accent);
  border-radius: 20px;
  padding: 34px 32px 30px;
  color: #fff;
  text-align: center;
  box-shadow:
    0 25px 80px rgba(0,0,0,.5),
    0 0 32px color-mix(in srgb, var(--gb-accent) 50%, transparent);
  animation: galaxyBroadcastPop .22s ease;
}

#galaxy-broadcast-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .7;
  background:
    radial-gradient(circle at 10% 15%, rgba(255,255,255,.15), transparent 22%),
    radial-gradient(circle at 90% 85%, rgba(255,255,255,.08), transparent 24%);
}

.gb-customer-inner {
  position: relative;
  z-index: 2;
}

.gb-customer-emoji {
  margin-bottom: 8px;
  font-size: 52px;
  line-height: 1;
}

.gb-customer-title {
  margin: 0 0 16px;
  color: #fff;
  font-size: clamp(27px, 5vw, 42px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.02em;
  text-shadow: 0 2px 7px rgba(0,0,0,.35);
}

.gb-customer-message {
  max-width: 590px;
  margin: 0 auto 25px;
  color: #fff;
  font-size: clamp(16px, 2.2vw, 20px);
  line-height: 1.5;
  white-space: pre-line;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}

#galaxy-broadcast-action {
  display: block;
  width: min(390px, 100%);
  margin: 0 auto;
  border: 0;
  border-radius: 12px;
  padding: 14px 22px;
  background: var(--gb-accent);
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 7px 20px rgba(0,0,0,.22);
}

#galaxy-broadcast-action:hover {
  filter: brightness(1.08);
}

#galaxy-broadcast-close {
  position: absolute;
  z-index: 4;
  top: 13px;
  right: 13px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  background: rgba(0,0,0,.3);
  color: #fff;
  font-size: 24px;
  line-height: 31px;
  cursor: pointer;
}

/* General / non-holiday */

.gb-theme-standard {
  --gb-accent: #7c3aed;
  background:
    linear-gradient(135deg, #07070b, #28104d);
}

.gb-theme-important {
  --gb-accent: #ef3340;
  background:
    linear-gradient(135deg, #100307, #4b0b18 60%, #080808);
}

.gb-theme-hours {
  --gb-accent: #8b5cf6;
  background:
    radial-gradient(circle at 20% 20%, #462680 0, transparent 27%),
    linear-gradient(135deg, #110522, #39156f);
}

.gb-theme-maintenance {
  --gb-accent: #8b5cf6;
  background:
    linear-gradient(135deg, #0c1422, #29374e);
}

.gb-theme-inventory {
  --gb-accent: #a855f7;
  background:
    linear-gradient(135deg, #160a29, #55209b);
}

.gb-theme-restock {
  --gb-accent: #22c55e;
  background:
    linear-gradient(135deg, #031a14, #12634b);
}

.gb-theme-update {
  --gb-accent: #3b82f6;
  background:
    linear-gradient(135deg, #061226, #174b91);
}

.gb-theme-blank {
  --gb-accent: #7c3aed;
  background:
    linear-gradient(135deg, #101010, #292929);
}

/* Holidays */

.gb-theme-newyear,
.gb-theme-newyearseve {
  --gb-accent: #d5a72b;
  background:
    radial-gradient(circle at 15% 20%, #f8d76a 0 2px, transparent 3px),
    radial-gradient(circle at 80% 25%, #fff1a7 0 1px, transparent 2px),
    linear-gradient(135deg, #020202, #382400);
}

.gb-theme-mlk {
  --gb-accent: #d6a760;
  background:
    linear-gradient(135deg, #111, #654535);
}

.gb-theme-presidents {
  --gb-accent: #3b82f6;
  background:
    linear-gradient(135deg, #071d47, #7f1d1d);
}

.gb-theme-valentine {
  --gb-accent: #ff4f87;
  background:
    radial-gradient(circle at 15% 15%, rgba(255,155,184,.45), transparent 25%),
    linear-gradient(135deg, #730c2b, #e11d48);
}

.gb-theme-stpatrick {
  --gb-accent: #22c55e;
  background:
    linear-gradient(135deg, #022c17, #15803d);
}

.gb-theme-easter {
  --gb-accent: #ec4899;
  background:
    linear-gradient(135deg, #4f9acb, #d568a8);
}

.gb-theme-mothers {
  --gb-accent: #ec4899;
  background:
    linear-gradient(135deg, #6e1b45, #ed6fae);
}

.gb-theme-memorial {
  --gb-accent: #2563eb;
  background:
    linear-gradient(135deg, #08275a, #8b1729);
}

.gb-theme-fathers {
  --gb-accent: #3b82f6;
  background:
    linear-gradient(135deg, #072448, #1d4ed8);
}

.gb-theme-juneteenth {
  --gb-accent: #ef4444;
  background:
    linear-gradient(135deg, #090909, #a41414 48%, #166534);
}

.gb-theme-july4 {
  --gb-accent: #2563eb;
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.35), transparent 20%),
    linear-gradient(135deg, #061c48, #a71020);
}

.gb-theme-labor {
  --gb-accent: #2563eb;
  background:
    linear-gradient(135deg, #082855, #405d9c);
}

.gb-theme-indigenous {
  --gb-accent: #f59e0b;
  background:
    linear-gradient(135deg, #49220d, #b45309);
}

.gb-theme-halloween {
  --gb-accent: #f97316;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,122,0,.25), transparent 25%),
    linear-gradient(135deg, #130020, #59208c 52%, #b84a08);
}

.gb-theme-veterans {
  --gb-accent: #dc2626;
  background:
    linear-gradient(135deg, #082353, #781724);
}

.gb-theme-thanksgiving {
  --gb-accent: #f59e0b;
  background:
    radial-gradient(circle at 90% 10%, rgba(255,176,47,.28), transparent 24%),
    linear-gradient(135deg, #321305, #a94d08 55%, #4b1b05);
}

.gb-theme-blackfriday {
  --gb-accent: #ef3340;
  background:
    linear-gradient(135deg, #020202, #52051c);
}

.gb-theme-cybermonday {
  --gb-accent: #6366f1;
  background:
    linear-gradient(135deg, #030018, #163eb3 55%, #6724a4);
}

.gb-theme-christmaseve,
.gb-theme-christmas {
  --gb-accent: #22c55e;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.4) 0 1px, transparent 2px),
    linear-gradient(135deg, #06412f, #911827);
}

.gb-theme-hanukkah {
  --gb-accent: #60a5fa;
  background:
    linear-gradient(135deg, #061944, #2563eb);
}

.gb-theme-kwanzaa {
  --gb-accent: #ef4444;
  background:
    linear-gradient(135deg, #050505, #a91414 50%, #126330);
}

@keyframes galaxyBroadcastFade {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes galaxyBroadcastPop {
  from {
    opacity: 0;
    transform: translateY(12px) scale(.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 600px) {
  #galaxy-broadcast-overlay {
    padding: 14px;
  }

  #galaxy-broadcast-modal {
    max-height: calc(100vh - 28px);
    border-radius: 17px;
    padding: 29px 18px 23px;
  }

  .gb-customer-emoji {
    font-size: 41px;
  }

  .gb-customer-title {
    margin-bottom: 13px;
  }

  .gb-customer-message {
    margin-bottom: 20px;
    font-size: 16px;
  }

  #galaxy-broadcast-action {
    font-size: 16px;
    padding: 13px 18px;
  }

  #galaxy-broadcast-close {
    width: 32px;
    height: 32px;
    top: 10px;
    right: 10px;
    font-size: 21px;
    line-height: 27px;
  }
}
