/* ============================================================
   mobile.css — NVSCB Responsive Stylesheet
   Project : National Vocational Standards Certification Board
   Breakpoints:
     XL  : max-width 1199px  (large laptops)
     LG  : max-width 991px   (tablets / small laptops)
     MD  : max-width 767px   (large mobile / landscape)
     SM  : max-width 575px   (standard mobile)
     XS  : max-width 380px   (small/mini phones)
============================================================ */


/* ============================================================
   XL — 1199px  (large laptops, reduce large font sizes)
============================================================ */
@media (max-width: 1199px) {

    /* ── Typography ── */
    .section-title .title {
        font-size: 34px;
    }

    .sub-title {
        font-size: 14px;
    }

    /* ── Top Header ── */
    .top-header-wrapper {
        flex-wrap: wrap;
        gap: 8px;
    }

    .top-left a {
        font-size: 13px;
    }

    /* ── Navbar ── */
    .main-navbar .navbar-brand img {
        width: 160px;
    }

    .navbar-nav .nav-link {
        font-size: 14px;
        padding-left: 12px;
        padding-right: 12px;
    }

    /* ── Mega Menu ── */
    .mega-menu {
        width: 860px;
    }

    /* ── Hero / Banner ── */
    .hero-section img {
        height: 620px;
    }

    .hero-section .carousel-caption .banner-title {
        font-size: 56px;
    }

    /* ── Skill Program Intro ── */
    .skill-program-intro-section .resources-image-wrapper img {
        height: 480px;
    }

    /* ── Service Cards ── */
    .service-card {
        padding: 38px 28px;
    }

    /* ── Process Cards ── */
    .process-card {
        padding: 30px 22px;
    }

    /* ── Breadcrumb ── */
    .breadcrumb-title {
        font-size: 36px;
    }

    /* ── Footer ── */
    .footer-about {
        font-size: 14px;
    }

    .footer-title {
        font-size: 18px;
    }

    /* ── Resource floating card ── */
    .resource-floating-card {
        padding: 16px 20px;
    }

    /* ── Theme Button ── */
    .theme-btn {
        padding: 12px 22px;
        font-size: 14px;
    }

    /* ── CTA / Contact ── */
    .contact-left-area,
    .contact-form-area {
        padding: 60px 40px;
    }

}


/* ============================================================
   LG — 991px  (tablets, collapsed nav, stacked columns)
============================================================ */
@media (max-width: 991px) {

    /* ── Global ── */
    section {
        padding: 55px 0;
    }

    .section-title .title {
        font-size: 30px;
    }

    .sub-title {
        font-size: 13px;
    }

    /* ── Top Header ── */
    .top-header {
        display: none;
    }

    /* ── Navbar ── */
    .logo-area::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        background: var(--primary-color);
        bottom: 0;
        right: 0px;
        z-index: -1;
        clip-path: none;
    }

    .logo-area::before {
        content: "";
        position: absolute;
        height: 100%;
        width: 100%;
        background: var(--secondary-color);
        z-index: -1;
        right: 25px;
        top: 0;
        clip-path: none;
    }

    .main-navbar .navbar-brand img {
        width: 150px;
    }

    .navbar-toggler {
        border: none;
        font-size: 22px;
        color: var(--theme-color-1, #0a2463);
        padding: 6px 10px;
    }

    .navbar-toggler:focus {
        box-shadow: none;
    }

    .navbar-collapse {
        background: #fff;
        padding: 10px 0 20px;
        border-top: 1px solid #e8edf5;
        margin-top: 10px;
    }

    ul.navbar-nav {
        padding: 0 15px;
        gap: 0 !important;
    }

    .navbar-nav .nav-item {
        border-bottom: 1px solid #f0f3f8;
    }

    .navbar-nav .nav-link {
        padding: 12px 6px;
        font-size: 15px;
    }

    .navbar-nav .nav-link::before {
        display: none;
    }

    /* ── Dropdown menus (mobile) ── */
    .navbar-nav .dropdown-menu {
        box-shadow: none;
        border: none;
        background: #f7f9fc;
        padding: 8px 10px;
    }

    .navbar-nav .dropdown-item {
        padding: 9px 12px;
        font-size: 14px;
    }

    /* ── Mega menu (mobile) ── */
    .mega-menu {
        width: 100% !important;
        padding: 10px;
    }

    .mega-menu .row {
        gap: 0;
    }

    .mega-menu a {
        display: block;
        padding: 8px 12px;
        font-size: 14px;
        border-bottom: 1px solid #eef1f6;
    }

    /* ── Nav right ── */
    .nav-right {
        padding: 15px 15px 0;
    }

    .nav-right .theme-btn {
        display: inline-block;
        width: auto;
    }

    /* ── Breadcrumb ── */
    section.breadcrumb-sec {
        padding-top: 100px;
        padding-bottom: 30px;
    }

    .breadcrumb-title {
        font-size: 30px;
    }

    .breadcrumb-list {
        flex-wrap: wrap;
        gap: 4px;
    }

    .breadcrumb-items {
        font-size: 14px;
    }

    /* ── Skill Program Intro Section ── */
    .skill-program-intro-section {
        padding: 55px 0;
    }

    .skill-program-intro-section .col-lg-6:first-child {
        order: 1;
    }

    .skill-program-intro-section .col-lg-6:last-child {
        order: 2;
        margin-top: 0;
    }

    .resources-image-wrapper img {
        width: 100%;
        height: auto;
        max-height: 420px;
        object-fit: cover;
    }

    .resource-floating-card {
        position: relative;
        bottom: auto;
        left: auto;
        margin-top: 16px;
        border-radius: 10px;
    }

    /* ── Section Titles ── */
    .section-title {
        margin-bottom: 15px;
    }

    .hero-subtitle {
        display: inline-block;
        color: #fff;
        font-size: 12px;
        font-weight: 500;
        margin-bottom: 25px;
        position: relative;
        padding-left: 40px;
    }

    .hero-subtitle::before {
        width: 10%;
    }

    .hero-content h1 {
        font-size: 30px;
        line-height: 1.5;
    }

    section p,
    .hero-content p {
        font-size: 14px;
        line-height: 1.4;
    }

    .hero-btns {
        flex-wrap: wrap;
        margin-bottom: 10px;
    }

    .hero-review {
        display: none;
    }

    .hero-item {
        min-height: 580px;
        display: flex;
        align-items: flex-start;
        overflow: hidden;
    }

    .btn-button,
    .btn {
        padding: 10px 15px;
        font-size: 14px;
        min-width: 250px;
        display: inline-block;
        text-align: center;
    }

    .hero-content .btn-button,
    .hero-content .btn {
        margin: 0 auto;
    }



    /* ── About Features ── */
    .experience-box {
        display: none;
    }

    .video-btn a {
        width: 65px;
        height: 65px;
        font-size: 18px;
    }

    .video-btn a::before {
        width: 100px;
        height: 100px;
    }

    .video-btn a::after {
        width: 150px;
        height: 150px;
    }

    .about-content {
        position: relative;
        padding-left: 0;
    }

    .about-main-image img {
        margin-bottom: 20px;
    }

    .about-features {
        gap: 12px;
        margin-bottom: 28px;
    }

    .feature-item {
        font-size: 15px;
        margin-bottom: 10px;
    }

    .feature-item span {
        font-size: 16px;
        color: var(--heading-color);
        font-weight: 500;
    }

    .about-bottom {
        display: flex;
        align-items: center;
        gap: 30px;
        flex-wrap: wrap;
    }

    .certification-image-frame {
        min-height: auto;
    }

    h4.title {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .mini-title {
        margin-bottom: 5px;
        display: block;
    }



    /* ── Service Cards (Skill Programs) ── */
    .service-card {
        padding: 32px 24px;
        margin-bottom: 4px;
    }

    .service-card .service-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
        margin-bottom: 18px;
    }

    .service-card .title {
        font-size: 19px;
        margin-bottom: 12px;
    }

    .service-card p {
        font-size: 14px;
        line-height: 1.65;
    }

    .service-count {
        font-size: 42px;
    }

    .process-icon::before {
        width: 65px;
        height: 65px;
    }

    .news-card {
        background: #fff;
        border: 1px solid #ededed;
        padding: 15px;
        display: grid;
        gap: 18px;
        height: 100%;
        overflow: hidden;
        position: relative;
        border-radius: 4px;
        transition: 0.4s;
        flex-wrap: wrap;
    }

    .news-image {
        width: 100%;
        min-width: 100%;
        height: 200px;
        overflow: hidden;
        border-radius: 4px;
    }

    .news-meta {
        margin-bottom: 10px;
    }

    .contact-info-wrapper {
        padding-right: 0;
    }


    /* ── Process / Career Cards ── */
    .affiliation-process-section {
        padding: 55px 0;
    }

    .process-wrapper {
        position: relative;
    }

    .process-line {
        display: none;
    }

    .process-card {
        padding: 28px 22px;
        text-align: center;
    }

    .process-card .process-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
        margin: 0 auto 16px;
    }

    .process-card .title {
        font-size: 17px;
    }

    .process-card p {
        font-size: 14px;
    }

    .process-step {
        font-size: 48px;
    }

    /* ── btn-button ── */
    .btn-button {
        font-size: 15px;
        padding: 14px 24px;
    }

    /* ── Footer ── */
    .footer-top {
        padding: 55px 0 40px;
    }

    .footer-widget {
        margin-bottom: 10px;
    }

    .footer-logo img {
        width: 180px;
        margin-bottom: 18px;
    }

    .footer-about {
        font-size: 14px;
        line-height: 1.7;
    }

    .footer-title {
        font-size: 17px;
        margin-bottom: 16px;
    }

    .footer-links li a {
        font-size: 14px;
        padding: 5px 0;
    }

    .footer-contact-item {
        font-size: 14px;
        gap: 10px;
        margin-bottom: 12px;
    }

    .footer-contact-item i {
        font-size: 15px;
        min-width: 18px;
    }

    .footer-bottom {
        padding: 18px 0;
    }

    .footer-bottom-wrap {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .footer-bottom-links {
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
    }

    .copyright-text {
        font-size: 13px;
        margin-bottom: 0;
    }

    .developed-text {
        font-size: 13px;
    }

    .contact-info-card {
        display: grid;
        gap: 18px;
        padding: 20px;
    }

    .news-content .btn.secondary-btn {
        margin: 0 auto;
    }

    .contact-content h5 {
        font-size: 18px;
    }

    .contact-form-wrapper {
        padding: 20px;
    }

    .footer-top .col-lg-4,
    .footer-top .col-lg-2,
    .footer-top .col-lg-6,
    .footer-top .col-lg-3 {
        margin-bottom: 0px;
        margin-top: 15px;
    }
}


/* ============================================================
   MD — 767px  (large phones / landscape)
============================================================ */
@media (max-width: 767px) {

    /* ── Global ── */
    section {
        padding: 48px 0;
    }

    .section-title .title {
        font-size: 26px;
        line-height: 1.3;
    }

    .sub-title {
        font-size: 13px;
        letter-spacing: 0.5px;
        margin-bottom: 5px;
    }

    /* ── Navbar ── */
    .main-navbar .navbar-brand img {
        width: 140px;
    }

    /* ── Breadcrumb ── */
    section.breadcrumb-sec {
        padding-top: 50px;
        padding-bottom: 20px;
    }

    .breadcrumb-title {
        font-size: 24px;
        margin-bottom: 10px;
    }

    h1.breadcrumb-title {
        font-size: 20px;
    }

    .breadcrumb-items {
        font-size: 13px;
    }

    ol.breadcrumb-list {
        flex-wrap: wrap;
        gap: 4px;
    }

    /* ── Skill Program Intro Section ── */
    .skill-program-intro-section {
        padding: 48px 0;
    }

    .resources-image-wrapper img {
        max-height: 340px;
    }

    .resource-floating-card {
        flex-direction: row;
        align-items: center;
        gap: 12px;
        padding: 14px 18px;
    }

    .resource-floating-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
        min-width: 44px;
    }

    .resource-floating-content h4 {
        font-size: 15px;
        margin-bottom: 3px;
    }

    .resource-floating-content span {
        font-size: 12px;
    }

    /* ── About text ── */
    .about-text {
        font-size: 15px;
        line-height: 1.7;
        margin-bottom: 16px;
    }

    /* ── About Features ── */
    .about-features {
        gap: 10px;
        margin-bottom: 24px;
    }

    .feature-item {
        font-size: 14px;
        gap: 8px;
    }

    .feature-item i {
        font-size: 16px;
    }

    /* ── Service Cards (Skill Programs) ── */
    .services-section {
        padding: 48px 0;
    }

    .service-card {
        padding: 28px 20px;
    }

    .service-card.active-card {
        padding: 28px 20px;
    }

    .service-card .service-icon {
        width: 54px;
        height: 54px;
        font-size: 22px;
        margin-bottom: 16px;
    }

    .service-card .title {
        font-size: 18px;
    }

    .service-card p {
        font-size: 14px;
    }

    .service-count {
        font-size: 36px;
    }

    /* ── Process / Career Section ── */
    .affiliation-process-section {
        padding: 48px 0;
    }

    .process-card {
        padding: 24px 18px;
    }

    .process-card .process-icon {
        width: 54px;
        height: 54px;
        font-size: 22px;
    }

    .process-card .title {
        font-size: 16px;
    }

    .process-card p {
        font-size: 13px;
    }

    .process-step {
        font-size: 40px;
    }

    /* ── btn-button ── */
    .btn-button {
        font-size: 14px;
        padding: 13px 22px;
    }

    /* ── Theme Button ── */
    .theme-btn {
        font-size: 14px;
        padding: 11px 20px;
    }

    /* ── Footer ── */
    .footer-top {
        padding: 48px 0 35px;
    }

    .footer-logo img {
        width: 160px;
    }

    .footer-about {
        font-size: 13px;
    }

    .footer-contact-item {
        font-size: 13px;
    }

    .footer-bottom-wrap {
        flex-direction: column;
        align-items: center;
        gap: 8px;
        text-align: center;
    }

    .copyright-text {
        font-size: 12px;
    }

    .developed-text {
        font-size: 12px;
    }

}


/* ============================================================
   SM — 575px  (standard mobile)
============================================================ */
@media (max-width: 575px) {

    /* ── Global ── */
    section {
        padding: 40px 0;
    }

    .section-title .title {
        font-size: 22px;
        line-height: 1.35;
    }

    .sub-title {
        font-size: 12px;
        padding: 5px 14px;
        margin-bottom: 10px;
    }

    /* ── Navbar ── */

    .main-navbar .navbar-brand img {
        width: 130px;
    }

    .navbar-toggler {
        font-size: 20px;
    }

    /* ── Breadcrumb ── */
    section.breadcrumb-sec {
        padding-top: 50px;
        padding-bottom: 20px;
    }

    .breadcrumb-title {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .breadcrumb-items {
        font-size: 12px;
    }

    /* ── Skill Program Intro ── */
    .skill-program-intro-section {
        padding: 40px 0;
    }

    .resources-image-wrapper {
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .resources-image-wrapper img {
        max-height: 280px;
        border-radius: 10px;
    }

    .resource-floating-card {
        padding: 12px 14px;
        gap: 10px;
        margin-top: 12px;
    }

    .resource-floating-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
        min-width: 40px;
    }

    .resource-floating-content h4 {
        font-size: 14px;
    }

    .resource-floating-content span {
        font-size: 11px;
    }

    /* ── About text ── */
    .about-text {
        font-size: 14px;
        line-height: 1.65;
    }

    /* ── About Features ── */
    .feature-item {
        font-size: 13px;
    }

    .feature-item i {
        font-size: 15px;
        min-width: 18px;
    }

    /* ── btn-button ── */
    .btn-button {
        font-size: 14px;
        padding: 12px 20px;
        display: block;
        text-align: center;
        width: fit-content;
    }

    /* ── Service Cards (Skill Programs) ── */
    .services-section {
        padding: 40px 0;
    }

    .service-card {
        padding: 24px 18px;
        border-radius: 10px;
    }

    .service-card.active-card {
        padding: 24px 18px;
    }

    .service-card .service-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
        margin-bottom: 14px;
    }

    .service-card .title {
        font-size: 17px;
        margin-bottom: 10px;
    }

    .service-card p {
        font-size: 13px;
        line-height: 1.65;
    }

    .service-count {
        font-size: 32px;
        top: 14px;
        right: 18px;
    }

    /* ── Process / Career Section ── */
    .affiliation-process-section {
        padding: 40px 0;
    }

    .process-card {
        padding: 22px 16px;
        border-radius: 10px;
    }

    .process-card .process-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
        margin-bottom: 14px;
    }

    .process-card .title {
        font-size: 15px;
        margin-bottom: 8px;
    }

    .process-card p {
        font-size: 13px;
        line-height: 1.6;
    }

    .process-step {
        font-size: 34px;
    }

    /* ── Footer ── */
    .footer-top {
        padding: 40px 0 30px;
    }

    .footer-logo img {
        width: 150px;
        margin-bottom: 16px;
    }

    .footer-about {
        font-size: 13px;
        line-height: 1.65;
        margin-bottom: 20px;
    }

    .footer-contact-list {
        gap: 10px;
    }

    .footer-contact-item {
        font-size: 13px;
        gap: 8px;
        margin-bottom: 10px;
        align-items: flex-start;
    }

    .footer-contact-item i {
        margin-top: 3px;
        font-size: 14px;
    }

    .footer-title {
        font-size: 16px;
        margin-bottom: 14px;
        padding-bottom: 10px;
    }

    .footer-links {
        gap: 4px;
    }

    .footer-links li a {
        font-size: 13px;
        padding: 4px 0;
        display: block;
    }

    .footer-bottom {
        padding: 16px 0;
    }

    .footer-bottom-wrap {
        gap: 8px;
        text-align: center;
    }

    .footer-bottom-links {
        gap: 10px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .footer-bottom-links a {
        font-size: 12px;
    }

    .footer-bottom-links span {
        display: none;
    }

    .copyright-text {
        font-size: 12px;
        margin-bottom: 4px;
    }

    .developed-text {
        font-size: 12px;
    }

    /* ── Form Controls ── */
    .form-control,
    .form-select {
        min-height: 48px;
        padding: 10px 14px;
        font-size: 14px;
        border-radius: 8px;
    }

    textarea.form-control {
        min-height: 130px;
    }

    .form-group label {
        font-size: 14px;
        margin-bottom: 7px;
    }

    /* ── Theme Button ── */
    .theme-btn {
        font-size: 13px;
        padding: 10px 18px;
    }

    /* ── Contact page ── */
    .contact-left-area,
    .contact-form-area {
        padding: 36px 18px;
    }

    /* ── About page (if applicable) ── */
    .about-text p {
        font-size: 14px;
    }

    /* ── Skill program col stacking ── */
    .col-lg-4,
    .col-lg-6,
    .col-lg-3 {
        margin-bottom: 16px;
    }

    .col-lg-4:last-child,
    .col-lg-6:last-child,
    .col-lg-3:last-child {
        margin-bottom: 0;
    }

}


/* ============================================================
   XS — 380px  (small/mini phones: iPhone SE, Galaxy A series)
============================================================ */
@media (max-width: 380px) {

    /* ── Global ── */
    section {
        padding: 32px 0;
    }

    .section-title .title {
        font-size: 19px;
        line-height: 1.35;
    }

    .sub-title {
        font-size: 11px;
        padding: 4px 12px;
    }

    /* ── Navbar ── */
    .main-navbar .navbar-brand img {
        width: 115px;
    }

    .navbar-toggler {
        font-size: 18px;
        padding: 5px 8px;
    }

    /* ── Breadcrumb ── */
    section.breadcrumb-sec {
        padding-top: 70px;
        padding-bottom: 16px;
    }

    .breadcrumb-title {
        font-size: 18px;
    }

    .breadcrumb-items {
        font-size: 11px;
    }

    /* ── Skill Program Intro ── */
    .resources-image-wrapper img {
        max-height: 230px;
    }

    .resource-floating-icon {
        width: 36px;
        height: 36px;
        font-size: 14px;
        min-width: 36px;
    }

    .resource-floating-content h4 {
        font-size: 13px;
    }

    .resource-floating-content span {
        font-size: 10px;
    }

    /* ── About Features ── */
    .feature-item {
        font-size: 12px;
    }

    /* ── btn-button ── */
    .btn-button {
        font-size: 13px;
        padding: 11px 18px;
    }

    /* ── Service Cards ── */
    .service-card {
        padding: 20px 14px;
    }

    .service-card.active-card {
        padding: 20px 14px;
    }

    .service-card .service-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
        margin-bottom: 12px;
    }

    .service-card .title {
        font-size: 15px;
    }

    .service-card p {
        font-size: 12px;
        line-height: 1.6;
    }

    .service-count {
        font-size: 28px;
    }

    /* ── Process Cards ── */
    .process-card {
        padding: 18px 14px;
    }

    .process-card .process-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
        margin-bottom: 12px;
    }

    .process-card .title {
        font-size: 14px;
    }

    .process-card p {
        font-size: 12px;
    }

    .process-step {
        font-size: 28px;
    }

    /* ── Footer ── */
    .footer-logo img {
        width: 130px;
    }

    .footer-title {
        font-size: 15px;
    }

    .footer-links li a {
        font-size: 12px;
    }

    .footer-about {
        font-size: 12px;
    }

    .footer-contact-item {
        font-size: 12px;
    }

    .footer-bottom-links a {
        font-size: 11px;
    }

    .copyright-text {
        font-size: 11px;
    }

    .developed-text {
        font-size: 11px;
    }

    /* ── Form ── */
    .form-control,
    .form-select {
        min-height: 44px;
        font-size: 13px;
        padding: 9px 12px;
    }

    textarea.form-control {
        min-height: 110px;
    }

    .form-group label {
        font-size: 13px;
    }

    /* ── Theme Button ── */
    .theme-btn {
        font-size: 12px;
        padding: 9px 16px;
    }

    /* ── Contact ── */
    .contact-left-area,
    .contact-form-area {
        padding: 28px 14px;
    }

}