/*
 * Team Pass standalone marketing landing page.
 *
 * Ported 1:1 from the approved Mainstage reference build
 * (onug-team-pass-handoff/team-pass.css), scoped under #onug-tp so plugin
 * stylesheets that arrive through wp_head() cannot reach in, and so nothing
 * here can leak to the rest of the site.
 */

#onug-tp {
  --tp-bg: #0b0d0f;
  --tp-surface: #14181c;
  --tp-surface-2: #1a1f24;
  --tp-green: #8fc73e;
  --tp-green-dim: #6fa63a;
  --tp-orange: #f58220;
  --tp-orange-dark: #db7015;
  --tp-text: #ffffff;
  --tp-muted: #c2c9d1;
  --tp-faint: #7f8994;
  --tp-hairline: #262c33;

  font-family: 'Barlow', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: linear-gradient(180deg, #0e1114, var(--tp-bg));
  color: var(--tp-text);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

html { scroll-behavior: smooth; }
body.onug-tp-body { margin: 0; background: #0b0d0f; }

/* This page does not load the theme stylesheet, which is where the reCAPTCHA
   badge is normally hidden. Hide it here so the badge does not float over the
   hero. */
.grecaptcha-badge { visibility: hidden; }

/* The admin bar is fixed at the top and would cover the absolutely positioned
   nav for logged-in editors. */
body.admin-bar.onug-tp-body #onug-tp .tp-nav { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar.onug-tp-body #onug-tp .tp-nav { top: 46px; }
}

#onug-tp *,
#onug-tp *::before,
#onug-tp *::after { box-sizing: border-box; }

#onug-tp h1, #onug-tp h2, #onug-tp h3,
#onug-tp p, #onug-tp ul, #onug-tp li, #onug-tp figure { margin: 0; padding: 0; }
#onug-tp a { color: inherit; text-decoration: none; }
#onug-tp img { max-width: 100%; }
#onug-tp ul { list-style: none; }

#onug-tp .tp-wrap { max-width: 1080px; margin: 0 auto; padding: 0 22px; }

/* ---------- NAV ---------- */

#onug-tp .tp-nav {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px clamp(18px, 4vw, 44px);
}
#onug-tp .tp-nav .tp-logo img { height: 40px; display: block; }
#onug-tp .tp-nav-links { display: flex; gap: 12px; margin: 0 auto; }
#onug-tp .tp-nav-links a {
  border: 1.5px solid rgba(143, 199, 62, .6);
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 10px 20px;
  border-radius: 999px;
  transition: .15s;
}
#onug-tp .tp-nav-links a:hover { background: rgba(143, 199, 62, .14); border-color: var(--tp-green); }
#onug-tp .tp-nav-register {
  background: var(--tp-orange);
  color: #1a0e03;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 11px 26px;
  border-radius: 999px;
  transition: .15s;
}
#onug-tp .tp-nav-register:hover { background: var(--tp-orange-dark); color: #1a0e03; }

/* The nav pills carry margin:0 auto, and that is what pushes Register to the
   right edge. With no pills there is nothing doing the pushing, so Register
   takes over the job - the adjacent selector only matches when the pills are
   absent, which keeps them centred when they are there. */
#onug-tp .tp-logo + .tp-nav-register { margin-left: auto; }

/* ---------- HERO ---------- */

#onug-tp .tp-hero {
  position: relative;
  min-height: 56vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  overflow: hidden;
  padding: 104px 22px 14px;
}
#onug-tp .tp-hero-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: radial-gradient(1200px 700px at 50% 0%, #1c2531, #0b0d0f);
}
/* cover the hero with a 16:9 frame, cropped from the centre */
#onug-tp .tp-hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-height: 100%;
  min-width: 177.78vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
  border: 0;
}
#onug-tp .tp-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(11, 13, 15, .5) 0%, rgba(11, 13, 15, .6) 55%, rgba(11, 13, 15, .9) 100%);
}
#onug-tp .tp-hero-inner { position: relative; z-index: 2; max-width: 900px; }
#onug-tp .tp-hero-logo { width: min(320px, 60vw); margin: 0 auto 14px; display: block; }
#onug-tp .tp-hero h1 {
  font-weight: 800;
  font-size: clamp(30px, 5.4vw, 56px);
  line-height: 1.04;
  letter-spacing: -.01em;
  color: var(--tp-green);
  text-wrap: balance;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .5);
}
#onug-tp .tp-hero h1 .w { color: #fff; }
#onug-tp .tp-hero .tp-sub { font-size: clamp(16px, 2.2vw, 20px); color: #fff; font-weight: 600; margin-top: 12px; }
#onug-tp .tp-hero .tp-sub .sep { color: var(--tp-green); margin: 0 8px; }

/* ---------- COMPACT PASS BAR ---------- */

#onug-tp .tp-passbar { position: relative; z-index: 5; width: 100%; margin: 14px auto 0; max-width: 860px; padding: 0 22px; }
#onug-tp .tp-passbar-inner {
  background: var(--tp-surface);
  border: 1px solid rgba(143, 199, 62, .5);
  border-radius: 16px;
  box-shadow: 0 24px 60px -30px rgba(0, 0, 0, .9), 0 0 40px -26px rgba(143, 199, 62, .4);
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 22px;
  flex-wrap: wrap;
}
#onug-tp .tp-pass-left { display: flex; align-items: center; gap: 14px; }
#onug-tp .tp-pass-left .ic { color: var(--tp-green); flex: none; }
#onug-tp .tp-pass-tier { font-weight: 800; font-size: 18px; letter-spacing: .02em; }
#onug-tp .tp-pass-note { color: var(--tp-muted); font-size: 13px; }
#onug-tp .tp-pass-price { margin-left: auto; display: flex; align-items: baseline; gap: 10px; }
#onug-tp .tp-pass-price .now { font-size: 30px; font-weight: 800; }
#onug-tp .tp-pass-price s { color: #ffffff; font-size: 22px; font-weight: 600; text-decoration-color: var(--tp-orange); }
#onug-tp .tp-pass-price .tp-pass-cap { color: var(--tp-faint); font-size: 12px; font-weight: 500; }
#onug-tp .tp-pass-early { text-align: center; color: var(--tp-faint); font-size: 12.5px; margin-top: 10px; }
#onug-tp .tp-pass-early b { color: var(--tp-muted); font-weight: 600; }

/* ---------- BUTTON ---------- */

#onug-tp .tp-btn {
  display: inline-block;
  background: var(--tp-orange);
  color: #1a0e03;
  font-weight: 800;
  font-size: 14px;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 12px 30px;
  border-radius: 999px;
  transition: .15s;
  white-space: nowrap;
  box-shadow: 0 12px 26px -14px rgba(245, 130, 32, .7);
}
#onug-tp .tp-btn:hover { background: var(--tp-orange-dark); color: #1a0e03; transform: translateY(-1px); }
#onug-tp .tp-btn.lg { font-size: 16px; padding: 15px 40px; }

/* ---------- SECTIONS ---------- */

#onug-tp .tp-section { padding: 30px 0; }
#onug-tp .tp-section:first-of-type { padding-top: 12px; }
#onug-tp .tp-section-head { text-align: center; margin-bottom: 28px; }
#onug-tp .tp-section-head h2 { font-size: clamp(24px, 3.6vw, 34px); font-weight: 800; letter-spacing: -.01em; }
#onug-tp .tp-section-head p { color: var(--tp-muted); max-width: 54ch; margin: 10px auto 0; font-size: 15.5px; }

#onug-tp .tp-eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--tp-green);
}

/* value cards */
#onug-tp .tp-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
#onug-tp .tp-value { background: var(--tp-surface); border: 1px solid var(--tp-hairline); border-radius: 15px; padding: 22px; }
#onug-tp .tp-value .big { font-size: 30px; font-weight: 800; color: var(--tp-green); line-height: 1; }
#onug-tp .tp-value h3 { font-size: 17px; font-weight: 700; margin: 10px 0 5px; }
#onug-tp .tp-value p { color: var(--tp-muted); font-size: 14px; }

/* about card */
#onug-tp .tp-about-card {
  background: var(--tp-surface);
  border: 1px solid var(--tp-hairline);
  border-radius: 15px;
  padding: 26px 28px;
  text-align: center;
}
#onug-tp .tp-about-card .tp-about-lede {
  font-size: clamp(16px, 2vw, 18.5px);
  color: var(--tp-text);
  font-weight: 500;
  line-height: 1.55;
  max-width: 62ch;
  margin: 12px auto 16px;
}
#onug-tp .tp-about-card .tp-about-body {
  font-size: 15.5px;
  color: var(--tp-muted);
  line-height: 1.6;
  max-width: 62ch;
  margin: 16px auto 0;
}
#onug-tp .tp-about-tracks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
#onug-tp .tp-about-track {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--tp-green);
  border: 1px solid rgba(143, 199, 62, .4);
  border-radius: 999px;
  padding: 6px 14px;
  white-space: nowrap;
}

/* includes list */
#onug-tp .tp-included {
  background: var(--tp-surface);
  border: 1px solid var(--tp-hairline);
  border-radius: 18px;
  padding: 30px 32px 26px;
}
#onug-tp .tp-included h2 { font-size: 22px; font-weight: 800; }
#onug-tp .tp-included .lead { color: var(--tp-muted); margin: 4px 0 20px; font-size: 14.5px; }
#onug-tp .tp-incl-list { display: grid; grid-template-columns: 1fr 1fr; gap: 13px 30px; }
#onug-tp .tp-incl-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; }
#onug-tp .tp-incl-list li svg { flex: none; margin-top: 3px; color: var(--tp-green); }
#onug-tp .tp-incl-list li span { color: var(--tp-muted); }
#onug-tp .tp-incl-list li b { color: var(--tp-text); font-weight: 600; }
#onug-tp .tp-incl-list li .faint { color: var(--tp-faint); }

/* final CTA */
#onug-tp .tp-final {
  text-align: center;
  background: linear-gradient(180deg, rgba(143, 199, 62, .06), transparent);
  border: 1px solid var(--tp-hairline);
  border-radius: 20px;
  padding: 44px 30px;
}
#onug-tp .tp-final h2 { font-size: clamp(26px, 4vw, 38px); font-weight: 800; letter-spacing: -.01em; margin-top: 10px; }
#onug-tp .tp-final p { color: var(--tp-muted); margin: 12px auto 24px; max-width: 46ch; }
#onug-tp .tp-final .tp-meta { color: var(--tp-faint); font-size: 13.5px; margin-top: 10px; }
#onug-tp .tp-final .tp-more-discounts { color: var(--tp-green); font-size: 13.5px; font-weight: 600; margin-top: 18px; }

#onug-tp .tp-footer { text-align: center; padding: 38px 0 56px; color: var(--tp-faint); font-size: 13px; }
#onug-tp .tp-footer .green { color: var(--tp-green); font-weight: 600; }

/* ---------- RESPONSIVE ---------- */

@media (max-width: 900px) {
  #onug-tp .tp-nav-links { display: none; }
}
@media (max-width: 780px) {
  #onug-tp .tp-value-grid,
  #onug-tp .tp-incl-list { grid-template-columns: 1fr; }
  #onug-tp .tp-pass-price { margin-left: 0; }
  #onug-tp .tp-passbar-inner { justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  #onug-tp * { transition: none !important; }
  html { scroll-behavior: auto; }
}
