/* ============================================================
   ZERO HELIX — brand layer over daisyUI v5 (themes: silk + helix)
   ============================================================ */
:root {
  --zhx-display: "Space Grotesk", system-ui, sans-serif;
  --zhx-body: "Manrope", system-ui, sans-serif;
}
html, body { font-family: var(--zhx-body); }

/* —— Tema claro (silk) con acentos Zero Helix —— */
[data-theme="silk"] {
  --color-primary: #ff2379;
  --color-primary-content: #ffffff;
  --color-secondary: #ff88e9;
  --color-secondary-content: #2a0818;
  --color-accent: #7543f5;
  --color-accent-content: #ffffff;
  --color-info: #9965fb;
  --color-info-content: #ffffff;
}

[data-theme="silk"] body {
  background: linear-gradient(165deg, #ffffff 0%, #fdf4ff 22%, #fff0f8 48%, #f3eeff 72%, #faf8ff 100%);
  background-attachment: fixed;
}

/* —— Tema oscuro Zero Helix —— */
[data-theme="helix"] {
  color-scheme: dark;
  --color-base-100: #100818;
  --color-base-200: #1a0f26;
  --color-base-300: #2a1838;
  --color-base-content: #f8f2ff;
  --color-primary: #ff2379;
  --color-primary-content: #ffffff;
  --color-secondary: #ff88e9;
  --color-secondary-content: #2a0818;
  --color-accent: #7543f5;
  --color-accent-content: #ffffff;
  --color-neutral: #1a1024;
  --color-neutral-content: #ebe3f8;
  --color-info: #9965fb;
  --color-info-content: #ffffff;
  --color-success: #34d399;
  --color-success-content: #052e1a;
  --color-warning: #fbbf24;
  --color-warning-content: #1a1400;
  --color-error: #fb7185;
  --color-error-content: #1a0508;
  --radius-selector: 0.5rem;
  --radius-field: 0.5rem;
  --radius-box: 1rem;
}

[data-theme="helix"] body {
  background: linear-gradient(165deg, #100818 0%, #1a0f26 35%, #221033 65%, #12081c 100%);
  background-attachment: fixed;
}

.font-display { font-family: var(--zhx-display); letter-spacing: -0.025em; }
.tracking-tightest { letter-spacing: -0.04em; }

body, .card, .navbar, .stat, .table, .menu, .btn, .badge, .hero, .footer {
  transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}

/* generative product/brand art tile */
.zhx-art {
  position: relative; overflow: hidden; isolation: isolate;
  background:
    radial-gradient(70% 60% at 70% 25%, color-mix(in oklab, var(--art) 85%, #fff 0%) 0%, transparent 60%),
    linear-gradient(140deg, color-mix(in oklab, var(--art) 80%, #000 8%) 0%, color-mix(in oklab, var(--art) 55%, var(--color-primary)) 100%);
}
.zhx-art::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: radial-gradient(40% 40% at 35% 30%, rgba(255,255,255,.4), transparent 60%);
  mix-blend-mode: soft-light;
}

.zhx-dots {
  background-image: radial-gradient(color-mix(in oklab, var(--color-base-content) 14%, transparent) 1px, transparent 1px);
  background-size: 22px 22px;
}

.zhx-grad {
  background: linear-gradient(100deg, #ff2379, #ff88e9, #9965fb, #7543f5);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

[data-theme="silk"] .zhx-grad {
  background: linear-gradient(100deg, #be185d, #7c3aed, #ff2379, #7543f5);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

@keyframes zhxmarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.zhx-marq { display: inline-flex; white-space: nowrap; animation: zhxmarq 28s linear infinite; }

.zhx-noscroll::-webkit-scrollbar { width: 0; height: 0; }

/* productos del ecosistema Zero Helix */
.zhx-product-shot {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 0.75rem;
  background: var(--color-base-300);
}
.zhx-product-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
[data-theme="silk"] .zhx-product-shot .zhx-shot-dark { display: none; }
[data-theme="silk"] .zhx-product-shot .zhx-shot-light { display: block; }
[data-theme="helix"] .zhx-product-shot .zhx-shot-dark { display: block; }
[data-theme="helix"] .zhx-product-shot .zhx-shot-light { display: none; }
