/* ls-bottom-system.css — pont legacy vers le systeme de barres fixes bas.
 * Charge juste apres hotfix.css (headVueSpa.twig / head.twig / head-cart.twig)
 * avec le meme cache-bust. CSS pur, memes noms de vars que _tokens.scss :
 * les deux :root posent des valeurs identiques -> idempotent, ordre indifferent.
 * Le JS (bottom-system.js) ecrit dans le meme document.documentElement.style,
 * donc une seule ecriture pilote les deux mondes (Vue/Vite + legacy). */

:root {
  --ls-safe-bottom: env(safe-area-inset-bottom, 0px);
  --ls-bottom-nav-h: 0px;     /* overwritten by bottom-system.js */
  --ls-keyboard-inset: 0px;   /* overwritten by bottom-system.js */
  /* max() et non somme : la nav mesuree inclut deja sa safe-area (cf §8.7) */
  --ls-bottom-stack: max(var(--ls-bottom-nav-h), var(--ls-safe-bottom));

  --ls-z-content: 1;
  --ls-z-nav: 990;
  --ls-z-cta: 995;
  --ls-z-header: 1010;
}

/* --- Classes utilitaires legacy (portees par les Twig, equivalentes aux mixins SCSS) --- */

/* Barre CTA empilee au-dessus de la nav mesuree + safe-area. */
.ls-sticky-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: var(--ls-bottom-nav-h);
  z-index: var(--ls-z-cta);
  padding-bottom: calc(0.75rem + var(--ls-safe-bottom) + var(--ls-keyboard-inset));
  box-sizing: border-box;
}

/* Variante "solo" : le CTA remplace la nav (nav masquee), bottom:0. */
.ls-sticky-bar-solo {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--ls-z-cta);
  padding-bottom: calc(0.75rem + var(--ls-safe-bottom) + var(--ls-keyboard-inset));
  box-sizing: border-box;
}

/* Reservation d'espace en bas = nav + safe (via max()) ; le CTA propre s'ajoute en inline si besoin. */
.ls-reserve-nav {
  padding-bottom: var(--ls-bottom-stack);
}

/* Filet de securite global : toutes les pages legacy reservent au moins la pile bas.
 * #content-min-len etait inerte (top:60px;bottom:0) ; on garantit l'espace de la nav. */
#content-min-len {
  padding-bottom: var(--ls-bottom-stack);
}
