/* LocalStalls — public-page typography so the page body matches the marketing site.
   Hand-written (NOT generated). Loaded after ls-chrome.css by components/layout.blade.php.
   Every rule is scoped under body.ls-public (set only by components/layout.blade.php) so the
   authenticated admin/vendor layouts (app.blade.php) are untouched. The @font-face declarations
   for Poppins / DM Sans live in ls-chrome.css. */

body.ls-public {
  --ls-font-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ls-font-head: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* Bootstrap reads these for its own body / heading / button defaults. */
  --bs-font-sans-serif: var(--ls-font-body);
  --bs-body-font-family: var(--ls-font-body);
  font-family: var(--ls-font-body);
  /* The old Bootstrap navbar was sticky-top and needed no body offset; the new header is a
     sticky, in-flow 90px bar (72px < 1024px), so the page starts directly under it. */
  margin: 0;
  padding-top: 0;
}

/* Vuetify-rendered public Inertia pages (registration, claim listing, membership application):
   the blank layout wrapper, so Vuetify's own body font (Manrope) never wins over DM Sans. */
body.ls-public .layout-wrapper.layout-blank {
  font-family: var(--ls-font-body);
}

body.ls-public h1, body.ls-public h2, body.ls-public h3, body.ls-public h4,
body.ls-public .h1, body.ls-public .h2, body.ls-public .h3, body.ls-public .h4 {
  font-family: var(--ls-font-head);
  color: #222;
}

/* Buttons: Poppins like the site's CTAs. Vuetify field internals are deliberately left alone. */
body.ls-public .btn,
body.ls-public .v-btn {
  font-family: var(--ls-font-head);
}
