/* ==========================================================================
   Base-theme support styles (keep) — required by built-in features.
   Per-project rules go below this block.
   ========================================================================== */

/* Page transition overlay (config: page_transition_overlay) */
#page-transition-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: var(--background-inverted);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: top left;
  /* PAS de transform ici → l'overlay couvre la page par défaut */
  pointer-events: none;
}

#page-transition-overlay-content {
  width: clamp(80px, 10vw, 140px);
  opacity: 1; /* visible par défaut, comme un loading screen */
}


/* GSAP splitflap (js/gsap/animations.js) */
.anim-splitflap {
  display: inline-flex;
  flex-wrap: nowrap;            /* empêche le retour à la ligne */
  font-variant-numeric: tabular-nums;
  line-height: 1;
  /* pas de gap */
}

.anim-splitflap__slot {
  position: relative;
  display: inline-block;
  overflow: hidden;
  height: 1em;
  min-width: 1ch;               /* largeur d'un chiffre, ni plus ni moins */
  /* pas de background, pas de border-radius */
}

.anim-splitflap__track {
  display: flex;
  flex-direction: column;
  will-change: transform;
}

.anim-splitflap__cell {
  display: block;
  height: 1em;
  line-height: 1em;
  text-align: center;
  /* pas de padding */
}


/* GSAP scroll carousel (js/gsap/animations.js) */
[data-anim="scrollCarousel"] {
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

.carousel-track {
  will-change: transform;
}

.carousel-track__item {
  height: 100%;
  opacity: 0.2; /* état initial avant JS */
  transition: opacity 0.3s ease; /* optionnel — lisse le changement */
}


/* ==========================================================================
   Per-project rules go below this line
   ========================================================================== */
