/* Active mid-century Bootstrap theme: palette, Reboot and component overrides only.
   Site-specific layout and global accessibility live in main.css. */
:root,
[data-bs-theme="dark"] {
--velkris-bg-rgb: 25, 30, 26;
  --velkris-bg: rgb(var(--velkris-bg-rgb));
  --velkris-text-rgb: 238, 232, 216;
  --velkris-text: rgb(var(--velkris-text-rgb));
  --velkris-heading-rgb: 244, 238, 223;
  --velkris-heading: rgb(var(--velkris-heading-rgb));
  --velkris-muted-rgb: 194, 197, 182;
  --velkris-muted: rgb(var(--velkris-muted-rgb));
  --velkris-secondary-rgb: 52, 60, 47;
  --velkris-secondary: rgb(var(--velkris-secondary-rgb));
  --velkris-surface-rgb: 37, 45, 38;
  --velkris-surface: rgb(var(--velkris-surface-rgb));
  --velkris-primary-rgb: 217, 185, 121;
  --velkris-primary: rgb(var(--velkris-primary-rgb));
  --velkris-primary-hover-rgb: 233, 207, 160;
  --velkris-primary-hover: rgb(var(--velkris-primary-hover-rgb));
  --velkris-primary-active-rgb: 199, 165, 102;
  --velkris-primary-active: rgb(var(--velkris-primary-active-rgb));
  --velkris-info-rgb: 224, 190, 140;
  --velkris-info: rgb(var(--velkris-info-rgb));
  --velkris-border-rgb: 139, 146, 126;
  --velkris-border: rgb(var(--velkris-border-rgb));
  --velkris-accent-rgb: 192, 141, 108;
  --velkris-accent: rgb(var(--velkris-accent-rgb));
  --velkris-font-heading: Georgia, "Times New Roman", serif;
  --velkris-radius: .25rem;
  --velkris-button-radius: .2rem;
  color-scheme: dark;
  --bs-body-bg: var(--velkris-bg);
  --bs-body-bg-rgb: var(--velkris-bg-rgb);
  --bs-body-color: var(--velkris-text);
  --bs-body-color-rgb: var(--velkris-text-rgb);
  --bs-body-font-family: "Space Grotesk", "Segoe UI", sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-line-height: 1.65;
  --bs-heading-color: var(--velkris-heading);
  --bs-emphasis-color: var(--velkris-heading);
  --bs-emphasis-color-rgb: var(--velkris-heading-rgb);
  --bs-secondary-color: var(--velkris-muted);
  --bs-secondary-color-rgb: var(--velkris-muted-rgb);
  --bs-secondary-bg: var(--velkris-secondary);
  --bs-secondary: var(--velkris-secondary);
  --bs-secondary-rgb: var(--velkris-secondary-rgb);
  --bs-tertiary-bg: var(--velkris-surface);
  --bs-primary: var(--velkris-primary);
  --bs-primary-rgb: var(--velkris-primary-rgb);
  --bs-info: var(--velkris-info);
  --bs-info-rgb: var(--velkris-info-rgb);
  --bs-link-color: var(--velkris-info);
  --bs-link-color-rgb: var(--velkris-info-rgb);
  --bs-link-hover-color: var(--velkris-heading);
  --bs-link-hover-color-rgb: var(--velkris-heading-rgb);
  --bs-border-color: var(--velkris-border);
  --bs-border-radius: var(--velkris-radius);
  --bs-border-radius-lg: var(--velkris-radius);
  --bs-focus-ring-color: var(--velkris-heading);
}

.card {
--bs-card-bg: var(--velkris-surface);
  --bs-card-color: var(--bs-body-color);
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-border-radius: var(--bs-border-radius);
  border-top: .25rem solid var(--velkris-accent);
}

.card.bg-secondary {
border-top-color: var(--bs-primary);
}

h1, h2 {
font-family: var(--velkris-font-heading); font-weight: 400; line-height: 1.12;
}

h2.h2 {
font-size: clamp(1.8rem, 3vw, 2.4rem);
}

.lead {
font-size: 1.125rem; line-height: 1.7; font-weight: 400;
}

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

.text-light-emphasis {
color: var(--bs-body-color) !important;
}

hr {
color: var(--bs-border-color); opacity: 1;
}

.btn {
--bs-btn-border-radius: var(--velkris-button-radius);
  --bs-btn-font-weight: 600;
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: .8rem;
  min-height: 48px;
  white-space: normal;
}

.btn-primary {
--bs-btn-color: var(--velkris-bg);
  --bs-btn-bg: var(--velkris-primary);
  --bs-btn-border-color: var(--velkris-primary);
  --bs-btn-hover-color: var(--velkris-bg);
  --bs-btn-hover-bg: var(--velkris-primary-hover);
  --bs-btn-hover-border-color: var(--velkris-primary-hover);
  --bs-btn-active-color: var(--velkris-bg);
  --bs-btn-active-bg: var(--velkris-primary-active);
  --bs-btn-active-border-color: var(--velkris-primary-active);
  --bs-btn-disabled-color: var(--velkris-bg);
  --bs-btn-disabled-bg: var(--velkris-primary);
  --bs-btn-disabled-border-color: var(--velkris-primary);
  --bs-btn-focus-shadow-rgb: var(--velkris-heading-rgb);
}

/* Bootstrap outline buttons need explicit component tokens to follow the palette. */
.btn-outline-primary {
  --bs-btn-color: var(--velkris-primary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--velkris-primary);
  --bs-btn-hover-color: var(--velkris-bg);
  --bs-btn-hover-bg: var(--velkris-primary-hover);
  --bs-btn-hover-border-color: var(--velkris-primary-hover);
  --bs-btn-active-color: var(--velkris-bg);
  --bs-btn-active-bg: var(--velkris-primary-active);
  --bs-btn-active-border-color: var(--velkris-primary-active);
  --bs-btn-disabled-color: var(--velkris-primary);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--velkris-primary);
  --bs-btn-focus-shadow-rgb: var(--velkris-heading-rgb);
}

@media (max-width: 575.98px) {
.card { overflow-wrap: anywhere; }
}

@media (forced-colors: active) {
.card { border: 1px solid CanvasText; }
  .btn { border: 2px solid ButtonText; }
  a:focus-visible, .btn:focus-visible { outline-color: Highlight; box-shadow: none; }
}
