/* /www/apply.altproductiongroup.com/public/assets/css/brands/ldi.css
 *
 * Brand: Leaking Dignity Inc. (LDI)
 * Visual intent:
 * - Neon nightlife + glossy “drip” energy (teal + magenta)
 * - Dark club background, high contrast, playful but still production-grade UI
 * - Subtle glow + chrome sheen, without wrecking readability
 *
 * Integration contract:
 * - Your HTML should set either:
 *     <body data-brand="ldi"> ... OR ...
 *     <section class="brand brand--ldi" data-brand="ldi">
 *
 * Base stylesheet (global.css) supplies:
 * - grids, spacing scale, typography baseline
 * - shared components (cards, buttons, inputs)
 *
 * This file:
 * - sets brand tokens
 * - provides scoped overrides: background, cards, buttons, forms, brandstripe
 */

/* -------------------------------------------------------------------------- */
/* LDI brand tokens                                                             */
/* -------------------------------------------------------------------------- */

:root {
  --ldi-bg-0: #05020b;
  --ldi-bg-1: #070012;

  --ldi-ink: #f7f4ff;
  --ldi-ink-dim: rgba(247, 244, 255, 0.82);
  --ldi-ink-muted: rgba(247, 244, 255, 0.64);

  /* Logo neon */
  --ldi-teal: #22f3ea;
  --ldi-teal-2: #00d6cf;
  --ldi-magenta: #ff2bd6;
  --ldi-magenta-2: #c417ff;

  /* For optional micro-accent highlights */
  --ldi-violet: #8b5cf6;

  /* Primary gradient: teal -> magenta (LDI core) */
  --ldi-grad-primary: linear-gradient(90deg, var(--ldi-teal), var(--ldi-magenta));
  --ldi-grad-soft: linear-gradient(
    135deg,
    rgba(34, 243, 234, 0.14),
    rgba(0, 214, 207, 0.10),
    rgba(255, 43, 214, 0.12),
    rgba(196, 23, 255, 0.08)
  );

  --ldi-border: rgba(255, 255, 255, 0.10);
  --ldi-border-strong: rgba(255, 255, 255, 0.18);

  --ldi-surface: rgba(12, 6, 18, 0.70);
  --ldi-surface-2: rgba(16, 8, 26, 0.78);

  --ldi-focus: rgba(34, 243, 234, 0.42);

  --ldi-shadow: 0 12px 34px rgba(0, 0, 0, 0.66);
  --ldi-glow:
    0 0 26px rgba(34, 243, 234, 0.16),
    0 0 22px rgba(255, 43, 214, 0.14),
    0 0 18px rgba(196, 23, 255, 0.10);

  --ldi-radius: 16px;
}

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

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

  --brand-accent-1: var(--ldi-teal);
  --brand-accent-2: var(--ldi-magenta);
  --brand-accent-3: var(--ldi-magenta-2);

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

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

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

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

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

/* -------------------------------------------------------------------------- */
/* LDI background: club dark + neon spill                                      */
/* -------------------------------------------------------------------------- */

body[data-brand="ldi"] {
  color: var(--brand-ink);
  background:
    radial-gradient(1100px 700px at 18% 10%, rgba(34, 243, 234, 0.12), transparent 58%),
    radial-gradient(980px 620px at 84% 22%, rgba(255, 43, 214, 0.11), transparent 60%),
    radial-gradient(900px 620px at 62% 88%, rgba(196, 23, 255, 0.07), transparent 64%),
    linear-gradient(180deg, var(--brand-bg-0), var(--brand-bg-1));
}

/* LDI section on a mixed-brand APG page */
.brand--ldi,
section[data-brand="ldi"] {
  position: relative;
  color: var(--brand-ink);
  background:
    radial-gradient(980px 640px at 16% 12%, rgba(34, 243, 234, 0.10), transparent 60%),
    radial-gradient(900px 600px at 84% 24%, rgba(255, 43, 214, 0.10), 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;
}

/* Subtle “sparkle haze” overlay (no images) */
.brand--ldi::before,
section[data-brand="ldi"]::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.55;
  background:
    radial-gradient(2px 2px at 10% 20%, rgba(255,255,255,0.10) 50%, transparent 55%),
    radial-gradient(1px 1px at 22% 70%, rgba(255,255,255,0.08) 50%, transparent 55%),
    radial-gradient(2px 2px at 46% 28%, rgba(255,255,255,0.07) 50%, transparent 55%),
    radial-gradient(1px 1px at 70% 55%, rgba(255,255,255,0.08) 50%, transparent 55%),
    radial-gradient(2px 2px at 82% 18%, rgba(255,255,255,0.09) 50%, transparent 55%),
    radial-gradient(1px 1px at 86% 78%, rgba(255,255,255,0.07) 50%, transparent 55%),
    linear-gradient(135deg, rgba(34,243,234,0.05), rgba(255,43,214,0.04), rgba(196,23,255,0.03));
  mix-blend-mode: screen;
}

/* Neon “cap” bar */
.brand--ldi::after,
section[data-brand="ldi"]::after {
  content: "";
  position: absolute;
  left: -20%;
  right: -20%;
  top: -2px;
  height: 3px;
  background: var(--brand-gradient);
  opacity: 0.90;
  pointer-events: none;
}

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

/* -------------------------------------------------------------------------- */
/* LDI logo lockup                                                              */
/* -------------------------------------------------------------------------- */

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

.brand-lockup--ldi .brand-lockup__logo {
  height: 52px;
  width: auto;
  filter:
    drop-shadow(0 16px 34px rgba(0,0,0,0.75))
    drop-shadow(0 0 24px rgba(34,243,234,0.18))
    drop-shadow(0 0 22px rgba(255,43,214,0.16));
}

/* Gradient headline option */
.brand-title--ldi {
  background: var(--brand-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  letter-spacing: 0.2px;
}

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

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

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

/* Gloss sheen + neon wash */
.brand--ldi .lane-card::before,
section[data-brand="ldi"] .lane-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.08), transparent 40%),
    var(--brand-gradient-soft);
  opacity: 0.55;
  pointer-events: none;
  mix-blend-mode: screen;
}

/* “Drip” hint: a small neon bleed in corner (keeps it professional, not cartoon) */
.brand--ldi .lane-card::after,
section[data-brand="ldi"] .lane-card::after {
  content: "";
  position: absolute;
  left: -40px;
  bottom: -40px;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle at 60% 40%, rgba(34,243,234,0.16), transparent 62%);
  transform: rotate(-10deg);
  pointer-events: none;
}

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

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

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

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

/* Optional “neon tag” badge */
.brand--ldi .badge,
section[data-brand="ldi"] .badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(255,255,255,0.06);
  color: var(--brand-ink);
  font-size: 12px;
  letter-spacing: 0.2px;
}

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

.brand--ldi .btn,
section[data-brand="ldi"] .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--ldi .btn:hover,
section[data-brand="ldi"] .btn:hover {
  transform: translateY(-1px);
  border-color: var(--brand-border-strong);
  background: rgba(255,255,255,0.08);
}

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

/* Primary: teal->magenta neon */
.brand--ldi .btn--primary,
section[data-brand="ldi"] .btn--primary {
  border: 0;
  background: var(--brand-gradient);
  color: #05020b;
  font-weight: 780;
  box-shadow: 0 14px 36px rgba(0,0,0,0.64), 0 0 26px rgba(34,243,234,0.14);
}

.brand--ldi .btn--primary:hover,
section[data-brand="ldi"] .btn--primary:hover {
  box-shadow:
    0 18px 46px rgba(0,0,0,0.72),
    0 0 30px rgba(34,243,234,0.16),
    0 0 28px rgba(255,43,214,0.14);
}

/* Outline */
.brand--ldi .btn--outline,
section[data-brand="ldi"] .btn--outline {
  background: transparent;
  border-color: rgba(255,255,255,0.20);
}

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

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

.brand--ldi input[type="text"],
.brand--ldi input[type="email"],
.brand--ldi input[type="url"],
.brand--ldi textarea,
.brand--ldi select,
section[data-brand="ldi"] input[type="text"],
section[data-brand="ldi"] input[type="email"],
section[data-brand="ldi"] input[type="url"],
section[data-brand="ldi"] textarea,
section[data-brand="ldi"] 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--ldi input:focus,
.brand--ldi textarea:focus,
.brand--ldi select:focus,
section[data-brand="ldi"] input:focus,
section[data-brand="ldi"] textarea:focus,
section[data-brand="ldi"] select:focus {
  outline: 0;
  border-color: rgba(34,243,234,0.48);
  box-shadow: 0 0 0 3px rgba(34,243,234,0.16);
}

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

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

.brand--ldi .brandstripe,
section[data-brand="ldi"] .brandstripe {
  height: 4px;
  border-radius: 999px;
  background: var(--brand-gradient);
  box-shadow:
    0 0 18px rgba(34,243,234,0.16),
    0 0 16px rgba(255,43,214,0.14);
}

/* -------------------------------------------------------------------------- */
/* Reduced motion / accessibility                                                */
/* -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  .brand--ldi .lane-card,
  section[data-brand="ldi"] .lane-card,
  .brand--ldi .btn,
  section[data-brand="ldi"] .btn {
    transition: none;
  }
}

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

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

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