/* Responsive Design */

/* ── Mobile & Modal Fixes ─────────────────────────────────── */
@media (max-width: 991px) {
    #navigation.sticky {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 9999;
        box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    }
    .home-banner, .intake_marquee, .features, .intro, .about,
    .courses, .ai_promo, .counter, .awards, .sticky_bg, .blog, .partners {
        position: relative;
        z-index: 1;
    }
}
@media (max-width: 767px) {
    .modal.show {
        display: flex !important;
        align-items: center;
        justify-content: center;
    }
    .modal-backdrop { z-index: 1040; }
    .modal { z-index: 1050; }
    .modal-dialog {
        margin: 1rem;
        max-width: calc(100% - 2rem);
    }
    body.modal-open {
        overflow: auto !important;
        padding-right: 0 !important;
    }
}
@media (min-width: 576px) {
    .modal-dialog {
        max-width: 480px;
        margin: 1.75rem auto;
    }
}

/* Fix meanmenu expand/collapse in offcanvas sidebar */
.mean-nav ul { display: none; }
.mean-nav ul.mean-show { display: block !important; }
.mean-nav .mean-expand {
    cursor: pointer !important;
    pointer-events: auto !important;
    position: absolute;
    right: 0; top: 0;
    z-index: 10;
}
.offcanvas__info, .offcanvas__info * { pointer-events: auto; }


@media only screen and (max-width:1600px) { 
	

}

@media only screen and (max-width:1400px) { 
	

}

@media only screen and (max-width:1366px) { 

	.ccontent h3{
		font-size: 35px;
	}
	.counter-item{
		padding-left: 0;
	}
	.coicon {
		width: 70px;
		height: 70px;
		line-height: 70px;
	}	
	.coicon::before {
		content: '';
		width: 80px;
		height: 80px;
		left: -5px;
		top: -5px;		
	}
	.program_item{
		padding: 20px;
	}
	.testi_content h2 {
		margin-top: 160px;
	}	
	
	.teachers .teacher_slider button.owl-prev, 
	.instructors .instructor-slider button.owl-prev, 
	.relcourse_slider button.owl-prev {
		left: -55px;
	}
	.teachers .teacher_slider button.owl-next, 
	.instructors .instructor-slider button.owl-next, 
	.relcourse_slider button.owl-next {
		right: -55px;
	}	
	.header-top span{
		display: none;
	}
	.testimonials .testi_ovshape {
		width: 43%;
	}
	.testimoinals_wrap .testimonial_slider .owl-nav {
		left: -217px;
	}	
}


@media only screen and (max-width:1199px) {
	/* Hide desktop nav on mobile — offcanvas sidebar handles navigation */
	#navigation #main-menu {
		display: none !important;
	}
	.header_right{
		gap: 30px!important;
	}
	.header_2 .menu_btn.sidebar__toggle{
		display: block;
	}
	.home-banner.banner-2 .banner_content h2,
	.home-banner.banner-3 .banner_content h2{
		font-size: 52px;
		line-height: 62px;
	}
	.home-banner.banner-2 .bshape2,
	.home-banner.banner-3 .bshape2 {
		right: 40%;
		top: 10%;
	}
	.home-banner.banner-3 .bshape3 {
		right: -88px;
		top: 23px;
	}
	.bbadge.badge2{
		display: none;
	}
	.sbanner_image_wrap {
		width: 100%;
	}
	.testimoinals_wrap .testimonial_slider .owl-nav {
		left: -209px;
	}
	.bshape2 {
		right: 60%;
	}
	.about-content {
		padding-top: 160px;
	}	
	.bbadge {
		padding: 20px;
	}	
	.banner_courses .single_course {
		padding: 15px;
	}
	.about-content {
		padding-top: 100px;
	}
	.about-us-two {
		padding-bottom: 170px;
	}	
	.lclass_img{
		margin-bottom: 30px;
	}
	.lcmain_img{
		width: 100%;
	}
	.counter-up{
		padding-bottom: 30px;
	}
	.counter-item{
		margin-bottom: 30px;
	}
	.course-sidebar {
		margin-top: 40px;
		margin-left: 0;
	}
	.cta2{
		margin-bottom: 30px;
	}
	.course_style5 .course_content {
		margin-top: 20px;
	}	

}

@media only screen and (max-width:1024px) { 
	.bshape1,
	.bshape2,
	.bshape3,
	.bshape4{
		display: none;
	}

	.testimoinals_wrap .testimonial_slider .owl-nav {
		left: -195px;
	}
	.ab_book_shape,
	.ab_top_shape,
	.ab_btm_shape,
	.ab_right_shape{
		display: none;
	}

	.cta2 h2 {
		font-size: 30px;
	}

}

@media only screen and (max-width: 991px){
	/* Hide contact text + login link, show only social icons */
	.header-top .htright,
	.header-top .htleft p {
		display: none !important;
	}
	.header-top .htleft {
		justify-content: center !important;
		gap: 0 !important;
		width: 100%;
	}
	.header-top .htleft ul {
		display: flex !important;
		justify-content: center;
		padding: 0;
		margin: 0;
	}
	.header-top .htleft li,
	.header-top .htleft li:last-child {
		border: none;
		display: inline-flex;
	}
	.header-top .htleft li a {
		padding: 8px 14px;
		font-size: 15px;
	}
	.header_2 .blue_btn{
		display: none;
	}
	.id_content{
		padding-top: 30px;
	}
	.feature_slider::before,
	.feature_slider::after{
		display: none;
	}
	.banner_content{
		margin-bottom: 60px;
	}	
	.courses .section-title{
		margin-bottom: 20px;
	}
	.course_nav{
		margin-bottom: 15px;
	}
	.course_nav li{
		padding-right: 15px;
		margin-bottom: 15px;
	}
	.testi_content h2 {
		margin-top: 44px;
		margin-bottom: 50px;
	}
	.video_area h2 {
		font-size: 90px;
		padding: 80px 0;
	}	
	.test_badge{
		margin-bottom: 30px;
	}

	.footer-widget{
		margin-bottom: 30px;
	}
	.testimoinals_wrap .testimonial_slider .owl-nav,
	.testi_shape{
		display: none;
	}
	.copyright{
		margin-top: 30px;
	}
	.csearch_form input{
		width: 70%;
	}
	.sidebar-area{
		margin-top: 60px;
	}
	
}

@media only screen and (max-width: 767px){
	/* Reduce section padding on mobile */
	.section-padding {
		padding: 60px 0;
	}
	.pb100 {
		padding-bottom: 60px;
	}

	/* Banner */
	.hslider-item, .home-banner, .main-banner {
		padding: 80px 0;
	}
	.hslider-item h2, .home-banner .banner_content h2 {
		font-size: 30px;
		line-height: 1.3;
		margin-top: 16px;
		margin-bottom: 16px;
	}
	.hslider-item p, .home-banner .banner_content p {
		font-size: 14px;
		margin-bottom: 28px;
	}

	/* Section title — inherit base 26px on mobile, keep Montserrat */
	.section-title h2 {
		font-size: 22px;
		line-height: 1.35;
	}

	/* About */
	.about-us-two {
		padding-bottom: 60px !important;
	}
	.about-us-two .about_img_2 {
		display: none;
	}
	.about_badge2 {
		display: none;
	}

	/* Counter — remove negative overlap on mobile */
	.nmt100 {
		margin-top: 0;
	}
	.counter-up .counter_bg {
		border-radius: 16px;
		padding: 40px 16px 10px;
	}
	.ccontent h3 {
		font-size: 28px;
	}

	/* Features */
	.feature_item {
		margin-bottom: 10px;
	}

	/* Client slider */
	.client_slider2 {
		padding: 30px 20px;
	}

	/* Course card bottom row */
	.cbtm {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	/* FAQ accordion */
	.accordion-button {
		font-size: 14px;
	}
	.banner_courses{
		margin-top: 30px;
	}
	.header2 .header_right .blue_btn{
		display: none;
	}
	.main-banner .blshape,
	.main-banner .brshape{
		display: none;
	}
	.about_badge,
	.teachers.owl-carousel .owl-dots.disabled, 
	.teachers .owl-carousel .owl-nav.disabled{
		display: none;
	}
	.about-content p{
		margin-bottom: 40px;
	}
	.about-content ul{
		margin-bottom: 15px;
	}
	.about-content ul::before{
		display: none;
	}
	.about-content li:last-child{
		margin-bottom: 0;
	}
	.about-content .blue_btn{
		margin-top: 30px;
	}
	.counter-item {
		padding-left: 45px;
		justify-content: start !important;
		margin-bottom: 45px;
	}
	.events_item img {
		float: inherit;
		margin-right: 0;
		margin-bottom: 24px;
	}
	.video_area h2 {
		padding: 80px 0 50px;
	}	
	.vplay_btn {
		margin-bottom: 90px;
	}
	.video_area .marrow_shape{
		width: 55px;
	}
	
	.copyright p{
		padding-top: 10px;
	}
	.csearch_form{
		margin-top: 15px;
	}
	
	.cta2 .cta_img,
	.ccircle_shape{
		display: none;
	}
	
}
@media only screen and (max-width: 667px){
	.header_right .blue_btn{
		display: none;
	}
}
@media only screen and (max-width: 575px){

	.progress-wrap{
		display: none;
	}
	.lefttop,
	.leftbtm,
	.ssright{
		display: none!important;
	}
}

/* ═══════════════════════════════════════════════════
   ELDOHUB GLOBAL MOBILE ENHANCEMENTS
   - Consistent body/heading fonts across all sections
   - Mobile responsiveness for home sections
   - Retina-ready button animations
═══════════════════════════════════════════════════ */

/* ── Typography consistency ───────────────────── */
.intro-body,
.pathway-card__desc,
.ai-promo-body,
.impact-testimonial__quote,
p {
    font-size: 15px;
    line-height: 1.78;
}

/* All section h2 headings — Montserrat 500 (medium) */
.intro-heading,
.ai-promo-heading,
.impact-intro__heading,
.final-cta__heading {
    font-family: "Montserrat", "Poppins", system-ui, sans-serif !important;
    font-weight: 500 !important;
    font-size: 26px !important;
    line-height: 1.35 !important;
}

/* ── prefers-reduced-motion: disable all lifts ─ */
@media (prefers-reduced-motion: reduce) {
    .hero-btn, .blue_btn, .white_btn, .border_btn, .fbtn,
    .intro-btn, .pathway-btn, .ai-promo-btn,
    .features-cta-btn, .final-cta__btn--primary,
    .final-cta__btn--ghost {
        transition: none !important;
        transform: none !important;
    }
}

/* ── Mobile 768px — tablet ─────────────────────── */
@media only screen and (max-width: 767px) {

    /* Hero banner typography */
    .hslider-item h2 {
        font-size: clamp(24px, 6vw, 36px) !important;
        line-height: 1.25 !important;
    }
    .hslider-item p {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }
    .hero-buttons {
        gap: 10px;
        flex-wrap: wrap;
    }
    .hero-btn {
        font-size: 13px;
        padding: 9px 18px;
    }

    /* Intake marquee — readable on small screens */
    .intake-marquee-track { gap: 32px; }

    /* Features pathway cards */
    .pathway-section { padding: 2rem 1rem; }

    /* Intro section */
    .intro-ctas {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    .intro-btn {
        font-size: 13px !important;
        padding: 10px 16px !important;
        flex: 1 1 auto;
        justify-content: center;
    }

    /* About/pathway section */
    .pathway-btn {
        font-size: 13px;
        padding: 9px 16px;
    }

    /* AI Promo — stack CTAs */
    .ai-promo-ctas {
        flex-wrap: wrap !important;
        justify-content: center;
        gap: 10px !important;
    }
    .ai-promo-btn {
        font-size: 13px !important;
        padding: 9px 16px !important;
        flex: 1 1 auto;
        justify-content: center;
        text-align: center;
    }

    /* Counter/impact section */
    .impact-section { padding: 52px 0 60px; }
    .impact-top-row { gap: 12px; }
    .impact-feature { min-height: 240px; }
    .impact-testimonial { min-height: auto; padding: 20px; }
    .impact-testimonial__quote { font-size: 14px !important; }

    /* Awards strip */
    .awards-strip__title { font-size: clamp(16px, 4vw, 22px); }

    /* Final CTA */
    .final-cta__btns { flex-direction: column; align-items: center; }
    .final-cta__btn--primary,
    .final-cta__btn--ghost {
        width: 100%;
        max-width: 320px;
        justify-content: center;
    }

    /* Global section headings on mobile */
    .section-title h2 {
        font-size: 22px !important;
        font-family: "Montserrat", "Poppins", system-ui, sans-serif !important;
    }
}

/* ── Mobile 480px — small phones ───────────────── */
@media only screen and (max-width: 480px) {
    .hslider-item {
        padding: 60px 0 50px !important;
        min-height: 480px !important;
    }
    .hero-buttons { flex-direction: column; align-items: flex-start; }
    .hero-btn { width: auto; }

    .intro-section { padding: 48px 0; }

    /* Features card badges */
    .pathway-section .row { gap: 12px; }

    /* Impact stats — 2 cols already, reduce padding */
    .istat { min-height: 140px !important; padding: 16px 14px !important; }
    .istat__num { font-size: 28px !important; }

    /* Testimonial card */
    .impact-testimonial { padding: 16px; }
}

/* ── Retina / HiDPI — crisp buttons ────────────── */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .hero-btn,
    .blue_btn,
    .white_btn,
    .intro-btn,
    .pathway-btn,
    .ai-promo-btn,
    .features-cta-btn,
    .final-cta__btn--primary {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}