:root {
  --brand-primary: #d3353a;
  --brand-secondary: #272626;
  --brand-accent: #70ffc8;
  --brand-success: #28a745;
  --brand-warning: #ffc107;
  --brand-danger: #dc3545;
  --brand-hero-image: url("../img/hero_1774469116_3.jpg");
  --theme-on-brand: #ffffff;
  --theme-on-brand-muted: rgba(255, 255, 255, 0.72);
  --theme-text: color-mix(in srgb, var(--brand-secondary) 78%, #ffffff);
  --theme-text-muted: color-mix(in srgb, var(--brand-secondary) 52%, #ffffff);
  --theme-bg: color-mix(in srgb, var(--brand-primary) 5%, #f6f7f9);
  --theme-surface: #ffffff;
  --theme-surface-alt: color-mix(in srgb, var(--brand-primary) 4%, #ffffff);
  --theme-surface-muted: color-mix(in srgb, var(--brand-secondary) 6%, #ffffff);
  --theme-border: color-mix(in srgb, var(--brand-secondary) 16%, #ffffff);
  --theme-border-strong: color-mix(in srgb, var(--brand-secondary) 28%, #ffffff);
  --theme-primary-soft: color-mix(in srgb, var(--brand-primary) 12%, #ffffff);
  --theme-primary-soft-strong: color-mix(in srgb, var(--brand-primary) 20%, #ffffff);
  --theme-accent-soft: color-mix(in srgb, var(--brand-accent) 18%, #ffffff);
  --theme-hero-start: color-mix(in srgb, var(--brand-secondary) 86%, #000000);
  --theme-hero-end: color-mix(in srgb, var(--brand-primary) 78%, #000000);
  --theme-hero-accent: color-mix(in srgb, var(--brand-accent) 42%, var(--brand-primary));
  --theme-shadow-sm: 0 10px 26px rgba(15, 23, 42, 0.08);
  --theme-shadow-md: 0 18px 40px rgba(15, 23, 42, 0.12);
  --theme-focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 22%, transparent);
  --bs-primary: var(--brand-primary);
  --bs-secondary: var(--brand-secondary);
  --bs-success: var(--brand-success);
  --bs-warning: var(--brand-warning);
  --bs-danger: var(--brand-danger);
  --bs-body-bg: var(--theme-bg);
  --bs-body-color: var(--theme-text);
  --bs-border-color: var(--theme-border);
}

.bg-brand-primary { background-color: var(--brand-primary) !important; }
.bg-brand-secondary { background-color: var(--brand-secondary) !important; }
.text-brand-primary { color: var(--brand-primary) !important; }
.text-brand-secondary { color: var(--brand-secondary) !important; }
.bg-theme-surface { background-color: var(--theme-surface) !important; }
.bg-theme-surface-alt { background-color: var(--theme-surface-alt) !important; }
.text-theme-muted { color: var(--theme-text-muted) !important; }
.border-theme { border-color: var(--theme-border) !important; }

body {
  background: var(--theme-bg);
  color: var(--theme-text);
}

.card,
.modal-content,
.dropdown-menu,
.accordion-item,
.table,
.list-group-item {
  border-color: var(--theme-border);
}
