/* ── BossGenie: how to get in ────────────────────────────────────────────
   The page is the /affiliates/ document (affiliates.css: .doc, .doc-fig,
   .doc-n, .doc-cta) with two additions:

   1. A dark hero in the affiliates hero's idiom (.aff-hero), with the
      launcher screenshot framed on the right instead of the genie art.
   2. Red callouts for the three things a reader must get exactly right —
      the address, the access code, and the box to tick — drawn in the same
      #f40450 the screenshots' boxes use, so the page and the pictures point
      at things the same way.

   The address and the code are NOT in the HTML source. bossgenie/index.html
   writes them in from reversed strings on load (see the script at the foot
   of that page), so a crawler reading the markup — filter vendors scrape
   pages like this one for addresses to block — finds neither. People do.
   ── */

body.mg-light .bg-hero-wrap { padding-top: clamp(16px, 2vw, 28px); }

body.mg-light .bg-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  margin-top: 0;
  background:
    radial-gradient(58% 120% at 84% 44%, rgba(0, 200, 83, 0.28) 0%, rgba(0, 200, 83, 0) 62%),
    radial-gradient(90% 140% at 6% 0%, #16261b 0%, rgba(22, 38, 27, 0) 58%),
    linear-gradient(115deg, #070e09 0%, #0a0d16 52%, #060b08 100%);
}

body.mg-light .bg-hero .aff-hero-eyebrow {
  background: linear-gradient(90deg, #d9ffe6 0%, #5be28f 100%);
  -webkit-background-clip: text;
  background-clip: text;
}

body.mg-light .aff .bg-hero h1 {
  background: linear-gradient(180deg, #ffffff 0%, #d9ffe6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

body.mg-light .bg-hero .aff-hero-copy { max-width: none; }
body.mg-light .bg-hero .aff-hero-actions { margin-bottom: 26px; }
body.mg-light .bg-hero .aff-hero-facts { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.mg-light .bg-hero .aff-hero-facts dt { font-size: clamp(17px, 1.6vw, 21px); }

/* The green of the launcher itself, so the button on the hero is the button
   people are about to see on the real thing. */
body.mg-light .aff-btn--go { background: #00c853; color: #04210f; }
body.mg-light .aff-btn--go:hover { background: #11d660; transform: translateY(-1px); }

body.mg-light .bg-hero-shot {
  position: relative;
  z-index: 1;
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 30px 70px -30px rgba(0, 0, 0, 0.8), 0 0 0 6px rgba(0, 200, 83, 0.1);
  background: #050806;
}
body.mg-light .bg-hero-shot img { display: block; width: 100%; height: auto; }

@media (max-width: 900px) {
  body.mg-light .bg-hero { grid-template-columns: minmax(0, 1fr); }
  body.mg-light .bg-hero-shot { order: -1; }
}

/* ── The red callouts ─────────────────────────────────────────────────── */

/* Inline: a marker stroke under the words that matter. */
body.mg-light .bg-hl {
  padding: 0 5px;
  border-radius: 5px;
  background: linear-gradient(transparent 52%, rgba(244, 4, 80, 0.2) 52%);
  box-shadow: inset 0 -2px 0 #f40450;
  color: #0d1117;
  font-weight: 800;
}

/* The address: one big monospaced card, red, impossible to skim past. */
body.mg-light .bg-addr {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  margin: 8px 0 14px;
  padding: 16px 22px 18px;
  border: 3px solid #f40450;
  border-radius: 16px;
  background: #fff;
  color: #0d1117 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 0 #f40450, 0 24px 44px -24px rgba(244, 4, 80, 0.55);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
body.mg-light .bg-addr:hover { transform: translateY(2px); box-shadow: 0 4px 0 #f40450, 0 18px 36px -24px rgba(244, 4, 80, 0.55); }
body.mg-light .bg-addr small {
  font: 700 11.5px/1 "Geist", Inter, system-ui, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f40450;
}
body.mg-light .bg-addr strong {
  font: 700 clamp(20px, 3vw, 32px)/1.1 "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: -0.01em;
  word-break: break-all;
}

/* The code: four red-bordered slots, the shape of the keypad's own. */
body.mg-light .bg-code {
  display: flex;
  gap: 12px;
  margin: 10px 0 16px;
  padding: 0;
  list-style: none;
}
body.mg-light .bg-code li {
  display: grid;
  place-items: center;
  width: 66px;
  height: 80px;
  border: 3px solid #f40450;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 0 #f40450;
  font: 800 36px/1 "Geist", Inter, system-ui, sans-serif;
  color: #0d1117;
}

/* A red-ruled aside for the one-sentence "why". */
body.mg-light .bg-callout {
  margin: 16px 0 20px;
  padding: 13px 18px 14px;
  border-left: 4px solid #f40450;
  border-radius: 0 14px 14px 0;
  background: rgba(244, 4, 80, 0.055);
  font-size: 15.5px;
  line-height: 1.55;
}
body.mg-light .bg-callout b { color: #f40450; }

/* The "red box" legend under the first screenshot. */
body.mg-light .bg-legend {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  color: #5b626d;
}
body.mg-light .bg-legend i {
  width: 18px;
  height: 12px;
  border: 2.5px solid #f40450;
  border-radius: 4px;
}

/* Site tiles in "what's inside". */
body.mg-light .bg-inside {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 8px 0 18px;
  padding: 0;
  list-style: none;
}
@media (max-width: 560px) { body.mg-light .bg-inside { grid-template-columns: minmax(0, 1fr); } }
body.mg-light .bg-inside li {
  padding: 14px 16px;
  border: 1px solid rgba(13, 17, 23, 0.1);
  border-radius: 14px;
  background: #fff;
  font-size: 15px;
  line-height: 1.5;
}
body.mg-light .bg-inside li b { display: block; margin-bottom: 2px; font-weight: 800; }
body.mg-light .bg-inside li span { color: #5b626d; }

body.mg-light .doc-btn--go { background: #00c853 !important; color: #04210f !important; }
body.mg-light .doc-btn--go:hover { background: #11d660 !important; }

@media (max-width: 600px) {
  body.mg-light .bg-code li { width: 56px; height: 68px; font-size: 30px; }
}
