:root {
  --color-primary: #c46555;
  --color-primary-strong: #a34d40;
  --color-primary-soft: rgba(196, 101, 85, 0.12);
  --color-secondary: #2d2a3a;
  --color-secondary-soft: #403c52;
  --color-accent: #f6f1eb;
  --color-accent-strong: #ebe0d8;
  --color-white: #ffffff;
  --color-dark: #12131d;
  --color-surface: #ffffff;
  --color-surface-soft: rgba(255, 255, 255, 0.75);
  --color-surface-strong: rgba(255, 255, 255, 0.92);
  --color-border: rgba(52, 50, 66, 0.12);
  --color-muted: #63677a;
  --color-muted-strong: #4b4f63;
}

body {
  background-color: var(--color-accent);
  color: var(--color-secondary);
  transition: background-color 0.35s ease, color 0.35s ease;
}

.btn-primary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
  box-shadow: 0 10px 26px rgba(196, 101, 85, 0.24);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:active:focus {
  background-color: var(--color-primary-strong);
  border-color: var(--color-primary-strong);
  color: var(--color-white);
}

.btn-outline-primary {
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary:active:focus {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.btn-primary:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(196, 101, 85, 0.35);
}

.btn-light {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-secondary);
  box-shadow: 0 12px 25px rgba(18, 19, 29, 0.12);
}

.btn-light:hover,
.btn-light:focus,
.btn-light:active,
.btn-light:active:focus {
  background-color: var(--color-surface);
  color: var(--color-secondary);
}

.btn-outline-light {
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.35);
}

.btn-outline-light:hover,
.btn-outline-light:focus,
.btn-outline-light:active,
.btn-outline-light:active:focus {
  background-color: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--color-white);
}

.text-primary {
  color: var(--color-primary) !important;
}

.text-secondary {
  color: var(--color-secondary) !important;
}

.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.bg-primary-soft {
  background-color: var(--color-primary-soft) !important;
}

.text-bg-primary-soft {
  background-color: rgba(196, 101, 85, 0.16);
  color: var(--color-primary);
}

.badge.bg-primary-soft,
.badge.text-bg-primary-soft {
  color: var(--color-primary);
  background-color: rgba(196, 101, 85, 0.15);
  border: 1px solid rgba(196, 101, 85, 0.2);
}

.theme-dark {
  background-color: var(--color-dark);
  color: var(--color-white);
}

body.theme-dark {
  background-color: var(--color-dark);
  color: var(--color-white);
}

body.theme-dark .navbar.navbar-dark {
  background-color: rgba(25, 24, 34, 0.75) !important;
  backdrop-filter: blur(10px);
}

body.theme-dark .navbar .nav-link {
  color: rgba(255, 255, 255, 0.9);
}

body.theme-dark .navbar .nav-link:hover,
body.theme-dark .navbar .nav-link:focus {
  color: var(--color-primary);
}

body.theme-dark .btn-primary {
  color: var(--color-white);
}

body.theme-dark .btn-outline-primary {
  color: var(--color-primary);
  border-color: var(--color-primary);
}

body.theme-dark .btn-outline-primary:hover,
body.theme-dark .btn-outline-primary:focus {
  background-color: var(--color-primary);
  color: var(--color-white);
}

body.theme-dark .btn-light {
  background-color: rgba(255, 255, 255, 0.12);
  color: var(--color-white);
  border-color: transparent;
}

body.theme-dark .btn-light:hover,
body.theme-dark .btn-light:focus {
  background-color: rgba(255, 255, 255, 0.2);
}

body.theme-dark .btn-outline-light {
  border-color: rgba(255, 255, 255, 0.45);
}

body.theme-dark .text-muted,
body.theme-dark .text-muted-emphasis {
  color: rgba(255, 255, 255, 0.7) !important;
}

body.theme-dark .badge.bg-primary-soft,
body.theme-dark .badge.text-bg-primary-soft {
  background-color: rgba(196, 101, 85, 0.25);
  color: var(--color-white);
}

body.theme-dark .hero-carousel-basic,
body.theme-dark .glass-card,
body.theme-dark .feature-card,
body.theme-dark .metric-card,
body.theme-dark .testimonial-card,
body.theme-dark .support-card,
body.theme-dark .gradient-surface-light {
  background-color: rgba(34, 32, 44, 0.85);
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.06);
  box-shadow: 0 22px 40px rgba(10, 9, 20, 0.45);
}

body.theme-dark .glass-card .text-muted,
body.theme-dark .feature-card .text-muted,
body.theme-dark .support-card .text-muted {
  color: rgba(255, 255, 255, 0.75) !important;
}

body.theme-dark a {
  color: var(--color-primary);
}

body.theme-dark a:hover,
body.theme-dark a:focus {
  color: rgba(255, 180, 180, 0.85);
}

body.theme-dark .bg-light {
  background-color: rgba(255, 255, 255, 0.08) !important;
  color: var(--color-white);
}
