/* HealthPro Academy - Font & Alignment Fixes - 2026-04-05 */

/* 1. Global font enforcement */
*,*::before,*::after{font-family:'Sora',sans-serif}
body{font-family:'Sora',sans-serif!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* 2. Heading hierarchy */
h1,.h1{font-family:'Sora',sans-serif!important;font-size:clamp(2rem,4vw,3rem)!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-0.02em!important}
h2,.h2{font-family:'Sora',sans-serif!important;font-size:clamp(1.625rem,3vw,2.25rem)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-0.01em!important}
h3,.h3{font-family:'Sora',sans-serif!important;font-size:clamp(1.25rem,2.5vw,1.75rem)!important;font-weight:600!important;line-height:1.25!important}
h4,.h4{font-family:'Sora',sans-serif!important;font-size:clamp(1.125rem,2vw,1.375rem)!important;font-weight:600!important;line-height:1.3!important}
h5,.h5{font-family:'Sora',sans-serif!important;font-size:clamp(1rem,1.5vw,1.125rem)!important;font-weight:600!important;line-height:1.35!important}
h6,.h6{font-family:'Sora',sans-serif!important;font-size:clamp(0.875rem,1.25vw,1rem)!important;font-weight:600!important;line-height:1.4!important}

/* 3. Body text */
p,li,td,th,span,a,label,input,textarea,select,button{font-family:'Sora',sans-serif!important}
p{font-size:15px!important;line-height:1.7!important;color:#475569!important}

/* 4. Side-title badges */
.side-title{display:inline-flex!important;align-items:center!important;margin-bottom:12px!important}
.side-title span{display:inline-block!important;background:linear-gradient(135deg,#1a73e8,#0d47a1)!important;color:#fff!important;padding:6px 22px!important;border-radius:50px!important;font-size:13px!important;font-weight:600!important;letter-spacing:1px!important;text-transform:uppercase!important;line-height:1.4!important}

/* 5. Title sections */
.title-section{text-align:center!important;margin-bottom:40px!important}
.title-section h2{font-size:clamp(1.625rem,3vw,2.2rem)!important;font-weight:800!important;color:#0f1729!important;margin-top:12px!important;line-height:1.25!important}

/* 6. Banner alignment */
.banner-section .left-section h1{text-align:left!important}
.banner-section .left-section p{text-align:left!important;max-width:600px!important}

/* 7. About section */
.about-section .about-content{display:flex!important;flex-direction:column!important;justify-content:center!important}
.about-section .about-content .title-section{text-align:left!important}
.about-section .about-content .title-section h2{text-align:left!important}
.about-section .about-content p{text-align:left!important}

/* 8. Counter section */
.counter-section .counter-items{text-align:center!important}
.counter-section .counter-items h2{font-size:clamp(2rem,4vw,3rem)!important;font-weight:800!important;color:#1a73e8!important}
.counter-section .counter-items h3{font-size:clamp(0.9rem,1.5vw,1.1rem)!important;font-weight:500!important;color:#475569!important}

/* 9. Course cards */
.our-courses-section .course-card,.our-courses-section .owl-item{text-align:left!important}
.our-courses-section .course-card h3{font-size:1.1rem!important;font-weight:600!important;line-height:1.3!important;margin-top:12px!important}

/* 10. Service cards */
.service-section .owl-carousel .item{text-align:left!important}
.service-section .owl-carousel .item h3{font-size:1.25rem!important;font-weight:700!important;color:#0f1729!important;margin-bottom:8px!important}
.service-section .owl-carousel .item p{font-size:14px!important;line-height:1.6!important;color:#64748b!important}

/* 11. Why Choose Us */
.why-choose-section .contents-section{text-align:left!important}
.why-choose-section .contents-section h4{font-size:17px!important;font-weight:700!important;color:#0f172a!important;margin-bottom:4px!important}
.why-choose-section .contents-section p{font-size:14px!important;line-height:1.6!important}

/* 12. Testimonials */
.success-stories-section .testimonial-card,.success-stories-section .item{text-align:center!important}
.success-stories-section h3{font-size:1.1rem!important;font-weight:600!important}

/* 13. Navigation */
.navbar .nav-link,.header .nav-link,nav a{font-family:'Sora',sans-serif!important;font-size:15px!important;font-weight:500!important}

/* 14. Buttons */
.hp-btn,.btn,button:not(.owl-dot):not(.back-to-top){font-family:'Sora',sans-serif!important;font-weight:600!important}

/* 15. Forms */
input,textarea,select,.form-control{font-family:'Sora',sans-serif!important;font-size:14px!important}

/* 16. Inner page banner */
.innerbanner-section{text-align:center!important}
.innerbanner-section h1{text-align:center!important}

/* 17. Section spacing */
section{overflow:visible!important}
.y-gap{padding-top:60px!important;padding-bottom:60px!important}
.b-gap{padding-bottom:60px!important}

/* 18. Footer */
footer h5,footer h6{font-size:16px!important;font-weight:600!important;margin-bottom:16px!important}
footer p,footer li,footer a{font-size:14px!important;line-height:1.8!important}

/* 19. Tagline bar */
.hp-tagline-bar,.hp-tagline-bar .tagline-main,.hp-tagline-bar .tagline-sub{font-family:'Sora',sans-serif!important}

/* 20. Mobile */
@media(max-width:991px){
h1,.h1{font-size:clamp(1.75rem,5vw,2.5rem)!important}
h2,.h2{font-size:clamp(1.5rem,4vw,2rem)!important}
h3,.h3{font-size:clamp(1.125rem,3vw,1.5rem)!important}
.title-section{margin-bottom:30px!important}
.about-section .about-content .title-section,.about-section .about-content .title-section h2,.about-section .about-content p{text-align:center!important}
.banner-section .left-section h1,.banner-section .left-section p{text-align:center!important}
.navbar .nav-link,.header .nav-link{font-size:14px!important}
}
@media(max-width:767px){
h1,.h1{font-size:clamp(1.5rem,6vw,2rem)!important}
h2,.h2{font-size:clamp(1.25rem,5vw,1.75rem)!important}
p{font-size:14px!important}
.y-gap{padding-top:40px!important;padding-bottom:40px!important}
}

/* ======= HOMEPAGE-SPECIFIC FIXES (2026-04-05 Update) ======= */

/* 21. Owl Carousel fallback - show items if carousel fails to init */
.owl-carousel:not(.owl-loaded) {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 20px !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px !important;
}
.owl-carousel:not(.owl-loaded) > .item {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
}
.service-slider:not(.owl-loaded) > .item {
    width: 280px !important;
}
.course-slider:not(.owl-loaded) > .item {
    width: 320px !important;
}
.success-slider:not(.owl-loaded) > .item {
    width: 350px !important;
}

/* 22. Stats/Counter section fix */
.counter-section {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 40px !important;
    flex-wrap: wrap !important;
    padding: 30px 0 !important;
}
.counter-section .counter-items {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    text-align: center !important;
}
.counter-section .counter-items h3 {
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    font-weight: 700 !important;
    color: #1a73e8 !important;
    margin: 0 !important;
}
.counter-section .counter-items h5 {
    font-size: clamp(0.8rem, 1.2vw, 0.95rem) !important;
    font-weight: 500 !important;
    color: #475569 !important;
    margin: 0 !important;
}

/* 23. Service section cards */
.service-section {
    padding: 60px 0 !important;
    background: #fff !important;
}
.service-section .item {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 24px !important;
    border: 1px solid #e2e8f0 !important;
    transition: all 0.3s ease !important;
}
.service-section .item:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
    transform: translateY(-4px) !important;
}
.service-section .item h4 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 8px !important;
}
.service-section .item p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #64748b !important;
}

/* 24. Course section cards */
.our-courses-section {
    padding: 60px 0 !important;
    background: #f8fafc !important;
}
.our-courses-section .item {
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    transition: all 0.3s ease !important;
}
.our-courses-section .item:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
}

/* 25. Success stories / Testimonials */
.success-stories-section {
    padding: 60px 0 !important;
    background: #fff !important;
}
.success-stories-section .item {
    background: #f8fafc !important;
    border-radius: 12px !important;
    padding: 24px !important;
    border: 1px solid #e2e8f0 !important;
    text-align: center !important;
}
.success-stories-section .item h5 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
}
.success-stories-section .item p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #64748b !important;
}

/* 26. hp-pro-section (study materials) */
.hp-pro-section {
    padding: 60px 0 !important;
    background: #f0f7ff !important;
}
.hp-pro-section .section-title {
    text-align: center !important;
    margin-bottom: 40px !important;
}
.hp-pro-section .section-title h2 {
    font-size: clamp(1.5rem, 3vw, 2.25rem) !important;
    font-weight: 700 !important;
    color: #0f2b5c !important;
}

/* 27. Owl carousel nav buttons */
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    transition: all 0.3s ease !important;
    font-size: 14px !important;
    color: #1e3a5f !important;
}
.owl-carousel .owl-nav button.owl-prev { left: -20px !important; }
.owl-carousel .owl-nav button.owl-next { right: -20px !important; }
.owl-carousel .owl-nav button:hover {
    background: #1e3a5f !important;
    color: #fff !important;
}

/* 28. Owl dots styling */
.owl-carousel .owl-dots {
    text-align: center !important;
    margin-top: 20px !important;
}
.owl-carousel .owl-dots .owl-dot span {
    width: 10px !important;
    height: 10px !important;
    background: #cbd5e1 !important;
    border-radius: 50% !important;
    display: inline-block !important;
    margin: 0 4px !important;
    transition: all 0.3s ease !important;
}
.owl-carousel .owl-dots .owl-dot.active span {
    background: #1e3a5f !important;
    width: 24px !important;
    border-radius: 5px !important;
}

/* 29. Banner client logos section */
.banner-client-section {
    padding: 20px 0 !important;
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
}
.banner-client-section h6 {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #94a3b8 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 15px !important;
    text-align: center !important;
}
.banner-client-section .item img {
    max-height: 40px !important;
    opacity: 0.6 !important;
    transition: opacity 0.3s ease !important;
    filter: grayscale(100%) !important;
}
.banner-client-section .item:hover img {
    opacity: 1 !important;
    filter: grayscale(0%) !important;
}

/* 30. Fix footer separation from hp-pro-section */
footer.footer-section {
    background: #0f172a !important;
    margin-top: 0 !important;
}

/* 31. Ensure sections have proper z-stacking */
section {
    position: relative !important;
    z-index: 1 !important;
}
header {
    z-index: 1030 !important;
}
