/* RADICAL® — styles & animations */
html { scroll-behavior: smooth; }

::selection { background: #C05A21; color: #F2EFE7; }

/* ---------- Reveal au scroll ----------
   Le texte est visible par défaut ; il n'est masqué QUE si le JS est actif
   (classe .js sur <html>). Ainsi, si une animation, un aperçu embarqué ou un
   navigateur ne joue pas le script, aucun texte ne reste invisible. */
.reveal { opacity: 1; transform: none; }
html.js .reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
  transition-delay: var(--d, 0ms);
}
html.js .reveal.is-visible { opacity: 1; transform: none; }

/* ---------- Ken Burns (héros) ---------- */
@keyframes kenburns {
  from { transform: scale(1.08); }
  to   { transform: scale(1); }
}
.kenburns { animation: kenburns 9s ease-out both; }
.kenburns-slow { animation: kenburns 16s ease-out both; }

/* ---------- Bandeau défilant ---------- */
.marquee-track {
  display: inline-block;
  animation: marquee 40s linear infinite;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ---------- Cartes produit ---------- */
.product-card img { will-change: transform; }

/* ---------- Scrollbar drawer ---------- */
#cart-items::-webkit-scrollbar { width: 4px; }
#cart-items::-webkit-scrollbar-thumb { background: rgba(128,128,128,.4); }

/* ---------- Réduction de mouvement ---------- */
@media (prefers-reduced-motion: reduce) {
  .reveal, html.js .reveal { opacity: 1 !important; transform: none !important; transition: none; }
  .kenburns, .kenburns-slow, .marquee-track { animation: none; }
}
