:root,
[data-bs-theme="light"] {
  /* Foundation: follows the active Bootstrap/Core page theme. */
  --teber-color-canvas: var(--bs-body-bg, #f5f7fb);
  --teber-color-surface: var(--bs-white, #fff);
  --teber-color-surface-subtle: var(--bs-tertiary-bg, #f8f9fa);
  --teber-color-text: var(--bs-body-color, #495057);
  --teber-color-text-strong: var(--bs-heading-color, #212529);
  --teber-color-text-muted: var(--bs-secondary-color, #6c757d);
  --teber-color-border: var(--bs-border-color, #dee2e6);

  /* Identity: one cool primary and one restrained warm accent. */
  --teber-color-primary: var(--bs-primary, #3b7ddd);
  --teber-color-primary-strong: var(--bs-link-hover-color, #2f64b1);
  --teber-color-primary-soft: var(--bs-primary-bg-subtle, #d8e5f8);
  --teber-color-primary-border: var(--bs-primary-border-subtle, #b1cbf1);
  --teber-color-accent: #9b6b2f;
  --teber-color-accent-strong: #70491c;
  --teber-color-accent-soft: #f5eadb;
  --teber-color-on-primary: #fff;
  --teber-color-on-accent: #fff;

  /* Interaction and depth. */
  --teber-color-hover: color-mix(in srgb, var(--teber-color-primary) 8%, var(--teber-color-surface));
  --teber-color-focus-border: color-mix(in srgb, var(--teber-color-primary) 58%, var(--teber-color-border));
  --teber-color-focus-ring: var(--bs-focus-ring-color, rgba(59, 125, 221, 0.25));
  --teber-shadow-sm: 0 0.3rem 0.95rem rgba(23, 43, 77, 0.06);
  --teber-shadow-md: 0 0.55rem 1.6rem rgba(23, 43, 77, 0.1);
  --teber-shadow-lg: 0 1rem 2.4rem rgba(23, 43, 77, 0.16);
  --teber-image-overlay-soft: rgba(15, 29, 48, 0.08);
  --teber-image-overlay-strong: rgba(15, 29, 48, 0.78);
}

[data-bs-theme="dark"],
body[data-theme="dark"] {
  --teber-color-surface: var(--bs-gray-900, #212529);
  --teber-color-surface-subtle: var(--bs-gray-800, #343a40);
  --teber-color-accent: #d1a05c;
  --teber-color-accent-strong: #e0b97f;
  --teber-color-accent-soft: #49371f;
  --teber-color-on-accent: #1c1710;
  --teber-shadow-sm: 0 0.3rem 0.95rem rgba(0, 0, 0, 0.18);
  --teber-shadow-md: 0 0.55rem 1.6rem rgba(0, 0, 0, 0.24);
  --teber-shadow-lg: 0 1rem 2.4rem rgba(0, 0, 0, 0.32);
}
