/* ============================================================
   mobile.css — SOF Responsive Stylesheet
   Breakpoints:
     XS  : max-width: 372px   (small phones)
     SM  : max-width: 767px   (all phones)
     MD  : 768px – 1024px     (tablets)
     LG  : 1025px – 1439px    (laptops)
   ============================================================ */


/* ============================================================
   SMALL MOBILE — max-width: 372px
   ============================================================ */
@media (max-width: 372px) {

    /* ── Global ── */
    .container {
        padding-left: 14px;
        padding-right: 14px;
    }

    section {
        padding: 40px 0;
    }

    /* ── Secondary Navbar ── */
    .secondary-navbar {
        font-size: 11px;
        padding: 5px 0;
    }

    .secondary-navbar .top-link span {
        display: none;
    }

    /* ── Main Navbar ── */
    a.navbar-brand.fw-bold.logo.main-logo {
        width: 130px;
    }

    /* ── Hero ── */
    .hero-section {
        padding-top: 50px;
        padding-bottom: 60px;
        text-align: center;
    }

    .hero-content h1.title {
        font-size: 30px;
        line-height: 1.3;
    }

    h1.title .highlight::after {
        bottom: 8px;
        height: 8px;
    }

    .hero-content p {
        font-size: 13px;
    }

    .hero-actions {
        flex-direction: column;
        gap: 12px;
    }

    .hero-actions .btn-theme {
        width: 100%;
        text-align: center;
    }

    .hero-contact {
        justify-content: center;
        margin-top: 15px;
    }

    /* ── Titles ── */
    .title {
        font-size: 26px;
    }

    .sub-title {
        font-size: 14px;
    }

    /* ── Feature Cards ── */
    .feature-card {
        padding: 22px 18px;
    }

    .feature-header h4.feature-title {
        font-size: 18px;
    }

    img.feature-icon {
        width: 48px;
        height: 48px;
    }

    /* ── About ── */
    .about-badge-content h3 {
        font-size: 28px;
    }

    .award-box {
        margin-left: 30px;
        padding-left: 35px;
    }

    .award-box i {
        font-size: 26px;
        width: 48px;
        height: 48px;
        left: -24px;
    }

    /* ── Quick Box ── */
    .quick-box {
        padding: 25px 18px;
        margin-right: 0;
        border-radius: 5px;
    }

    .quick-item {
        font-size: 13px;
        padding: 12px 14px;
    }

    /* ── Video Section ── */
    .video-section {
        height: 280px;
    }

    .video-btn {
        width: 65px;
        height: 65px;
        font-size: 24px;
    }

    /* ── Info Tab ── */
    .tab-content-wrapper {
        margin-left: 0;
        padding: 25px 18px;
    }

    .custom-tabs .nav-link {
        padding: 9px 14px;
        font-size: 12.5px;
    }

    /* ── Counter ── */
    .counter-heading h2 {
        font-size: 24px;
    }

    .counter-box h3 {
        font-size: 36px;
    }

    /* ── FAQ ── */
    .custom-accordion .accordion-button {
        font-size: 14px;
        padding: 16px 18px;
    }

    .custom-accordion .accordion-body {
        font-size: 13px;
        padding: 18px;
    }

    .experience-box h3 {
        font-size: 34px;
    }

    /* ── Enquiry ── */
    .enquiry-wrapper {
        padding: 30px 18px;
        border-radius: 12px;
    }

    .enquiry-form-box {
        padding: 24px 18px;
    }

    .custom-form-control {
        height: 50px;
        font-size: 13px;
    }

    /* ── Newsletter ── */
    .newsletter-area {
        padding: 25px 18px;
    }

    .newsletter-form .form-control {
        height: 54px;
        padding-right: 140px;
        font-size: 13px;
    }

    .newsletter-form .submit-btn {
        padding: 0 16px;
        font-size: 13px;
        height: 44px;
    }

    /* ── Blog Cards ── */
    .blog-content {
        padding: 18px;
    }

    .blog-image img {
        height: 200px;
    }

    .section-heading {
        margin-bottom: 30px;
    }

    /* ── Gallery ── */
    .gallery-card img {
        height: 200px;
    }

    /* ── Testimonials ── */
    .testimonial-area {
        padding: 20px 14px;
    }

    .testimonial-items {
        margin: 0 0 15px;
        padding: 20px 16px;
    }

    .testimonial-card-icon i {
        font-size: 44px;
    }

    /* ── Page Title / Breadcrumb ── */
    .page-tittle h1 {
        font-size: 26px;
    }

    ol.breadcrumb li.breadcrumb-item {
        font-size: 13px;
    }

    /* ── Footer ── */
    .footer-main {
        padding: 40px 0 15px;
    }

    .footer-title {
        font-size: 18px;
        margin-bottom: 20px;
        margin-top: 25px;
    }

    .footer-logo {
        font-size: 30px;
    }

    .footer-bottom p,
    .footer-bottom a {
        font-size: 11px;
    }

    /* ── Login / Register ── */
    .login-section {
        padding: 25px 0;
    }

    .login-form-wrapper {
        padding: 28px 16px;
        border-radius: 12px;
        min-height: unset;
    }

    .login-form-title {
        font-size: 22px;
    }

    .login-input {
        height: 46px;
        font-size: 13px;
    }

    .login-submit-btn {
        height: 46px;
        font-size: 14px;
    }

    /* ── Blog Create ── */
    .bc-section {
        padding: 25px 0 40px;
    }

    .bc-page-title {
        font-size: 20px;
    }

    .bc-card-body {
        padding: 16px;
    }

    .bc-card-header {
        padding: 13px 16px;
        font-size: 13px;
    }

    /* ── Contact ── */
    .contact-card {
        padding: 20px 14px;
    }

    h4.contact-title {
        font-size: 18px;
    }

    /* ── School Reg Form ── */
    .school-reg-form .form-card {
        padding: 24px 16px;
    }

    .info-card {
        padding: 24px 18px;
    }

    .info-card h4 {
        font-size: 28px;
    }

    .content-box {
        padding: 22px 16px;
    }

    /* ── Blog Details ── */
    .blog-main-title {
        font-size: 22px;
    }

    .blog-sub-title {
        font-size: 20px;
    }

    .blog-details-content {
        padding: 18px;
    }

    .blog-quote-box {
        padding: 30px 18px;
    }

    .blog-quote-box h3 {
        font-size: 20px;
    }

    .comment-form-box {
        padding: 20px 16px;
    }

    .bank-table thead th,
    .bank-table tbody td {
        font-size: 12px;
        padding: 10px;
    }
}


/* ============================================================
   MOBILE — max-width: 767px
   ============================================================ */
@media (max-width: 767px) {

    /* ── Global ── */
    .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    section {
        padding: 30px 0;
    }

    /* ── Secondary Navbar ── */
    .secondary-navbar {
        font-size: 12px;
    }

    .secondary-navbar .d-flex.gap-3 {
        gap: 5px !important;
        justify-content: center;
    }

    .secondary-navbar .mobile-none {
        display: none !important;
    }

    .mobile-view {
        display: inherit;
    }

    /* ── Main Navbar ── */
    a.navbar-brand.fw-bold.logo.main-logo {
        width: 150px;
    }

    .navbar-toggler {
        padding: 4px 10px;
        font-size: 16px;
    }

    /* ── Hero ── */
    .hero-section {
        padding-top: 60px;
        padding-bottom: 80px;
        text-align: center;
    }

    .hero-content h1.title {
        font-size: 28px;
        line-height: 1.25;
        margin-bottom: 15px;
    }

    h1.title .highlight::after {
        bottom: 10px;
        height: 9px;
    }

    .hero-content p {
        font-size: 14px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions {
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px;
    }

    .hero-actions .btn-theme {
        padding: 11px 22px;
        font-size: 14px;
    }

    .hero-contact {
        justify-content: center;
        margin-top: 20px;
    }

    .hero-image {
        margin-top: 30px;
    }

    .hero-image::before {
        display: none;
    }

    /* ── Feature Section ── */
    .feature-section {
        margin-top: -60px;
    }

    .feature-card {
        padding: 25px 20px;
        margin-bottom: 20px;
    }

    .feature-header h4.feature-title {
        font-size: 20px;
    }

    /* ── Titles ── */
    .title {
        font-size: 22px;
        line-height: 1.3;
    }

    .sub-title {
        font-size: 15px;
    }

    /* ── Section Heading ── */
    .section-heading {
        margin-bottom: 35px;
    }

    .section-heading .title {
        font-size: 22px;
    }

    /* ── About ── */
    .about-content p {
        font-size: 15px;
    }

    .about-badge-content h3 {
        font-size: 32px;
    }

    .award-box {
        margin-left: 35px;
    }

    img.abt-imgs.abt-img-1 {
        margin-top: 0;
        margin-bottom: 20px;
    }

    .about-images {
        margin-top: 30px;
    }

    /* ── Quick Box ── */
    .quick-box {
        padding: 30px 22px;
        margin-right: 0;
        border-radius: 5px;
        margin-bottom: 30px;
    }

    /* ── Services ── */
    .service-card {
        margin-bottom: 60px;
    }

    .service-card .icon {
        margin-top: -60px;
    }

    .services-image {
        margin-bottom: 20px;
    }

    section.services-section {
        background-position: bottom;
        background-repeat: no-repeat;
        background-color: #004C3F;
    }

    /* ── Video Section ── */
    .video-section {
        height: 320px;
    }

    .video-btn {
        width: 75px;
        height: 75px;
        font-size: 28px;
    }

    /* ── Info Tab Section ── */
    .info-tab-section {
        padding: 60px 0;
    }

    .tab-content-wrapper {
        margin-left: 0;
        padding: 30px 22px;
        border-radius: 10px;
        margin-top: 25px;
    }

    .custom-tabs {
        gap: 8px;
        flex-wrap: wrap;
    }

    .custom-tabs .nav-link {
        padding: 10px 16px;
        font-size: 13px;
    }

    /* ── Gallery ── */
    .gallery-card img {
        height: 230px;
    }

    /* ── Enquiry ── */
    .enquiry-wrapper {
        padding: 40px 22px;
        border-radius: 14px;
    }

    .enquiry-form-box {
        padding: 28px 20px;
    }

    .enquiry-image {
        display: none;
    }

    /* ── Counter ── */
    .counter-heading h2 {
        font-size: 30px;
        text-align: center;
    }

    .counter-box {
        text-align: center;
        margin-bottom: 30px;
    }

    .counter-box h3 {
        font-size: 44px;
    }

    /* ── FAQ ── */
    .custom-accordion .accordion-button {
        font-size: 15px;
        padding: 18px 20px;
    }

    .custom-accordion .accordion-body {
        font-size: 14px;
        padding: 20px;
        line-height: 1.8;
    }

    .experience-box h3 {
        font-size: 40px;
    }

    img.faq-imgs.faq-img-1,
    img.faq-imgs.faq-img-3 {
        height: auto;
        margin-top: 0;
        margin-bottom: 15px;
    }

    .experience-box {
        margin: 20px 0;
    }

    /* ── Testimonials ── */
    .testimonial-area {
        padding: 25px 16px;
        background-size: contain;
        background-repeat: no-repeat;
        background-color: var(--theme-color-3);
    }

    .testimonial-items {
        margin: 0 0 15px;
        padding: 24px 18px;
    }

    .testimonial-content p {
        font-size: 14px;
    }

    h4.tst-user-name {
        font-size: 18px;
    }

    .testimonial-card-icon i {
        color: var(--theme-color-2);
        font-size: 50px;
    }

    .testimonial-items::before {
        width: 60px;
        height: 60px;
    }

    /* ── Newsletter ── */
    .newsletter-area {
        padding: 30px 20px;
        border-radius: 8px;
    }

    .newsletter-form {
        max-width: 100%;
    }

    .newsletter-form .form-control {
        height: 58px;
        padding-right: 16px;
        padding-bottom: 60px;
        height: auto;
        min-height: 55px;
    }

    .newsletter-form .submit-btn {
        position: static;
        transform: none;
        width: 100%;
        height: 50px;
        border-radius: 6px;
        margin-top: 10px;
    }

    /* ── Blog Cards ── */
    .blog-card {
        margin-bottom: 25px;
    }

    .blog-image img {
        height: 220px;
    }

    .blog-content {
        padding: 22px 18px;
    }

    .blog-meta {
        gap: 14px;
    }

    .blog-content h4 {
        margin-bottom: 20px;
        font-size: 20px;
    }

    /* ── Page Title ── */
    .page-tittle h1 {
        font-size: 26px;
        margin-bottom: 10px;
    }

    ol.breadcrumb li.breadcrumb-item {
        font-size: 14px;
    }

    /* ── Footer ── */
    .footer-main {
        padding: 45px 0 15px;
    }

    .footer-title {
        font-size: 20px;
        margin-bottom: 16px;
        margin-top: 0px;
    }

    .footer-logo {
        font-size: 36px;
    }

    .footer-bottom {
        text-align: center;
    }

    .footer-bottom p,
    .footer-bottom a {
        font-size: 12px;
    }

    .footer-bottom a {
        display: inline-block;
        margin: 6px 8px 0;
    }

    .footer-post {
        margin-bottom: 12px;
    }

    /* ── Login / Register ── */
    .login-section {
        padding: 30px 0;
    }

    .login-form-wrapper {
        padding: 35px 22px;
        border-radius: 14px;
        min-height: unset;
    }

    .login-form-title {
        font-size: 26px;
    }

    .login-form-header {
        margin-bottom: 24px;
    }

    .login-input {
        height: 48px;
        font-size: 14px;
    }

    .login-trust-badges {
        gap: 10px;
    }

    .login-badge {
        font-size: 13px;
        padding: 10px 14px;
    }

    /* ── Blog Create ── */
    .bc-section {
        padding: 30px 0 50px;
    }

    .bc-page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .bc-page-title {
        font-size: 22px;
    }

    .bc-card-body {
        padding: 18px;
    }

    .bc-card-header {
        padding: 14px 18px;
        font-size: 14px;
        flex-wrap: wrap;
        gap: 8px;
    }

    .bc-add-sub-btn {
        font-size: 12px;
        padding: 5px 12px;
    }

    .bc-sub-section {
        padding: 16px;
    }

    /* ── Contact ── */
    .contact-card {
        padding: 25px 18px;
        margin-bottom: 20px;
        height: auto;
    }

    h4.contact-title {
        font-size: 20px;
    }

    section.contact-page img.contact-img {
        margin-top: 28px;
    }

    /* ── School Reg / Info Cards ── */
    .school-reg-form .form-card {
        padding: 28px 18px;
    }

    .info-card {
        padding: 28px 20px;
    }

    .info-card h4 {
        font-size: 30px;
    }

    .content-box {
        padding: 25px 18px;
    }

    .content-title {
        font-size: 20px;
    }

    .role-options {
        gap: 12px;
    }

    /* ── Bank Table ── */
    .bank-table-wrapper {
        padding: 16px;
        overflow-x: auto;
    }

    .bank-table thead th {
        font-size: 14px;
        padding: 13px;
    }

    .bank-table tbody td {
        font-size: 13px;
        padding: 12px;
    }

    /* ── Blog Details ── */
    .blog-main-title {
        font-size: 26px;
        line-height: 1.35;
    }

    .blog-sub-title {
        font-size: 22px;
    }

    .blog-details-content {
        padding: 22px 18px;
    }

    .blog-inner-gallery img {
        height: 170px;
    }

    .blog-quote-box {
        padding: 36px 22px;
        margin: 30px 0;
    }

    .blog-quote-box h3 {
        font-size: 22px;
        line-height: 1.5;
    }

    .blog-tags-share {
        flex-direction: column;
        gap: 18px;
        align-items: flex-start;
    }

    .comment-form-box {
        padding: 22px 18px;
    }

    .comment-title {
        font-size: 20px;
    }

    .comment-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .comment-avatar {
        width: 48px;
        height: 48px;
        font-size: 20px;
    }

    .comment-user-info h5 {
        font-size: 16px;
    }

    /* ── Sidebar ── */
    .sidebar-card {
        padding: 25px 18px;
        margin-bottom: 25px;
    }

    h4.sidebar-header {
        font-size: 18px;
    }

    /* ── QR Card ── */
    .reg-fee-qr-code {
        max-width: 200px;
    }
}


/* ============================================================
   TABLET — 768px to 1024px
   ============================================================ */
@media (min-width: 768px) and (max-width: 1024px) {

    /* ── Global ── */
    section {
        padding: 55px 0;
    }

    /* ── Main Navbar ── */
    a.navbar-brand.fw-bold.logo.main-logo {
        width: 170px;
    }

    .navbar-nav .nav-link {
        padding: 8px 10px;
        font-size: 13px;
    }

    /* ── Hero ── */
    .hero-section {
        padding-top: 70px;
        padding-bottom: 120px;
        text-align: center;
    }

    .hero-content h1.title {
        font-size: 48px;
    }

    .hero-content p {
        font-size: 15px;
        max-width: 100%;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-contact {
        justify-content: center;
        margin-top: 20px;
    }

    .hero-image {
        margin-top: 35px;
    }

    .hero-image::before {
        display: none;
    }

    /* ── Feature Section ── */
    .feature-section {
        margin-top: -80px;
    }

    .feature-card {
        padding: 28px 22px;
    }

    .feature-header h4.feature-title {
        font-size: 22px;
    }

    /* ── Titles ── */
    .title {
        font-size: 38px;
    }

    .section-heading .title {
        font-size: 34px;
    }

    /* ── About ── */
    .about-badge-content h3 {
        font-size: 36px;
    }

    img.abt-imgs.abt-img-1 {
        margin-top: 20%;
    }

    /* ── Quick Box ── */
    .quick-box {
        margin-right: 0;
        padding: 40px 28px;
        margin-bottom: 30px;
    }

    /* ── Video Section ── */
    .video-section {
        height: 420px;
    }

    /* ── Info Tab ── */
    .tab-content-wrapper {
        margin-left: -80px;
        padding: 40px 35px;
    }

    /* ── Counter ── */
    .counter-heading h2 {
        font-size: 36px;
        text-align: center;
    }

    .counter-box h3 {
        font-size: 46px;
    }

    .counter-box {
        text-align: center;
        margin-bottom: 20px;
    }

    /* ── FAQ ── */
    .custom-accordion .accordion-button {
        font-size: 16px;
        padding: 20px 24px;
    }

    .experience-box h3 {
        font-size: 44px;
    }

    img.faq-imgs.faq-img-1,
    img.faq-imgs.faq-img-3 {
        height: 280px;
    }

    /* ── Enquiry ── */
    .enquiry-wrapper {
        padding: 55px 35px;
    }

    .enquiry-form-box {
        padding: 32px 24px;
    }

    /* ── Newsletter ── */
    .newsletter-form .form-control {
        padding-right: 160px;
    }

    /* ── Blog Cards ── */
    .blog-image img {
        height: 240px;
    }

    /* ── Testimonials ── */
    .testimonial-area {
        padding: 30px 22px;
    }

    /* ── Page Title ── */
    .page-tittle h1 {
        font-size: 42px;
    }

    /* ── Footer ── */
    .footer-title {
        font-size: 20px;
        margin-bottom: 25px;
        margin-top: 30px;
    }

    .footer-logo {
        font-size: 38px;
    }

    .footer-bottom {
        text-align: center;
    }

    .footer-bottom a {
        display: inline-block;
        margin: 4px 8px 0;
    }

    /* ── Login / Register ── */
    .login-section {
        padding: 40px 0;
    }

    .login-form-wrapper {
        border-radius: 14px;
        padding: 42px 36px;
        min-height: unset;
    }

    .login-form-title {
        font-size: 28px;
    }

    /* ── Blog Create ── */
    .bc-section {
        padding: 35px 0 55px;
    }

    .bc-page-title {
        font-size: 24px;
    }

    .bc-card-body {
        padding: 22px;
    }

    /* ── Contact / Info ── */
    .school-reg-form .form-card {
        padding: 36px 28px;
    }

    .info-card {
        padding: 32px 28px;
    }

    .info-card h4 {
        font-size: 34px;
    }

    /* ── Blog Details ── */
    .blog-main-title {
        font-size: 32px;
    }

    .blog-sub-title {
        font-size: 26px;
    }

    .blog-details-content {
        padding: 28px 24px;
    }

    .blog-quote-box h3 {
        font-size: 26px;
    }

    /* ── Sidebar ── */
    .sidebar-card {
        padding: 30px 24px;
    }
}


/* ============================================================
   LAPTOP — 1025px to 1439px
   ============================================================ */
@media (min-width: 1025px) and (max-width: 1439px) {

    /* ── Container ── */
    .container {
        max-width: 960px;
    }

    /* ── Navbar ── */
    a.navbar-brand.fw-bold.logo.main-logo {
        width: 175px;
    }

    .navbar-nav .nav-link {
        padding: 10px 11px;
        font-size: 13.5px;
    }

    .mega-dropdown .mega-menu {
        max-width: 860px;
        padding: 20px;
    }

    /* ── Hero ── */
    .hero-section {
        padding-top: 80px;
        padding-bottom: 160px;
    }

    .hero-content h1.title {
        font-size: 55px;
    }

    h1.title .highlight::after {
        bottom: 14px;
        height: 11px;
    }

    /* ── Titles ── */
    .title {
        font-size: 42px;
    }

    .section-heading .title {
        font-size: 38px;
    }

    /* ── Feature Section ── */
    .feature-section {
        margin-top: -100px;
    }

    .feature-card {
        padding: 28px 24px;
    }

    .feature-header h4.feature-title {
        font-size: 22px;
    }

    /* ── About ── */
    .about-badge-content h3 {
        font-size: 38px;
    }

    .about-content p {
        font-size: 16px;
    }

    /* ── Quick Box ── */
    .quick-box {
        margin-right: -80px;
        padding: 45px;
    }

    /* ── Video Section ── */
    .video-section {
        height: 580px;
    }

    /* ── Info Tab ── */
    .tab-content-wrapper {
        margin-left: -100px;
        padding: 50px;
    }

    /* ── Counter ── */
    .counter-heading h2 {
        font-size: 42px;
    }

    .counter-box h3 {
        font-size: 50px;
    }

    /* ── FAQ ── */
    .experience-box h3 {
        font-size: 48px;
    }

    img.faq-imgs.faq-img-1,
    img.faq-imgs.faq-img-3 {
        height: 320px;
    }

    /* ── Enquiry ── */
    .enquiry-wrapper {
        padding: 70px 50px;
    }

    /* ── Blog ── */
    .blog-image img {
        height: 260px;
    }

    /* ── Page Title ── */
    .page-tittle h1 {
        font-size: 48px;
    }

    /* ── Footer ── */
    .footer-title {
        font-size: 22px;
    }

    /* ── Login / Register ── */
    .login-left-panel {
        padding: 45px 38px;
    }

    .login-panel-title {
        font-size: 26px;
    }

    .login-form-wrapper {
        padding: 48px 42px;
    }

    /* ── Blog Create ── */
    .bc-page-title {
        font-size: 26px;
    }

    /* ── Contact / Info ── */
    .info-card h4 {
        font-size: 36px;
    }

    .school-reg-form .form-card {
        padding: 40px;
    }

    /* ── Blog Details ── */
    .blog-main-title {
        font-size: 36px;
    }

    .blog-sub-title {
        font-size: 28px;
    }

    .blog-quote-box h3 {
        font-size: 28px;
    }

    /* ── Sidebar ── */
    .sidebar-card {
        padding: 32px 28px;
    }
}