/*
 * World e Campus — Modern Upgrade Stylesheet
 * Layered on top of existing styles for a clean, professional look.
 * Font: Nunito (friendly + academic), DM Serif Display (headings)
 */

@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;500;600;700;800&family=DM+Serif+Display:ital@0;1&display=swap');

/* ═══════════════════════════════════════════════
   CSS VARIABLES — DESIGN TOKENS
═══════════════════════════════════════════════ */
:root {
  --primary:       #0d47a1;   /* deep navy blue */
  --primary-mid:   #1565c0;
  --primary-light: #1976d2;
  --accent:        #ff8f00;   /* warm amber */
  --accent-light:  #ffc107;
  --accent-glow:   #fff3e0;
  --bg-light:      #f7f9fc;
  --bg-white:      #ffffff;
  --text-dark:     #1a1a2e;
  --text-mid:      #3d4466;
  --text-soft:     #6b7497;
  --border:        #e3e8f0;
  --success:       #2e7d32;
  --radius-sm:     8px;
  --radius-md:     14px;
  --radius-lg:     24px;
  --shadow-sm:     0 2px 12px rgba(13,71,161,0.07);
  --shadow-md:     0 8px 30px rgba(13,71,161,0.12);
  --shadow-lg:     0 16px 48px rgba(13,71,161,0.18);
  --transition:    all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ═══════════════════════════════════════════════
   BASE
═══════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Nunito', 'Open Sans', sans-serif !important;
  color: var(--text-dark);
  background: var(--bg-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'DM Serif Display', 'Roboto', serif !important;
  color: var(--text-dark);
  letter-spacing: -0.01em;
}

p { line-height: 1.8; color: var(--text-mid); }
a { transition: var(--transition); }

/* ═══════════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════════ */
#topbar {
  background: var(--primary) !important;
  padding: 8px 0 !important;
  height: auto !important;
  border-bottom: none !important;
}

#topbar .contact-info a,
#topbar .contact-info i {
  color: rgba(255,255,255,0.85) !important;
  font-size: 0.82rem;
  letter-spacing: 0.02em;
}
#topbar .contact-info i { margin-right: 4px; }

#topbar .social-links a {
  color: rgba(255,255,255,0.7) !important;
  background: rgba(255,255,255,0.12) !important;
  border-radius: 50% !important;
  width: 28px !important; height: 28px !important;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  font-size: 0.78rem;
  transition: var(--transition);
}
#topbar .social-links a:hover {
  background: var(--accent) !important;
  color: var(--primary) !important;
}

/* ═══════════════════════════════════════════════
   HEADER / NAV
═══════════════════════════════════════════════ */
#header {
  background: rgba(255,255,255,0.98) !important;
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border) !important;
  box-shadow: var(--shadow-sm) !important;
  top: 38px !important;
  height: 72px !important;
  padding: 0 !important;
}

#header .logo {
  height: 72px !important;
  display: flex !important;
  align-items: center !important;
}
#header .logo img { max-height: 48px !important; width: auto !important; }

/* Nav links */
#header .nav-menu > ul > li > a {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
  color: var(--text-dark) !important;
  letter-spacing: 0.02em;
  padding: 6px 14px !important;
  border-radius: var(--radius-sm);
  transition: var(--transition) !important;
}
#header .nav-menu > ul > li > a:hover,
#header .nav-menu > ul > li.active > a {
  color: var(--primary) !important;
  background: rgba(13,71,161,0.06) !important;
}

/* Dropdown */
#header .nav-menu .drop-down ul {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
  padding: 8px 0 !important;
  top: calc(100% + 10px) !important;
}
#header .nav-menu .drop-down ul li a {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.87rem !important;
  font-weight: 500 !important;
  color: var(--text-mid) !important;
  padding: 9px 18px !important;
  transition: var(--transition) !important;
}
#header .nav-menu .drop-down ul li a:hover {
  color: var(--primary) !important;
  background: var(--bg-light) !important;
  padding-left: 22px !important;
}

/* CTA Button in nav */
#header .nav-menu .bg-warning {
  background: linear-gradient(135deg, var(--accent), #e65100) !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 10px 24px !important;
  box-shadow: 0 4px 16px rgba(255,143,0,0.4) !important;
  transition: var(--transition) !important;
}
#header .nav-menu .bg-warning:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(255,143,0,0.5) !important;
}
#header .nav-menu .bg-warning a,
#header .nav-menu .getfreesession {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  animation: none !important;
  font-size: 0.9rem !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  text-transform: none !important;
  background: none !important;
}

/* ═══════════════════════════════════════════════
   HERO SECTION
═══════════════════════════════════════════════ */
#hero {
  background: linear-gradient(135deg, var(--primary) 0%, #0a2a72 50%, #0d3b8c 100%) !important;
  min-height: 100vh !important;
  position: relative;
  overflow: hidden;
}

#hero::before {
  content: '';
  position: absolute;
  top: -30%;  right: -10%;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,193,7,0.15) 0%, transparent 70%);
  pointer-events: none;
}
#hero::after {
  content: '';
  position: absolute;
  bottom: -20%;  left: -5%;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(100,181,246,0.15) 0%, transparent 70%);
  pointer-events: none;
}

#hero .container { position: relative; z-index: 2; }

#hero h1 {
  font-family: 'DM Serif Display', serif !important;
  font-size: clamp(2.8rem, 5.5vw, 4.5rem) !important;
  color: #fff !important;
  line-height: 1.1 !important;
  margin-bottom: 1.2rem !important;
  letter-spacing: -0.02em;
}
#hero h1 span {
  background: linear-gradient(135deg, #fff 30%, var(--accent-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#hero h3 {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 600 !important;
  font-size: clamp(1.1rem, 2.5vw, 1.45rem) !important;
  color: rgba(255,255,255,0.92) !important;
  margin-bottom: 1.5rem !important;
}
#hero h3 span {
  background: rgba(255,255,255,0.12) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: var(--radius-md) !important;
  padding: 10px 20px !important;
  display: inline-block;
}

#hero p {
  color: rgba(255,255,255,0.78) !important;
  font-size: 1.1rem !important;
  margin-bottom: 2rem !important;
  font-weight: 400;
}

/* Hero CTA */
#hero .bg-warning {
  background: linear-gradient(135deg, var(--accent), #e65100) !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  border: none !important;
  box-shadow: 0 6px 24px rgba(255,143,0,0.45) !important;
  transition: var(--transition) !important;
  display: inline-block;
}
#hero .bg-warning:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 36px rgba(255,143,0,0.55) !important;
}
#hero .bg-warning .getfreesession,
#hero .bg-warning a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  animation: none !important;
  font-size: 1rem !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 800 !important;
  text-transform: none !important;
  background: none !important;
  letter-spacing: 0.03em;
}

/* Watch Video button */
#hero .btn-watch-video {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: rgba(255,255,255,0.88) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  margin-left: 16px !important;
  border: 2px solid rgba(255,255,255,0.35) !important;
  border-radius: 50px !important;
  padding: 14px 28px !important;
  transition: var(--transition) !important;
}
#hero .btn-watch-video:hover {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.65) !important;
  color: #fff !important;
}
#hero .btn-watch-video i { font-size: 1.2rem !important; }

#hero p[style*="margin:5px"] {
  font-size: 0.82rem !important;
  color: rgba(255,255,255,0.55) !important;
  font-style: italic;
}

/* ═══════════════════════════════════════════════
   EDUCATIONAL BOARDS STRIP
═══════════════════════════════════════════════ */
.team.section-bg {
  background: #fff !important;
  border-bottom: 1px solid var(--border);
  padding: 20px 0 !important;
}
.team.section-bg p {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-soft) !important;
  margin-bottom: 14px !important;
}
.team.section-bg img {
  filter: grayscale(40%) opacity(0.8);
  transition: var(--transition);
}
.team.section-bg img:hover {
  filter: grayscale(0%) opacity(1);
  transform: scale(1.08);
}

/* ═══════════════════════════════════════════════
   SECTION TITLES (GLOBAL)
═══════════════════════════════════════════════ */
.section-title {
  text-align: center;
  padding-bottom: 30px !important;
}
.section-title h2 {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--primary-light) !important;
  background: rgba(25,118,210,0.08) !important;
  display: inline-block;
  padding: 4px 14px !important;
  border-radius: 50px !important;
  margin-bottom: 10px !important;
}
.section-title h3 {
  font-family: 'DM Serif Display', serif !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  color: var(--text-dark) !important;
  margin-bottom: 10px !important;
}
.section-title h3 span { color: var(--primary-light) !important; }
.section-title p { color: var(--text-soft) !important; font-size: 1.05rem !important; }

/* ═══════════════════════════════════════════════
   ABOUT / SUCCESS SECTION
═══════════════════════════════════════════════ */
section.about {
  background: var(--bg-light) !important;
  padding: 60px 0 !important;
}
section.about h3 {
  font-family: 'DM Serif Display', serif !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  color: var(--text-dark) !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}
section.about p { color: var(--text-mid) !important; font-size: 1.05rem !important; }
section.about img {
  border-radius: var(--radius-md) !important;
  border: none !important;
  box-shadow: var(--shadow-md) !important;
}

/* CTA buttons (global bg-warning) */
.bg-warning {
  background: linear-gradient(135deg, var(--accent), #bf6000) !important;
  border-radius: 50px !important;
  transition: var(--transition) !important;
}
.bg-warning:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(255,143,0,0.4) !important;
}
.bg-warning .getfreesession,
.bg-warning a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  animation: none !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  text-transform: none !important;
  background: none !important;
  letter-spacing: 0.01em;
}

/* ═══════════════════════════════════════════════
   COURSES / ICON BOXES
═══════════════════════════════════════════════ */
section#courses.services,
section.services:not(.text-white) {
  background: var(--bg-white) !important;
  padding: 60px 0 !important;
}

.icon-box {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 28px 22px !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
  overflow: hidden;
  position: relative;
}
.icon-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary-light), var(--accent));
  opacity: 0;
  transition: var(--transition);
}
.icon-box:hover {
  box-shadow: var(--shadow-lg) !important;
  transform: translateY(-6px) !important;
  border-color: rgba(25,118,210,0.2) !important;
}
.icon-box:hover::before { opacity: 1; }

.icon-box .icon { border-radius: var(--radius-sm) !important; overflow: hidden; }
.icon-box .icon img {
  border-radius: var(--radius-sm) !important;
  transition: var(--transition) !important;
}
.icon-box:hover .icon img { transform: scale(1.04); }

.icon-box h4 {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.2rem !important;
  color: var(--text-dark) !important;
  margin: 14px 0 10px !important;
  text-align: center;
}
.icon-box h4 a { color: var(--text-dark) !important; }
.icon-box h4 a:hover { color: var(--primary-light) !important; }

.icon-box .btn-primary {
  background: var(--primary) !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  padding: 9px 22px !important;
  transition: var(--transition) !important;
  letter-spacing: 0.02em;
}
.icon-box .btn-primary:hover {
  background: var(--accent) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 14px rgba(255,143,0,0.35) !important;
}

/* ═══════════════════════════════════════════════
   PROMO / PATCH BANNERS
═══════════════════════════════════════════════ */
section[style*="background: #666"],
section[style*="background:#666"] {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-mid) 100%) !important;
  padding: 32px 0 !important;
  border: none !important;
}
section[style*="background: #666"] h3,
section[style*="background:#666"] h3 {
  color: #fff !important;
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.5rem !important;
  margin-bottom: 18px !important;
}

/* ═══════════════════════════════════════════════
   KIDS MARQUEE / SCROLLING STUDENTS
═══════════════════════════════════════════════ */
#kidsremarks {
  background: var(--bg-light) !important;
  padding: 50px 0 !important;
}
#kidsremarks .section-title h3 {
  font-family: 'DM Serif Display', serif !important;
  color: var(--text-dark) !important;
}

.ticker-item {
  background: var(--bg-white) !important;
  border-radius: var(--radius-md) !important;
  padding: 16px 12px !important;
  box-shadow: var(--shadow-sm) !important;
  border: 1px solid var(--border) !important;
  width: 160px !important;
  text-align: center;
  transition: var(--transition);
}
.ticker-item img {
  border-radius: var(--radius-sm) !important;
  border: none !important;
  width: 100% !important;
  height: 130px !important;
  object-fit: cover !important;
  box-shadow: var(--shadow-sm) !important;
}
.ticker-item h5 {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--text-dark) !important;
  margin: 8px 0 2px !important;
}
.ticker-item h6 {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--primary-light) !important;
  background: rgba(25,118,210,0.08) !important;
  border-radius: 50px !important;
  padding: 2px 8px !important;
  display: inline-block;
}

/* ═══════════════════════════════════════════════
   LIVE SESSIONS
═══════════════════════════════════════════════ */
#experiencelivesessions {
  background: var(--bg-white) !important;
  padding: 60px 0 !important;
}
#experiencelivesessions .section-title h3 span { color: var(--primary-light) !important; }

.testimonials-carousel .testimonial-item {
  padding: 0 !important;
}
.testimonials-carousel .testimonial-item img {
  border-radius: var(--radius-md) !important;
  border: none !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
}
.testimonials-carousel .testimonial-item img:hover {
  box-shadow: var(--shadow-md) !important;
  transform: scale(1.02);
}
.testimonials-carousel .testimonial-item h3 {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.15rem !important;
  margin-top: 12px !important;
  color: var(--text-dark) !important;
}
.btn-watch-video {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: var(--primary-light) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  border: 1.5px solid var(--primary-light) !important;
  border-radius: 50px !important;
  padding: 6px 16px !important;
  transition: var(--transition) !important;
}
.btn-watch-video:hover {
  background: var(--primary) !important;
  color: #fff !important;
  border-color: var(--primary) !important;
}

/* ═══════════════════════════════════════════════
   FEATURES (ABOUT #2)
═══════════════════════════════════════════════ */
#about .icon-box.text-center {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 32px 20px !important;
  text-align: center !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
}
#about .icon-box.text-center:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-6px) !important;
  border-color: rgba(25,118,210,0.25) !important;
}
#about .icon-box.text-center .icon img {
  border-radius: var(--radius-sm) !important;
  border: none !important;
  box-shadow: var(--shadow-sm) !important;
  width: 100% !important;
}
#about .icon-box.text-center h5.title {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.05rem !important;
  color: var(--text-dark) !important;
  margin-top: 16px !important;
  padding: 12px 8px !important;
}

/* ═══════════════════════════════════════════════
   TESTIMONIALS (SUCCESS STORIES)
═══════════════════════════════════════════════ */
#testimonials {
  background: linear-gradient(135deg, var(--primary) 0%, #0a2a72 100%) !important;
  padding: 60px 0 !important;
}
#testimonials .section-title h3 {
  color: #fff !important;
}
#testimonials .testimonial-item p.text-white {
  font-family: 'Nunito', sans-serif !important;
  font-size: 1.15rem !important;
  line-height: 1.75 !important;
  color: rgba(255,255,255,0.9) !important;
  font-style: italic;
}
#testimonials .testimonial-img {
  border-radius: 50% !important;
  border: 4px solid rgba(255,255,255,0.3) !important;
  width: 100px !important;
  height: 100px !important;
  object-fit: cover;
}
#testimonials p.text-white strong { color: #fff !important; font-size: 1rem !important; }
#testimonials .bx { color: var(--accent-light) !important; font-size: 1.5rem !important; }

/* ═══════════════════════════════════════════════
   SKILLS / PROGRESS BARS
═══════════════════════════════════════════════ */
#skills {
  background: var(--bg-light) !important;
  padding: 60px 0 !important;
}
#skills .skill {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  color: var(--text-dark) !important;
}
#skills .skill .val {
  color: var(--primary-light) !important;
  font-weight: 800;
}
#skills .progress {
  height: 8px !important;
  border-radius: 50px !important;
  background: rgba(13,71,161,0.1) !important;
  margin-bottom: 22px !important;
}
#skills .progress-bar {
  background: linear-gradient(90deg, var(--primary-light), var(--accent)) !important;
  border-radius: 50px !important;
  transition: width 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
#skills .progress-bar-wrap { border-radius: 50px !important; overflow: hidden; }
#skills .btn-primary {
  background: var(--primary) !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  padding: 10px 28px !important;
  transition: var(--transition) !important;
}
#skills .btn-primary:hover {
  background: var(--accent) !important;
  box-shadow: 0 4px 16px rgba(255,143,0,0.4) !important;
}

/* ═══════════════════════════════════════════════
   PROGRESS MAP / MODEL SECTIONS
═══════════════════════════════════════════════ */
.model1, .model2 {
  background: var(--bg-light) !important;
  padding: 50px 0 !important;
}
.model1 .section-title h3,
.model2 .section-title h3 {
  font-family: 'DM Serif Display', serif !important;
  color: var(--text-dark) !important;
}
.model1 img, .model2 img {
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ═══════════════════════════════════════════════
   COUNTS / STATS
═══════════════════════════════════════════════ */
#counts {
  background: var(--primary) !important;
  padding: 50px 0 !important;
}
#counts .count-box {
  text-align: center;
  padding: 30px 20px;
  background: rgba(255,255,255,0.08) !important;
  border-radius: var(--radius-md) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  transition: var(--transition) !important;
}
#counts .count-box:hover {
  background: rgba(255,255,255,0.14) !important;
  transform: translateY(-4px) !important;
}
#counts .count-box i {
  font-size: 2.8rem !important;
  color: var(--accent-light) !important;
  margin-bottom: 14px !important;
  display: block;
}
#counts .count-box span {
  font-family: 'DM Serif Display', serif !important;
  font-size: 2.4rem !important;
  color: #fff !important;
  display: block;
  line-height: 1;
}
#counts .count-box p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.75) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin-top: 8px;
}

/* ═══════════════════════════════════════════════
   TEAM SECTION
═══════════════════════════════════════════════ */
#team.team {
  background: var(--bg-white) !important;
  padding: 60px 0 !important;
}
.member {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden !important;
  transition: var(--transition) !important;
  box-shadow: var(--shadow-sm) !important;
}
.member:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-6px) !important;
  border-color: rgba(25,118,210,0.2) !important;
}
.member .member-img {
  position: relative;
  overflow: hidden;
  background: var(--bg-light);
}
.member .member-img img {
  border-radius: 50% !important;
  border: none !important;
  transition: var(--transition) !important;
}
.member:hover .member-img img { transform: scale(1.05) !important; }

.member .social {
  background: linear-gradient(to top, rgba(13,71,161,0.9), transparent) !important;
  border-radius: 0 0 var(--radius-md) var(--radius-md) !important;
}
.member .social a {
  color: #fff !important;
  background: rgba(255,255,255,0.15) !important;
  border-radius: 50% !important;
  width: 36px !important; height: 36px !important;
  display: inline-flex !important;
  align-items: center; justify-content: center;
  transition: var(--transition) !important;
}
.member .social a:hover {
  background: var(--accent) !important;
  color: var(--primary) !important;
}
.member .member-info { padding: 20px !important; }
.member .member-info h4 {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.1rem !important;
  color: var(--text-dark) !important;
}

/* ═══════════════════════════════════════════════
   FREE TRIAL FORM + CONTACT FORMS
═══════════════════════════════════════════════ */
#freetrial, #registerasateacher, #contact {
  background: var(--bg-light) !important;
  padding: 60px 0 !important;
}
#freetrial .section-title h3,
#registerasateacher .section-title h3,
#contact .section-title h3 { color: var(--text-dark) !important; }

.form-control {
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 12px 16px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.93rem !important;
  color: var(--text-dark) !important;
  background: var(--bg-white) !important;
  transition: var(--transition) !important;
  box-shadow: none !important;
}
.form-control:focus {
  border-color: var(--primary-light) !important;
  box-shadow: 0 0 0 3px rgba(25,118,210,0.12) !important;
  outline: none !important;
}
.form-control::placeholder { color: var(--text-soft) !important; }

.btn.btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  padding: 12px 36px !important;
  letter-spacing: 0.03em;
  transition: var(--transition) !important;
  box-shadow: 0 4px 16px rgba(13,71,161,0.25) !important;
}
.btn.btn-primary:hover {
  background: linear-gradient(135deg, var(--accent), #bf6000) !important;
  box-shadow: 0 8px 24px rgba(255,143,0,0.35) !important;
  transform: translateY(-2px) !important;
}

.bg-primary {
  background: var(--primary) !important;
  border-radius: var(--radius-sm) !important;
}

.info-box {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  padding: 28px 20px !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
}
.info-box:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-4px) !important;
}
.info-box i {
  color: var(--primary-light) !important;
  font-size: 2rem !important;
  display: block;
  margin-bottom: 12px;
}
.info-box h3 {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.05rem !important;
  color: var(--text-dark) !important;
}
.info-box p {
  color: var(--text-soft) !important;
  font-size: 0.92rem !important;
  margin: 0;
}

/* ═══════════════════════════════════════════════
   PRIME LOCATIONS BANNER
═══════════════════════════════════════════════ */
section#courses.services.text-white {
  background: linear-gradient(135deg, #e3f2fd 0%, #f7f9fc 100%) !important;
  padding: 36px 0 !important;
}
section#courses.services.text-white .bg-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  border-radius: var(--radius-md) !important;
  padding: 16px 28px !important;
  color: #fff !important;
  box-shadow: var(--shadow-md) !important;
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.2rem !important;
}

/* ═══════════════════════════════════════════════
   FAQ SECTION
═══════════════════════════════════════════════ */
#faq {
  background: var(--bg-white) !important;
  padding: 60px 0 !important;
}
#faq.section-bg { background: var(--bg-light) !important; }

.faq-list {
  padding: 0 !important;
}
.faq-list li {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
}
.faq-list li:hover {
  box-shadow: var(--shadow-md) !important;
  border-color: rgba(25,118,210,0.2) !important;
}
.faq-list li a {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.98rem !important;
  color: var(--text-dark) !important;
  padding: 18px 24px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  border-bottom: 1px solid transparent;
}
.faq-list li a:not(.collapsed) {
  color: var(--primary-light) !important;
  border-bottom-color: var(--border) !important;
}
.faq-list .collapse p,
.faq-list .collapsing p {
  padding: 18px 24px !important;
  color: var(--text-mid) !important;
  font-size: 0.95rem !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════
   ABOUT CEO SECTION
═══════════════════════════════════════════════ */
section#about.about p.font-italic {
  font-size: 1.1rem !important;
  color: var(--text-mid) !important;
  border-left: 3px solid var(--accent) !important;
  padding-left: 18px !important;
  font-style: italic !important;
}
section#about.about img.rounded {
  border-radius: 50% !important;
  border: 4px solid var(--accent-light) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
#footer {
  background: var(--text-dark) !important;
  padding: 0 !important;
}
#footer .container.py-4 {
  border-top: 1px solid rgba(255,255,255,0.1);
}
#footer .copyright {
  font-family: 'Nunito', sans-serif !important;
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.85rem !important;
}
#footer .credits {
  font-family: 'Nunito', sans-serif !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: 0.82rem !important;
}
#footer .credits a { color: var(--accent-light) !important; }

/* ═══════════════════════════════════════════════
   CUSTOMER SERVICE WIDGET
═══════════════════════════════════════════════ */
#customer-services {
  background: var(--bg-white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 16px !important;
  max-width: 340px !important;
}
#customer-services p {
  font-family: 'Nunito', sans-serif !important;
  font-size: 0.84rem !important;
  color: var(--text-mid) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* ═══════════════════════════════════════════════
   BACK TO TOP
═══════════════════════════════════════════════ */
.back-to-top i {
  background: linear-gradient(135deg, var(--primary), var(--primary-mid)) !important;
  border-radius: var(--radius-sm) !important;
  box-shadow: var(--shadow-md) !important;
  transition: var(--transition) !important;
}
.back-to-top i:hover {
  background: linear-gradient(135deg, var(--accent), #bf6000) !important;
  transform: translateY(-3px) !important;
}

/* ═══════════════════════════════════════════════
   OWL CAROUSEL — DOTS & ARROWS
═══════════════════════════════════════════════ */
.owl-dot.active span {
  background: var(--primary-light) !important;
}
.owl-dot span {
  background: var(--border) !important;
  transition: var(--transition) !important;
}
.owl-nav button {
  background: var(--primary) !important;
  border-radius: 50% !important;
  color: #fff !important;
  width: 40px !important; height: 40px !important;
  transition: var(--transition) !important;
}
.owl-nav button:hover {
  background: var(--accent) !important;
}

/* ═══════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════ */
@media (max-width: 991px) {
  #header { top: 0 !important; }
  #hero { padding-top: 90px !important; }
}
@media (max-width: 767px) {
  #hero h1 { font-size: 2.2rem !important; }
  #hero h3 { font-size: 1rem !important; }
  .icon-box { margin-bottom: 20px; }
  #counts .count-box { margin-bottom: 20px; }
}

/* ═══════════════════════════════════════════════
   SMOOTH SCROLL OFFSET
═══════════════════════════════════════════════ */
section[id] { scroll-margin-top: 120px; }

/* ═══════════════════════════════════════════════
   ANIMATION OVERRIDES (tone down excessive flash)
═══════════════════════════════════════════════ */
[data-aos] { pointer-events: auto !important; }
