/* Bottom CTA bar (.lf-bottom-cta): the one phone bottom panel of the site (Figma «Bottom CTA bar», 188:2128) —
   landings with a section row and template documentation pages link this file (at the hash of its bytes, kept by
   scripts/lib/site-header.mjs); the runtime is in /js/mobile-nav.js, which every page with the shared header loads.
   Two types: «Кнопка» on landings — the page's main button across the bar (Primary L, a second one Gray L);
   «Предложение» (--offer) in the documentation — the offer on the left, a compact «Начать» (Primary M) on the right.
   Glass, a line on top, 12 16 plus the safe area. It shows on phones only once the first-screen buttons
   ([data-bottom-cta-hero]) have left the view, and steps aside at the final call ([data-bottom-cta-end]) or the
   footer. Buttons take palette and size from landing-buttons.css. */
.lf-bottom-cta {
  position: fixed;
  inset: auto 0 0;
  z-index: 980;
  display: none;
  align-items: center;
  gap: 8px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--lf-border-subtle);
  color: var(--lf-text-primary);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  transform: translateY(110%);
  transition: transform 0.24s ease-out;
}
.lf-bottom-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--lf-bg-glass);
  box-shadow: var(--lf-shadow-glass);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  pointer-events: none;
}
.lf-bottom-cta.is-visible { transform: none; }
.lf-bottom-cta .lf-bottom-cta__button { flex: 1 1 0; min-width: 0; margin: 0; }
.lf-bottom-cta .lf-bottom-cta__button svg { flex: 0 0 auto; }
.lf-bottom-cta--offer { justify-content: space-between; gap: 12px; padding-top: 10px; padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px)); }
.lf-bottom-cta--offer .lf-bottom-cta__button { flex: 0 0 auto; }
/* Offer: Label/M over Caption. */
.lf-bottom-cta .lf-bottom-cta__offer { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; margin: 0; color: var(--lf-text-secondary); font-size: 13px; font-weight: 400; line-height: 18px; }
.lf-bottom-cta .lf-bottom-cta__offer strong { color: var(--lf-text-primary); font-size: 14px; font-weight: 500; line-height: 18px; }
/* A landing shows the bar where its section row hides the action: below 730 px, a long row below 900 px;
   the documentation below 900 px. */
@media (max-width: 729.98px) {
  .lf-bottom-cta { display: flex; }
}
@media (max-width: 899.98px) {
  :root:has(.lf-page-nav--long) .lf-bottom-cta,
  .lf-bottom-cta--offer { display: flex; }
}
/* A bar whose every button is unavailable (disabled, e.g. /kurs/ when the enrolment is closed) is not shown. */
.lf-bottom-cta:not(:has(.lf-bottom-cta__button:not(:disabled, [aria-disabled="true"]))) { display: none; }
@media (prefers-reduced-motion: reduce) {
  .lf-bottom-cta { transition: none; }
}
