:root{
  --orbix-ink:#07101f;
  --orbix-ink-2:#172033;
  --orbix-muted-dark:#334155;
  --orbix-light:#f8fafc;
  --orbix-muted-light:#cbd5e1;
  --orbix-cyan:#00e5ff;
  --orbix-green:#00ff88;
  --orbix-yellow:#ffcd11;
  --orbix-purple:#8b3dff;
  --orbix-magenta:#ff4df0;
  --orbix-card-dark:rgba(10,15,30,.90);
}

/* ============================================================
   REGLA PRINCIPAL:
   Si el fondo es claro, texto oscuro.
   Si el fondo es oscuro, texto claro.
   ============================================================ */

.orbix-light-surface,
.orbix-light-surface section,
.orbix-light-surface article,
.orbix-light-surface div{
  color:var(--orbix-ink) !important;
}

.orbix-light-surface h1,
.orbix-light-surface h2,
.orbix-light-surface h3,
.orbix-light-surface h4,
.orbix-light-surface h5,
.orbix-light-surface h6,
.orbix-light-surface p,
.orbix-light-surface li,
.orbix-light-surface span,
.orbix-light-surface strong,
.orbix-light-surface em,
.orbix-light-surface label,
.orbix-light-surface small,
.orbix-light-surface td,
.orbix-light-surface th{
  color:var(--orbix-ink) !important;
  text-shadow:none !important;
}

.orbix-light-surface p,
.orbix-light-surface li,
.orbix-light-surface span,
.orbix-light-surface label,
.orbix-light-surface small{
  color:var(--orbix-muted-dark) !important;
}

.orbix-light-surface a:not(.btn):not(.btn-primary):not(.orbix-main-ai-button):not(.orbix-credit-floating){
  color:#075985 !important;
  text-shadow:none !important;
}

.orbix-light-surface a:not(.btn):hover{
  color:#6d28d9 !important;
}

/* Cards claras heredadas de Odoo/static: convertirlas a dark premium */
main .bg-white,
main .card.bg-white,
main .s_card.bg-white,
main .o_card.bg-white,
main [style*="background: white"],
main [style*="background:#fff"],
main [style*="background-color: white"],
main [style*="background-color:#fff"],
main [style*="background-color: rgb(255, 255, 255)"],
main [style*="background: rgb(255, 255, 255)"]{
  background:
    radial-gradient(circle at 100% 0%,rgba(0,229,255,.10),transparent 42%),
    radial-gradient(circle at 0% 100%,rgba(255,77,240,.10),transparent 44%),
    rgba(10,15,30,.92) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  color:var(--orbix-light) !important;
}

main .bg-white *,
main .card.bg-white *,
main .s_card.bg-white *,
main .o_card.bg-white *,
main [style*="background: white"] *,
main [style*="background:#fff"] *,
main [style*="background-color: white"] *,
main [style*="background-color:#fff"] *,
main [style*="background-color: rgb(255, 255, 255)"] *,
main [style*="background: rgb(255, 255, 255)"] *{
  color:var(--orbix-light) !important;
}

/* Elementos corregidos por JS */
.orbix-force-dark-text,
.orbix-force-dark-text *{
  color:var(--orbix-ink) !important;
  text-shadow:none !important;
}

.orbix-force-dark-text p,
.orbix-force-dark-text li,
.orbix-force-dark-text span,
.orbix-force-dark-text small,
.orbix-force-dark-text label{
  color:var(--orbix-muted-dark) !important;
}

.orbix-force-light-text,
.orbix-force-light-text *{
  color:var(--orbix-light) !important;
}

.orbix-force-light-text p,
.orbix-force-light-text li,
.orbix-force-light-text span,
.orbix-force-light-text small,
.orbix-force-light-text label{
  color:var(--orbix-muted-light) !important;
}

/* Cards de pasos, features, cajas y tiles */
main .card,
main .o_card,
main .s_card,
main [class*="card"],
main [class*="feature"],
main [class*="tile"],
main [class*="panel"],
main [class*="box"]{
  border-radius:28px !important;
}

main .orbix-dark-card-v9{
  background:
    radial-gradient(circle at 100% 0%,rgba(0,229,255,.12),transparent 42%),
    radial-gradient(circle at 0% 100%,rgba(255,77,240,.12),transparent 44%),
    rgba(10,15,30,.92) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.30) !important;
  color:var(--orbix-light) !important;
}

main .orbix-dark-card-v9 *{
  color:var(--orbix-light) !important;
}

main .orbix-dark-card-v9 p,
main .orbix-dark-card-v9 li,
main .orbix-dark-card-v9 span,
main .orbix-dark-card-v9 small{
  color:var(--orbix-muted-light) !important;
}

/* Secciones claras: no permitir blanco sobre blanco */
main section,
main article{
  position:relative;
}

main section.orbix-light-section-v9{
  background:
    linear-gradient(180deg,#f8fafc,#eef6ff) !important;
  color:var(--orbix-ink) !important;
}

main section.orbix-light-section-v9 h1,
main section.orbix-light-section-v9 h2,
main section.orbix-light-section-v9 h3,
main section.orbix-light-section-v9 h4,
main section.orbix-light-section-v9 p,
main section.orbix-light-section-v9 li,
main section.orbix-light-section-v9 span{
  color:var(--orbix-ink) !important;
  text-shadow:none !important;
}

main section.orbix-dark-section-v9{
  background:
    radial-gradient(circle at 15% 0%,rgba(0,255,136,.08),transparent 28rem),
    radial-gradient(circle at 88% 0%,rgba(139,61,255,.18),transparent 30rem),
    linear-gradient(135deg,#07101f,#05050b) !important;
  color:var(--orbix-light) !important;
}

main section.orbix-dark-section-v9 h1,
main section.orbix-dark-section-v9 h2,
main section.orbix-dark-section-v9 h3,
main section.orbix-dark-section-v9 h4,
main section.orbix-dark-section-v9 p,
main section.orbix-dark-section-v9 li,
main section.orbix-dark-section-v9 span{
  color:var(--orbix-light) !important;
}

/* Botones mantienen paleta nueva */
.btn-primary,
a.btn-primary,
a[href*="contacto"],
a[href*="demo"],
a[href*="shop"],
a[href*="orbix-credits"],
a[href*="generar-con-ia"],
a[href*="crear-con-ia"],
.orbix-credit-floating,
.orbix-credit-header-badge-direct,
.orbix-main-ai-button{
  background:linear-gradient(135deg,var(--orbix-yellow),var(--orbix-green)) !important;
  color:#07101f !important;
  border-color:rgba(255,205,17,.72) !important;
  text-shadow:none !important;
  box-shadow:
    0 18px 44px rgba(255,205,17,.20),
    0 0 28px rgba(0,255,136,.12) !important;
}

/* Enlaces del menú/header no deben ponerse oscuros */
header *,
#top *,
.o_header_standard *,
.o_header_affixed *,
[data-name="Header"] *,
.orbix-main-ai-menu *,
.orbix-main-ai-dropdown *{
  text-shadow:none !important;
}

/* Evitar que la selección visual parezca error permanente */
::selection{
  background:rgba(0,229,255,.34);
  color:#07101f;
}

@media(max-width:980px){
  main .card,
  main .o_card,
  main .s_card,
  main [class*="card"],
  main [class*="feature"],
  main [class*="tile"]{
    min-height:auto !important;
  }
}
