/* airael brand theme — load after Bootstrap 5.3 */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=DM+Mono:wght@400;500&family=Outfit:wght@400;500;600;700&display=swap");

:root {
  --airael-navy: #0e1a3a;
  --airael-gold: #b8922a;
  --airael-gold-light: #c9a96e;
  --airael-mulberry: #8b2f5f;
  --airael-linen: #f5f4f0;
  --airael-warm-slate: #7a7266;
  --airael-surface: #ffffff;
  --airael-border: #e8e4dc;

  --bs-primary: var(--airael-gold);
  --bs-primary-rgb: 184, 146, 42;
  --bs-secondary: var(--airael-warm-slate);
  --bs-secondary-rgb: 122, 114, 102;
  --bs-font-sans-serif: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

[data-bs-theme="light"] {
  color-scheme: light;

  --airael-page-bg: var(--airael-linen);
  --airael-page-text: var(--airael-navy);
  --airael-muted: var(--airael-warm-slate);

  --bs-body-bg: var(--airael-page-bg);
  --bs-body-color: var(--airael-page-text);
  --bs-link-color: var(--airael-gold);
  --bs-link-hover-color: #96751f;
  --bs-border-color: var(--airael-border);
  --bs-heading-color: var(--airael-navy);
  --bs-secondary-color: var(--airael-muted);
  --bs-tertiary-color: var(--airael-muted);
  --bs-card-bg: var(--airael-surface);
  --bs-card-border-color: var(--airael-border);
  --bs-list-group-bg: var(--airael-surface);
  --bs-list-group-border-color: var(--airael-border);
  --bs-dropdown-bg: var(--airael-surface);
  --bs-dropdown-border-color: var(--airael-border);
  --bs-dropdown-link-color: var(--airael-navy);
  --bs-dropdown-link-hover-bg: #f0ebe3;
}

[data-bs-theme="dark"] {
  color-scheme: dark;

  --airael-page-bg: #0a1228;
  --airael-page-text: #f0ebe3;
  --airael-muted: #a89f92;
  --airael-surface: #152038;
  --airael-surface-elevated: #1c2844;
  --airael-border: #2a3550;

  --bs-body-bg: var(--airael-page-bg);
  --bs-body-color: var(--airael-page-text);
  --bs-link-color: var(--airael-gold-light);
  --bs-link-hover-color: var(--airael-gold);
  --bs-border-color: var(--airael-border);
  --bs-heading-color: #f5f4f0;
  --bs-secondary-color: var(--airael-muted);
  --bs-tertiary-color: var(--airael-muted);
  --bs-card-bg: var(--airael-surface);
  --bs-card-border-color: var(--airael-border);
  --bs-list-group-bg: var(--airael-surface);
  --bs-list-group-border-color: var(--airael-border);
  --bs-dropdown-bg: var(--airael-surface-elevated);
  --bs-dropdown-border-color: var(--airael-border);
  --bs-dropdown-link-color: var(--airael-page-text);
  --bs-dropdown-link-hover-bg: #243052;
  --bs-form-control-bg: var(--airael-surface);
  --bs-form-control-color: var(--airael-page-text);
  --bs-form-control-border-color: var(--airael-border);
  --bs-form-select-bg: var(--airael-surface);
  --bs-form-select-color: var(--airael-page-text);
  --bs-form-select-border-color: var(--airael-border);
  --bs-table-bg: transparent;
  --bs-table-color: var(--airael-page-text);
  --bs-table-border-color: var(--airael-border);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.03);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.05);
}

body {
  font-family: var(--bs-font-sans-serif);
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
}

h1, .h1, h2, .h2, h3, .h3 {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.text-muted {
  color: var(--airael-muted, var(--airael-warm-slate)) !important;
}

[data-bs-theme="dark"] .text-secondary {
  color: var(--airael-muted) !important;
}

[data-bs-theme="dark"] .bg-white,
[data-bs-theme="dark"] .card-header.bg-white {
  background-color: var(--airael-surface) !important;
}

[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] thead.table-light {
  --bs-table-bg: var(--airael-surface-elevated);
  --bs-table-color: var(--airael-page-text);
  --bs-table-border-color: var(--airael-border);
}

[data-bs-theme="dark"] .bg-light {
  background-color: var(--airael-surface-elevated) !important;
}

[data-bs-theme="dark"] .border {
  border-color: var(--airael-border) !important;
}

[data-bs-theme="dark"] .alert-info {
  --bs-alert-bg: #1a2744;
  --bs-alert-border-color: var(--airael-border);
  --bs-alert-color: var(--airael-page-text);
}

[data-bs-theme="dark"] .flow-summary-prose pre {
  background: var(--airael-surface);
  border-color: var(--airael-border);
  color: var(--airael-page-text);
}

[data-bs-theme="dark"] .airael-footer {
  background: var(--airael-surface);
  border-top-color: var(--airael-border);
  color: var(--airael-muted);
}

/* Navbar */
.airael-navbar {
  background-color: var(--airael-navy) !important;
}

.airael-navbar .navbar-brand,
.airael-navbar .nav-link,
.airael-navbar .navbar-text {
  color: rgba(255, 255, 255, 0.92) !important;
}

.airael-navbar .nav-link:hover,
.airael-navbar .nav-link:focus,
.airael-navbar .navbar-brand:hover {
  color: var(--airael-gold-light) !important;
}

.airael-navbar .dropdown-menu {
  border-color: var(--airael-border);
  box-shadow: 0 4px 16px rgba(14, 26, 58, 0.12);
}

.airael-navbar .dropdown-item:active {
  background-color: var(--airael-gold);
}

/* Wordmark — ai + rael as one word (italic ai pulls wider; negative margin closes the gap) */
.airael-wordmark {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
  color: inherit;
  text-decoration: none;
  text-transform: lowercase;
  line-height: 1;
}

.airael-wordmark:hover {
  color: var(--airael-gold-light);
  text-decoration: none;
}

.airael-wordmark-ai,
.wordmark-ai {
  color: var(--airael-gold);
  font-style: italic;
  margin-right: -0.14em;
}

.airael-wordmark-rest,
.wordmark-rest {
  font-style: normal;
  letter-spacing: inherit;
}

.airael-navbar .airael-wordmark {
  color: #fff;
}

.airael-navbar .airael-wordmark-ai,
.airael-navbar .wordmark-ai {
  color: var(--airael-gold);
}

.airael-brand-mark {
  flex-shrink: 0;
}

.airael-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border: 0;
  opacity: 0.92;
}

.airael-theme-toggle:hover,
.airael-theme-toggle:focus {
  opacity: 1;
}

.airael-theme-toggle-icon {
  display: inline-flex;
}

/* Primary buttons */
.btn-primary {
  --bs-btn-bg: var(--airael-gold);
  --bs-btn-border-color: var(--airael-gold);
  --bs-btn-hover-bg: #96751f;
  --bs-btn-hover-border-color: #96751f;
  --bs-btn-active-bg: #7d6119;
  --bs-btn-active-border-color: #7d6119;
  --bs-btn-disabled-bg: var(--airael-gold);
  --bs-btn-disabled-border-color: var(--airael-gold);
  color: #fff;
}

.btn-outline-primary {
  --bs-btn-color: var(--airael-gold);
  --bs-btn-border-color: var(--airael-gold);
  --bs-btn-hover-bg: var(--airael-gold);
  --bs-btn-hover-border-color: var(--airael-gold);
  --bs-btn-active-bg: #96751f;
  --bs-btn-active-border-color: #96751f;
}

/* AI layer — mulberry only */
.btn-airael-ai {
  --bs-btn-color: var(--airael-mulberry);
  --bs-btn-border-color: var(--airael-mulberry);
  --bs-btn-hover-bg: var(--airael-mulberry);
  --bs-btn-hover-border-color: var(--airael-mulberry);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #6e2549;
  --bs-btn-active-border-color: #6e2549;
  --bs-btn-active-color: #fff;
  color: var(--airael-mulberry);
  background-color: transparent;
  border-color: var(--airael-mulberry);
}

.btn-airael-ai:hover,
.btn-airael-ai:focus {
  color: #fff;
  background-color: var(--airael-mulberry);
  border-color: var(--airael-mulberry);
}

.btn-airael-ai:disabled {
  color: var(--airael-warm-slate);
  border-color: var(--airael-border);
  opacity: 0.65;
}

.airael-ai-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: "DM Mono", ui-monospace, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--airael-mulberry);
}

.airael-ai-badge::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--airael-mulberry);
  animation: airael-pulse 2s ease-in-out infinite;
}

@keyframes airael-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

/* Footer */
.airael-footer {
  background: var(--airael-surface);
  border-top: 1px solid var(--airael-border);
  color: var(--airael-warm-slate);
}

/* Cards & alerts */
.card {
  border-color: var(--airael-border);
}

.alert-info {
  --bs-alert-bg: #f0ebe3;
  --bs-alert-border-color: var(--airael-border);
  --bs-alert-color: var(--airael-navy);
}

/* Flow summary AI panel */
.flow-summary-panel-ai {
  border-color: var(--airael-mulberry) !important;
  border-left-width: 3px !important;
}

.flow-summary-prose pre {
  background: var(--airael-linen);
  border: 1px solid var(--airael-border);
}

/* Data labels */
.form-label.small,
.font-monospace,
code {
  font-family: "DM Mono", ui-monospace, monospace;
}

.list-group-item.active {
  background-color: var(--airael-gold);
  border-color: var(--airael-gold);
}

/* Calorie agent hint */
.airael-agent-hint,
.cal-with-tip {
  color: var(--airael-mulberry);
  cursor: help;
}

.cal-with-tip {
  border-bottom: 1px dotted var(--airael-mulberry);
}
