/* ==========================================================================
   CVB Financial Corp. & Citizens Business Bank - Corporate Stylesheet
   Brand Colors:
     - Deep Bank Green: #004d3d
     - Vibrant Emerald: #027a57
     - Harvest Gold:    #c99700 / #d4af37
     - Slate Charcoal:  #0f172a
     - Clean Crisp:     #f8fafc
   ========================================================================== */

:root {
  --bank-primary: #004d3d;
  --bank-primary-dark: #00362b;
  --bank-primary-light: #03684c;
  --bank-accent: #c99700;
  --bank-accent-light: #e6b800;
  --bank-accent-gold: #d4af37;
  --bank-gold-bg: #fcf8eb;
  --bank-text-dark: #0f172a;
  --bank-text-muted: #475569;
  --bank-border: #e2e8f0;
  --bank-surface: #ffffff;
  --bank-surface-alt: #f8fafc;
}

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

/* Base Typography Adjustments */
body {
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color: var(--bank-text-dark);
  background-color: #ffffff;
  -webkit-font-smoothing: antialiased;
}

.font-serif-brand {
  font-family: 'Playfair Display', Georgia, Cambria, 'Times New Roman', Times, serif;
}

/* Financial Gradient Backgrounds */
.bg-bank-gradient {
  background: linear-gradient(135deg, #00392d 0%, #004d3d 50%, #01624c 100%);
}

.bg-bank-gradient-dark {
  background: linear-gradient(135deg, #00261e 0%, #00392d 60%, #004d3d 100%);
}

.bg-gold-gradient {
  background: linear-gradient(135deg, #c99700 0%, #dfb13c 50%, #b8860b 100%);
}

.bg-hero-pattern {
  background-color: #00392d;
  background-image: radial-gradient(rgba(201, 151, 0, 0.12) 1px, transparent 0),
                    radial-gradient(rgba(255, 255, 255, 0.05) 1px, #00392d 1px);
  background-size: 40px 40px;
  background-position: 0 0, 20px 20px;
}

/* Stock Ticker Banner Marquee */
.ticker-wrap {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.ticker-move {
  display: inline-block;
  animation: tickerSlide 35s linear infinite;
}

.ticker-move:hover {
  animation-play-state: paused;
}

@keyframes tickerSlide {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Glassmorphism Accents */
.glass-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.glass-panel-dark {
  background: rgba(0, 41, 32, 0.75);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(201, 151, 0, 0.2);
}

/* Shadow Styling for Banking Cards */
.bank-card-shadow {
  box-shadow: 0 10px 30px -10px rgba(0, 77, 61, 0.1),
              0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bank-card-shadow:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 35px -10px rgba(0, 77, 61, 0.18),
              0 8px 10px -4px rgba(0, 0, 0, 0.06);
}

/* Gold Accent Border Top */
.border-top-gold {
  border-top: 4px solid var(--bank-accent);
}

/* Tab Active Styles */
.nav-tab-active {
  color: var(--bank-primary) !important;
  border-bottom: 3px solid var(--bank-primary) !important;
  font-weight: 700;
}

/* Range Input Styling for Calculators */
input[type=range] {
  accent-color: #004d3d;
}

/* Modal Animation */
.modal-enter {
  opacity: 0;
  transform: scale(0.95);
}
.modal-enter-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 200ms ease-out, transform 200ms ease-out;
}
.modal-exit {
  opacity: 1;
}
.modal-exit-active {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 150ms ease-in, transform 150ms ease-in;
}

/* Badge Glow */
.glow-accent {
  box-shadow: 0 0 15px rgba(201, 151, 0, 0.4);
}

/* Print Cleanliness */
@media print {
  header, footer, .no-print {
    display: none !important;
  }
}
