/* ------------------------------------------------------------------
   Paleta de brand (Pantone)
   Blue 072 C  #10069F   accent principal
   290 C       #B9D9EB   fundaluri moi / wash
   7469 C      #005F86   tonuri medii, familia neutrelor
   2350 C      #AF231C   stari de eroare
   3517 C      #C10016   hover, gradienturi calde

   Se incarca DUPA bundle-urile Astro, deci redefinirile de aici
   au ultimul cuvant. Fisierele din _astro raman neatinse, ca sa
   poata fi re-descarcate fara sa se piarda paleta.
   ------------------------------------------------------------------ */

:root {
  /* paleta bruta, disponibila pentru orice folosire ulterioara */
  --brand-blue: #10069f;
  --brand-blue-pale: #b9d9eb;
  --brand-teal: #005f86;
  --brand-red-brick: #af231c;
  --brand-red: #c10016;

  /* accentul principal: inlocuieste limeul #e1fc06 in toate cele
     ~400 de folosiri (bg-neon, text-neon, border-neon, from/to-neon) */
  --color-neon: var(--brand-blue);

  /* wash-ul radial din spatele grilei de logouri si al hero-ului:
     accentul inchis ar innegri zona, deci foloseste bleul pal */
  --color-wash: var(--brand-blue-pale);

  /* culoarea de hover peste accent */
  --color-accent-hover: var(--brand-red);

  /* neutrele, virate rece pe hue 200 (familia #005F86).
     Luminanta fiecarei trepte e pastrata din griul original,
     ca sa nu se schimbe raporturile de contrast. */
  --color-neutral-50: #f5f6f7;
  --color-neutral-100: #e3e8eb;
  --color-neutral-200: #cad4d8;
  --color-neutral-400: #7a8d96;
  --color-neutral-500: #5e727c;
  --color-neutral-600: #4e626c;
  --color-neutral-700: #41545d;
  --color-neutral-800: #222f36;

  --color-sky-500: var(--brand-teal);
  --color-error: var(--brand-red-brick);
}

/* Accentul era deschis (lime), deci avea text negru peste el.
   Acum e inchis, asa ca tot ce sta pe suprafata de accent trece pe alb.
   Selectorii compusi bat utilitarul simplu .text-black (0,2,0 > 0,1,0).
   Toate cele 156 de elemente cu tokenul bg-neon poarta si text-black. */
.bg-neon {
  color: var(--color-white, #fff);
}
.bg-neon.text-black,
.bg-neon .text-black,
.bg-neon.text-neutral-800,
.bg-neon .text-neutral-800 {
  color: var(--color-white, #fff);
}
.bg-neon svg {
  color: var(--color-white, #fff);
}

/* --- Exceptii: unde bg-neon NU castiga fundalul ---------------------
   Cateva elemente poarta bg-neon impreuna cu un utilitar de fundal mai
   specific, care il bate. Acolo suprafata nu e albastra, deci textul
   trebuie sa ramana negru; altfel iese alb pe alb.
   Varianta dark din acest build e compilata cu :where(.dark,.dark *),
   care nu adauga specificitate, deci se poate imita exact. */

/* 1. Primul card din grila: .first\:bg-white:first-child (0,2,0) bate
      .bg-neon (0,1,0), deci fundalul e alb. Doar in light mode: in dark
      preia dark:first:bg-neutral-800 + dark:first:text-white. */
.bg-neon.first\:bg-white:first-child:not(:where(.dark, .dark *)),
.bg-neon.first\:bg-white:first-child:not(:where(.dark, .dark *)) .text-black,
.bg-neon.first\:bg-white:first-child:not(:where(.dark, .dark *)) svg {
  color: var(--color-black, #000);
}

/* 2. In dark mode, la hover fundalul devine alb (dark:hover:bg-white),
      iar elementul isi cere singur dark:hover:text-black. */
.bg-neon.dark\:hover\:bg-white:where(.dark, .dark *):hover,
.bg-neon.dark\:hover\:bg-white:where(.dark, .dark *):hover .text-black,
.bg-neon.dark\:hover\:bg-white:where(.dark, .dark *):hover svg {
  color: var(--color-black, #000);
}

/* Bordura de accent peste fundal inchis ramane vizibila */
.border-neon {
  border-color: var(--color-neon);
}

/* Gradienturile care porneau din lime devin wash pal, nu bloc de
   albastru inchis. Fara asta, blob-ul radial din hero ar deveni o
   pata grea in loc de o aura. */
.from-neon {
  --tw-gradient-from: var(--color-wash);
}
.to-neon {
  --tw-gradient-to: var(--color-wash);
}
.via-neon {
  --tw-gradient-via: var(--color-wash);
}

/* Marca Interlinked.
   Fisierul e alb cu fundal transparent, deci se citeste direct pe inchis.
   Pe fundal deschis il inversam, ca sa apara negru. Inversarea e pe imagine,
   nu pe container, ca sa nu atinga si textul de langa ea. */
.logo-mark { filter: invert(1); }
:root.dark .logo-mark { filter: none; }
