/* ==========================================================================
   RESPONSIVE OVERRIDES — mobile-first breakpoint adjustments
   ========================================================================== */

/* Large desktop refinements */
/* @media (min-width: 1400px){
  .container{ max-width: 1300px; }
} */

/* Laptop / small desktop */
@media (max-width: 1199.98px){
  .hero-content{ max-width: 560px; }
  :root{ --header-h: 108px; }
}

/* Tablet */
@media (max-width: 991.98px){
  :root{ --header-h: 64px; }
  .topbar{ display:none; }
  .main-nav{ padding: .5rem 0; }
  .section-pad{ padding: 3.6rem 0; }
  .hero-slide{ min-height: 560px; }
  .hero-content{ max-width: 100%; padding: 3rem 0; text-align:left; }
  .hero-stats{ gap:1.2rem; }
  .about-media .badge-float{ right: 0; bottom:-1.2rem; padding: 1rem 1.1rem; }
  .course-tabs .nav-pills{ flex-wrap:wrap; }
  .enquiry-form-card{ margin-top: 2.5rem; }
  .footer-top{ padding: 3.5rem 0 2rem; }
  .site-footer .col-lg-3{ margin-bottom: 2.2rem; }
}

/* Mobile */
@media (max-width: 767.98px){
  .section-title{ font-size: 1.5rem; }
  .hero-slide{ min-height: 440px; }
  .hero-content h1{ font-size: 1.8rem; }
  .hero-content p.lead{ font-size: 1rem; }
  .hero-actions .btn{ flex:1 1 auto; text-align:center; }
  .swiper-button-next, .swiper-button-prev{ display:none; }
  .counters .col-6{ margin-bottom: 1.6rem; }
  .counter-item .num{ font-size: 1.8rem; }
  .cta-band{ padding: 3rem 0; text-align:center; }
  .cta-actions{ justify-content:center; }
  .enquiry-form-card{ padding: 1.5rem; }
  .page-header{ padding: 2.2rem 0 2.8rem; text-align:center;}
  .breadcrumb-row{ justify-content:center; }
  .floating-actions{ right: .8rem; bottom: .8rem; }
  .fab{ width:48px; height:48px; font-size:1.1rem; }
  .why-card{ padding: 1.6rem 1.3rem; }
  .gallery-filters{ gap:.4rem; }
  .gallery-filters button{ padding:.45rem 1rem; font-size:.82rem; }
}

/* Small mobile */
@media (max-width: 479.98px){
  .brand-text .name{ font-size: 1rem; }
  .brand-mark{ width:40px; height:40px; font-size:1.1rem; }
  .hero-content h1{ font-size: 1.55rem; }
  .hero-stats{ gap: 1rem; }
  .hero-stats .stat b{ font-size: 1.2rem; }
  .cta-band h2{ font-size: 1.4rem; }
  .course-card .course-actions{ flex-direction: row; }
  .testimonial-card{ padding: 1.6rem; }
  
}

@media only screen and (min-width:300px) and (max-width:360px){
.tagline p {
    font-size: 8px!important;
    margin-bottom:0px!important;
   
}
.ms-5 {
    margin-left: 2rem !important;
}
.hero-actions {
    display: flex;
    gap: .9rem;
    flex-wrap: nowrap;
    margin-top: 1.6rem;
}
.image-part{
    display:none!important;
}
.hero-swiper {
    min-height: 500px;
    position: relative;
}
    .hero-actions .btn {
        font-size:9px;
    }
    .course-card .course-actions .btn {
    flex: 1;
    text-align: center;
    padding: 12px 12px;
    font-size: 11px;
    height: 50px;
}
.fab {
        width: 20px;
        height: 20px;
        font-size: 1.1rem;
    }
    .news-ticker-label {
        font-size: 12px;
    }
    .form-part {
    padding:20px!important;
}
.footer-about img{
    width:50%;
}
.floating-actions .fab {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
    box-shadow: var(--shadow-lg);
    transition: transform .2s ease;
}
}


@media only screen and (min-width:361px) and (max-width:480px){
.tagline p {
    font-size: 8px!important;
    margin-bottom:0px!important;
    
}
.ms-5 {
    margin-left: 2rem !important;
}
.hero-actions {
    display: flex;
    gap: .9rem;
    flex-wrap: nowrap;
    margin-top: 1.6rem;
}
.image-part{
    display:none!important;
}
.hero-swiper {
    min-height:430px;
    position: relative;
}
.footer-about img{
    width:50%;
}
    .hero-actions .btn {
        font-size:10px;
    }
    .course-card .course-actions .btn {
    flex: 1;
    text-align: center;
    padding: 12px 12px;
    font-size: 11px;
    height: 50px;
}
.fab {
        width: 20px;
        height: 20px;
        font-size: 1.1rem;
    }
    .news-ticker-label {
        font-size: 12px;
    }
    .form-part {
    padding:20px!important;
}
.floating-actions .fab {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
    box-shadow: var(--shadow-lg);
    transition: transform .2s ease;
}
}


@media only screen and (min-width:481px) and (max-width:767px){
    .tagline p {
    font-size: 8px!important;
    margin-bottom:0px!important;
}
.ms-5 {
    margin-left: 2rem !important;
}
.hero-swiper {
    min-height: 500px;
    position: relative;
}
.image-part{
    display:none;
}
.form-part {
    padding:20px!important;
}
.footer-about img{
    width:50%;
}
.floating-actions .fab {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
    box-shadow: var(--shadow-lg);
    transition: transform .2s ease;
}
}

@media only screen and (min-width:768px) and (max-width:991px){
    .tagline p {
    font-size: 8px!important;
    color: #914482;
}
.ms-5 {
    margin-left: 2rem !important;
}
.hero-swiper {
    min-height: 500px;
    position: relative;
}
.image-part{
    display:none;
}
.course-card .course-actions .btn{
    font-size:12px;
}
}

@media only screen and (min-width:1025px) and (max-width:1280px){
.logo {
    max-width: 115%;
}
.main-nav .nav-link {
    font-weight: 600;
    font-size: 10px;
    color: var(--ink);
    padding: 11px!important;
    border-radius: var(--radius-sm);
    position: relative;
}
.tagline p {
    font-size: 8px!important;
    margin-bottom:0px!important;
   
}
}

@media only screen and (min-width:1300px) and (max-width:1380px){
.logo {
    max-width: 115%;
}
.main-nav .nav-link {
    font-weight: 600;
    font-size: 16px;
    color: var(--ink);
    padding: 11px!important;
    border-radius: var(--radius-sm);
    position: relative;
}
.topbar a {
    font-size:12px;
}

}
@media only screen and (min-width:1344px) and (max-width:1400px){
    .tagline p {
    font-size: 8px!important;
    margin-bottom:0px!important;
   
}
}

/* No horizontal scroll safety net */
html, body{
  max-width: 100%;
  /* remove overflow-x: hidden from here */
}

main{
  overflow-x: hidden;
}
img, svg, video{ max-width: 100%; height: auto; }
