@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

:root {
  --primary: 231 100% 27%;      /* #001489 - Deep Royal Blue */
  --primary-dark: 231 100% 20%;
  --secondary: 35 100% 46%;     /* #ed8b00 - Warm Gold / Orange */
  --secondary-dark: 35 100% 38%;
  --accent: 157 60% 50%;        /* #33cc8c - Mint Accent */
  --background: 210 20% 98%;    /* #f8fafc - Soft Light BG */
  --foreground: 222 47% 11%;    /* #0f172a - Slate Dark Text */
  --card-bg: 0 0% 100%;
  --border-color: 214 32% 91%;
}

body {
  font-family: 'Source Sans 3', system-ui, -apple-system, sans-serif;
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  line-height: 1.6;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: 'Merriweather', Georgia, serif;
  letter-spacing: -0.01em;
}

/* Custom details accordion animations & icons */
details summary::-webkit-details-marker {
  display: none;
}
details summary {
  list-style: none;
  cursor: pointer;
}
details[open] summary .accordion-icon {
  transform: rotate(180deg);
}

/* Custom form elements styling */
.form-input-focus:focus {
  outline: none;
  border-color: hsl(var(--primary));
  box-shadow: 0 0 0 3px rgba(0, 20, 137, 0.15);
}

/* Smooth transitions */
.transition-all-200 {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom scrollbars */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
