/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Spectral:wght@400;600;700&display=swap');

/* Custom Color Palette & Typography */
:root {
  /* Brand Colors */
  --navy: #112433;
  --cream: #F5EEDF;
  --terracotta: #C86C48;
  --soft-gray: #6C6C6C;

  /* Bootstrap Color Overrides */
  --bs-primary: #C86C48; /* Terracotta */
  --bs-primary-rgb: 200, 108, 72;

  --bs-secondary: #6C6C6C; /* Soft Gray */
  --bs-secondary-rgb: 108, 108, 108;

  --bs-success: #7FA35C; /* Muted green that works with palette */
  --bs-success-rgb: 127, 163, 92;

  --bs-danger: #C85448; /* Adjusted red to match terracotta tone */
  --bs-danger-rgb: 200, 84, 72;

  --bs-warning: #D89648; /* Warm amber that complements terracotta */
  --bs-warning-rgb: 216, 150, 72;

  --bs-info: #5C8FA3; /* Muted blue-gray */
  --bs-info-rgb: 92, 143, 163;

  --bs-light: #F5EEDF; /* Cream */
  --bs-light-rgb: 245, 238, 223;

  --bs-dark: #112433; /* Navy */
  --bs-dark-rgb: 17, 36, 51;

  /* Fonts */
  --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-headers: 'Spectral', Georgia, serif;
}

/* Global Typography */
body {
  font-family: var(--font-primary);
  color: var(--navy);
  background-color: var(--cream);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-headers);
  font-weight: 600;
  color: var(--navy);
}

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

.navbar-brand {
  font-family: var(--font-headers);
  font-weight: 700;
  font-size: 1.5rem;
}

.navbar-brand img {
  transition: transform 0.2s ease-in-out;
}

.navbar-brand:hover img {
  transform: scale(1.05);
}

/* Cards */
.card {
  background-color: white;
  border: 1px solid rgba(17, 36, 51, 0.1);
}

.card-header {
  background-color: var(--cream);
  border-bottom: 1px solid rgba(17, 36, 51, 0.1);
  font-family: var(--font-headers);
  font-weight: 600;
}

.card-header.bg-primary {
  background-color: var(--terracotta) !important;
  color: white;
}

/* Buttons */
.btn-primary {
  background-color: var(--terracotta);
  border-color: var(--terracotta);
  color: white;
  font-weight: 500;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #B05A3A;
  border-color: #B05A3A;
}

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

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

.btn-secondary {
  background-color: var(--soft-gray);
  border-color: var(--soft-gray);
  color: white;
}

.btn-outline-secondary {
  color: var(--soft-gray);
  border-color: var(--soft-gray);
}

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

.btn-outline-light:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: white;
  color: white;
}

/* Text Colors */
.text-primary {
  color: var(--terracotta) !important;
}

.text-muted {
  color: var(--soft-gray) !important;
}

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

/* Background Colors */
.bg-primary {
  background-color: var(--terracotta) !important;
  color: white;
}

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

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

/* Badges */
.badge {
  font-weight: 500;
  font-family: var(--font-primary);
}

.badge.bg-light {
  color: var(--navy);
  border: 1px solid rgba(17, 36, 51, 0.15);
}

/* Alerts */
.alert-success {
  background-color: #E8F5E3;
  border-color: #7FA35C;
  color: #4A6338;
}

.alert-danger {
  background-color: #F9E8E6;
  border-color: var(--bs-danger);
  color: #8B3A30;
}

.alert-info {
  background-color: #E8F2F5;
  border-color: var(--bs-info);
  color: #3A5A68;
}

/* Forms */
.form-control:focus,
.form-select:focus {
  border-color: var(--terracotta);
  box-shadow: 0 0 0 0.25rem rgba(200, 108, 72, 0.25);
}

.form-label {
  font-weight: 500;
  color: var(--navy);
}

/* Links */
a {
  color: var(--terracotta);
  text-decoration: none;
}

a:hover {
  color: #B05A3A;
}

/* Tables */
.table {
  color: var(--navy);
}

.table-light {
  background-color: var(--cream);
}

.table-hover tbody tr:hover {
  background-color: rgba(245, 238, 223, 0.5);
}

/* Custom gradient backgrounds */
.bg-gradient-primary {
  background: linear-gradient(135deg, var(--terracotta) 0%, #D87858 100%);
}

.bg-gradient-secondary {
  background: linear-gradient(135deg, var(--soft-gray) 0%, #8C8C8C 100%);
}

/* Hover effect for clickable cards */
.hover-card {
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  cursor: pointer;
}

.hover-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.5rem 1rem rgba(17, 36, 51, 0.15) !important;
}

/* Conversation Messages */
.border-primary {
  border-color: var(--terracotta) !important;
}

.border-start {
  border-left-width: 3px !important;
}

/* Icons */
.bi {
  vertical-align: -0.125em;
}

/* Custom Main Container Background */
main.container {
  background-color: white;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.125rem 0.25rem rgba(17, 36, 51, 0.075);
}

/* Make main area cream, not white */
body.bg-light {
  background-color: var(--cream) !important;
}

/* Alert styling */
.alert-light {
  background-color: white;
  border-color: rgba(17, 36, 51, 0.15);
  color: var(--navy);
}

/* Success message icon colors */
.text-success {
  color: var(--bs-success) !important;
}

/* Navbar link hover effects */
.navbar-dark .nav-link:hover,
.navbar-dark .nav-link:focus {
  color: var(--terracotta) !important;
  opacity: 1;
}

/* Better contrast for white text on terracotta */
.bg-primary .text-white,
.bg-primary h1, .bg-primary h2, .bg-primary h3,
.bg-primary h4, .bg-primary h5, .bg-primary h6 {
  color: white !important;
}

/* Button thinking state - matches header navy color */
.btn-primary:disabled,
.btn-primary.thinking {
  background-color: var(--navy) !important;
  border-color: var(--navy) !important;
  opacity: 1;
  cursor: not-allowed;
}
