:root {
  /* Dynamic Color Mapping */
  --primary: var(--theme-primary, #007bff);
  --secondary: var(--theme-secondary, #6c757d);
  --blue: var(--theme-primary, #007bff);
  --gray: var(--theme-secondary, #6c757d);
  --dark: var(--theme-bg, #343a40);

  /* Layout, Spacing & Container Width Overrides */
  --breakpoint-xl: var(--theme-container-width, 1200px);

  /* Framework Fallbacks handled dynamically via layout hooks if needed, 
     or applied right at the root target containers */
}

/* Global Dynamic Overrides for Structural Variables missing fallback wrappers */
body {
  font-family: var(--theme-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif) !important;
  color: var(--theme-text, #212529) !important;
  background-color: var(--theme-bg, #fff) !important;
}

/* Structural Components Dynamic Override rules */
section, .ftco-section {
  padding-top: var(--theme-section-spacing, 7em) !important;
  padding-bottom: var(--theme-section-spacing, 7em) !important;
}

/* Global Interactive Button Context Overrides */
button, .btn, input[type="submit"] {
  border-radius: var(--theme-button-radius, 0.25rem) !important;
}