/* ====== BrightPath Tutors Styles ====== */
:root{
  --primary:#2E7D32;
  --primary-dark:#1B5E20;
  --accent:#FFB300;
  --neutral-dark:#263238;
  --neutral-mid:#607D8B;
  --bg:#F7FAFC;
  --white:#FFFFFF;
}

html,body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--neutral-dark);
  background: var(--bg);
}

h1,h2,h3,h4,h5,h6,.navbar-brand strong{
  font-family:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.bg-alt{ background: #ffffff; } /* surface */
.bg-neutral-dark { background: var(--neutral-dark)!important; }
.border-gray{ border-color:#e5e7eb!important; }

.topbar{ font-family: 'Inter'; }

/* Navbar */
.navbar .nav-link{ color: var(--neutral-dark); }
.navbar .nav-link.active, .navbar .nav-link:hover{ color: var(--primary); }
.btn-primary{ background: var(--primary); border-color: var(--primary); }
.btn-primary:hover{ background: var(--primary-dark); border-color: var(--primary-dark); }
.btn-cta{ background: var(--accent); border: none; color: #000; }
.btn-cta:hover{ filter: brightness(0.95); }

/* Hero */
.gradient-hero{
  background: linear-gradient(135deg, var(--primary) 0%, #388E3C 40%, #43A047 100%);
}
.hero .lead{ max-width: 48ch; }

/* Cards */
.card{ border: 1px solid #eef1f4; }
.subject-card:hover, .service-card:hover{ transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.06); transition: .2s; }

.hiw{ background:#fff; border:1px solid #eef1f4; border-radius:12px; }
.hiw .step{ width:36px; height:36px; border-radius:50%; background:var(--accent); display:inline-flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:8px; }

.pricing-card{ border-radius:14px; }
.pricing-card.highlight{ border:2px solid var(--accent); }

/* CTA band */
.bg-cta{ background: var(--primary); }

/* Footer */
.footer-link{ color:#cfd8dc; text-decoration:none; }
.footer-link:hover{ color:#fff; }

/* Tutor cards */
.tutor-card .badge{ margin-right:6px; }

/* Alerts */
.alert-success{ background:#e8f5e9; border-color:#c8e6c9; color:#2e7d32; }
.alert-danger{ background:#ffebee; border-color:#ffcdd2; color:#d32f2f; }
.alert-info{ background:#e3f2fd; border-color:#bbdefb; color:#0288d1; }

/* Images */
img{ object-fit: cover; }

/* Utilities */
.small, .text-muted { color: var(--neutral-mid)!important; }

/* Responsive tweaks */
@media (max-width: 991px){
  .hero .display-5{ font-size: 2rem; }
  .navbar-brand strong{ font-size:1.05rem; }
}
@media (max-width: 575px){
  .card .display-6{ font-size:1.8rem; }
  .btn-lg{ padding:.6rem 1rem; font-size:1rem; }
}
