/* ============================================
   Noida Car Driving - Theme Stylesheet
   ============================================ */
:root {
  --nc-navy: #0f1f3d;
  --nc-navy-dark: #0a1629;
  --nc-red: #e53935;
  --nc-red-dark: #c62828;
  --nc-yellow: #ffc107;
  --nc-light: #f6f8fb;
}

html { scroll-behavior: smooth; }
body { font-family: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: #212529; }
h1, h2, h3, h4, h5 { font-weight: 700; color: var(--nc-navy); }

.section-title { position: relative; display: inline-block; padding-bottom: .5rem; margin-bottom: 1.5rem; }
.section-title::after {
  content: ""; position: absolute; left: 0; bottom: 0; width: 60px; height: 4px; border-radius: 2px;
  background: linear-gradient(90deg, var(--nc-red), var(--nc-yellow));
}
.text-center .section-title::after, .section-title.centered::after { left: 50%; transform: translateX(-50%); }

/* Buttons */
.btn-nc { background: var(--nc-red); color: #fff; border: none; font-weight: 600; padding: .75rem 1.75rem; border-radius: 8px; transition: all .25s; }
.btn-nc:hover { background: var(--nc-red-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(229,57,53,.35); }
.btn-outline-nc { border: 2px solid #fff; color: #fff; font-weight: 600; padding: .7rem 1.75rem; border-radius: 8px; transition: all .25s; }
.btn-outline-nc:hover { background: var(--nc-yellow); border-color: var(--nc-yellow); color: var(--nc-navy); }

/* Top bar */
.topbar { background: var(--nc-navy-dark); color: #cfd8e3; font-size: .875rem; }
.topbar a { color: var(--nc-yellow); text-decoration: none; }

/* Navbar */
.navbar-nc { background: var(--nc-navy); padding: .75rem 0; box-shadow: 0 2px 12px rgba(0,0,0,.2); }
.navbar-nc .navbar-brand { display: flex; align-items: center; gap: .6rem; color: #fff; font-weight: 700; font-size: 1.25rem; }
.navbar-nc .navbar-brand img { width: 46px; height: 46px; }
.navbar-nc .navbar-brand span small { display: block; font-size: .68rem; font-weight: 500; letter-spacing: 2px; color: var(--nc-yellow); text-transform: uppercase; }
.navbar-nc .nav-link { color: #dbe4ee; font-weight: 500; margin: 0 .35rem; position: relative; }
.navbar-nc .nav-link:hover, .navbar-nc .nav-link.active { color: var(--nc-yellow); }
.navbar-nc .nav-link.active::after { content: ""; position: absolute; left: .5rem; right: .5rem; bottom: 0; height: 2px; background: var(--nc-yellow); }
.navbar-nc .navbar-toggler { border-color: rgba(255,255,255,.4); }
.navbar-nc .navbar-toggler-icon { filter: invert(1); }

/* Hero */
.hero {
  background: linear-gradient(120deg, rgba(15,31,61,.96) 40%, rgba(15,31,61,.6)),
              url("https://images.unsplash.com/photo-1449965408869-eaa3f722e40d?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat;
  color: #fff; padding: 7rem 0; position: relative; overflow: hidden;
}
.hero::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 10px;
  background: repeating-linear-gradient(90deg, var(--nc-yellow) 0 40px, transparent 40px 70px);
}
.hero h1 { color: #fff; font-size: 3rem; line-height: 1.15; }
.hero h1 span { color: var(--nc-yellow); }
.hero p.lead { color: #cfd8e3; }
.hero-badge { display: inline-block; background: rgba(255,193,7,.15); color: var(--nc-yellow); border: 1px solid var(--nc-yellow); border-radius: 50px; padding: .35rem 1rem; font-size: .85rem; font-weight: 600; }

/* Enquiry card in hero */
.enquiry-card { background: #fff; border-radius: 16px; padding: 2rem; color: #212529; box-shadow: 0 20px 50px rgba(0,0,0,.35); border-top: 6px solid var(--nc-red); }
.enquiry-card h4 { color: var(--nc-navy); }

/* Page header */
.page-header { background: linear-gradient(135deg, var(--nc-navy), var(--nc-navy-dark)); color: #fff; padding: 4rem 0; text-align: center; position: relative; }
.page-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background: repeating-linear-gradient(90deg, var(--nc-yellow) 0 40px, transparent 40px 70px); }
.page-header h1 { color: #fff; }
.page-header .breadcrumb { justify-content: center; margin: 0; }
.page-header .breadcrumb a { color: var(--nc-yellow); text-decoration: none; }
.page-header .breadcrumb-item.active, .page-header .breadcrumb-item + .breadcrumb-item::before { color: #cfd8e3; }

/* Feature cards */
.feature-card { background: #fff; border-radius: 14px; padding: 1.75rem; height: 100%; box-shadow: 0 10px 30px rgba(15,31,61,.08); border-bottom: 4px solid var(--nc-red); transition: transform .3s; }
.feature-card:hover { transform: translateY(-6px); }
.feature-card i { font-size: 2.25rem; color: var(--nc-red); }

/* Course cards */
.course-card { border: none; border-radius: 16px; overflow: hidden; height: 100%; box-shadow: 0 6px 20px rgba(0,0,0,.07); transition: transform .3s, box-shadow .3s; background: #fff; }
.course-card:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(15,31,61,.15); }
.course-card .course-top { background: linear-gradient(135deg, var(--nc-navy), #1e3a6d); color: #fff; padding: 1.75rem; }
.course-card .course-top i { font-size: 2.2rem; color: var(--nc-yellow); }
.course-card .price { font-size: 1.75rem; font-weight: 700; color: var(--nc-red); }
.course-card .price small { font-size: .9rem; color: #6c757d; font-weight: 500; }
.course-card ul li { padding: .35rem 0; border-bottom: 1px dashed #e5e8ee; }
.course-card ul li:last-child { border: 0; }
.course-card .badge-popular { position: absolute; top: 14px; right: 14px; background: var(--nc-yellow); color: var(--nc-navy); font-weight: 700; }

/* Sections */
.bg-light-nc { background: var(--nc-light); }
.bg-navy { background: var(--nc-navy); color: #fff; }
.bg-navy h2, .bg-navy h3 { color: #fff; }

/* Steps */
.step-number { width: 56px; height: 56px; border-radius: 50%; background: var(--nc-red); color: #fff; font-weight: 700; font-size: 1.4rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; box-shadow: 0 8px 20px rgba(229,57,53,.3); }

/* Stats */
.stat h3 { font-size: 2.5rem; color: var(--nc-yellow); margin: 0; }
.stat p { margin: 0; color: #cfd8e3; }

/* Testimonials */
.testimonial { background: #fff; border-radius: 16px; padding: 2rem; height: 100%; box-shadow: 0 6px 20px rgba(0,0,0,.06); }
.testimonial .stars { color: var(--nc-yellow); }
.testimonial .avatar { width: 48px; height: 48px; border-radius: 50%; background: var(--nc-navy); color: var(--nc-yellow); display: flex; align-items: center; justify-content: center; font-weight: 700; }

/* CTA */
.cta { background: linear-gradient(90deg, var(--nc-red), #ff7043); color: #fff; }
.cta h2 { color: #fff; }
.cta .btn { background: var(--nc-navy); color: #fff; border-radius: 8px; padding: .75rem 2rem; font-weight: 600; }
.cta .btn:hover { background: var(--nc-navy-dark); color: var(--nc-yellow); }

/* Team */
.team-card img { width: 130px; height: 130px; border-radius: 50%; object-fit: cover; border: 4px solid var(--nc-yellow); }

/* Timeline (about) */
.timeline { border-left: 3px solid var(--nc-red); padding-left: 1.5rem; }
.timeline-item { position: relative; margin-bottom: 1.5rem; }
.timeline-item::before { content: ""; position: absolute; left: -2.1rem; top: .35rem; width: 14px; height: 14px; border-radius: 50%; background: var(--nc-yellow); border: 3px solid var(--nc-red); }
.timeline-item .year { color: var(--nc-red); font-weight: 700; }

/* Contact */
.contact-info-card { background: var(--nc-navy); color: #fff; border-radius: 16px; padding: 2rem; height: 100%; }
.contact-info-card i { color: var(--nc-yellow); font-size: 1.5rem; }
.contact-info-card a { color: var(--nc-yellow); text-decoration: none; }
.form-control:focus, .form-select:focus { border-color: var(--nc-red); box-shadow: 0 0 0 .2rem rgba(229,57,53,.2); }
.map-wrap iframe { width: 100%; height: 340px; border: 0; border-radius: 16px; }

/* Footer */
footer { background: var(--nc-navy-dark); color: #b8c4d3; }
footer h5 { color: #fff; }
footer a { color: #b8c4d3; text-decoration: none; transition: color .2s; }
footer a:hover { color: var(--nc-yellow); }
footer .social a { display: inline-flex; width: 38px; height: 38px; border-radius: 50%; align-items: center; justify-content: center; background: rgba(255,255,255,.08); margin-right: .5rem; }
footer .social a:hover { background: var(--nc-red); color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); font-size: .875rem; }

/* Floating WhatsApp */
.wa-float { position: fixed; right: 20px; bottom: 20px; z-index: 999; width: 58px; height: 58px; border-radius: 50%; background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; box-shadow: 0 8px 20px rgba(37,211,102,.45); animation: pulse 2s infinite; }
.wa-float:hover { color: #fff; background: #1ebe5d; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.5); } 70% { box-shadow: 0 0 0 18px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }

@media (max-width: 991px) { .hero { padding: 4.5rem 0; } .hero h1 { font-size: 2.2rem; } .enquiry-card { margin-top: 2.5rem; } }

/* Service cards */
.service-card { background: #fff; border-radius: 16px; padding: 1.75rem; height: 100%; box-shadow: 0 6px 20px rgba(0,0,0,.07); transition: transform .3s, box-shadow .3s; }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 16px 34px rgba(15,31,61,.15); }
.service-icon { width: 68px; height: 68px; border-radius: 16px; background: linear-gradient(135deg, var(--nc-navy), #1e3a6d); display: flex; align-items: center; justify-content: center; color: var(--nc-yellow); font-size: 1.9rem; margin-bottom: 1rem; }
