/* ==================================================
   VALBOOSTING · F3 SHARED BASE (main.css compensation)
   --------------------------------------------------
   functions.php blanks the parent boosting-main <link> (boosting/assets/css/
   main.css, ~16.7k lines) on every F3 page via a style_loader_tag filter, so
   none of main.css's rules can bleed onto the F3 design — that ends the cascade
   whack-a-mole the order page started (the EBL-blue .btn::after skew, the bare
   `i{margin-right:5px}` / `h1-5{margin-bottom:18px}` / `ul{margin-left:30px}`
   leaks, the .chat-* margins/fonts, the #chat_outer clamp, …) and trims a big
   sheet off every page.

   main.css was ALSO the shared site BASE, though. The handful of primitives the
   live chrome + F3 content actually lean on are re-homed here, scoped to the
   `.vb-f3` body class (added by functions.php body_class on every F3 page) so
   nothing leaks to a non-F3 page (those keep main.css). This is the generalised
   form of what order-live.css proved on the order page (PR #358); it now serves
   every page that strips main.css.

   What needs NOTHING here: the header (.eb-nav) lives in nav.css (boosting-nav,
   never stripped, self-contained — own box-sizing + all:unset); chrome-f3.css
   recolours both header + footer; vendor.css + font-awesome stay loaded. Pages
   that also load home-page.css get its `.vb-rd *{box-sizing;margin:0;padding:0}`
   reset on top — this file is the floor for the pages that don't (order,
   booster, blog, legal).
   ================================================== */

/* 1 — document base (main.css reset `body{margin:0}` + body{} lines 157-163).
   overflow-y:scroll keeps the scrollbar gutter stable so layout doesn't shift
   between short/tall pages; antialiasing keeps F3 text the same weight it has
   with main.css present. */
body.vb-f3 {
  margin: 0;
  /* neutralise the parent main.css `body{min-width:1275px}` (body-level, OUTSIDE
     .vb-rd so the reset can't catch it) — it would break the F3 responsive
     breakpoints if main.css leaks past the F3 strip (LiteSpeed combine). */
  min-width: 0;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

/* 2 — F3 content box model. The previews (body.vb-rd) + home-page.css
   (`.vb-rd, .vb-rd *{box-sizing:border-box}`) render border-box; main.css never
   set a global box-sizing, so without this the live .vb-rd content is content-box
   and padding inflates widths vs the preview. Restore border-box. Scoped to
   .vb-rd so the footer grid below keeps the content-box main.css authored it
   under. (Matches order-live.css's proven approach — margin/padding zeroing is
   left to home-page.css where loaded + each design's own rules, so this can't
   collapse a bespoke page that relies on UA-default margins.) */
body.vb-f3 .vb-rd,
body.vb-f3 .vb-rd * { box-sizing: border-box; }

/* 3 — stray media (main.css `img,video{max-width:100%;height:auto}`). */
body.vb-f3 img,
body.vb-f3 video { max-width: 100%; height: auto; }

/* FOOTER LAYOUT — removed. footer.php no longer emits the parent widget-grid
   markup (.container > .soc-icon + .footer-top > .footer-col__w* / .footer-logo);
   it now renders <footer class="site-footer"> (the F3 design), styled site-wide
   in chrome-f3.css (.site-footer …). The old re-homed float-grid rules that used
   to live here are dead, and their bare `.footer-col` / `.footer-bottom` rules
   would have collided with the new grid columns, so the whole block is gone. */
