/**
 * WallPrintGear · global.css — INTENTIONALLY NARROWED
 * ---------------------------------------------------------------------------
 * index.html carries its OWN complete "Orange Rail" inline design system
 * (:root tokens + body / h1–h4 / a / p / img). This file must NOT re-declare
 * any of those global element selectors or brand colors — doing so would
 * override and break the audited dark hero + body typography.
 *
 * Scope here is limited to plugin-container scaffolding only. The four plugins
 * (topbar / dynamic-menu / footer / whatsapp) self-inject their own styles at
 * runtime (topbar.js injectStyles, footer.js #ft-styles, whatsapp-widget.js,
 * plus dynamic-menu.css). So this file stays deliberately thin — it exists to
 * satisfy the <link rel="stylesheet" href="assets/css/global.css"> reference
 * and to give the plugin host containers safe, non-leaking defaults.
 *
 * Brand tokens (for reference, DO NOT apply globally):
 *   accent #F97316 · dark #0B1220 / #0F172A · primary #1D4ED8
 */

/* ---- Plugin host containers (scoped; never touches page body/content) ---- */

/* Topbar host: topbar.js renders a fixed #top-bar sibling; this empty in-flow
   slot acts as the 40px spacer so the fixed bar never overlaps content. The
   :empty min-height is already declared inline in index.html — kept here only
   as a defensive fallback if the inline rule is ever stripped. */
#topbar-container { width: 100%; }

/* Dynamic-menu host: dynamic-menu.js sets .dm-menu classes + innerHTML on this
   node and drives colors via --dm-* vars (see dynamic-menu.css). */
#dynamic-menu-container { width: 100%; }

/* Footer host: footer.js injects #ft-styles and fills this slot. Keep it
   full-bleed and clear of inherited list bullets / link underlines from the
   page. All visual styling comes from footer.js. */
#footer-container { width: 100%; display: block; }
#footer-container ul { list-style: none; margin: 0; padding: 0; }
