body { scroll-behavior: smooth; }

.hero-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.6)), #1a1a2e center/cover no-repeat;
  color: #fff;
}

.hero-section .lead { max-width: 650px; }

.feature-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
}

.stats-section { background-color: #f8f9fa; }

.course-card img {
  height: 180px;
  object-fit: cover;
}

/* ── Contact form ── */
.contact-section { background: #fff; }

.form-label .required-star {
  color: #dc3545;
  margin-left: 2px;
}

#formFeedback { display: none; }

.timeslot-group legend {
  font-size: 0.875rem;
  font-weight: 600;
  color: #495057;
  margin-bottom: .5rem;
}

.timeslot-group .form-check { margin-bottom: .3rem; }

/* ── Breadcrumb bar ── */
.breadcrumb-bar {
  padding-top: 4.5rem; /* clears fixed navbar */
  padding-bottom: 0.75rem;
  background: #f8f9fa;
  border-bottom: 1px solid #e9ecef;
}

.breadcrumb-bar .breadcrumb { margin-bottom: 0; font-size: 0.875rem; }

/* ── Inner page hero (courses, contact) ── */
.page-hero {
  min-height: 300px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  position: relative;
}

.page-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.7));
}

.page-hero .container { position: relative; z-index: 1; padding-bottom: 2.5rem; padding-top: 5rem; }

/* ── Subject page ── */
.subject-hero {
  min-height: 340px;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  position: relative;
}

.subject-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.25), rgba(0,0,0,0.65));
}

.subject-hero .container { position: relative; z-index: 1; padding-bottom: 2.5rem; }
