/* Wichita Pulse — Design System
   Official Wichita flag colors:
   Blue #1A3C82 (happiness), Red #DC2819 (freedom), White (permanent home) */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --wichita-red: #DC2819;
  --wichita-red-light: #E54B3A;
  --wichita-red-dark: #B81F12;
  --wichita-red-glow: rgba(220, 40, 25, 0.10);

  --wichita-blue: #1A3C82;
  --wichita-blue-light: #2A5299;
  --wichita-blue-deep: #0D1F42;

  --ink: #111827;
  --ink-light: #374151;
  --ink-muted: #6B7280;

  --surface: #FAFBFC;
  --surface-alt: #F3F4F6;
  --border: #E5E7EB;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  -webkit-font-smoothing: antialiased;
  background-color: #FFFFFF;
}

h1, h2, h3 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}


/* Article cards */
.story-link {
  transition: background-color 0.15s ease;
}
.story-link:hover {
  background-color: var(--surface);
}
.story-link:hover .story-title {
  color: var(--wichita-blue);
}

/* Category labels */
.label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: 'Inter', sans-serif;
}

/* Section headers */
.section-rule {
  border-top: 3px solid var(--ink);
  padding-top: 0.75rem;
}
.section-rule-accent {
  border-top: 3px solid var(--wichita-red);
  padding-top: 0.75rem;
}

/* Mobile nav */
.mobile-nav {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.mobile-nav.open {
  max-height: 500px;
}

/* Ticker */
.ticker-wrap { overflow: hidden; }
.ticker {
  display: inline-flex;
  animation: ticker 35s linear infinite;
  white-space: nowrap;
}
@keyframes ticker {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Data stat cards */
.stat-card {
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
  background-color: white;
}
.stat-card:hover {
  box-shadow: 0 2px 12px rgba(26, 60, 130, 0.08);
  border-color: var(--wichita-blue-light);
}

/* Table rows */
.table-row:hover {
  background-color: var(--surface);
}

/* Sticky sidebar */
.sticky-sidebar {
  position: sticky;
  top: 76px;
}

/* Newsletter inputs */
.nl-input:focus {
  outline: none;
  border-color: var(--wichita-red);
  box-shadow: 0 0 0 2px var(--wichita-red-glow);
}

/* Scrollbar hide */
.hide-scrollbar::-webkit-scrollbar { height: 0; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* ICT badge — modern pill */
.ict-badge {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: white;
  background: var(--wichita-blue);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  line-height: 1;
}

/* Footer */
.footer-wichita {
  background: linear-gradient(180deg, var(--wichita-blue) 0%, var(--wichita-blue-deep) 100%);
}

/* Keeper rule — red accent line */
.keeper-rule {
  position: relative;
  border-top: 2px solid var(--wichita-red);
}
.keeper-rule::after {
  content: '';
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 10px;
  background: var(--wichita-red);
  border-radius: 50%;
}

/* Wheat tint → light blue tint for preview sections */
.bg-wheat-tint {
  background-color: #EFF3FB;
  border-color: #D6DFEF;
}

/* Subtle texture overlay */
.prairie-texture {
  position: relative;
}
.prairie-texture::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.02;
  background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='20' cy='20' r='1' fill='%231A3C82'/%3E%3C/svg%3E");
  pointer-events: none;
}

/* Print */
@media print {
  .no-print { display: none !important; }
  body { background: white; }
}
