/* /www/apply.altproductiongroup.com/public/assets/css/brands/labs.css
 *
 * Brand: Alt Production Labs
 * Visual intent:
 * - Dark R&D / cyber-lab aesthetic
 * - Cool neon edge lighting (green + blue) as “signal traces”
 * - Clean, corporate-grade components with subtle sci-tech depth
 *
 * Integration contract:
 * - Your HTML should set either:
 *     <body data-brand="labs"> ... OR ...
 *     <section class="brand brand--labs" data-brand="labs">
 *
 * Base stylesheet (global.css) supplies:
 * - layout grid, spacing scale, typography baseline
 * - shared components (cards, buttons, inputs)
 *
 * This file:
 * - sets brand tokens (CSS variables)
 * - scopes selective overrides for lanes, buttons, forms, brandstripe
 */

/* -------------------------------------------------------------------------- */
/* Labs brand tokens                                                           */
/* -------------------------------------------------------------------------- */

:root {
  --labs-bg-0: #04060a;
  --labs-bg-1: #060b12;

  --labs-ink: #eef6ff;
  --labs-ink-dim: rgba(238, 246, 255, 0.80);
  --labs-ink-muted: rgba(238, 246, 255, 0.62);

  /* Neon traces (from logo: green + blue) */
  --labs-green: #2cff93;
  --labs-emerald: #00d084;
  --labs-blue: #2aa9ff;
  --labs-cyan: #00e5ff;

  /* Primary gradient: green -> blue */
  --labs-grad-primary: linear-gradient(90deg, var(--labs-green), var(--labs-blue));
  --labs-grad-soft: linear-gradient(
    135deg,
    rgba(44, 255, 147, 0.14),
    rgba(0, 208, 132, 0.10),
    rgba(42, 169, 255, 0.10),
    rgba(0, 229, 255, 0.06)
  );

  --labs-border: rgba(255, 255, 255, 0.10);
  --labs-border-strong: rgba(255, 255, 255, 0.16);

  --labs-surface: rgba(8, 12, 18, 0.72);
  --labs-surface-2: rgba(10, 16, 26, 0.80);

  --labs-focus: rgba(44, 255, 147, 0.45);
  --labs-shadow: 0 12px 34px rgba(0, 0, 0, 0.62);
  --labs-glow: 0 0 22px rgba(44, 255, 147, 0.16), 0 0 22px rgba(42, 169, 255, 0.12);

  --labs-radius: 14px;
}

/* Apply tokens when Labs is active */
body[data-brand="labs"],
.brand--labs,
section[data-brand="labs"] {
  --brand-bg-0: var(--labs-bg-0);
  --brand-bg-1: var(--labs-bg-1);

  --brand-ink: var(--labs-ink);
  --brand-ink-dim: var(--labs-ink-dim);
  --brand-ink-muted: var(--labs-ink-muted);

  --brand-accent-1: var(--labs-green);
  --brand-accent-2: var(--labs-blue);
  --brand-accent-3: var(--labs-cyan);

  --brand-gradient: var(--labs-grad-primary);
  --brand-gradient-soft: var(--labs-grad-soft);

  --brand-border: var(--labs-border);
  --brand-border-strong: var(--labs-border-strong);

  --brand-surface: var(--labs-surface);
  --brand-surface-2: var(--labs-surface-2);

  --brand-focus: var(--labs-focus);
  --brand-shadow: var(--labs-shadow);
  --brand-glow: var(--labs-glow);

  --brand-radius: var(--labs-radius);
}

/* -------------------------------------------------------------------------- */
/* Labs background: clean darkness + “trace lighting”                          */
/* -------------------------------------------------------------------------- */

body[data-brand="labs"] {
  background:
    radial-gradient(1000px 620px at 18% 12%, rgba(44, 255, 147, 0.10), transparent 58%),
    radial-gradient(900px 560px at 82% 22%, rgba(42, 169, 255, 0.09), transparent 60%),
    radial-gradient(900px 600px at 60% 85%, rgba(0, 229, 255, 0.05), transparent 62%),
    linear-gradient(180deg, var(--brand-bg-0), var(--brand-bg-1));
  color: var(--brand-ink);
}

/* Labs section on an APG parent page */
.brand--labs,
section[data-brand="labs"] {
  position: relative;
  color: var(--brand-ink);
  background:
    radial-gradient(980px 620px at 18% 10%, rgba(44, 255, 147, 0.09), transparent 60%),
    radial-gradient(860px 540px at 82% 24%, rgba(42, 169, 255, 0.08), transparent 62%),
    linear-gradient(180deg, var(--brand-bg-0), var(--brand-bg-1));
  border: 1px solid var(--brand-border);
  border-radius: var(--brand-radius);
  box-shadow: var(--brand-shadow);
  overflow: hidden;
}

/* “Circuit trace” overlay (pure CSS, no images) */
.brand--labs::before,
section[data-brand="labs"]::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.55;
  background:
    linear-gradient(90deg, rgba(44,255,147,0.08), transparent 30%, rgba(42,169,255,0.06), transparent 70%, rgba(0,229,255,0.05)),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0.05) 0px,
      rgba(255,255,255,0.05) 1px,
      transparent 1px,
      transparent 46px
    ),
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,0.04) 0px,
      rgba(255,255,255,0.04) 1px,
      transparent 1px,
      transparent 52px
    );
  mix-blend-mode: screen;
}

/* Signal bar at top edge */
.brand--labs::after,
section[data-brand="labs"]::after {
  content: "";
  position: absolute;
  left: -20%;
  right: -20%;
  top: -2px;
  height: 3px;
  background: var(--brand-gradient);
  opacity: 0.85;
  pointer-events: none;
}

/* Raise content above overlays */
.brand--labs > *,
section[data-brand="labs"] > * {
  position: relative;
  z-index: 1;
}

/* -------------------------------------------------------------------------- */
/* Labs logo lockup                                                            */
/* -------------------------------------------------------------------------- */

/* Expected markup:
 * <div class="brand-lockup brand-lockup--labs">
 *   <img class="brand-lockup__logo" src="/assets/img/brands/labs/logo.png" alt="Alt Production Labs">
 * </div>
 */
.brand-lockup--labs {
  display: flex;
  align-items: center;
  gap: 14px;
}

.brand-lockup--labs .brand-lockup__logo {
  height: 46px;
  width: auto;
  filter:
    drop-shadow(0 14px 30px rgba(0,0,0,0.72))
    drop-shadow(0 0 18px rgba(44,255,147,0.16))
    drop-shadow(0 0 14px rgba(42,169,255,0.12));
}

/* Optional gradient headline */
.brand-title--labs {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: 0.25px;
}

/* -------------------------------------------------------------------------- */
/* Lane cards                                                                  */
/* -------------------------------------------------------------------------- */

.brand--labs .lane-grid,
section[data-brand="labs"] .lane-grid {
  display: grid;
  gap: 14px;
}

.brand--labs .lane-card,
section[data-brand="labs"] .lane-card {
  border: 1px solid var(--brand-border);
  background: linear-gradient(180deg, rgba(8,12,18,0.78), rgba(8,12,18,0.58));
  border-radius: calc(var(--brand-radius) - 2px);
  box-shadow: 0 14px 34px rgba(0,0,0,0.56);
  position: relative;
  overflow: hidden;
  transition: transform 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.brand--labs .lane-card::before,
section[data-brand="labs"] .lane-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--brand-gradient-soft);
  opacity: 0.42;
  pointer-events: none;
}

/* Small “lab notch” accent */
.brand--labs .lane-card::after,
section[data-brand="labs"] .lane-card::after {
  content: "";
  position: absolute;
  right: -40px;
  top: -40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle at 30% 30%, rgba(44,255,147,0.18), transparent 65%);
  transform: rotate(18deg);
  pointer-events: none;
}

.brand--labs .lane-card:hover,
section[data-brand="labs"] .lane-card:hover {
  transform: translateY(-2px);
  border-color: var(--brand-border-strong);
  box-shadow: 0 18px 46px rgba(0,0,0,0.64), var(--brand-glow);
}

.brand--labs .lane-card__title,
section[data-brand="labs"] .lane-card__title {
  margin: 0 0 6px 0;
  font-weight: 760;
  letter-spacing: 0.2px;
}

.brand--labs .lane-card__desc,
section[data-brand="labs"] .lane-card__desc {
  margin: 0;
  color: var(--brand-ink-dim);
}

.brand--labs .lane-card__cta,
section[data-brand="labs"] .lane-card__cta {
  margin-top: 12px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* -------------------------------------------------------------------------- */
/* Buttons                                                                     */
/* -------------------------------------------------------------------------- */

.brand--labs .btn,
section[data-brand="labs"] .btn {
  border-radius: 999px;
  border: 1px solid var(--brand-border);
  background: rgba(255,255,255,0.06);
  color: var(--brand-ink);
  padding: 10px 14px;
  cursor: pointer;
  transition: transform 120ms ease, border-color 120ms ease, background 120ms ease, box-shadow 120ms ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  user-select: none;
}

.brand--labs .btn:hover,
section[data-brand="labs"] .btn:hover {
  transform: translateY(-1px);
  border-color: var(--brand-border-strong);
  background: rgba(255,255,255,0.08);
}

.brand--labs .btn:focus-visible,
section[data-brand="labs"] .btn:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px var(--brand-focus), var(--brand-glow);
}

/* Primary: green->blue “signal” */
.brand--labs .btn--primary,
section[data-brand="labs"] .btn--primary {
  border: 0;
  background: var(--brand-gradient);
  color: #041015;
  font-weight: 760;
  box-shadow: 0 12px 30px rgba(0,0,0,0.56), 0 0 24px rgba(44,255,147,0.14);
}

.brand--labs .btn--primary:hover,
section[data-brand="labs"] .btn--primary:hover {
  box-shadow: 0 16px 42px rgba(0,0,0,0.64), 0 0 26px rgba(44,255,147,0.16), 0 0 20px rgba(42,169,255,0.14);
}

.brand--labs .btn--outline,
section[data-brand="labs"] .btn--outline {
  background: transparent;
  border-color: rgba(255,255,255,0.18);
}

/* -------------------------------------------------------------------------- */
/* Forms                                                                        */
/* -------------------------------------------------------------------------- */

.brand--labs .form-shell,
section[data-brand="labs"] .form-shell {
  border: 1px solid var(--brand-border);
  background: rgba(8,12,18,0.66);
  border-radius: var(--brand-radius);
  box-shadow: var(--brand-shadow);
}

.brand--labs input[type="text"],
.brand--labs input[type="email"],
.brand--labs input[type="url"],
.brand--labs textarea,
.brand--labs select,
section[data-brand="labs"] input[type="text"],
section[data-brand="labs"] input[type="email"],
section[data-brand="labs"] input[type="url"],
section[data-brand="labs"] textarea,
section[data-brand="labs"] select {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.12);
  color: var(--brand-ink);
  border-radius: 12px;
}

.brand--labs input:focus,
.brand--labs textarea:focus,
.brand--labs select:focus,
section[data-brand="labs"] input:focus,
section[data-brand="labs"] textarea:focus,
section[data-brand="labs"] select:focus {
  outline: 0;
  border-color: rgba(44,255,147,0.44);
  box-shadow: 0 0 0 3px rgba(44,255,147,0.16);
}

.brand--labs .help-text,
section[data-brand="labs"] .help-text {
  color: var(--brand-ink-muted);
}

/* -------------------------------------------------------------------------- */
/* Brandstripe                                                                  */
/* -------------------------------------------------------------------------- */

.brand--labs .brandstripe,
section[data-brand="labs"] .brandstripe {
  height: 4px;
  border-radius: 999px;
  background: var(--brand-gradient);
  box-shadow: 0 0 16px rgba(44,255,147,0.16), 0 0 12px rgba(42,169,255,0.12);
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                   */
/* -------------------------------------------------------------------------- */

@media (max-width: 760px) {
  .brand-lockup--labs .brand-lockup__logo {
    height: 40px;
  }

  .brand--labs .btn,
  section[data-brand="labs"] .btn {
    width: 100%;
  }
}
