/* ==========================================================================
   Variables de Couleurs & Charte Graphique du Laboratoire Solaire UFHB
   ========================================================================== */

:root {
  --font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Palette officielle */
  --color-solar-green: #0B5D3B;        /* Vert profond - Énergies renouvelables & durabilité */
  --color-solar-green-hover: #08492E;  /* Vert accentué au survol */
  --color-solar-night: #12304A;        /* Bleu nuit - Crédibilité scientifique & autorité académique */
  --color-solar-night-deep: #0C2133;   /* Bleu nuit profond - Fond de pied de page */
  --color-solar-gold: #F4B400;         /* Jaune solaire - Énergie photovoltaïque & innovation */
  --color-solar-gold-light: #FEF3C7;   /* Jaune solaire doux */
  --color-solar-light: #F3F5F7;        /* Gris technique clair pour surfaces secondaires */
  --color-solar-canvas: #F8FAFC;       /* Fond général d'application */
}

/* Classes utilitaires pour le marquage et la navigation */
.bg-solar-green { background-color: var(--color-solar-green); }
.bg-solar-green-hover:hover { background-color: var(--color-solar-green-hover); }
.text-solar-green { color: var(--color-solar-green); }
.border-solar-green { border-color: var(--color-solar-green); }

.bg-solar-night { background-color: var(--color-solar-night); }
.bg-solar-night-deep { background-color: var(--color-solar-night-deep); }
.text-solar-night { color: var(--color-solar-night); }
.border-solar-night { border-color: var(--color-solar-night); }

.bg-solar-gold { background-color: var(--color-solar-gold); }
.text-solar-gold { color: var(--color-solar-gold); }
.border-solar-gold { border-color: var(--color-solar-gold); }

.bg-solar-light { background-color: var(--color-solar-light); }

/* Focus accessible */
:focus-visible {
  outline: 2px solid var(--color-solar-green);
  outline-offset: 2px;
}

/* ==========================================================================
   Composant Scrolling News Ticker / Fil d'Actualités & Alertes Événements
   ========================================================================== */
@keyframes ticker-marquee {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

.animate-ticker-scroll {
  display: inline-flex;
  white-space: nowrap;
  animation: ticker-marquee 48s linear infinite;
  will-change: transform;
}

/* Pause on hover, on focus-within, and via JavaScript toggle */
.animate-ticker-scroll:hover,
.animate-ticker-scroll:focus-within,
.ticker-is-paused .animate-ticker-scroll {
  animation-play-state: paused !important;
}

.ticker-track-container {
  mask-image: linear-gradient(to right, transparent, black 15px, black calc(100% - 15px), transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 15px, black calc(100% - 15px), transparent);
}

@media (prefers-reduced-motion: reduce) {
  .animate-ticker-scroll {
    animation: none !important;
    overflow-x: auto;
  }
}

/* Styles pour impression des reçus officiels de dons */
@media print {
  body * {
    visibility: hidden;
  }
  #donationReceiptModal, #donationReceiptModal * {
    visibility: visible;
  }
  #donationReceiptModal {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: white;
    padding: 0;
    margin: 0;
  }
}
