/* ==========================================================================
   Scouts BSA Troop 191 - Official Scout Green Theme & Design Tokens
   ========================================================================== */

:root {
  --bs-font-sans-serif: 'Outfit', system-ui, -apple-system, sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  
  /* Authentic Scouts BSA Forest & Pine Green Palette */
  --scout-green-dark: #122818;       /* Deep Forest / Night Green */
  --scout-green-primary: #1C4D2A;    /* Classic Scouts BSA Forest Green */
  --scout-green-rich: #245A34;       /* Rich Woodland Pine */
  --scout-green-light: #347B49;      /* Bright Forest Accent */
  --scout-green-subtle: #EBF5EE;     /* Sage / Light Meadow Tint */
  
  /* Scouting America Gold Accents */
  --gold-primary: #FFC72C;
  --gold-warm: #F59E0B;
  
  /* Color Aliases for Full Backward Compatibility */
  --navy-dark: var(--scout-green-dark);
  --navy-primary: var(--scout-green-primary);
  --navy-royal: var(--scout-green-rich);
  --navy-light: var(--scout-green-light);
}

body {
  font-family: var(--bs-font-sans-serif);
  color: #1E293B;
  background-color: #FFFFFF;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Lexend', system-ui, sans-serif;
}

/* Scout Green Palette Utilities */
.bg-navy,
.bg-scout-green { 
  background-color: var(--scout-green-primary) !important; 
}

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

.bg-navy-light,
.bg-scout-green-light { 
  background-color: var(--scout-green-light) !important; 
}

.bg-scout-green-subtle { 
  background-color: var(--scout-green-subtle) !important; 
}

.text-navy,
.text-scout-green { 
  color: var(--scout-green-primary) !important; 
}

.text-scout-green-light { 
  color: var(--scout-green-light) !important; 
}

.text-gold { 
  color: var(--gold-primary) !important; 
}

.border-navy,
.border-scout-green {
  border-color: var(--scout-green-primary) !important;
}

.border-scout-green-dark {
  border-color: var(--scout-green-dark) !important;
}

.text-size-xs { font-size: 0.75rem; }
.text-size-sm { font-size: 0.85rem; }

.fw-extrabold { font-weight: 800; }
.tracking-tight { letter-spacing: -0.03em; }
.tracking-widest { letter-spacing: 0.15em; }

.border-white-15 { border-color: rgba(255, 255, 255, 0.15) !important; }
.max-width-700 { max-width: 700px; }
.max-width-800 { max-width: 800px; }

/* Custom Badge Colors */
.bg-gold { 
  background-color: var(--gold-primary) !important; 
  color: #122818 !important; 
}

.bg-purple { background-color: #8B5CF6 !important; }

.badge.text-bg-primary,
.badge.bg-primary {
  background-color: var(--scout-green-primary) !important;
  color: #FFFFFF !important;
}

/* Hero Section & Carousel in Scout Forest Green */
.hero-section {
  background: linear-gradient(135deg, var(--scout-green-dark) 0%, var(--scout-green-primary) 55%, var(--scout-green-rich) 100%);
}

.hero-carousel-img {
  height: 400px;
  object-fit: cover;
  object-position: center;
}

.bg-dark-gradient {
  background: rgba(18, 40, 24, 0.88);
  backdrop-filter: blur(8px);
}

/* Step Badges */
.step-badge {
  width: 48px;
  height: 48px;
}

.step-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.step-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(28, 77, 42, 0.15) !important;
}

/* Nav Pills */
.nav-pills .nav-link {
  color: var(--scout-green-primary);
  background-color: #FFFFFF;
  border: 1.5px solid #D1E7D8;
}

.nav-pills .nav-link:hover {
  background-color: var(--scout-green-subtle);
  color: var(--scout-green-primary);
}

.nav-pills .nav-link.active {
  background-color: var(--scout-green-primary);
  color: #FFFFFF;
  border-color: var(--scout-green-primary);
  box-shadow: 0 4px 12px rgba(28, 77, 42, 0.25);
}

/* Card Selection Checkboxes */
.card-select {
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.card-select:hover {
  background-color: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 199, 44, 0.4) !important;
}

.card-select .form-check-input:checked {
  background-color: var(--gold-primary);
  border-color: var(--gold-primary);
}

/* Buttons */
.btn-navy,
.btn-scout-green {
  background-color: var(--scout-green-primary);
  color: #FFFFFF;
  border-color: var(--scout-green-primary);
}

.btn-navy:hover,
.btn-scout-green:hover {
  background-color: var(--scout-green-rich);
  color: #FFFFFF;
  border-color: var(--scout-green-rich);
}

.btn-outline-navy,
.btn-outline-scout-green {
  border-color: var(--scout-green-primary);
  color: var(--scout-green-primary);
}

.btn-outline-navy:hover,
.btn-outline-scout-green:hover {
  background-color: var(--scout-green-primary);
  color: #FFFFFF;
  border-color: var(--scout-green-primary);
}

/* Form Controls Focus State in Scout Green */
.form-control:focus {
  border-color: var(--scout-green-light);
  box-shadow: 0 0 0 0.25rem rgba(28, 77, 42, 0.25);
}

/* Forms & Documents Cards - Light High-Contrast Text */
#forms .card p,
#forms .text-light-subtle {
  color: #F1F5F9 !important;
  font-weight: 350;
  opacity: 0.95;
}

/* Frequently Asked Questions Accordion - Scout Green Highlighting */
.accordion {
  --bs-accordion-active-color: var(--scout-green-primary);
  --bs-accordion-active-bg: var(--scout-green-subtle);
  --bs-accordion-btn-focus-border-color: var(--scout-green-light);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(28, 77, 42, 0.25);
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231C4D2A'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed) {
  color: var(--scout-green-primary) !important;
  background-color: var(--scout-green-subtle) !important;
  box-shadow: inset 0 -1px 0 rgba(28, 77, 42, 0.2) !important;
}

.accordion-button:focus {
  border-color: var(--scout-green-light) !important;
  box-shadow: 0 0 0 0.25rem rgba(28, 77, 42, 0.25) !important;
}

.accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%231C4D2A'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
}

