/* ===========
   Palette (logo)
   =========== */
:root{
  --violet:#6f4aa6;  /* violet logo */
  --brown:#7a4a2b;   /* brun silhouette */
  --sun:#ff9900;     /* soleil */
  --sun-200:#ffd27a; /* clair */
  --ink:#0f172a;     /* texte */
  --paper:#ffffff;   /* fond */
  --ring:#e5e7eb;    /* bordures */
}

/* ===========
   Utilitaires globaux
   =========== */
html { scroll-behavior: smooth; }
.no-x-scroll { overflow-x: hidden; }

.text-ink { color: var(--ink) !important; }
.bg-paper { background: var(--paper) !important; }
.border-ring { border-color: var(--ring) !important; }

.text-violet { color: var(--violet) !important; }
.bg-violet { background: var(--violet) !important; }

.text-brown { color: var(--brown) !important; }
.bg-brown { background: var(--brown) !important; }

.text-sun { color: var(--sun) !important; }
.bg-sun { background: var(--sun) !important; }

.shadow-soft { box-shadow: 0 16px 40px -20px rgba(0,0,0,.35) !important; }

/* ===========
   Composants
   =========== */

/* CTA gradient (remplace les style=\"background:...\" inline) */
.cta-gradient {
  background: linear-gradient(135deg, var(--violet) 0%, var(--sun) 70%);
}

/* Marquee partenaires */
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.marquee-track {
  white-space: nowrap;
  animation: scroll 30s linear infinite;
}

/* Témoignages slider */
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.snap-x { scroll-snap-type: x mandatory; }
.snap-start { scroll-snap-align: start; }
