/* ============================================
   NAVY BLUE + WHITE THEME
   ============================================ */
:root {
    --navy-dark: #0a1f44;
    --navy: #0d2b5e;
    --navy-light: #14407d;
    --navy-accent: #1e5fb8;
    --white: #ffffff;
    --off-white: #f5f8fc;
}

/* Override base logo/button colors site-wide to Navy theme */
.logo { color: var(--navy); }
a { color: var(--navy-accent); }
.btn-enroll { background: var(--navy); }
.btn-enroll:hover { background: var(--navy-dark); }
.final-price, .final-price-big { color: var(--navy-dark); }
.validity { color: var(--navy-accent); }
.hero { background: linear-gradient(135deg, var(--navy), var(--navy-light)); }
.footer { background: var(--navy-dark); }
.stat-card h3 { color: var(--navy-accent); }
.admin-table th { background: var(--off-white); }
.badge-active { background: #dbe9ff; color: var(--navy-accent); }

/* ============ NAVBAR ============ */
.navbar-navy { background: var(--white); box-shadow: 0 2px 12px rgba(10,31,68,0.08); position: sticky; top: 0; z-index: 100; }
.logo-navy { font-size: 24px; font-weight: 800; color: var(--navy-dark); }
.logo-navy span { color: var(--navy-accent); }
.main-nav { display: flex; gap: 28px; }
.main-nav a { color: var(--navy-dark); font-weight: 600; font-size: 15px; }
.main-nav a:hover { color: var(--navy-accent); }
.nav-cta { padding: 10px 22px; }
.btn-navy { background: var(--navy); color: var(--white); }
.btn-navy:hover { background: var(--navy-dark); }
.btn-navy-outline { background: var(--navy); color: var(--white); border: 2px solid var(--navy); }

/* ============ HERO ============ */
.hero-navy {
    background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 50%, var(--navy-light) 100%);
    color: var(--white);
    padding: 90px 0 100px;
    text-align: center;
}
.hero-navy-inner h1 { font-size: 40px; font-weight: 800; margin-bottom: 18px; line-height: 1.3; }
.hero-navy-inner h1 span { color: #7db4ff; }
.hero-navy-inner p { font-size: 18px; opacity: 0.9; max-width: 650px; margin: 0 auto 32px; }
.hero-cta-group { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.btn-hero { padding: 14px 32px; border-radius: 8px; font-weight: 700; font-size: 16px; display: inline-block; }
.btn-hero-primary { background: var(--white); color: var(--navy-dark); }
.btn-hero-primary:hover { background: #e8f0fe; }
.btn-hero-secondary { background: transparent; color: var(--white); border: 2px solid var(--white); }
.btn-hero-secondary:hover { background: rgba(255,255,255,0.1); }

/* ============ SERVICES ============ */
.services-section { padding: 70px 0; }
.alt-bg { background: var(--off-white); border-radius: 16px; }
.section-title { font-size: 30px; font-weight: 800; color: var(--navy-dark); text-align: center; margin-bottom: 8px; }
.section-subtitle { text-align: center; color: #5a6b8c; margin-bottom: 40px; font-size: 15px; }

.service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.service-card {
    background: var(--white);
    border: 1px solid #e3ebf7;
    border-radius: 14px;
    padding: 28px 24px;
    text-align: center;
    box-shadow: 0 4px 16px rgba(10,31,68,0.05);
    transition: transform 0.25s, box-shadow 0.25s;
}
.service-card:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(10,31,68,0.12); }
.service-icon { font-size: 40px; margin-bottom: 14px; }
.service-card h3 { font-size: 19px; color: var(--navy-dark); margin-bottom: 10px; }
.service-card p { color: #607089; font-size: 14px; margin-bottom: 16px; min-height: 60px; }
.service-price { font-size: 20px; font-weight: 800; color: var(--navy-accent); margin-bottom: 16px; }

/* ============ COURSES CTA BANNER ============ */
.courses-cta-banner {
    background: var(--navy-accent);
    color: var(--white);
    text-align: center;
    padding: 60px 20px;
    margin: 40px 0;
}
.courses-cta-banner h2 { font-size: 28px; margin-bottom: 10px; }
.courses-cta-banner p { opacity: 0.9; margin-bottom: 24px; }

/* ============ CONTACT ============ */
.contact-section { padding: 60px 0; text-align: center; }
.contact-box { background: var(--off-white); border-radius: 14px; padding: 30px; max-width: 500px; margin: 0 auto; }
.contact-box p { font-size: 17px; color: var(--navy-dark); }

/* ============ FOOTER ============ */
.footer-navy { background: var(--navy-dark); }
.footer-support { opacity: 0.8; font-size: 14px; margin-top: 6px; }

/* ============ MOBILE RESPONSIVE ============ */
@media (max-width: 768px) {
    .main-nav { display: none; }
    .hero-navy-inner h1 { font-size: 28px; }
    .hero-navy-inner p { font-size: 15px; }
    .service-grid { grid-template-columns: 1fr; }
    .navbar-inner { flex-wrap: wrap; gap: 10px; }
}

/* ============ FLOATING WHATSAPP BUTTON ============ */
.whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    background: #25D366;
    color: #fff;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    z-index: 999;
    text-decoration: none;
    transition: transform 0.2s;
}
.whatsapp-float:hover { transform: scale(1.08); }

/* ============ COURSES PAGE ============ */
.courses-hero { padding: 70px 0 80px; }
.courses-hero h1 span { color: #7db4ff; }

.course-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 24px; }
.course-card {
    background: var(--white);
    border: 1px solid #e3ebf7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(10,31,68,0.05);
    transition: transform 0.25s, box-shadow 0.25s;
}
.course-card:hover { transform: translateY(-6px); box-shadow: 0 12px 28px rgba(10,31,68,0.12); }
.course-thumb-wrap { position: relative; }
.course-thumb-wrap img { width: 100%; height: 170px; object-fit: cover; background: var(--off-white); display: block; }
.thumb-badge {
    position: absolute; top: 12px; right: 12px;
    background: #e63946; color: #fff;
    font-size: 12px; font-weight: 700;
    padding: 4px 10px; border-radius: 20px;
}
.course-card-body { padding: 18px; }
.course-card-body h3 { font-size: 18px; color: var(--navy-dark); margin-bottom: 8px; }
.no-courses-msg { text-align: center; color: #607089; grid-column: 1 / -1; padding: 40px 0; }

/* ============ HERO SLIDER ============ */
.hero-slider-wrap { padding: 0; overflow: hidden; }
.hero-slider { position: relative; min-height: 480px; }
.hero-slide {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    padding: 90px 0 100px;
    opacity: 0; visibility: hidden; transition: opacity 0.6s ease;
    background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 50%, var(--navy-light) 100%);
}
.hero-slide.active { opacity: 1; visibility: visible; position: relative; }
.hero-slider-dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 5; }
.hero-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.4); cursor: pointer; }
.hero-dot.active { background: #fff; }

/* ============ TRUST STATS BAR ============ */
.trust-stats-bar { background: var(--off-white); padding: 36px 0 20px; text-align: center; }
.trust-stats-inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 20px; }
.trust-stat h3 { font-size: 26px; font-weight: 800; color: var(--navy-dark); }
.trust-stat p { font-size: 13px; color: #5a6b8c; margin-top: 4px; }
.all-india-note { text-align: center; margin-top: 16px; font-weight: 600; color: var(--navy-accent); font-size: 14px; }

/* ============ AUDIENCE SECTIONS ============ */
.audience-section { padding: 60px 0; }
.audience-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.audience-card { background: var(--white); border: 1px solid #e3ebf7; border-radius: 14px; padding: 26px; text-align: center; box-shadow: 0 4px 14px rgba(10,31,68,0.05); }
.audience-icon { font-size: 36px; margin-bottom: 12px; }
.audience-card h3 { font-size: 17px; color: var(--navy-dark); margin-bottom: 8px; }
.audience-card p { font-size: 14px; color: #607089; }

/* ============ WHO WE SERVE ============ */
.who-we-serve-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; }
.serve-card { background: var(--white); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 16px rgba(10,31,68,0.06); text-align: center; padding-bottom: 22px; }
.serve-visual { height: 140px; display: flex; align-items: center; justify-content: center; font-size: 56px; }
.serve-visual-1 { background: linear-gradient(135deg, #ffe0b2, #ffcc80); }
.serve-visual-2 { background: linear-gradient(135deg, #c8e6c9, #a5d6a7); }
.serve-visual-3 { background: linear-gradient(135deg, #bbdefb, #90caf9); }
.serve-card h3 { font-size: 17px; color: var(--navy-dark); margin: 14px 16px 8px; }
.serve-card p { font-size: 14px; color: #607089; padding: 0 16px; }

/* ============ ABOUT US ============ */
.about-us-section { background: var(--off-white); padding: 60px 0; }
.about-us-content { max-width: 800px; margin: 0 auto; }
.about-us-content p { font-size: 15px; line-height: 1.8; color: #3a4a63; margin-bottom: 14px; }

/* ============ CART ============ */
.cart-icon-link { position: relative; font-size: 20px; color: var(--navy-dark); margin-right: 10px; }
.cart-count { position: absolute; top: -8px; right: -10px; background: #e63946; color: #fff; font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 10px; }
.nav-right-group { display: flex; align-items: center; gap: 4px; }

.cart-section { padding: 50px 0; }
.cart-items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 24px; }
.cart-item { display: flex; align-items: center; gap: 16px; background: var(--white); border: 1px solid #e3ebf7; border-radius: 10px; padding: 12px 16px; }
.cart-item img { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; background: var(--off-white); }
.cart-item-info { flex: 1; }
.cart-item-info h4 { font-size: 15px; color: var(--navy-dark); }
.cart-item-price { font-weight: 700; color: var(--navy-accent); }
.cart-remove { color: #e63946; font-size: 18px; font-weight: 700; margin-left: 10px; }
.cart-summary { background: var(--off-white); padding: 20px; border-radius: 12px; }
.cart-total-row { display: flex; justify-content: space-between; font-size: 18px; font-weight: 700; color: var(--navy-dark); margin-bottom: 16px; padding: 10px 0; border-top: 1px solid #dde5f0; }
.cart-total-amount { color: var(--navy-accent); }
.empty-cart { text-align: center; padding: 60px 0; }
.empty-cart p { margin-bottom: 20px; color: #607089; }
.checkout-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 30px; align-items: start; }

@media (max-width: 768px) {
    .checkout-grid { grid-template-columns: 1fr; }
    .hero-slider { min-height: 420px; }
}
