/* =========================================================
   GanaLicitaciones — modo oscuro (el modo claro vive en main.css)
   ========================================================= */

[data-theme="dark"] {
  color-scheme: dark;

  --bg: #0c100d;
  --bg-deep: #060807;
  --bg-ink: #0a0e0b;
  --paper: #151a16;
  --paper-soft: #111613;
  --scene-bg: #0c100d;
  --mint: rgba(111, 168, 4, 0.14);
  --mint-2: rgba(111, 168, 4, 0.22);
  --green: #7bc220;
  --green-d: #6fa804;
  --green-ink: #c8eb6e;
  --green-glow: rgba(123, 194, 32, 0.42);
  --lila: #9b7cf7;
  --lila-d: #815bef;
  --lila-deep: #b8a0ff;
  --lila-glow: rgba(155, 124, 247, 0.4);
  --ink: #e8ede3;
  --ink-soft: #a9b2a6;
  --ink-mute: #788278;
  --amber: #f59e0b;
  --bd: rgba(200, 235, 110, 0.14);
  --bd-strong: rgba(200, 235, 110, 0.26);
  --bd-lila: rgba(155, 124, 247, 0.32);
  --shadow-soft: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 24px 50px -28px rgba(0, 0, 0, 0.55);
  --shadow-float: 0 30px 80px -40px rgba(0, 0, 0, 0.65);
}

[data-theme="dark"] main > section + section::before {
  opacity: 0.58;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(155, 124, 247, 0.22) 16%,
    rgba(155, 124, 247, 0.52) 38%,
    rgba(123, 194, 32, 0.5) 50%,
    rgba(155, 124, 247, 0.52) 62%,
    rgba(155, 124, 247, 0.22) 84%,
    transparent 100%
  );
  box-shadow:
    0 0 22px rgba(155, 124, 247, 0.16),
    0 0 30px rgba(123, 194, 32, 0.1);
}

[data-theme="dark"] .grain {
  opacity: 0.22;
  mix-blend-mode: soft-light;
}

[data-theme="dark"] .frame {
  border-color: rgba(200, 235, 110, 0.12);
}
[data-theme="dark"] .frame::before,
[data-theme="dark"] .frame::after,
[data-theme="dark"] .frame-b::before,
[data-theme="dark"] .frame-b::after {
  border-color: rgba(155, 124, 247, 0.45);
}

[data-theme="dark"] .cursor-ring {
  mix-blend-mode: normal;
  border-color: rgba(123, 194, 32, 0.55);
}
[data-theme="dark"] .cursor-ring.is-hover {
  border-color: rgba(155, 124, 247, 0.75);
  background: rgba(155, 124, 247, 0.12);
}

[data-theme="dark"] #atmosphere {
  opacity: 0.78;
}

[data-theme="dark"] .nav-logo img.logo-theme {
  filter: drop-shadow(0 1px 8px rgba(0, 0, 0, 0.35));
}

[data-theme="dark"] .nav-pill {
  background: rgba(21, 26, 22, 0.62);
  border-color: rgba(200, 235, 110, 0.14);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.05) inset,
    0 14px 36px -20px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] header.nav.is-scrolled .nav-pill {
  background: rgba(21, 26, 22, 0.78);
  border-color: rgba(200, 235, 110, 0.18);
}

[data-theme="dark"] .nav-links a {
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .nav-links a:hover,
[data-theme="dark"] .nav-links a.is-active {
  color: var(--green-ink);
}

[data-theme="dark"] .nav-indicator {
  background: rgba(21, 26, 22, 0.85);
  border-color: rgba(123, 194, 32, 0.35);
}

[data-theme="dark"] .nav-toggle {
  background: rgba(21, 26, 22, 0.55);
  border-color: rgba(200, 235, 110, 0.16);
}

[data-theme="dark"] .theme-toggle {
  background: rgba(21, 26, 22, 0.55);
  border-color: rgba(155, 124, 247, 0.22);
  color: var(--lila);
}
[data-theme="dark"] .scroll-progress-track {
  background: linear-gradient(
    180deg,
    transparent,
    rgba(255, 255, 255, 0.1) 12%,
    rgba(255, 255, 255, 0.1) 88%,
    transparent
  );
}
[data-theme="dark"] .scroll-progress-pct {
  color: rgba(230, 247, 196, 0.55);
}
[data-theme="dark"] .scroll-progress.is-complete .scroll-progress-pct {
  color: var(--mint);
}

[data-theme="dark"] .theme-toggle:hover {
  color: var(--green-ink);
  box-shadow: 0 8px 22px -14px var(--lila-glow);
}

[data-theme="dark"] .lang-dropdown-panel button.is-active {
  border: 1px solid rgba(123, 194, 32, 0.22);
}

[data-theme="dark"] .btn-ghost {
  background: rgba(21, 26, 22, 0.45);
  color: var(--green-ink);
}
[data-theme="dark"] .btn-ghost:hover {
  background: rgba(111, 168, 4, 0.12);
}

[data-theme="dark"] .sec-kick {
  background: rgba(155, 124, 247, 0.12);
  border-color: rgba(185, 164, 255, 0.34);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset;
}
[data-theme="dark"] .hero h1,
[data-theme="dark"] h1.sec-title,
[data-theme="dark"] h2.sec-title {
  --title-float-bg: rgba(21, 26, 22, 0.84);
  --title-float-border: rgba(185, 164, 255, 0.32);
  --title-float-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 0 0 1px rgba(123, 194, 32, 0.06),
    0 28px 70px -44px rgba(0, 0, 0, 0.7),
    0 12px 32px -20px rgba(155, 124, 247, 0.18);
}
[data-theme="dark"] .hero h1::after,
[data-theme="dark"] h1.sec-title::after,
[data-theme="dark"] h2.sec-title::after {
  background: linear-gradient(
    128deg,
    rgba(185, 164, 255, 0.58) 0%,
    rgba(123, 194, 32, 0.38) 40%,
    rgba(155, 124, 247, 0.26) 70%,
    rgba(123, 194, 32, 0.32) 100%
  );
}
[data-theme="dark"] .hero h1::before,
[data-theme="dark"] h1.sec-title::before,
[data-theme="dark"] h2.sec-title::before {
  background:
    linear-gradient(145deg, rgba(155, 124, 247, 0.14) 0%, transparent 45%),
    linear-gradient(325deg, rgba(123, 194, 32, 0.1) 0%, transparent 40%);
}
[data-theme="dark"] #lex .lex-copy .sec-title {
  --title-float-bg: rgba(12, 16, 13, 0.55);
  --title-float-border: rgba(185, 164, 255, 0.28);
}

[data-theme="dark"] .kicker {
  background: rgba(21, 26, 22, 0.72);
}

[data-theme="dark"] .hero h1 em {
  color: var(--green-ink);
}
[data-theme="dark"] .hero-note strong {
  color: var(--green-ink);
}

[data-theme="dark"] .hero-gl-glow {
  opacity: 1;
  background:
    radial-gradient(ellipse 55% 65% at 50% 45%, rgba(155, 124, 247, 0.38), transparent 62%),
    radial-gradient(ellipse 50% 55% at 48% 55%, rgba(123, 194, 32, 0.32), transparent 58%);
  filter: blur(48px);
}

[data-theme="dark"] .mock {
  background: rgba(21, 26, 22, 0.94);
  border-color: var(--bd);
  box-shadow: var(--shadow-float), 0 0 0 1px rgba(155, 124, 247, 0.08);
}

[data-theme="dark"] .proof-live {
  background: rgba(21, 26, 22, 0.55);
}
[data-theme="dark"] .proof-metric:hover {
  background: rgba(21, 26, 22, 0.65);
}
[data-theme="dark"] .proof-num {
  text-shadow: 0 0 28px rgba(123, 194, 32, 0.25);
}
[data-theme="dark"] .proof-metric.is-lila .proof-num {
  text-shadow: 0 0 28px rgba(155, 124, 247, 0.28);
}

[data-theme="dark"] .step {
  background: rgba(21, 26, 22, 0.72);
  border-color: var(--bd);
}
[data-theme="dark"] .step:hover {
  background: rgba(24, 30, 25, 0.88);
}

[data-theme="dark"] .feat-sec::after {
  background: linear-gradient(
    180deg,
    rgba(12, 16, 13, 0) 0%,
    rgba(21, 26, 22, calc(0.72 * var(--feat-wash, 0))) 14%,
    rgba(21, 26, 22, calc(0.78 * var(--feat-wash, 0))) 86%,
    rgba(12, 16, 13, 0) 100%
  );
}

[data-theme="dark"] .feat-spotlight {
  background:
    linear-gradient(165deg, rgba(123, 194, 32, 0.16), transparent 55%),
    rgba(21, 26, 22, 0.82);
}
[data-theme="dark"] .feat-spotlight.is-lila {
  background:
    linear-gradient(165deg, rgba(155, 124, 247, 0.2), transparent 55%),
    rgba(21, 26, 22, 0.82);
}

[data-theme="dark"] .feat-item.is-open,
[data-theme="dark"] .feat-item:nth-child(even).is-open {
  background: rgba(21, 26, 22, 0.72);
}

[data-theme="dark"] .lex-panel {
  background:
    radial-gradient(ellipse at 15% 0%, rgba(123, 194, 32, 0.22), transparent 45%),
    radial-gradient(ellipse at 90% 80%, rgba(155, 124, 247, 0.32), transparent 50%),
    #0a0d0b;
  box-shadow: 0 40px 100px -50px rgba(0, 0, 0, 0.85);
}

[data-theme="dark"] .pricing-sec {
  background:
    radial-gradient(ellipse 70% 50% at 50% 0%, rgba(129, 91, 239, 0.12), transparent 55%),
    linear-gradient(180deg, transparent, rgba(21, 26, 22, 0.5) 38%, transparent);
}
[data-theme="dark"] .plan-card {
  background: linear-gradient(155deg, rgba(123, 194, 32, 0.18), rgba(21, 26, 22, 0.5) 42%, rgba(155, 124, 247, 0.2));
  box-shadow: 0 24px 50px -40px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] .plan-card__inner {
  background: rgba(18, 22, 19, 0.88);
}
[data-theme="dark"] .plan-card--featured .plan-card__inner {
  background: linear-gradient(168deg, rgba(24, 28, 24, 0.96), rgba(129, 91, 239, 0.08));
  border-color: rgba(155, 124, 247, 0.22);
}

[data-theme="dark"] details {
  background: rgba(21, 26, 22, 0.55);
}
[data-theme="dark"] details[open] {
  background: rgba(21, 26, 22, 0.88);
}

[data-theme="dark"] .contact-sec {
  background: linear-gradient(180deg, transparent, rgba(21, 26, 22, 0.45) 18%, transparent);
}
[data-theme="dark"] .contact-path {
  background: rgba(21, 26, 22, 0.72);
}
[data-theme="dark"] .contact-path.is-lila {
  background: rgba(129, 91, 239, 0.1);
}
[data-theme="dark"] .contact-timeline {
  background: rgba(21, 26, 22, 0.45);
}
[data-theme="dark"] .contact-form {
  background: rgba(21, 26, 22, 0.88);
}
[data-theme="dark"] .contact-success {
  background: rgba(21, 26, 22, 0.92);
}
[data-theme="dark"] .contact-map {
  background: rgba(21, 26, 22, 0.55);
}
[data-theme="dark"] .page-contact .contact-sec {
  background: linear-gradient(180deg, rgba(21, 26, 22, 0.35), transparent 40%);
}

/* CTA final — fondo oscuro legible (evita --green-ink como fill) */
[data-theme="dark"] .cta-final {
  background:
    radial-gradient(ellipse at 18% 0%, rgba(123, 194, 32, 0.12), transparent 52%),
    radial-gradient(ellipse at 92% 100%, rgba(155, 124, 247, 0.16), transparent 50%),
    linear-gradient(168deg, #1a2218 0%, #121816 55%, #0e1210 100%);
  border: 1px solid rgba(200, 235, 110, 0.12);
  color: var(--ink);
  box-shadow:
    0 36px 70px -44px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
[data-theme="dark"] .cta-final h2 {
  color: var(--ink);
}
[data-theme="dark"] .cta-final p {
  color: var(--ink-soft);
}
[data-theme="dark"] .cta-final .btn-green {
  background: var(--green);
  color: #0a0e0b;
  box-shadow: 0 14px 32px -14px rgba(123, 194, 32, 0.5);
}
[data-theme="dark"] .cta-final .btn-green:hover {
  background: #8fd428;
  color: #0a0e0b;
}

[data-theme="dark"] .field input,
[data-theme="dark"] .field textarea {
  background: rgba(12, 16, 13, 0.85);
  border-color: var(--bd);
  color: var(--ink);
}
[data-theme="dark"] .field input:hover,
[data-theme="dark"] .field textarea:hover {
  border-color: var(--bd-strong);
}

[data-theme="dark"] .foot-shell {
  background:
    radial-gradient(ellipse 80% 60% at 10% 0%, rgba(160,229,65,.1), transparent 55%),
    radial-gradient(ellipse 50% 40% at 95% 100%, rgba(129,91,239,.1), transparent 50%),
    #060a05;
}
[data-theme="dark"] .legal-body a {
  color: #B9A4FF;
}

[data-theme="dark"] .auth-card {
  background: rgba(21, 26, 22, 0.88);
  border-color: var(--bd);
  box-shadow: var(--shadow-soft);
}
[data-theme="dark"] .nav-util-link {
  color: var(--ink-soft);
}
[data-theme="dark"] .nav-platform {
  color: #b8a0ff;
}

[data-theme="dark"] .nav-drawer {
  background: rgba(0, 0, 0, 0.65);
}
[data-theme="dark"] .nav-drawer-panel {
  background: rgba(18, 22, 19, 0.96);
}

@media (max-width: 900px) {
  [data-theme="dark"] .hero-copy::before {
    background: linear-gradient(180deg, var(--bg) 0%, rgba(12, 16, 13, 0.92) 70%, transparent 100%);
  }
}
