/* ════════════════════════════════════════
   Bandeau promo (inc/promo-banner.php)
   Fixé en haut ; sa hauteur réelle est publiée par le script du bandeau
   dans --lf-promo-h, qui décale la nav fixe et le contenu de chaque page.
   Autonome (la landing ne charge pas style.css) : couleurs en dur.
════════════════════════════════════════ */
.lf-promo { display: none; }
.js .lf-promo {
  position: fixed; top: 0; left: 0; right: 0; z-index: 300;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: .4rem 1rem;
  padding: .5rem 3rem .5rem 1rem;
  background: #0E2138;
  border-bottom: 2px solid #F5C518;
  color: #FFF8EC;
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  text-align: center;
  box-shadow: 0 4px 18px rgba(0,0,0,.45);
}
.lf-promo p { margin: 0; }
.lf-promo-text {
  font-size: 1.05rem; font-weight: 700; line-height: 1.3;
  letter-spacing: .04em; text-transform: uppercase;
}
/* Prix : même typo que le texte, simplement en or. */
.lf-promo-price {
  font-weight: inherit;
  color: #F5C518;
  white-space: nowrap;
}
.lf-promo-actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; justify-content: center; }
.lf-promo-actions-label { font-size: .95rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #F5C518; }
.lf-promo-cta {
  display: inline-block;
  padding: .3rem .9rem;
  background: #B80F14; color: #fff;
  border: 2px solid #F5C518; border-radius: 4px;
  font-family: inherit; font-size: .95rem; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase; text-decoration: none;
  white-space: nowrap;
}
.lf-promo-cta:hover, .lf-promo-cta:focus-visible { background: #E8151B; color: #fff; }
.lf-promo a:focus-visible, .lf-promo button:focus-visible { outline: 3px solid #FFE066; outline-offset: 2px; }
.lf-promo-close {
  position: absolute; top: 50%; right: .35rem; transform: translateY(-50%);
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: 0; border-radius: 50%;
  color: #FFF8EC; font-size: 1.6rem; line-height: 1; cursor: pointer;
}
.lf-promo-close:hover { color: #F5C518; background: rgba(255,255,255,.08); }

@media (max-width: 640px) {
  .js .lf-promo { padding: .45rem 2.75rem .5rem .75rem; gap: .35rem .5rem; }
  .lf-promo-text { font-size: .92rem; letter-spacing: .02em; }
  .lf-promo-cta, .lf-promo-actions-label { font-size: .85rem; }
  .lf-promo-cta { padding: .25rem .7rem; }
}

/* ── Décalages quand le bandeau est affiché ── */
.has-lf-promo { scroll-padding-top: var(--lf-promo-h, 0px); }
.has-lf-promo body { padding-top: var(--lf-promo-h, 0px); }
/* /longjumeaux/ (header.php) */
.has-lf-promo .site-nav { top: var(--lf-promo-h, 0px); }
.has-lf-promo body.admin-bar .lf-promo { top: 32px; }
.has-lf-promo body.admin-bar .site-nav { top: calc(32px + var(--lf-promo-h, 0px)); }
@media screen and (max-width: 782px) {
  .has-lf-promo body.admin-bar .lf-promo { top: 46px; }
  .has-lf-promo body.admin-bar .site-nav { top: calc(46px + var(--lf-promo-h, 0px)); }
}
/* /bagneux/ */
.has-lf-promo .bg-topbar { top: var(--lf-promo-h, 0px); }
/* Accueil (choix du restaurant, plein écran) */
.has-lf-promo .hdr { top: var(--lf-promo-h, 0px); }
.has-lf-promo .chooser { height: calc(100vh - var(--lf-promo-h, 0px)); }
@media (max-width: 640px) {
  .has-lf-promo .chooser { height: auto; min-height: calc(100svh - var(--lf-promo-h, 0px)); }
}
