:root {
     --font-body: "Inter", sans-serif;
     --font-heading: "Poppins", sans-serif;
}
 body {
     font-family: var(--font-body);
}
 * {
     padding: 0;
     margin: 0;
     box-sizing: border-box;
     outline: none;
     font-family: var(--font-body);
}
html {
    overflow-x: hidden;
}
 body {
    overflow-x: clip;
}
 html {
     scroll-behavior: smooth;
}
 h1, h2, h3, h4, h5, h6 {
     font-family: var(--font-heading);
     font-weight: 600;
}
 button {
     font-family: var(--font-heading);
}
 .container {
     width: 100% !important;
     max-width: 100% !important;
     padding: 0 !important;
     height: auto;
}
 .header {
     width: 100%;
     height: 90px;
     background-color: white;
     display: flex;
     align-items: center;
     position: sticky;
     top: 0;
     z-index: 100;
     font-family: var(--font-body);
     box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
 .schoollogo {
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
}
 .header .schoollogo img {
     width: 65px;
     height: 65px;
     border-radius: 50%;
     margin-left: 10px;
}
 .header .schoollogo h2 {
     margin-top: 15px;
     font-weight: 700;
     color: rgb(71,108,220);
     padding: 10px;
     font-family: var(--font-body);
     white-space: nowrap;
     font-size: 18px;
}
 .schoollogo span {
     font-size: 12px;
    /* color: rgb(146, 146, 146);
     */
     font-family: var(--font-body);
     margin-top: -8px;
}
 .header > ul {
     display: flex;
     align-items: center;
     justify-content: center;
     margin-left: 60px;
     padding: 0;
     margin-bottom: 0;
     list-style: none;
     flex: 1;
     gap: 10px;
}
 .header > ul > li {
     list-style-type: none;
     font-size: 18px;
     font-weight: 700;
     font-family: var(--font-body);
}
 .header a, .dropbtn {
     display: inline-block;
     color: rgb(13,13,13);
     text-align: center;
     padding: 14px 16px;
     text-decoration: none;
     transition: background-color 0.8s ease, color 0.6s ease, transform 0.15s ease;
}
/* .dropdown:hover .dropbtn, */
 .submenu a:hover {
     color:rgb(71,108,220);
}
/* --- Level 1 dropdown --- */
 .header li.dropdown {
     display: inline-block;
     position: relative;
}
/* .header .dropdown-content {
     display: none;
     position: absolute;
     top: 100%;
     left: 0;
     background-color: #f9f9f9;
     min-width: 200px;
     box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
     z-index: 200;
     border-top: 3px solid rgb(71,108,220);
}
 .dropdown:hover .dropdown-content {
     display: flex;
}
 */
 .header .dropdown-content {
    /* was: display: none;
     */
     opacity: 0;
     visibility: hidden;
     position: absolute;
     top: 100%;
     left: 0;
     background-color: #f9f9f9;
     min-width: 200px;
     box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
     z-index: 200;
     border-top: 3px solid rgb(71,108,220);
     transform: translateY(-10px);
     transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}
 .dropdown:hover .dropdown-content {
    /* was: display: flex;
     */
     opacity: 1;
     visibility: visible;
     transform: translateY(0);
     display: flex;
    /* still needed so columns lay out side-by-side once visible */
}
 .dropdown-column {
     display: flex;
     flex-direction: column;
     min-width: 200px;
     opacity: 0;
     transform: translateY(-10px);
     transition: opacity 0.7s ease, transform 0.7s ease;
}
/* stagger each column so they fade in one after another, not all at once */
 .dropdown-column:nth-child(1){
     transition-delay: 0.05s;
}
 .dropdown-column:nth-child(2){
     transition-delay: 0.1s;
}
 .dropdown-column:nth-child(3){
     transition-delay: 0.15s;
}
 .dropdown:hover .dropdown-column {
     opacity: 1;
     transform: translateY(0);
}
 .dropdown-column > a, .has-submenu > a {
     color: #111;
     padding: 12px 16px;
     text-decoration: none;
     display: flex;
     align-items: center;
     justify-content: space-between;
     font-size: 15px;
     font-weight: 600;
     font-family: var(--font-body);
}
 .dropdown-column > a:hover, .has-submenu > a:hover {
     background-color: #e6e5e5;
     color: rgb(71,108,220);
}
 .has-submenu {
     position: relative;
}
 /* .has-submenu .submenu {
     display: none;
     position: absolute;
     left: 100%;
     top: 0;
     background-color: #f9f9f9;
     min-width: 200px;
     box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
     z-index: 201;
     border-top: 3px solid rgb(71,108,220);
}
 .has-submenu:hover .submenu {
     display: block;
} */

/* update code */
.has-submenu .submenu {
     /* was: display: none; */
     opacity: 0;
     visibility: hidden;
     display: block;              /* always in flow so transition can run */
     position: absolute;
     left: 100%;
     top: 0;
     background-color: #f9f9f9;
     min-width: 200px;
     box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
     z-index: 201;
     border-top: 3px solid rgb(71,108,220);
     transform: translateX(-10px);   /* slide in from the left edge of parent */
     transition: opacity 0.35s ease, visibility 1.45s ease, transform 0.45s ease;
     pointer-events: none;            /* prevent ghost-hover clicks while hidden */
}
.has-submenu:hover .submenu {
     opacity: 1;
     visibility: visible;
     transform: translateX(0);
     pointer-events: auto;
}


 .has-submenu .submenu a {
     color: #111;
     text-decoration: none;
     display: block;
     font-size: 16px;
     font-weight: 500;
     font-family: var(--font-body);
}
 .submenu a:hover {
     background-color: #e6e5e5;
     color: rgb(71,108,220);
}
 .header > ul > li > a.active, .header > ul > li.dropdown > .dropbtn.active, .header > ul > li.dropdown.active > .dropbtn {
     color: rgb(71,108,220);
     transform: scale(1.03);
}
 .header > ul > li > a:active{
     transform: scale(0.96);
}
/* HAMBURGER — hidden */
 .hamburger {
     display: none;
     flex-direction: column;
     justify-content: center;
     gap: 5px;
     cursor: pointer;
     background: none;
     border: none;
     padding: 8px;
     margin-right: 16px;
     flex-shrink: 0;
}
 .hamburger span {
     display: block;
     width: 24px;
     height: 2.5px;
     background-color: #0d0d0d;
     border-radius: 3px;
     transition: transform 0.3s ease, opacity 0.3s ease;
}
 .hamburger.open span:nth-child(1) {
     transform: translateY(7.5px) rotate(45deg);
}
 .hamburger.open span:nth-child(2) {
     opacity: 0;
}
 .hamburger.open span:nth-child(3) {
     transform: translateY(-7.5px) rotate(-45deg);
}
/* =================================================== MOBILE DRAWER — hidden on desktop =================================================== */
 .mobile-drawer {
     display: none;
     position: fixed;
     top: 90px;
     left: 0;
     right: 0;
     bottom: 0;
     background: #ffffff;
     z-index: 99;
     flex-direction: column;
     padding: 16px 20px 30px;
     gap: 2px;
     overflow-y: auto;
     box-shadow: 4px 0 24px rgba(0,0,0,0.10);
}
 .mobile-drawer.open {
     display: flex;
}
 .mobile-drawer nav ul {
     list-style: none;
}
/* Ensure mobile drawer is always hidden on desktop widths and make desktop nav/buttons visible regardless of other rules */
 @media (min-width: 769px) {
     .mobile-drawer, .mobile-drawer.open, .hamburger {
         display: none !important;
    }
     .header > ul {
         display: flex !important;
    }
     .navbtn {
         display: flex !important;
    }
}
 .mobile-drawer .acc-img{
     display: flex;
     padding: 10px;
     border-radius: 10px;
     gap: 10px;
}
 .mobile-drawer .acc-img img{
     border: 1px solid rgb(200, 199, 199);
     width: 52px;
     height: 52px;
     border-radius: 50%;
     object-fit: cover;
}
 .acc-img .name-userr{
     line-height: 0.7;
}
 .mobile-drawer .acc-img .name-userr p{
     margin-top: 1px;
     font-weight: 600;
     color: #000;
     font-size: 18px;
}
 .mobile-drawer .acc-img .name-userr span{
     font-weight: 600;
     font-size: 13px;
     color: #567df1;
     background-color: #e7eefd;
     padding: 4px;
     border-radius: 5px;
}
/* ── Every nav item row ── */
 nav ul li a {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 11px 20px;
     color: #212cc7;
    /* muted text */
     font-size: 17px;
     font-weight: 500;
     text-decoration: none;
     cursor: pointer;
     transition: color 0.2s, background 0.2s;
     user-select: none;
}
 nav ul li .menu-item {
     display: flex;
     align-items: center;
     gap: 12px;
     padding: 11px 20px;
     color: #0d0d0d;
    /* muted text */
     font-size: 17px;
     font-weight: 500;
}
 nav ul li a:hover, nav ul li .menu-item:hover {
     color: #5560d7;
     background: rgba(255, 255, 255, 0.05);
}
/* Active / selected item */
 nav ul li a.active, nav ul li .menu-item.active {
     color: #ffffff;
}
 nav .course-mobile-dropdown {
     border: 1px solid rgb(203, 202, 202);
     padding: 10px;
     border-radius: 15px;
     box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
}
 nav .course-mobile-dropdown h4 {
     margin-left: 40px;
     font-size: 18px;
     color: #212cc7;
     padding: 10px;
}
 nav .course-mobile-dropdown h4:hover {
     background: #f0f4ff;
     color: #3966e1;
}
/* ── Arrow for items that have sub-menus ── */
 .arrow-one {
     margin-left: auto;
     font-size: 11px;
     transition: transform 0.3s ease;
     color: #8892a4;
     cursor: pointer;
}
/* Rotate arrow-one when open */
 .menu-item.open .arrow-one {
     transform: rotate(180deg);
     color: #8892a4;
}
/* ────────────────────────────── DROPDOWN / SUB-MENU ────────────────────────────── */
 .sub-menu {
     list-style: none;
     max-height: 0;
     overflow: hidden;
     transition: max-height 0.35s ease;
}
/* When open, expand to fit content */
 .sub-menu.open {
     max-height: 375px;
}
 .sub-menu li a {
    /* padding: 9px 20px 9px 52px;
     */
     font-size: 13px;
     color: #6b7585;
}
 .sub-menu li a:hover {
     color: #212cc7;
}
 .mobile-drawer a:hover {
     background: #f0f4ff;
     color: #3966e1;
}
 .drawer-btns {
     display: flex;
     gap: 10px;
     margin-top: 20px;
     padding: 0 4px;
}
 .drawer-login {
     flex: 1;
     height: 44px;
     font-size: 15px;
     font-weight: 600;
     border-radius: 10px;
     cursor: pointer;
     border: 1.5px solid #ddd;
     background: #f9f9f9;
     color: #0d0d0d;
     font-family: var(--font-body);
}
 .drawer-register {
     flex: 1;
     height: 44px;
     font-size: 15px;
     font-weight: 600;
     border-radius: 10px;
     cursor: pointer;
     border: none;
     background: #3966e1;
     color: white;
     font-family: var(--font-body);
}
 .navbtn {
     padding: 10px;
     align-items: center;
     display: flex;
     justify-content: center;
     margin-left: auto;
     margin-right: 20px;
     gap: 10px;
     flex-shrink: 0;
}
 #loginbtn {
     width: 80px;
     height: 38px;
     background-color: #f9f9f9;
     color: black;
     font-size: 16px;
     font-weight: 600;
     border-radius: 10px;
     border: 1px solid #ddd;
     box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
     cursor: pointer;
}
 #registerbtn {
     width: 100px;
     height: 38px;
     background-color: #f9f9f9;
     color: black;
     font-size: 16px;
     font-weight: 600;
     border-radius: 10px;
     border: 1px solid #ddd;
     box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.2);
     cursor: pointer;
}
 #loginbtn:active {
     background-color: black;
     color: white;
}
 #registerbtn:active {
     background-color: black;
     color: white;
}
/* ── THEME VARIABLES ── */
 :root {
     --nav-bg: #ffffff;
     --nav-text: #0d0d0d;
     --nav-link: #0d0d0d;
     --nav-hover: #3777ff;
     --nav-border: #e2e8f0;
     --dd-bg: #ffffff;
     --dd-hover: #f0f4ff;
     --toggle-bg: #f1f5f9;
     --toggle-color: #0f172a;
     --card-bg: #ffffff;
     --card-border: #e8edf5;
     --card-shadow: 0 4px 20px rgba(55,119,255,0.08);
     --text-main: #0f172a;
     --text-mid: #475569;
     --text-light: #94a3b8;
}
 [data-theme="dark"] {
     --nav-bg: #0f172a;
     --nav-text: #f1f5f9;
     --nav-link: #e2e8f0;
     --nav-hover: #60a5fa;
     --nav-border: #1e293b;
     --dd-bg: #1e293b;
     --dd-hover: #334155;
     --toggle-bg: #1e293b;
     --toggle-color: #fbbf24;
     --card-bg: #1e293b;
     --card-border: #334155;
     --card-shadow: 0 4px 20px rgba(0,0,0,0.35);
     --text-main: #f1f5f9;
     --text-mid: #94a3b8;
     --text-light: #64748b;
}
/* Apply theme to header */
 .header {
     background-color: var(--nav-bg) !important;
     border-bottom: 1px solid var(--nav-border);
     transition: background .3s, border-color .3s;
}
 .header .schoollogo span {
     color: var(--nav-text) !important;
}
 .hamburger span {
     background-color: var(--nav-text) !important;
}

 .header .dropdown-content {
     background: var(--dd-bg);
}
 .dropdown-content a {
     color: var(--nav-link);
}
 .dropdown-content a:hover {
     background: var(--dd-hover);
}
 .timeline::before {
     background: var(--nav-link);
     border: 1px solid var(--nav-link);
    /* box-shadow: var(--card-shadow);
     */
}
/* Apply theme to body */
 [data-theme="dark"] body {
     background: #0f172a;
     color: #f1f5f9;
}
[data-theme="dark"] footer{
     background-color: #31334a;
}
[data-theme="dark"] .footer-col ul li a{
     color: white;
}

[data-theme="dark"] .contact-text a{
     color: white;
}


 [data-theme="dark"] .header a, .dropbtn{
     color: #f1f5f9;
}
 [data-theme="dark"] .has-submenu .submenu {
     background: #1e293b;
     color: white;
}
 [data-theme="dark"] .has-submenu .submenu a{
     color: white;
}
 [data-theme="dark"] .search h2 {
     color: #f1f5f9;
}
 [data-theme="dark"] #seainput {
     background: #1e293b;
     color: #f1f5f9;
     border-color: #334155;
}
 [data-theme="dark"] .catagoryicon {
     background: #0f172a;
}
 [data-theme="dark"] .mainbox {
     background: #0f172a;
}
[data-theme="dark"] .boxcard {
     background: #1e293b;
     color: white;
}
 [data-theme="dark"] .search {
     background: #0f172a;
}
 [data-theme="dark"] .aboutschool {
     background: #0f172a;
}
 [data-theme="dark"] .teacherictblock {
     background: #0f172a;
}
 [data-theme="dark"] .partnership {
     background: #0f172a;
}
 /* [data-theme="dark"] .fav-share {
     color: #0f172a;
} */
[data-theme="dark"] .detail-body .boxcard .certificate-completed p {
    color: white;
}
[data-theme="dark"] .detail-body .boxcard .certificate-completed i {
    color: white;
}
[data-theme="dark"] .detail-body .boxcard .hour-with-icon i {
    color: white;
}
[data-theme="dark"] .detail-body .boxcard .hour-with-icon .hour {
    color: white;
}
[data-theme="dark"] .detail-body .boxcard .weekschedule i{
    color: white;
}
[data-theme="dark"] .profile-card{
    box-shadow: 0 0 8px 0 rgb(8, 51, 241);
}
[data-theme="dark"] .detail-body .boxcard .weekschedule p{
    color: white;
}
[data-theme="dark"] .detail-body .boxcard .hour-with-icon p {
    color: white;
}

[data-theme="dark"] .detail-body .boxcard {
    box-shadow: 0 0 8px 0 rgb(8, 51, 241);
}

 [data-theme="dark"] .boxcard .weekschedule .hour {
     color: white;
}

 [data-theme="dark"] .boxcard .pweekly {
     color: white;
}
 [data-theme="dark"] .timeline::before {
     border: 1px solid #eff0f1;
}
 [data-theme="dark"] .card-body-blog p{
     color: rgb(230, 229, 229);
}
 [data-theme="dark"] .portfolio-body p {
     color: rgb(230, 229, 229);
}
 [data-theme="dark"] .portfolio-footer .portfolio-author div strong{
     color: rgb(230, 229, 229);
}
 [data-theme="dark"] .portfolio-stats{
     color: rgb(230, 229, 229);
}
 [data-theme="dark"] .why-choose-ict .aboutus-detail-block .box-category{
    background-color: #1E293B;
}
[data-theme="dark"] .why-choose-ict .aboutus-detail-block .box-category p{
    color: #e6e6e7;
}
[data-theme="dark"] .boxcategory .fa-file-code {
     color: rgb(216, 7, 235);
}
[data-theme="dark"] .boxcategory .fa-calendar-days {
      color: rgb(2, 199, 32);
}
[data-theme="dark"] .modal-card {
      background-color: #1e293b;
}
/* ── THEME TOGGLE BUTTON ── */
 .theme-toggle-btn {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     margin-left: auto;
     border: 1.5px solid rgb(225, 222, 222);
     background: var(--toggle-bg);
     box-shadow: 0 0 10px 0 rgb(186, 185, 185);
     color: var(--toggle-color);
     font-size: 1rem;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: background .25s, border-color .25s, transform .25s, color .25s;
     flex-shrink: 0;
    /* position: fixed;
     top: 17px;
     right: 65px;
     bottom: 0;
     z-index: 99;
     overflow-y: auto;
     */
}
/* CAROUSEL */
 .video-carousel {
     position: relative;
     width: 100%;
     height: 560px;
     overflow: hidden;
     background: #000;
}
 .vc-video {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 .vc-overlay {
     position: absolute;
     inset: 0;
     background-color: rgba(0, 0, 0, 0.5);
    /*fix it, i want color black than this rgba(6, 5, 5, 0.4) but with more opacity */
     backdrop-filter: blur(1px);
    /* background: linear-gradient( to right, rgba(10, 15, 40, 0.80) 30%, rgba(10, 15, 40, 0.40) 85%, rgba(10, 15, 40, 0.10) 100% );
     */
}
 .vc-caption {
     position: absolute;
     top: 55%;
     left: 20%;
     width: 70%;
     transform: translateY(-50%);
     max-width: 760px;
     color: white;
     z-index: 2;
}
 .vc-caption h2 {
     font-family: var(--font-body);
     font-size: clamp(23px, 3vw, 50px);
     font-weight: 700;
     line-height: 1.15;
     margin-bottom: 16px;
     color: white;
     display: flex;
     justify-content: center;
}
 .vc-caption h2 em {
    /* font-style: italic;
     */
     color: #7eb3ff;
     margin-left: 10px;
}
 .vc-caption p {
     width: 100%;
     font-family: var(--font-body);
     font-size: 16px;
     color: white;
     font-weight: 600;
     line-height: 1.7;
     margin-bottom: 28px;
    /* max-width: 440px;
     */
}
 .vc-btns {
     display: flex;
     gap: 12px;
     flex-wrap: wrap;
     align-items: center;
     justify-content: center;
}
 .vc-btn-primary {
     padding: 10px 24px;
     background: #3966e1;
     color: white;
     border: none;
     border-radius: 50px;
     font-size: 15px;
     font-weight: 700;
     font-family: var(--font-body);
     cursor: pointer;
     box-shadow: 0 4px 18px rgba(57, 102, 225, 0.45);
     transition: background 0.2s, transform 0.2s;
}
 .vc-btn-primary:hover {
     background: #2a52c9;
     transform: translateY(-2px);
}
 .vc-btn-primary:active {
     transform: scale(0.97);
}
/* ── Responsive ── */
 @media (max-width: 768px) {
     .video-carousel {
         height: 420px;
    }
     .vc-caption {
         max-width: 90%;
         width: 70%;
         position: absolute;
         top: 55%;
         left: 16%;
    }
     .vc-caption h2 {
         font-size: 18px;
    }
     .vc-caption p {
         font-size: 11px;
         width: 100%;
    }
     .vc-btn-primary {
         padding: 10px 20px;
         font-size: 13px;
    }
}
 @media (max-width: 480px) {
     .video-carousel {
         height: 320px;
    }
     .vc-caption {
        /* max-width: 90%;
         width: 70%;
         position: absolute;
         */
         top: 50%;
         left: 20%;
    }
     .vc-caption h2 {
         width: 100%;
         font-size: 15px;
    }
     .vc-caption p {
         font-size: 10px;
    }
     .vc-btns {
         flex-direction: column;
    }
     .vc-btn-primary {
         width: 39%;
         max-width: 190px;
         text-align: center;
         padding: 5px;
         font-size: 12px;
         margin-top: -20px;
    }
}

/* Advertisement slide  */
.advertisement-slide{
    width: 95%;
    margin: auto;
    margin-top: 30px;
    padding: 40px;
    border-radius: 120px;
}
.advertisement-slide .carousel-inner{
    border-radius: 30px;
}
/*CATEGORY ICONS*/
 .catagoryicon {
     width: 95%;
     /* height: 440px; */
     margin: auto;
     padding: 60px 0;
}
 .catagoryicon h1 {
     text-align: center;
     font-weight: 700;
     font-size: 33px;
     font-family: var(--font-body);
     color: rgb(71,108,220);
     margin-bottom: -5px;
}
 .catagoryicon #category-title-block{
     width: 57%;
     padding: 15px;
     text-align: center;
     margin: 0 auto;
     font-size: 13px;
}
 .catagoryicon .mainboxicon {
    margin: 30px auto 0 auto;
     width: 96%;
     display: flex;
     justify-content: center;
     align-items: center;
}
 .mainboxicon .boxcategory {
     height: 200px;
     width: 20%;
     padding: 30px 10px;
     /* background-color: rgb(243, 254, 255); */
     margin: 0 auto;
     text-align: center;
     display: flex;
     flex-direction: column;
     align-items: center;
     border-radius: 10px;
}
 .boxcategory .fa-user-graduate {
    /* border-radius: 50%;
     padding: 10px;
     */
     color: rgb(255, 157, 0);
     font-size: 55px;

}
 .boxcategory .fa-person-chalkboard {
     color: blue;
     font-size: 55px;
}
 .boxcategory .fa-file-code {
     color: rgb(110, 8, 119);
     font-size: 55px;
}
 .boxcategory .fa-calendar-days {
     color: rgb(7, 131, 26);
     font-size: 55px;
}
 .boxcategory #activest{
     font-size: 24px;
    /* border-bottom: 2px solid orange;
     */
}
 .boxcategory #professionaltea{
     font-size: 24px;
    /* border-bottom: 2px solid blue;
     */
}
 .boxcategory #languagesavail{
     font-size: 24px;
    /* border-bottom: 2px solid purple;
     */
}
 .boxcategory #trainingevents{
     font-size: 24px;
    /* border-bottom: 2px solid green;
     */
}
 .boxcategory span {
     font-size: 11px;
     color: grey;
     font-weight: bold;
}
 .mainboxicon .boxcategory p {
     font-weight: 600;
    /* font-size: 20px;
     */
     margin-top: 5px;
     font-family: var(--font-body);
}
 .mainboxicon .boxcategory .clp {
     font-size: 14px;
     color: grey;
     margin-top: -18px;
     font-weight: 600;
     font-family: var(--font-body);
}
/* Hero section */
 .showpage {
     width: 93%;
     margin: auto;
     border-radius: 20px;
     height: 540px;
     display: flex;
     background: linear-gradient(to right, #122161, #7e9ef5);
     justify-content: center;
     align-items: center;
     gap: 80px;
     padding: 0 40px;
}
 .description {
     height: 400px;
     width: 35%;
}
 .imgdescript img {
     height: 480px;
     width: 100%;
     border-radius: 25px;
     object-fit: cover;
}
 #desone {
     width: 300px;
     height: 35px;
     font-size: 14px;
     font-family: var(--font-body);
     font-weight: 600;
     border: 2px solid rgb(236,227,227);
     border-radius: 15px;
     background-color: #122161;
     color: white;
     cursor: pointer;
}
 .showpage .description h1 {
     font-size: 40px;
     font-family: var(--font-body);
     margin-top: 20px;
     color: white;
}
 .description #p {
     color: white;
     margin-top: 20px;
     font-family: var(--font-body);
     font-size: 14px;
}
 .btndescript {
     margin-top: 20px;
     display: flex;
     gap: 15px;
}
 .btndescript #studyon {
     width: 140px;
     height: 40px;
     color: #3966e1;
     padding: 2px;
     font-size: 15px;
     font-weight: 600;
     border-radius: 20px;
     border: none;
     cursor: pointer;
}
 .btndescript #regis {
     width: 250px;
     height: 40px;
     padding: 2px;
     color: #edeef0;
     background-color: #3966e1;
     font-size: 15px;
     font-weight: 600;
     border-radius: 20px;
     border: none;
     cursor: pointer;
}
 .studentenroll {
     margin-top: 20px;
     display: flex;
     align-items: center;
     gap: 5px;
     color: white;
     font-family: var(--font-body);
     font-size: 12px;
}
 .studentenroll .st-pic {
     width: 40px;
     height: 40px;
     border-radius: 50%;
     border: 2px solid rgb(254,250,250);
     object-fit: cover;
}
 .studentenroll .aboutstudent {
     margin-left: 20px;
     padding-top: 20px;
     line-height: 1px;
}
 .studentenroll .star {
     display: flex;
     align-items: center;
     margin-top: 5px;
}
 .star .fa-solid.fa-star {
     font-size: 12px;
     margin-bottom: 15px;
}
 .fa-solid.fa-star {
     font-size: 12px;
}
 .studentenroll .star p {
     color: rgb(208,206,206);
     margin-left: 5px;
}
/* Search */
 .search {
     margin: 30px 0;
     width: 99%;
     height: 90px;
     display: flex;
     justify-content: space-between;
     align-items: center;
}
 .search h2 {
     font-size: 30px;
     margin-left: 55px;
     color: black;
     font-family: var(--font-body);
     font-weight: 700;
}
 .search .searchbox {
     display: flex;
     align-items: center;
     margin-right: 35px;
     gap: 10px;
     height: 50px;
     background-color: White;
     border-radius: 22px;
     /* border: 1px solid rgb(103, 102, 102); */
     box-shadow: 0 0 5px rgba(18, 19, 20, 0.5);
}
 .search .searchbox #seainput {
    border: none;
    width: 290px;
    height: 38px;
    background-color: white;
    /* padding: 0 15px; */
    font-family: var(--font-body);
    border-radius: 15px;
    font-size: 18px;
    outline: none;
    color: #000;
    margin-top: 16px;
}
 /* .search .searchbox:focus {

} */
.searchbox .fa-magnifying-glass{
    padding: 8px;
    color: black;
    margin-right: 10px;
    font-size: 20px;
}
/* COURSE SLIDER */
 .allcoursebox {
     width: 93%;
     height: 120px;
     padding: 10px 0;
     display: flex;
     margin: 0 auto;
     justify-content: center;
     align-items: center;
     background-color: rgb(71,108,220);
     border-radius: 18px;
     overflow: hidden;
}
 .coursebox {
     margin-top: 10px;
     display: flex;
     overflow-x: auto;
     width: calc(100% - 40px);
    /* hide scrollbar visually but keep it functional */
    /* scrollbar-width: none;
     -ms-overflow-style: none;
     */
}
 .coursebox::-webkit-scrollbar {
     display: none;
}
 .coursebox .boxcourse {
     display: flex;
     flex-wrap: nowrap;
     gap: 25px;
}
 .acb {
     min-width: 120px;
     height: 50px;
     padding: 10px;
     margin-bottom: 7px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     background-color: rgb(253,252,250);
     border-radius: 30px;
     flex-shrink: 0;
}
 .coursebox .acb p {
     color: #0d0d0d;
     font-size: 15px;
     font-family: var(--font-body);
     font-weight: 600;
     margin: 0;
     padding: 5px;
}
 .acb .fa-solid, .ti {
     color: black;
}
.acb .ti{
    font-size: 20px;
}
/* COURSE CARDS */
 .mainbox {
     margin-top: 30px;
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 30px;
     padding: 20px;
     width: 96%;
     margin: 0 auto;
}
 .boxcard {
     max-width: 100%;
     position: relative;
     padding: 3px;
     box-shadow: 0 0 10px 0 grey;
     background: #fcfdfe;
     /* border: 1px solid #cacacb; */
     border-radius: 25px;
     overflow: hidden;
     text-decoration: none;
     color: inherit;
     display: flex;
     flex-direction: column;
     transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
.detail-boxcard{
    height: 180px;
}
 .boxcard:hover {
     transform: translateY(-6px);
     box-shadow: 0 0 10px 0 rgb(187, 185, 185);
}
 .boxcard > img {
     max-width: 100%;
     height: auto;
     padding: 10px;
    /* width: 100%;
     */
     aspect-ratio: 4 / 2.6;
    /*new important*/
    /* height: 165px;
     */
     border-radius: 32px;
}
 /* .boxcard .teacher {
     display: flex;
     align-items: center;
     margin-left: 8px;
     padding: 0 2px;
     left: 30%;
} */
 .mainbox a {
     text-decoration: none;
}
 /* .teacher img {
     width: 35px;
     height: 35px;
     border-radius: 50%;
     object-fit: cover;
     border: 1px solid rgb(157, 157, 160);
     flex-shrink: 0;
}
 .teacher p {
     padding: 1% 5px;
     font-family: var(--font-body);
     font-weight: 600;
     font-size: 16px;
     margin-top: 18px;
} */
 /* .boxcard .teacher button {
     position: absolute;
     top: 24px;
     right: 24px;
     z-index: 1;
     padding: 1% 8px;
     width: auto;
     margin-left: auto;
     background: rgba(255, 255, 255, 0.7);
     color: #0087fe;
     font-weight: 600;
     border: 1px solid rgb(63, 104, 252);
     border-radius: 10px;
     cursor: pointer;
     font-size: 11px;
} */
  .boxcard .detail-boxcard button {
     position: absolute;
     top: 24px;
     right: 24px;
     z-index: 1;
     padding: 1% 8px;
     width: auto;
     margin-left: auto;
     background: rgba(255, 255, 255, 0.7);
     color: #0087fe;
     font-weight: 600;
     border: 1px solid rgb(63, 104, 252);
     border-radius: 10px;
     cursor: pointer;
     font-size: 11px;
}
 .boxcard h2 {
     width: 88%;
     /* height: 37px; */
     height: auto;
     font-family: var(--font-body);
     margin: 10px 15px 0;
     font-size: 18px;
}
 .weekschedule {
     display: flex;
     align-items: center;
     margin: 14px;
     gap: 7px;
}
 .weekschedule p {
     font-family: var(--font-body);
     font-weight: 600;
     font-size: 11px;
     margin: 0;
}
 .weekschedule .hour {
     margin-left: auto;
     color: grey;
}
 .boxcard .pweekly {
     color: grey;
     font-family: var(--font-body);
     font-size: 11px;
     font-weight: 600;
     margin-left: 15px;
     height: 65px;
}
 .boxcard .prnrate {
     flex-shrink: 0;
     display: flex;
     align-items: center;
     width: 96%;
     height: 40px;
     background-color: #1f325c;
     border-radius: 15px;
     padding: 0 8px;
     margin-bottom: 2px;
    /* flex-shrink: 0;
     button never shrinks */
     cursor: pointer;
     margin: 0 auto 10px;
}
 .prnrate h3 {
     font-family: var(--font-body);
     font-weight: 600;
     margin-left: 10px;
     margin-top: 10px;
     font-size: 16px;
     color: white;
}
 .prnrate .starate {
     display: flex;
     align-items: center;
     margin-left: auto;
     gap: 2px;
}
 .prnrate .starate p {
     color: white;
     margin: 0 5px 0 0;
     font-size: 13px;
}
/* end .mainbox section block */
 .wrapperr {
     padding: 10px 6%;
     overflow: hidden;
}
 .box-area {
     display: flex;
     flex-wrap: nowrap;
     gap: 60px;
     margin-top: 50px;
     overflow-x: auto;
     padding: 10px 0 20px;
     scroll-behavior: smooth;
    /* Firefox */
     scrollbar-width: none;
    /* IE & Edge */
     -ms-overflow-style: none;
     width: calc(100% + 80px);
     margin-left: -40px;
}
 .card-areaa {
    /* background-color: #0f172a;
     */
     padding: 20px 0;
     margin-top: 60px;
}
 .card-areaa #blog_description {
    /* color: white;
     */
     padding: 10px;
     text-align: center;
     margin: 0 auto;
     width: 50%;
     height: auto;
}
 .box-area {
     display: flex;
     flex-wrap: nowrap;
     gap: 60px;
     margin-top: 50px;
     overflow-x: auto;
     padding: 10px 0 20px;
     scroll-behavior: smooth;
    /* Firefox */
     scrollbar-width: none;
    /* IE & Edge */
     -ms-overflow-style: none;
}
/* Chrome, Safari, Opera */
 .box-area::-webkit-scrollbar {
     display: none;
}
 .boxx {
     transition: 0.8s;
     display: flex;
     margin-bottom: 70px;
     min-width: 230px;
     width: 210px;
     flex-shrink: 0;
     border-radius: 5px;
     position: relative;
     overflow: hidden;
     border: 1px solid white;
     text-decoration: none;
     color: inherit;
     cursor: pointer;
}
 .boxx img {
     width: 100%;
     height: 290px;
     border-radius: 5px;
     display: block;
     object-fit: cover;
     transition: transform 0.5s;
}
 .card-areaa #blogsection {
    /* color: white;
     */
     font-size: 30px;
     margin-left: 35px;
     font-family: var(--font-body);
     font-weight: 700;
     text-align: center;
}
 .overlay {
     height: 0;
     width: 100%;
     background: linear-gradient(transparent, black 100%);
     border-radius: 10px;
     position: absolute;
     left: 0;
     bottom: 0;
     overflow: hidden;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-direction: column;
     padding: 0 10px;
     text-align: center;
     font-size: 14px;
     transition: height 0.5s;
}
 .overlay h3 {
     font-weight: 600;
     margin-bottom: 5px;
     margin-top: 80%;
     font-family: var(--font-body);
     font-size: 15px;
     letter-spacing: 2px;
     color: #ddd;
}
 .overlay p {
     color: white;
     font-weight: 600;
     font-size: 13px;
}
 .boxx:hover {
     box-shadow: 2px 2px 5px 2px rgb(130, 129, 129);
}
 .boxx:hover img {
     transform: scale(1.2);
}
 .boxx:hover .overlay {
     height: 100%;
}
 .boxx:hover .overlay p {
     background-color: #eeeff1;
     color: #0d0d0d;
     border-radius: 8px;
     padding: 5px;
}
/* ABOUT SCHOOL */
 .card {
     margin: 0 auto;
     border: 1px solid white;
     width: 80%;
     height: 100%;
     background-color: white;
     border-radius: 15px;
     box-shadow: 0 0 10px rgb(231,229,229);
     padding: 10px;
}
 .aboutschool {
     width: 94%;
     height: 450px;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto;
     gap: 40px;
}
 .aboutschool .text {
     width: 50%;
     height: 390px;
     padding: 10px;
}
 .text p {
     font-family: var(--font-body);
     font-weight: 700;
     font-size: 13px;
}
 .text h3 {
     width: 420px;
     height: auto;
     font-weight: 700;
}
 .text .typecategoryaboutschool {
     min-width: 260px;
     display: grid;
     grid-template-columns: 1fr 1fr;
     grid-template-rows: 1fr 1fr;
     position: relative;
     gap: 10px;
}
 .typecategoryaboutschool .typecategory {
     width: 260px;
     height: 110px;
     padding: 10px;
     border-radius: 10px;
     display: flex;
     /* flex-direction: column; */
     justify-content: start;
     position: relative;
     gap: 10px;
     /* box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.2); */
}
 /* .typecategory .fa-regular.fa-clock, .typecategory .fa-solid.fa-users, .typecategory .fa-solid.fa-diagram-project, .typecategory .fa-solid.fa-award {
     justify-content: center;
     align-items: center;
     display: flex;
} */
 .typecategory .aboutdescri {
     font-family: var(--font-body);
     font-weight: 600;
     font-size: 12px;
     /* text-align: center; */
}
 .typecategory .fa-solid, .typecategory .fa-regular {
     font-size: 17px;
     background-color: #CCE0F6;
     color: #3966e1;
     width: 38px;
     height: 38px;
     border-radius: 50%;
     padding: 10px;
}
 .typecategory i {
     font-size: 14px;
}
 .aboutschool img {
     width: 100%;
     height: 430px;
     border-radius: 10px;
}
 .aboutschool .imgaboutschool {
     width: 50%;
}
/* .aboutschool .imgaboutschool img{
    width: 100%;
    height: 430px;
    border-radius: 10px;
    object-fit: cover;
} */

.aboutschool .imgaboutschool img{
    height: auto;
    max-width: 100%;
}
 .teacher-img-with-description {
     width: 80%;
     border: 1px solid rgb(198, 196, 196);
     border-radius: 10px;
     height: 260px;
     padding: 20px;
     margin: 80px auto;
     display: flex;
     box-shadow: 0px 2px 6px 4px rgba(54, 54, 54, 0.3);
     position: relative;
}
 .teacher-img-with-description #imageteacher-nhim {
     width: 220px;
     height: 220px;
     border-radius: 10px;
}
 .teacher-img-with-description .fa-solid {
     padding: 10px;
     border-radius: 50%;
     background-color: #007bff;
     font-size: 20px;
     border: 1px solid black;
     position: absolute;
     left: 210px;
     top: 210px;
}
 .teacher-img-with-description .teacher-nhim-text-descript {
     padding-left: 20px;
     margin-top: 15px;
}
 .teacher-img-with-description .teacher-nhim-text-descript h3 {
     margin-top: 14px;
}
 .teacher-img-with-description .teacher-nhim-text-descript p {
     font-size: 20px;
     font-weight: bold;
}
 .teacher-img-with-description .teacher-nhim-text-descript span {
     color: rgb(101, 101, 251);
}
 .teacherictblock {
     margin-top: 140px;
}
 .teacherictblock p {
     text-align: center;
}
 .teacherictblock .iconwithtext {
     text-align: center;
     margin: 0 auto;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 20px;
}
.iconwithtext .fa-circle-check{
    font-size: 30px;
    margin-bottom: 5px;
}
.teacherictblock .expert-instructor{
    color:#212cc7;
}
/*Teacher section*/
 .teacher-cards-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 24px;
     margin-top: 40px;
     padding: 0 5%;
}
 .teacher-card {
     border-radius: 18px;
     padding: 28px 20px 22px;
     text-align: center;
     border: 1px solid rgb(184, 182, 182);
     position: relative;
    /* overflow: hidden;
     */
}
 .teacher-avatar-wrap {
     width: 88px;
     height: 88px;
     border-radius: 50%;
     margin: 0 auto 14px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
}
 .teacher-avatar-wrap img {
     width: 82px;
     height: 82px;
     border-radius: 50%;
     object-fit: cover;
     box-shadow: 0 4px 12px rgba(47, 58, 82, 0.2);
}
 .teacher-card h3 {
     font-size: 16px;
     font-weight: 800;
     margin-bottom: 4px;
}
 .teacher-card .teacher-role {
     font-size: 13px;
     margin-bottom: 10px;
}
 .teacher-rating {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 3px;
     margin-bottom: 16px;
}
 .teacher-rating .fa-star, .teacher-rating .fa-star-half-stroke {
     color: #f59e0b;
     font-size: 13px;
}
 .teacher-rating span {
     font-size: 13px;
     font-weight: 700;
     margin-left: 4px;
}
 .teacher-divider {
     height: 3px;
     background-color: rgba(18, 11, 11, 0.05);
     margin-bottom: 14px;
}
 .teacher-stats {
     display: flex;
     justify-content: center;
     gap: 28px;
}
 .stat-item {
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 2px;
}
 .stat-value {
     font-size: 17px;
     font-weight: 800;
}
 .stat-label {
     font-size: 11px;
     font-weight: 600;
     letter-spacing: .05em;
}
 .partnership {
     padding: 90px 5% 80px;
     text-align: center;
    /* position: relative;
     */
    /* overflow: hidden;
     */
}
 .partnership__title {
     font-family: var(--font-body);
     font-size: 40px;
     font-weight: 700;
     letter-spacing: -.02em;
    /* color: black;
     */
     margin-bottom: 14px;
}
 .partnership__sub {
     font-size: 15px;
     max-width: 480px;
     margin: 0 auto 56px;
     line-height: 1.7;
}
/* Logo track */
 .partner-track-wrap {
     overflow: hidden;
}
 .partner-track {
     display: flex;
     gap: 28px;
     width: max-content;
     animation: scroll-left 28s linear infinite;
}
/* .partner-track-wrap {
     overflow-x: auto;
     cursor: grab;
}
 .partner-track-wrap:active {
     cursor: grabbing;
}
 */
/* Custom scrollbar (optional, looks cleaner) */
 .partner-track-wrap::-webkit-scrollbar {
     height: 4px;
}
 .partner-track-wrap::-webkit-scrollbar-track {
     background: transparent;
}
 .partner-track-wrap::-webkit-scrollbar-thumb {
     background: rgba(55,119,255,0.3);
     border-radius: 99px;
}
 .partner-track-wrap::-webkit-scrollbar-thumb:hover {
     background: rgba(55,119,255,0.6);
}
 .partner-track:hover {
     animation-play-state: paused;
}
 @keyframes scroll-left {
     from {
         transform: translateX(0);
    }
     to {
         transform: translateX(-50%);
    }
}
 .partner-card {
     flex-shrink: 0;
     width: 160px;
     height: 140px;
     background: var(--dark-2);
     border: 1px solid rgba(255,255,255,.07);
     border-radius: var(--radius);
     display: flex;
     align-items: center;
     justify-content: center;
     padding: 16px 20px;
     transition: border-color .3s, background .3s, transform .3s;
     cursor: default;
}
 .partner-card:hover {
     transform: translateX(-4px);
}
 .partner-card img {
     width: 100%;
     height: auto;
}
 .partner-card a {
     display: flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 100%;
}
 .partner-card a img {
     width: 100%;
     height: auto;
     transition: opacity 0.2s;
}
 .partner-card a:hover img {
     opacity: 0.8;
}
/* ─── FOOTER ──────────────────────────────────── */
 footer {
     margin-top: 30px;
     padding: 70px 5% 0;
     background-color: #eff3f9;
}
 .footer-grid {
     display: grid;
     grid-template-columns: 2fr 1.2fr 1.2fr 1.2fr 1.6fr;
     gap: 48px;
     padding-bottom: 56px;
}
 .footer-brand{
     margin-top: -22px;
}
 .brand-row {
     display: flex;
     align-items: center;
     gap: 12px;
     margin-bottom: 18px;
}
 .brand-row .footerimg {
     width: 60px;
     height: 60px;
     border-radius: 50%;
}
 .brand-name {
     font-size: 1.25rem;
     font-weight: 800;
}
 .brand-tagline {
     font-size: .9rem;
    /* color: var(--muted);
     */
     line-height: 1.65;
     margin-bottom: 24px;
     max-width: 300px;
}
 .socials {
    /* justify-content: center;
     align-items: center;
     */
     display: flex;
     gap: 10px;
}
 .socials .social-btn i {
     width: 30px;
     height: 30px;
     font-size: 20px;
}
/* Nav cols */
 .footer-col h4 {
     font-size: 12px;
     font-weight: 700;
     letter-spacing: .12em;
     text-transform: uppercase;
     margin-bottom: 20px;
     margin-left: 15px;
     position: relative;
     padding-bottom: 12px;
}
 .footer-col ul {
     list-style: none;
     display: flex;
     flex-direction: column;
     gap: 10px;
}
 .footer-col ul li {
     font-size: .92rem;
}
 .footer-col ul li a {
     text-decoration: none;
     font-size: .92rem;
     display: flex;
     align-items: center;
     color: #0e0e0f;
    /* gap: 7px;
     */
}
 .contact-item {
     display: flex;
     align-items: flex-start;
     gap: 12px;
     margin-bottom: 16px;
}
 .contact-item .contact-icon {
     width: 32px;
     height: 32px;
     border-radius: 8px;
     background: rgba(59,130,246,.12);
     border: 1px solid rgba(59,130,246,.25);
     display: flex;
     align-items: center;
     justify-content: center;
    /* color: var(--blue-light);
     */
     font-size: .82rem;
     flex-shrink: 0;
     margin-top: 1px;
}
 .contact-text {
     font-size: .9rem;
    /* color: var(--muted);
     */
     line-height: 1.5;
}
 .contact-text a{
     text-decoration: none;
     color: #0e0e0f;
     font-size: 13px;
}
/* App col */
 .app-col h4 {
     font-family: var(--font-head);
     font-size: .82rem;
     font-weight: 700;
     letter-spacing: .12em;
     text-transform: uppercase;
    /* color: var(--white);
     */
     margin-bottom: 12px;
     position: relative;
     padding-bottom: 12px;
}
 .app-desc {
     font-size: .88rem;
    /* color: var(--muted);
     */
     margin-bottom: 20px;
     line-height: 1.6;
}
 .footer-col .playstore {
     width: 170px;
     height: 50px;
     background-color: #1877f2;
     padding: 15px;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 10px;
     border-radius: 5px;
}
 .playstore img {
     width: 35px;
     height: 35px;
}
 .playstore .textplaystore {
     font-size: 15px;
     color: white;
     margin-top: 12px;
}
 .footer-col .appstore {
     width: 170px;
     height: 50px;
     background-color: #2d3136;
     padding: 15px;
     display: flex;
     justify-content: center;
     align-items: center;
     gap: 10px;
     margin-top: 10px;
     border-radius: 5px;
}
 .appstore img {
     width: 35px;
     height: 35px;
}
 .appstore .textappstore {
     font-size: 15px;
     color: white;
     margin-top: 12px;
}

/* ═══ AD POPUP MODAL ═══ */
.ad-popup-overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.65);
    z-index: 9999;
    display: none;           /* JS switches this to flex */
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ad-popup-overlay.show {
    display: flex;
    opacity: 1;
}

.ad-popup-box {
    position: relative;
    width: 95%;
    max-width: 750px;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.ad-popup-overlay.show .ad-popup-box {
    transform: scale(1);
}

/* override the advertisement-slide's own spacing so it fits snugly in the popup */
.ad-popup-box .advertisement-slide {
    width: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
}

.ad-popup-box .advertisement-slide .carousel-inner {
    border-radius: 0;
}

.ad-popup-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background-color: rgba(255, 255, 255, 0.9);
    color: #0d0d0d;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.ad-popup-close:hover {
    background-color: #fff;
}

@media (max-width: 768px) {
    .ad-popup-box {
        width: 92%;
        max-width: 600px;
    }
}
@media (max-width: 480px){
    .ad-popup-box {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        width: 98%;
        max-width: 340px;
        margin: 0 auto;
    }
}
/*=================================== Start contact CSS ======================================*/
.contact-top-banner{
    width: 100%;
    height: 240px;
    background-color: #10172A;
    background-image:linear-gradient(135deg, rgba(1, 22, 39, 0.92), rgba(1, 12, 24, 0.7)),
        url(/frontend/asset/images/advertisement/advertisement-slideshow\(2\).webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
 .contact-top-banner #contacth2 {
    font-family: var(--font-heading);
    color: white;
    font-size: 38px;
    font-weight: 700;
    margin: auto;
    text-align: center;
     /* margin-bottom: 10px; */
}
.contact-top-banner #contactp {
    color: white;
    margin: auto;
    text-align: center;
    font-weight: 600;
    margin-top: -60px;
    /* padding-top: 10px; */
    width: 55%;
}
 .messagenhotline {
     gap: 20px;
     display: flex;
     padding-top: 50px;
    /* max-width: 600px;
     */
     width: 90%;
     margin: auto;
}
 .message-block {
     box-shadow: 0 7px 15px rgba(0,0,0,0.1);
     border-radius: 20px;
     padding: 30px;
     width: 58%;
     height: auto;
     border: 0.2px solid #e7e6e6;
     text-align: left;
     margin-top: 26px;
    /* justify-content: flex-start;
     align-items: baseline;
     */
     display: flex;
     flex-direction: column;
}
 .message-block h3 {
     margin-bottom: 20px;
     color: #0775f3;
}
 .message-block label {
     font-weight: 600;
     margin-bottom: 8px;
}
 input[type="text"] {
     padding: 12px;
     margin-bottom: 20px;
     border: 1px solid #c2c2c2;
     border-radius: 6px;
     font-size: 1rem;
     width: 100%;
     box-sizing: border-box;
}
 textarea {
     padding: 12px;
     margin-bottom: 20px;
     border: 1px solid #c2c2c2;
     border-radius: 6px;
     font-size: 1rem;
     width: 100%;
     height: 120px;
     box-sizing: border-box;
}
 .message-block button {
     background-color: #007bff;
     color: white;
     padding: 14px;
     border: none;
     border-radius: 6px;
     cursor: pointer;
     font-size: 1rem;
     font-weight: bold;
     transition: background 0.3s ease;
}
 .message-block button:hover {
     background-color: #0056b3;
}
 .contact-information-with-map {
     width: 52%;
}
 .contact-information-with-map .hotline {
     padding: 30px;
    /* width: 45%;
     */
     height: 325px;
}
 .contact-information-with-map .hotline .location {
     display: flex;
     box-shadow: 0 3px 9px rgba(0,0,0,0.1);
     border-radius: 20px;
     border: 0.2px solid #e5e3e3;
     margin-top: -2px;
}
 .contact-information-with-map iframe{
     width: 91%;
     height: 250px;
     margin: auto;
     display: flex;
     justify-content: center;
     align-items: center;
     border-radius: 20px;
    /* width: 45%;
     border: none;
     */
}
 .location .fas {
     background-color: #e2e8f0;
     color: #1e293b;
     width: 30px;
     height: 30px;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     border: 1px solid rgb(160, 160, 160);
     margin: 20px;
}
 .location p {
     left: 0;
     font-weight: 600;
     margin-top: 10px;
}
 .location span {
     font-size: 13px;
}
 .question-block {
     margin: 0 auto;
    /* justify-content: center;
     align-items: center;
     display: flex;
     */
     width: 100%;
     height: auto;
     padding: 50px;
     margin: 0 auto;
}
 .question-block h1 {
     text-align: center;
}
 /* .question-block p {
     text-align: center;
} */
 .accordion-menu {
     display: inline-block;
     position: relative;
     left: 50%;
     margin: 150px 0;
     transform: translate(-50%, 0);
     max-width: 900px;
     margin: auto;
     padding: 10px 20px 20px;
     border-radius: 5px;
}
 .accordion-menu ul li h2 {
     font-size: 18px;
     line-height: 34px;
     font-weight: 500;
    /* letter-spacing: 1px;
     */
     display: block;
     margin: 0;
     cursor: pointer;
     color: #212121;
}
 .accordion-menu ul li p {
     color: rgba(48, 69, 92, 0.8);
     font-size: 15px;
     line-height: 26px;
     /* letter-spacing: 1px; */
     position: relative;
     overflow: hidden;
     max-height: 800px;
     opacity: 1;
     transform: translate(0, 0);
     margin-top: 14px;
     z-index: 2;
}
 .accordion-menu ul {
     list-style: none;
     perspective: 900;
     padding: 0 20px 10px;
     margin: 0;
     background-color: #fff;
     border-radius: 5px;
     box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(255, 255, 255, 0.19);
}
 .accordion-menu ul li {
     position: relative;
     padding: 0;
     margin: 0;
     padding-bottom: 4px;
     padding-top: 18px;
     border-top: 1px dotted #dce7eb;
}
 .accordion-menu ul li:nth-child(1){
     border:none;
}
 .accordion-menu ul li:nth-of-type(1) {
     animation-delay: 0.5s;
}
 .accordion-menu ul li ul li:nth-of-type(2) {
     animation-delay: 0.75s;
}
 .accordion-menu ul li:nth-of-type(3) {
     animation-delay: 1.0s;
}
 .accordion-menu ul li:last-of-type {
     padding-bottom: 0;
}
 .accordion-menu ul li .arrow {
     position: absolute;
     transform: translate(-6px, 0);
     margin-top: 16px;
     right: 0;
}
 .accordion-menu ul li .fas{
     color:#f6483b;
     font-size: 15px;
     margin-right: 10px;
}
 .accordion-menu ul li .arrow:before, ul li .arrow:after {
     content: "";
     position: absolute;
     background-color: #f6483b;
     width: 3px;
     height: 9px;
}
 .accordion-menu ul li .arrow:before {
     transform: translate(-2px, 0) rotate(45deg);
}
 .accordion-menu ul li .arrow:after {
     transform: translate(2px, 0) rotate(-45deg);
}
 .accordion-menu ul li input[type=checkbox] {
     position: absolute;
     cursor: pointer;
     width: 100%;
     height: 100%;
     z-index: 1;
     opacity: 0;
}
 .accordion-menu ul li input[type=checkbox]:checked ~ p {
     margin-top: 0;
     max-height: 0;
     opacity: 0;
     transform: translate(0, 50%);
}
 .accordion-menu ul li input[type=checkbox]:checked ~ .arrow:before {
     transform: translate(2px, 0) rotate(45deg);
}
 .accordion-menu ul li input[type=checkbox]:checked ~ .arrow:after {
     transform: translate(-2px, 0) rotate(-45deg);
}
 .transition, p, ul li .arrow:before, ul li .arrow:after {
     transition: all 0.25s ease-in-out;
}
 .flipIn, h1, ul li {
     animation: flipdown 0.5s ease both;
}
 .no-select, h2 {
     -webkit-tap-highlight-color: transparent;
     -webkit-touch-callout: none;
     user-select: none;
}
 @keyframes flipdown {
     0% {
         opacity: 0;
         transform-origin: top center;
         transform: rotateX(-90deg);
    }
     5% {
         opacity: 1;
    }
     80% {
         transform: rotateX(8deg);
    }
     83% {
         transform: rotateX(6deg);
    }
     92% {
         transform: rotateX(-3deg);
    }
     100% {
         transform-origin: top center;
         transform: rotateX(0deg);
    }
}
/*=================================== End contact CSS ======================================*/
/*==================================== Start detailcourse ====================================*/
 .headerdetail {
     width: 100%;
     height: 270px;
     background-color: #012142;
     color: white;
     padding: 30px;
}
 .headerdetail a {
     text-decoration: none;
     font-weight: 600;
     color: white;
}
 .headerdetail a:hover {
     color: rgb(166, 219, 253);
}
 .headerdetail h2 {
     font-weight: 700;
}
 .headerdetail p {
     font-weight: 600;
     width: 94%;
}
 .typeaboutdetail {
     gap: 30px;
     margin-top: 40px;
     display: flex;
}
 .typeaboutdetail i {
     padding: 4px;
}
 .more-information-detail {
     width: 52%;
     height: 70px;
     padding: 10px;
     margin-left: 120px;
     margin-top: 50px;
}
 .overview-section {
     width: 100%;
     height: auto;
     padding: 20px;
}
 .overview-section .overview-information-instruction {
     width: 72%;
     max-width: 500px;
     margin-left: 160px;
     cursor: pointer;
}
 .overview-section .overview-information-instruction ul {
     box-shadow: 0 0 10px 0 rgb(209, 208, 208);
     border-radius: 18px;
     width: 100%;
     max-width: 100%;
     min-height: 60px;
     padding: 12px 18px;
     background-color: #fff;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 16px;
     border: 1px solid rgba(0, 0, 0, 0.08);
     box-sizing: border-box;
     flex-wrap: nowrap;
     overflow-x: auto;
}
 .overview-section .overview-information-instruction ul li {
     text-decoration: none;
     list-style-type: none;
     cursor: pointer;
     padding: 8px 16px;
     min-width: 110px;
     min-height: 38px;
     color: #333;
     font-weight: 600;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     transition: all 0.25s ease;
     border-radius: 8px;
     flex: 0 0 auto;
     white-space: nowrap;
}
 .overview-section .overview-information-instruction ul li:hover {
     background-color: #f0f6ff;
     color: #0d6efd;
     transform: translateY(-2px);
}
 .overview-section .overview-information-instruction ul li.active {
     background-color: #0d6efd;
     color: white;
     font-weight: bold;
     padding: 8px 20px;
     border-radius: 5px;
     margin-bottom: 0;
     transform: translateY(-1px);
}
 .section-oci section {
     display: none;
}
 .section-oci section.active {
     display: block;
}
 .detail-body {
     width: 80%;
     margin: 0 auto;
    /* background-color: #f8eeee;
     */
     display: flex;
     gap: 10px;
     position: relative;
    /* display: grid;
     grid-template-columns: 1fr 1fr 1fr;
     grid-template-rows: auto auto auto;
     grid-template-areas: "box-1 box-1 box-2" "box-3 box-3 box-2" "box-4 box-4 box-2";
     */
}
 .detail-body .section-oci {
     width: 65%;
}
 .section-oci .active #what-you-learn {
     width: 80%;
    /* border: 1px solid rgb(180, 180, 180);
     */
     box-shadow: 0px 0px 6px 0px rgb(186, 186, 186);
     padding: 20px;
     border-radius: 20px;
     margin-top: 10px;
    /* margin-bottom: 30px;
     */
}
 #what-you-learn .text-detail-block {
     display: flex;
}
 #what-you-learn .text-detail-block .fa-solid {
     color: green;
     padding: 5px;
     font-size: 12px;
}
 .section-oci .active #requiment-detail, #detail-descrip-block {
     width: 90%;
     height: auto;
     padding: 20px;
    /* border: 1px solid rgb(180, 180, 180);
     border-radius: 20px;
     */
     margin-top: 10px;
}
 #detail-descrip-block h3, #requiment-detail h3, #what-you-learn h3 {
     font-size: 18px;
     font-weight: 700;
}
 #detail-descrip-block, #requiment-detail, #what-you-learn p {
     font-size: 15px;
}
 .detail-body .boxcard {
     position: sticky;
     top: 94px;
     width: 30%;
     max-width: 380px;
     min-width: 300px;
     height: 630px;
     padding: 10px;
     font-family: var(--font-body);
     border-radius: 24px;
     overflow: hidden;
     box-shadow: 0 0 10px 0 rgb(210, 210, 210);
}
 .detail-body .boxcard img {
     max-width: 100%;
     height: auto;
    /* aspect-ratio: 4 / 4;
     */
    /* height: 177px;
     max-height: 190px;
     */
}
 .coursedetail-price-rating{
     display: flex;
     gap: 40px;
}
 .coursedetail-price-rating{
     h3{
         font-size: 26px;
         font-weight: 700;
         padding: 10px;
    }
     .starate{
         display: flex;
         gap: 5px;
         justify-content: center;
         align-items: center;
         height: 30px;
         margin-top: 10px;
    }
     .starate p{
         margin-top: 15px;
         padding-right: 1px;
         font-weight: 600;
         font-size: 18px;
    }
     .starate i{
         font-size: 14px;
    }
}
 .detail-body button {
     height: 50px;
     width: 100%;
     background-color: #007bff;
     border: none;
     border-radius: 6px;
     font-size: 20px;
     font-weight: 600;
}
 .detail-body button a {
     text-decoration: none;
     color: white;
}
 .detail-body .boxcard .fav-share {
     display: flex;
     justify-content: space-between;
     margin-top: 16px;
}
 .detail-body .boxcard .fav-share .fav, .share {
     width: 49%;
     height: 40px;
     gap: 10px;
     justify-content: center;
     align-items: center;
     display: flex;
     border: 1px solid grey;
     border-radius: 5px;
     cursor: pointer;
}
 .fav-share .fav p, .share p {
     padding-top: 13px;
     font-weight: 600;
     font-size: 18px;
}
 .detail-body .boxcard .certificate-completed {
     width: 90%;
     height: 30px;
     border-radius: 5px;
     margin-top: -15px;
     display: flex;
     padding-left: 3px;
     gap: 4px;
}
 .detail-body .boxcard .certificate-completed i {
     margin-top: 6px;
     color: rgb(114, 113, 113);
     font-size: 20px;
     padding-right: 1px;
}
 .detail-body .boxcard .certificate-completed p {
     font-size: 16px;
     margin-top: 3px;
     font-weight: 600;
     height: 2px;
     color: rgb(114, 113, 113);
}
 #includes-course{
     font-weight: 600;
     font-size: 17px;
     margin-top: 10px;
     height: 30px;
}
 .detail-body .hour-with-icon{
     display: flex;
     gap: 6px;
     height: 20px;
     margin-top: 10px;
     i{
         font-size: 18px;
         margin-top: 4px;
         color: #7b7c7d;
    }
     .hour{
         font-weight: 600;
         color: #7b7c7d;
        ;
    }
}
 .detail-body .boxcard .weekschedule {
     p{
         font-size: 14px;
         color: #7b7c7d;
    }
     i{
         color: #7b7c7d;
    }
}
 .detail-body .boxcard .pweekly {
     height: 85px;
     font-size: 12px;
     line-height: 1.7;
}
/* ====================================curriculum-block-start=========================================== */
 .curriculum-setion {
     width: 82%;
     display: flex;
     justify-content: space-between;
     margin-left: 40px;
}
 .curriculum-setion p {
     font-size: 13px;
     padding: 5px;
}
 .curriculum-setion .section-lecture-hour {
     display: flex;
     gap: 20px;
}
 .acc-inner ul li {
     cursor: pointer;
     list-style: none;
     line-height: 33px;
}
 .acc-inner ul li:hover {
     font-weight: 600;
     color: rgb(34, 85, 251);
}
 .acc-wrap {
     max-width: 720px;
     margin: 0 auto;
}
 .acc-wrap input[type="checkbox"] {
     display: none;
}
 .acc-item {
     border: 1px solid #afaeae;
     border-radius: 10px;
     margin-bottom: 8px;
     overflow: hidden;
    /* background: #f26f6f;
     */
     width: 90%;
}
 .acc-item label {
     background-color: #f2f7ff;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 14px 16px;
     cursor: pointer;
     gap: 12px;
}
 .acc-item label:hover {
     background:#f2f6ff;
}
 .acc-left {
     display: flex;
     align-items: center;
     gap: 10px;
    /* flex: 1;
     */
}
 .acc-left span{
     font-size: 16px;
}
 .arrow-key {
     width: 9px;
     height: 9px;
     border-right: 2px solid #555;
     border-bottom: 2px solid #555;
     transform: rotate(45deg);
     flex-shrink: 0;
     transition: transform 0.25s ease;
     margin-top: -3px;
}
 .acc-title {
     font-size: 14px;
     font-weight: 600;
     color: #222;
}
 .acc-meta {
     font-size: 12px;
     color: #888;
     white-space: nowrap;
     flex-shrink: 0;
}
 .acc-body {
     max-height: 0;
     overflow: hidden;
     background-color: white;
     transition: max-height 0.3s ease;
}
 .acc-inner {
     padding: 10px 16px 14px 16px;
     font-size: 13px;
     color: #555;
     line-height: 1.6;
     border-top: 1px solid #eee;
}
/* When checkbox is checked: open the body and rotate arrow */
 input[type="checkbox"]:checked + .acc-item .acc-body {
     max-height: 200px;
}
 input[type="checkbox"]:checked + .acc-item label .arrow-key {
     transform: rotate(225deg);
     margin-top: 3px;
}
/* ====================================curriculum-block-start=========================================== */
/* ====================================instuctor-block=========================================== */
 .profile-card {
     width: 93%;
     box-shadow: 0 4px 12px rgba(47, 58, 82, 0.2);
    /* max-width:900px;
     */
    /* margin:auto;
     */
    /* background:#fff;
     */
     padding: 20px;
     border-radius: 22px;
}
 .profile-card h3 {
     color: #5069f8;
     margin-bottom: 5px;
}
 .profile-card h5 {
     margin-bottom: 25px;
}
 .top-info {
     display: flex;
     align-items: center;
     gap: 40px;
     margin-bottom: 25px;
}
 .profile-image img {
     width: 145px;
     height: 145px;
     border-radius: 50%;
     object-fit: cover;
     border: 2px solid #8c8d8e;
}
 .stats p {
     margin-bottom: 12px;
     font-size: 16px;
}
 .stats i {
     width: 25px;
}
 .descriptionn p {
     width: 100%;
     margin-bottom: 15px;
     font-size: 14px;
    /* line-height:1.7;
     */
}
 .expertise h5 {
     margin-top: 20px;
     margin-bottom: 15px;
}
 .expertise ul {
     padding-left: 20px;
}
 .expertise li {
     margin-bottom: 10px;
     font-size: 13px;
}
/* =======================================instuctor-end-block========================================= */
 .more-course-detail {
     width: 95%;
     margin: 0 auto;
     align-items: center;
     justify-content: center;
     display: flex;
}
 #h2-more-course {
     margin-top: 90px;
     font-weight: 700;
     text-align: center;
}
/* ===================== 1024px (Tablet Landscape) ===================== */
 @media (max-width: 1024px) {
    /* Header */
     .headerdetail {
         height: auto;
         padding: 20px 24px;
    }
     .headerdetail p {
         width: 100%;
    }
     .typeaboutdetail {
         flex-wrap: wrap;
         gap: 16px;
         margin-top: 20px;
    }
    /* Overview nav */
     .overview-section .overview-information-instruction {
         width: 100%;
         max-width: 640px;
         margin: 0 auto;
    }
     .overview-section .overview-information-instruction ul {
         gap: 12px;
         padding: 10px 14px;
    }
     .overview-section .overview-information-instruction ul li {
         min-width: 96px;
         padding: 8px 12px;
    }
    /* Body layout */
     .detail-body {
         width: 95%;
         flex-direction: row;
         align-items: flex-start;
    }
     .detail-body .section-oci {
         width: 62%;
    }
     .detail-body .boxcard {
         width: 35%;
        /* height: 438px;
         */
         max-height: none;
         position: sticky;
         top: 120px;
    }
    /* Curriculum */
     .acc-wrap {
         max-width: 100%;
    }
     .acc-item {
         width: 100%;
    }
    /* Instructor */
     .profile-card {
         width: 100%;
    }
    /* More courses */
     .more-course-detail {
         width: 100%;
         padding: 0 16px;
    }
     .more-course-detail .mainbox {
         display: grid;
         grid-template-columns: repeat(3, 1fr);
         gap: 16px;
         width: 100%;
    }
     .more-course-detail .mainbox .boxcard {
         width: 100%;
    }
}
/* ===================== 768px (Tablet Portrait) ===================== */
 @media (max-width: 768px) {
    /* Header */
     .headerdetail {
         padding: 20px 16px;
    }
     .headerdetail h2 {
         font-size: 20px;
    }
     .headerdetail p {
         font-size: 13px;
         width: 100%;
    }
     .typeaboutdetail {
         gap: 12px;
         margin-top: 16px;
    }
     .header-deatil span {
         font-size: 13px;
    }
    /* Overview nav */
     .overview-section {
         padding: 12px;
    }
     .overview-section .overview-information-instruction {
         width: 100%;
         max-width: 100%;
         margin: 0 auto;
    }
     .overview-section .overview-information-instruction ul {
         gap: 10px;
         padding: 10px 12px;
    }
     .overview-section .overview-information-instruction ul li {
         min-width: 90px;
         padding: 8px 10px;
    }
    /* Body layout — stack vertically */
     .detail-body {
         width: 100%;
         flex-direction: column;
         gap: 24px;
    }
     .detail-body .section-oci {
         width: 100%;
    }
    /* Sidebar boxcard — full width, reset sticky */
     .detail-body .boxcard {
         width: 60%;
         margin: 0 auto;
        /* height: 500px;
         */
         position: static;
         border: 1px solid #e0e0e0;
         border-radius: 10px;
         padding-bottom: 16px;
    }
     .coursedetail-price-rating{
         justify-content: space-around;
    }
     .detail-body .boxcard img {
         width: 100%;
         height: 200px;
         object-fit: cover;
         border-radius: 10px 10px 0 0;
    }
     .detail-body .boxcard .pweekly {
         max-height: none;
         padding: 0 12px;
         font-size: 13px;
         line-height: 1.8;
    }
     .detail-body .boxcard .weekschedule {
         padding: 0 12px;
         margin-top: 10px;
    }
    /* What you'll learn */
     .section-oci .active #what-you-learn {
         width: 100%;
    }
     .section-oci .active #requiment-detail, #detail-descrip-block {
         width: 100%;
         padding: 12px 0;
    }
    /* Curriculum */
     .curriculum-setion {
         width: 100%;
         flex-direction: column;
         gap: 4px;
    }
     .curriculum-setion .section-lecture-hour {
         flex-wrap: wrap;
         gap: 10px;
    }
     .acc-wrap {
         max-width: 100%;
    }
     .acc-item {
         width: 100%;
    }
     .acc-title {
         font-size: 13px;
    }
    /* Instructor */
     .profile-card {
         width: 100%;
    }
     .profile-image img {
         width: 180px;
         height: 180px;
    }
     .stats p {
         font-size: 14px;
    }
    /* More courses */
     #h2-more-course {
         margin-top: 50px;
         font-size: 20px;
    }
     .more-course-detail {
         width: 100%;
    }
     .more-course-detail .mainbox {
         display: grid;
         grid-template-columns: repeat(2, 1fr);
         gap: 14px;
         width: 100%;
    }
     .more-course-detail .mainbox .boxcard {
         width: 100%;
    }
     .prnrate h3 {
         font-size: 14px;
    }
}
/* ======================= 480px (Mobile) ====================== */
 @media (max-width: 480px) {
    /* Header */
     .headerdetail {
         padding: 16px 12px;
    }
     .headerdetail h2 {
         font-size: 17px;
    }
     .headerdetail p {
         font-size: 12px;
    }
     .typeaboutdetail {
         flex-direction: column;
         gap: 8px;
         margin-top: 12px;
    }
     .header-deatil {
         display: flex;
         align-items: center;
         gap: 6px;
    }
     .header-deatil span {
         font-size: 12px;
    }
    /* Overview nav */
     .overview-section .overview-information-instruction ul {
         gap: 8px;
         font-size: 13px;
         padding: 8px 10px;
    }
     .overview-section .overview-information-instruction ul li {
         min-width: 80px;
         padding: 7px 8px;
         font-size: 12px;
    }
    /* Content text */
     #detail-descrip-block h3, #requiment-detail h3, #what-you-learn h3 {
         font-size: 16px;
    }
     #detail-descrip-block p, #requiment-detail p, #what-you-learn p {
         font-size: 13px;
    }
    /* Sidebar boxcard */
     .detail-body .boxcard {
         width: 85%;
         height: auto;
         border-radius: 8px;
        /* max-height: 450px;
         */
         padding: 9px;
    }
     .detail-body .boxcard img {
         height: 170px;
    }
     .detail-body .boxcard h5 {
         font-size: 16px;
         padding: 8px;
    }
     .detail-body .boxcard h3 {
         font-size: 18px;
    }
     .detail-body .boxcard .pweekly {
         font-size: 11px;
    }
     .detail-body .boxcard .fav-share .fav, .detail-body .boxcard .fav-share .share {
         height: 32px;
         font-size: 13px;
    }
    /* Curriculum accordion */
     .acc-item label {
         flex-direction: column;
         align-items: flex-start;
         gap: 4px;
    }
     .acc-meta {
         padding-left: 20px;
    }
     .acc-title {
         font-size: 12px;
    }
    /* Instructor */
     .profile-card h3 {
         font-size: 26px;
    }
     .profile-card h5 {
         font-size: 13px;
    }
     .profile-image img {
         width: 140px;
         height: 140px;
    }
     .descriptionn p {
         font-size: 13px;
    }
     .expertise ul {
         font-size: 12px;
    }
    /* More courses — single column */
     .more-course-detail .mainbox {
         grid-template-columns: 1fr;
         gap: 12px;
    }
     .more-course-detail .mainbox .boxcard {
         width: 77%;
    }
     #h2-more-course {
         margin-top: 36px;
         font-size: 18px;
    }
}
/*==================================== End detailcourse ====================================*/
/*==================================== Start allcoursedetail.css ====================================*/
 .all-course-header {
    background-image:linear-gradient(135deg, rgba(1, 22, 39, 0.92), rgba(1, 12, 24, 0.7)),
        url(/frontend/asset/images/advertisement/advertisement-slideshow\(2\).webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
     width: 100%;
     height: 265px;
     background-color: #012142;
     color: white;
}
 .all-course-header .descrip-with-searchbox {
     padding: 30px;
     width: 50%;
}
 .all-course-header .descrip-with-searchbox h2 {
     font-weight: 700;
}
 .all-course-header .descrip-with-searchbox .search-course {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-top: 35px;
     background-color: white;
     border-radius: 10px;
     height: 55px;
     overflow: hidden;
     gap: 0;
}
 .descrip-with-searchbox .search-course .fds {
     display: flex;
     align-items: center;
     flex: 1;
    /* .fds grows to fill all available space */
     min-width: 0;
    /* allows flex child to shrink below content size */
}
 .descrip-with-searchbox .search-course .fa-solid {
     color: black;
     font-size: 20px;
     padding: 0 10px;
     flex-shrink: 0;
}
 .descrip-with-searchbox .search-course #seainput {
     flex: 1;
    /* input fills remaining space inside .fds */
     min-width: 0;
    /* critical — prevents overflow on small screens */
     width: 100%;
     font-size: 20px;
     height: 100%;
     color: #000;
     border: none;
     outline: none;
     margin-top: 15px;
     background-color: white;
}
 .descrip-with-searchbox .search-course #search-find-course {
     flex-shrink: 0;
    /* button never shrinks */
     width: 80px;
     height: 100%;
     padding: 0;
     background-color: #007bff;
     border: none;
     border-radius: 0 10px 10px 0;
     color: white;
     font-size: 18px;
     cursor: pointer;
}
 .category-filter-course {
     width: 80%;
     height: auto;
     margin: 0 auto;
     display: flex;
     position: relative;
    /* justify-content: center;
     align-items: center;
     */
}
 .category-filter-course .filter-cate-side {
     width: 30%;
     height: auto;
     margin-top: 45px;
}
 .filter-cate-side .radio-course {
     position: sticky;
     top: 120px;
     width: 100%;
     height: auto;
     border-radius: 10px;
     border: 1px solid rgb(236, 235, 235);
     padding: 15px;
     box-shadow:0px 0px 10px 0px rgb(199, 197, 197);
}
 .radio-course .icon-filters {
     justify-content: space-between;
     display: flex;
     padding-bottom: 12px;
}
 .radio-course .icon-filters .fa-solid {
     padding: 6px;
}
 .icon-filters .filter-clearall {
     display: flex;
}
 .icon-filters span {
     font-size: 15px;
     font-weight: 600;
     color: #0775f3;
     cursor: pointer;
}
 .radio-course .icon-filters span:hover {
     color: #807f7f;
     text-decoration: underline;
}
 .category-filter-course .filters-course-block {
     width: 70%;
     height: auto;
}
 .filters-course-block .mainbox {
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 14px;
     padding: 20px 10px;
     margin-top: 25px;
}
 .filters-course-block .mainbox .boxcard {
     width: 100%;
     display: flex;
     flex-direction: column;
     border: 1px solid #e5e7eb;
     overflow: hidden;
     text-decoration: none;
     color: inherit;
     transition: box-shadow 0.2s ease, transform 0.2s ease;
}
/* .filters-course-block .mainbox .boxcard img{
     height: 170px;
}
 */
/* .filters-course-block .mainbox .boxcard h2{
     font-size: 15px;
}
 */
 .pagination {
     display: flex;
     gap: 14px;
     align-items: center;
     justify-content: center;
    /* margin: 0 auto;
     */
}
 .page-btn {
     margin-top: 50px;
     width: 38px;
     height: 38px;
     border-radius: 50%;
     border: 2px solid #c2c3c4;
     background: #f7f7f7;
     color: #5b677a;
     font-size: 18px;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
    /* transition: all 0.25s ease;
     */
}
 .page-btn:hover {
     background: #e9edf5;
}
 .page-btn.active {
     background: #2563eb;
     color: white;
     border-color: #2563eb;
     font-weight: bold;
}
/*==================================== End allcoursedetail.css ====================================*/
/*==================================== start about.css ====================================*/
 .about-container {
     width: 100%;
     height: auto;
     margin: auto;
}
 .about-container .text-about-description {
     width: 100%;
     height: 240px;
     background-color: #012142;
     background-image:linear-gradient(135deg, rgba(1, 22, 39, 0.92), rgba(1, 12, 24, 0.7)),
        url(/frontend/asset/images/advertisement/advertisement-slideshow\(2\).webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
     padding-top: 50px;
}
 .about-container .text-about-description h1 {
     font-family: var(--font-body);
     color: white;
     font-size: 45px;
     font-weight: 800;
     margin: auto;
     text-align: center;
}
 .about-container .text-about-description p {
     color: white;
     margin: auto;
     text-align: center;
     font-weight: 600;
     padding-top: 10px;
     width: 40%;
}
 .message-teacher-block {
     margin-top: 30px;
}
 .message-by-kru-nhim {
     opacity: 0;
     transform: translateY(30px);
     transition: opacity 1.0s ease, transform 1.0s ease;
     /* width: 70%; */
     width: min(92%, 1070px);
     height: auto;
     padding: 30px;
     display: flex;
     box-shadow: 0px 0px 9px 0px rgb(198, 198, 198);
     border-radius: 23px;
     margin: auto;
     gap: 40px;
}
 .message-by-kru-nhim #message-by-kru-nhim-img {
     transition: transform 0.4s ease;
     width: 50%;
     /* max-width: 100%; */
     height: 485px;
     border-radius: 16px;
     background-color: #eee;
}
 .message-by-kru-nhim #message-by-kru-nhim-img:hover {
     transform: scale(1.03);
}
/* .message-text {
    padding: 9px;
} */

 .message-by-kru-nhim h3 {
     font-family: var(--font-body);
     font-size: 26px;
     font-weight: 700;
}
 .message-by-kru-nhim p {
     font-size: 13px;
     font-weight: 600;
     line-height: 1.3;
}
 .message-by-kru-nhim #color-p {
     color: #1877f2;
}
 .message-by-kru-nhim span {
     font-weight: 700;
     /* position: relative; */
     display: inline-block;
}
/* ==========================================about-us ANIMATION ================================================ */
 .message-by-kru-nhim.visible {
     opacity: 1;
     transform: translateY(0);
}
 .message-by-kru-nhim.visible span::after {
     width: 100%;
}
/* ==========================================about-us ANIMATION end================================================ */
 .about-container .mision-vision {
     width: 77%;
    /* display: flex;
     justify-content: center;
     align-items: center;
     */
     margin: auto;
     display: flex;
     gap: 60px;
}
 .about-container .mision-vision .our-mision-vision-content {
     width: 48%;
     margin-top: 50px;
     height: auto;
     padding: 25px;
     box-shadow: 0 0 8px 0 rgb(207, 206, 206);
     border-radius: 20px;
}
 .about-container .mision-vision .our-mision-vision-content i {
     border-radius: 6px;
     box-shadow: 0 0 5px 0 rgb(174, 174, 174);
     background-color: #eff8ff;
     padding: 7px;
     margin-bottom: 20px;
     font-size: 23px;
     color: #50acf8;
}
 .about-container .mision-vision .our-mision-vision-content p {
    /* font-weight: 600;
     */
     font-size: 16px;
}
 .about-container .mision-vision .our-mision-vision-content h5 {
     font-weight: 700;
     color: #08080a;
}
 .journey-title {
     text-align: center;
     margin-top: 100px;
}
 .journey-title h2 {
     font-size: 26px;
    /* color: #1a1f2e;
     */
     margin-bottom: 6px;
}
 .journey-title p {

     font-size: 14px;
     padding: 10px;
}
/* ── Timeline wrapper ── */
/* ── Timeline wrapper ── */
 .timeline {
     position: relative;
     max-width: 750px;
     margin: 0 auto;
}
/* Center vertical line */
 .timeline::before {
     content: '';
     position: absolute;
     top: 0;
     bottom: 0;
     left: 50%;
     width: 2px;
     border: 2px solid #bebdbd;
    ;
    /* background: #3f3ff7;
     */
     transform: translateX(-50%);
}
/* ── Pink progress line that fills as you scroll ── */
 .timeline::after {
     content: '';
     position: absolute;
     top: 0;
     left: 50%;
     width: 4px;
     height: var(--line-progress, 0%);
     background: #007bff;
     transform: translateX(-50%);
     z-index: 1;
     transition: height 0.1s linear;
}
/* ── Each row ── */
 .timeline-item {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 50px;
     position: relative;
}
/* Reverse order for left-side items */
 .timeline-item.left .timeline-card {
     order: 1;
}
 .timeline-item.left .timeline-spacer {
     order: 3;
}
 .timeline-item .timeline-icon {
     order: 2;
}
 .timeline-item.right .timeline-spacer {
     order: 1;
}
 .timeline-item.right .timeline-card {
     order: 3;
}
/* ── Empty spacer (keeps card on one side only) ── */
 .timeline-spacer {
     flex: 1;
}
/* ── Icon circle on the line ── */
 .timeline-icon {
     flex-shrink: 0;
     width: 36px;
     height: 36px;
     background: #ffffff;
     border: 3px solid #447ae5;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 16px;
     z-index: 2;
     margin: 0 24px;
     color: #007bff;
}
/* ── Card ── */
 .timeline-card {
     position: relative;
     flex: 1;
     background: #f7f8fa;
    /* border: 1px solid #d7d7d9;
     */
     border-radius: 14px;
     padding: 17px 24px;
     box-shadow: 3px 4px 12px rgba(47, 58, 82, 0.1);
     display: block;
     align-items: center;
     gap: 20px;
}
/* On left-side cards, flip the inner order so image sits on the left */
 .timeline-item.left .timeline-card {
     flex-direction: row;
}
 .timeline-item.right .timeline-card {
     flex-direction: row-reverse;
}
 .timeline-card .card-img img {
     width: 312px;
     height: auto;
     background: #d9dadf;
     border-radius: 10px;
     flex-shrink: 0;
}
 .timeline-card .card-text {
     flex: 1;
}
/* Badge year */
 .timeline-item.left .card-text .year-badge {
     position: absolute;
     top: 19px;
     right: 26px;
     display: inline-block;
     background: #e3edff;
     color: #3777ff;
     font-size: 14px;
     font-weight: 600;
     padding: 2px 9px;
     border-radius: 10px;
     margin-bottom: 8px;
}
 .timeline-item.right .card-text .year-badge {
     position: absolute;
     top: 19px;
     left: 26px;
     display: inline-block;
     background: #e3edff;
     color: #3777ff;
     font-size: 14px;
     font-weight: 600;
     padding: 2px 9px;
     border-radius: 20px;
     margin-bottom: 8px;
}
/* Align badge to the right for left-side cards (text-align follows card flow) */
 .timeline-item.right .card-text {
     text-align: left;
}
/* ── Scroll-in animation ── */
 .timeline-item {
     opacity: 0;
     transition: opacity 0.6s ease-out;
}
 .timeline-item.animate {
     opacity: 1;
}
 .timeline-item .timeline-card {
     transition: transform 0.7s ease-out;
}
 .timeline-item.left .timeline-card {
     transform: translateX(-60px);
}
 .timeline-item.right .timeline-card {
     transform: translateX(60px);
}
 .timeline-item.animate .timeline-card {
     transform: translateX(0);
}
 .timeline-item .timeline-icon {
     transform: scale(0);
     transition: transform 0.5s ease-out 0.2s;
    /* slight delay so it pops after the card starts moving */
}
 .timeline-item.animate .timeline-icon {
     transform: scale(1);
}
 .card-text h3 {
     font-size: 22px;
     margin-top: 6px;
     color: black;
}
 .card-text p {
     color: rgb(105, 105, 105);
     width: 100%;
     font-size: 13px;
     line-height: 1.5;
}
 .why-choose-ict {
     margin-top: 100px;
     width: 100%;
     height: auto;
}
 .why-choose-ict h2 {
     text-align: center;
     font-weight: 700;
}
 .why-choose-ict #detail-ict-about {
     text-align: center;
     height: 50px;
     color: grey;
     padding: 10px;
}
 .why-choose-ict .aboutus-detail-block {
     margin: auto;
     gap: 26px;
     width: 95%;
     display: grid;
     margin-top: 16px;
     grid-template-columns: repeat(3, 1fr);
}
 .why-choose-ict .aboutus-detail-block .box-category {
    /* background-color: #edf2f9;
     */
     background-color: rgb(245, 247, 253);
     padding: 20px;
     border-radius: 16px;
     transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}
 .why-choose-ict .aboutus-detail-block .box-category h5 {
    /* color: #000;
     */
     margin-top: 30px;
     font-weight: 700;
}
 .why-choose-ict .aboutus-detail-block .box-category i {
    /* color: #000;
     */
     color: rgb(71,108,220);
     box-shadow: 0 0 5px 0 rgb(194, 194, 194);
     border-radius: 10px;
     background-color: white;
     font-size: 22px;
     padding: 10px;
     transition: color 0.25s ease, transform 0.25s ease;
}
 .why-choose-ict .aboutus-detail-block .box-category:hover {
     transform: translateY(-5px);
     box-shadow: 0 0 10px 0 rgb(180, 180, 180);
     /* box-shadow: 0 18px 36px rgba(28, 39, 63, 0.12); */
 }
 .why-choose-ict .aboutus-detail-block .box-category:hover i {
     transform: translateY(-2px);
 }
 .why-choose-ict .aboutus-detail-block .box-category p {
     color: #6f6e6e;
     font-size: 14px;
}

 .section-title {
     text-align: center;
     margin-top: 60px;
}
 .section-title h2 {
     font-size: 28px;
     font-weight: 700;
     margin-bottom: 8px;
}
 .section-title p {
     font-size: 14px;
     color: #afb0b3;
     margin-bottom: 40px;
}
/* ══════════════════════════ CONNECTOR LINES ══════════════════════════ */
/* Vertical line below a card */
 .line-down {
     width: 2px;
     height: 40px;
     background: #c0c8e0;
     margin: 0 auto;
}
/* Horizontal line that stays aligned with the department row */
 .line-controll {
     position: relative;
     max-width: 1300px;
     margin: 0 auto;
}
 .line-horizontal {
     position: absolute;
     top: 0;
     left: 50%;
     transform: translateX(-50%);
     width: calc(100% - 196px);
     height: 3px;
     background: #c0c8e0;
     z-index: 1;
}
 .dept-col .branch {
     position: relative;
     z-index: 2;
     width: 2px;
     height: 40px;
     background: #c0c8e0;
     border-radius: 999px;
     margin-bottom: 8px;
}
 .top-card {
    /* background: #ffffff;
     */
     border-radius: 16px;
     padding: 28px 30px 20px;
     width: 240px;
     margin: 0 auto;
     border: 1px solid rgb(82, 81, 81);
     box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
 .top-card img {
     margin: auto;
     align-items: center;
     justify-content: center;
     display: flex;
     width: 55%;
     height: 55%;
     border-radius: 50%;
     object-fit: cover;
}
 .top-card h3 {
     font-size: 17px;
     font-weight: 700;
     margin-top: 10px;
     text-align: center;
}
 .top-card .role {
     font-size: 13px;
     color: #8892a4;
     margin-bottom: 14px;
     text-align: center;
}
 .social-icons {
     display: flex;
     justify-content: center;
     gap: 10px;
}
 .social-icons a {
     width: 30px;
     height: 30px;
     background: #dde8ff;
     color: #3777ff;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 13px;
     text-decoration: none;
}
 .social-icons a:hover {
     background: #3777ff;
     color: #fff;
}
 .mid-card {
    /* background: #ffffff;
     */
     border-radius: 16px;
     padding: 20px 30px;
     width: 220px;
     margin: 0 auto;
     border: 1px solid rgb(82, 81, 81);
     box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
 .mid-card img {
     margin: auto;
     align-items: center;
     justify-content: center;
     display: flex;
     width: 50%;
     height: 50%;
     border-radius: 50%;
    /* object-fit: cover;
     */
}
 .mid-card h3 {
     font-size: 15px;
     font-weight: 700;
     margin-top: 8px;
     text-align: center;
}
 .mid-card .role {
     font-size: 12px;
     color: #8892a4;
     text-align: center;
}
 .dept-card .dept-name {
     font-size: 13px;
     font-weight: 700;
     margin-bottom: 12px;
}
 .dept-card .person {
     display: flex;
     align-items: center;
     gap: 10px;
}
 .dept-card .person img {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     object-fit: cover;
     flex-shrink: 0;
}
 .dept-card .person h4 {
     font-size: 13px;
     font-weight: 700;
     margin-bottom: 2px;
}
 .dept-card .person span {
     font-size: 11px;
     color: #959ca8;
}
/* -------------------------------css-tree-binary-block-start----------------------------- */
/* ── Dropdown toggle button ── */
 .dept-card .view-team-btn {
     display: flex;
     align-items: center;
     justify-content: space-between;
     width: 100%;
     margin-top: 12px;
     padding-top: 10px;
     border: none;
     border-top: 1px solid #dadada;
     background: none;
     font-size: 12px;
     color: #8892a4;
     cursor: pointer;
     transition: transform 0.8s ease;
}
/* ── Team cards appear BELOW the dept-card ── */
 .dept-col .team-dropdown {
     display: flex;
     flex-direction: column;
     gap: 12px;
     margin-top: 0;
     max-height: 0;
     opacity: 0;
     overflow: hidden;
     pointer-events: none;
     transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.3s ease;
}
 .team-dropdown.show {
     max-height: 2500px;
     opacity: 1;
     margin-top: 12px;
     pointer-events: auto;
}
 .team-dropdown .team-member-card img {
     width: 50px;
     height: 50px;
     border-radius: 50%;
     object-fit: cover;
     margin: 0 auto 10px;
     display: block;
}
 .team-dropdown .team-member-card h4 {
     font-size: 14px;
     font-weight: 700;
     margin-bottom: 4px;
}
 .team-dropdown .team-member-card .role {
     font-size: 12px;
     color: #8892a4;
     margin-bottom: 4px;
}
 .team-dropdown .team-member-card .social-icons {
     display: flex;
     justify-content: center;
     gap: 8px;
}
 .team-dropdown .team-member-card .social-icons a {
     width: 28px;
     height: 28px;
     background: #dde8ff;
     color: #3777ff;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 12px;
     text-decoration: none;
}
 .team-dropdown .team-member-card .social-icons a:hover {
     background: #3777ff;
     color: #fff;
}
/* ── Wrap each column (dept-card + its team) ── */
 .bottom-row .dept-col {
     margin-top: -20px;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 0;
}
/* ══════════════════════════ BOTTOM ROW - RESPONSIVE ══════════════════════════ */
 .bottom-row {
     position: relative;
     display: flex;
     justify-content: center;
     gap: 20px;
     flex-wrap: wrap;
     margin-top: 0;
     padding-top: 24px;
}
 .dept-card {
     border-radius: 16px;
     padding: 9px;
     width: 200px;
     text-align: left;
     border: 1px solid rgb(82, 81, 81);
     box-shadow: 0 4px 16px rgba(0,0,0,0.06);
}
 .team-dropdown .team-member-card {
     border: 1px solid rgb(205, 202, 202);
     border-radius: 16px;
     padding: 20px 16px;
     box-shadow: 0 4px 16px rgba(0,0,0,0.06);
     text-align: center;
     width: 200px;
}
/* ── 1300px: 4 columns ── */
 @media (max-width: 1300px) {
     .top-card{
         width: 200px;
    }
     .mid-card{
         width: 190px;
    }
     .line-horizontal {
         width: 80%;
        /* width: calc(100% - 240px);
         */
    }
     .bottom-row {
         gap: 18px;
         justify-content: center;
    }
     .dept-col {
         width: calc(16% - 18px);
         align-items: center;
    }
     .dept-col .dept-card {
         width: 100%;
    }
     .dept-col .dept-card .dept-name {
         font-size: 11px;
         text-align: center;
    }
     .dept-card .person {
         display: block;
    }
     .dept-card .person img {
         width: 48px;
         height: 48px;
         display: flex;
         align-items: center;
         justify-content: center;
         margin: auto;
    }
     .dept-card .person div {
         margin-top: 10px;
         line-height: 0.8;
         text-align: center;
    }
     .dept-card .person h4 {
         font-size: 11px;
    }
     .dept-card .person span{
         font-size: 10px;
    }
     .dept-card .person .social-icons a {
         width: 25px;
         height: 25px;
    }
     .dept-card .person .social-icons a i {
         font-size: 13px;
    }
     .dept-card {
         width: 100%;
         box-sizing: border-box;
    }
     .dept-col .team-dropdown{
         width: 100%;
    }
     .dept-col .team-dropdown .team-member-card{
         width: 100%;
         gap: 10px;
    }
}
/* ── 1024px: 3 columns ── */
 @media (max-width: 1024px) {
     .line-horizontal {
         width: 58%;
    }
     .bottom-row {
         gap: 16px;
         justify-content: center;
    }
     .dept-col {
         width: calc(33.33% - 56px);
         align-items: center;
    }
     .dept-card .person h4 {
         font-size: 14px;
    }
     .dept-card .person span{
         font-size: 12px;
    }
     .dept-col .dept-card .dept-name {
         font-size: 14px;
         text-align: center;
    }
     .dept-card .person img {
         width: 55px;
         height: 55px;
    }
     .dept-card .person .social-icons a {
         width: 35px;
         height: 35px;
    }
     .dept-card .person .social-icons a i {
         font-size: 17px;
    }
     .bottom-row > .dept-col:nth-child(4), .bottom-row > .dept-col:nth-child(5), .bottom-row > .dept-col:nth-child(6) {
         margin-top: 10px;
    }
     .bottom-row > .dept-col:nth-child(4) .branch, .bottom-row > .dept-col:nth-child(5) .branch, .bottom-row > .dept-col:nth-child(6) .branch {
         display: none;
         margin-top: 6px;
    }
     .dept-card{
         width: 100%;
         box-sizing: border-box;
    }
     .dept-col .team-dropdown .team-member-card{
         width: 100%;
         gap: 20px;
    }
}
/* ── 768px: 2 columns ── */
 @media (max-width: 768px) {
     .line-horizontal {
         width: 40%;
    }
     .bottom-row {
         gap: 20px;
         justify-content: center;
    }
     .dept-col .dept-card .dept-name {
         font-size: 14px;
         text-align: center;
    }
     .dept-card .person img {
         width: 55px;
         height: 55px;
    }
     .dept-card .person h4 {
         font-size: 14px;
    }
     .dept-card .person span{
         font-size: 12px;
    }
     .dept-col {
         width: calc(40% - 14px);
         align-items: center;
    }
     .dept-card {
         width: 100%;
         box-sizing: border-box;
         margin: 10px;
    }
     .bottom-row > .dept-col:nth-child(3) {
         margin-top: 10px;
    }
     .bottom-row > .dept-col:nth-child(3) .branch, .bottom-row > .dept-col:nth-child(4) .branch, .bottom-row > .dept-col:nth-child(5) .branch, .bottom-row > .dept-col:nth-child(6) .branch{
         display: none;
    }
     .dept-col .team-dropdown{
         width: 100%;
    }
     .dept-col .team-dropdown .team-member-card{
        /* width: 240px;
         */
         width: 100%;
         gap: 10px;
    }
}
/* ── 480px: 1 column ── */
 @media (max-width: 480px) {
    .partnership__title{
        font-size: 24px;
    }
     .top-card{
         width: 280px;
    }
     .mid-card{
         width: 270px;
    }
     .line-horizontal, .dept-col .branch {
         display: none;
    }
     .dept-col .dept-card .dept-name {
         font-size: 14px;
         text-align: center;
    }
     .bottom-row {
         flex-direction: column;
         justify-content: center;
         align-items: center;
         gap: 12px;
         padding: 0 0px;
         padding: 1rem;
    }
    /* .dept-col .dept-card .person{
         display: flex;
    }
     */
     .dept-col .dept-card .person h4{
         font-size: 14px;
    }
     .dept-col {
         width: 82%;
         align-items: center;
        /* margin: 20px;
         */
    }
     .dept-card .person img {
         width: 58px;
         height: 58px;
         margin:auto;
    }
     .person div{
         margin-right: 10px;
    }
     .dept-card .person .social-icons a {
         width: 40px;
         height: 40px;
    }
     .dept-card .person .social-icons a i {
         font-size: 17px;
    }
     .dept-card{
         width: 90%;
        /* box-sizing: border-box;
         */
    }
     .dept-col .team-dropdown{
         width: 90%;
    }
     .dept-col .team-dropdown .team-member-card{
         gap: 10px;
         width: 100%;
    }
}
/* -------------------------------css-tree-binary-block-end----------------------------- */
/* Main Section */
 .website-dev-team-block {
     background: #012142;
     padding: 50px;
     color: white;
     margin-top: 50px;
}
 .website-dev-team-block h2 {
     font-weight: 700;
}
 .website-dev-team-block > p {
     color: #d0d0d0;
     font-weight: 600;
     margin-bottom: 40px;
}
/* Layout */
 .developer-team-box {
     display: grid;
     grid-template-columns: 1.0fr 1.6fr;
     gap: 50px;
}
/* Project Manager Card */
 .project-manager-web {
     border: 2px solid #0d6efd;
     border-radius: 15px;
     padding: 30px;
     background: #091938;
     box-shadow: 0 0 12px rgba(13,110,253,.5);
     transition: border-bottom 0.3s ease;
}
 .project-manager-web:hover {
     border-bottom: 9px solid rgb(77, 77, 255);
     transform: translateY(-4px);
}
/* Team Members Area */
 .member-team-block {
     display: grid;
     grid-template-columns: repeat(2,1fr);
     gap: 25px;
}
/* Member Card */
 .member-team-dev {
     border: 2px solid #0d6efd;
     border-radius: 15px;
     padding: 20px;
     background: #091938;
     box-shadow: 0 0 12px rgba(13,110,253,.4);
     transition: border-bottom 0.3s ease;
}
 .member-team-dev:hover {
     border-bottom: 7px solid rgb(77, 77, 255);
     transform: translateY(-3px);
}
/* Image + Text */
 .img-name-role {
     display: flex;
     align-items: center;
     gap: 15px;
     margin-bottom: 20px;
}
 .img-name-role img {
     width: 70px;
     height: 70px;
     border-radius: 50%;
     border: 2px solid white;
     object-fit: cover;
}
 .img-name-role #img {
     width: 95px;
     height: 95px;
}
 .name-role h5 {
     margin: 0;
     font-size: 19px;
}
 .name-role p {
     margin-top: 5px;
     color: #0d6efd;
     font-size: 13px;
     font-weight: bold;
     line-height: 2.2;
}
 .name-role p > span {
     background-color: #122161;
     padding: 5px 8px;
     margin-top: 1px;
     border-radius: 5px;
}
/* Manager Description */
 #web-manager-quote {
     margin: 25px 0;
     line-height: 1.6;
     color: #e0e0e0;
}
/* Skill Buttons */
 .technicial-skill {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
}
 .technicial-skill button {
     background: transparent;
     color: #bfcfff;
     border: 1px solid #0d6efd;
     font-size: 13px;
     padding: 7px 7px;
     border-radius: 8px;
     cursor: pointer;
}
 .our-gallery-block {
     width: 100%;
     margin-top: 80px;
}
 .our-gallery-block h2 {
     text-align: center;
     font-family: var(--font-body);
     font-weight: 700;
}
 .our-gallery-block p {
     text-align: center;
     font-weight: 600;
}
 .our-gallery-block .our-gallery-category .tab {
     gap: 20px;
     margin-top: 40px;
     align-items: center;
     display: flex;
     justify-content: center;
}
 .our-gallery-block .our-gallery-category .tab button {
    padding: 10px 20px;
     border: 1px solid rgb(177, 174, 174);
     font-weight: 600;
     font-size: 16px;
     border-radius: 23px;
}
/* Change background color of buttons on hover */
 .our-gallery-block .our-gallery-category .tab button:hover {
     background-color: #dcdcdd;
     color: rgb(7, 7, 7);
     font-weight: 600;
}
 .our-gallery-category .tabcontent .about-gallery {
     margin: auto;
     width: 90%;
     height: auto;
     padding-top: 50px;
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     row-gap: 20px;
}
 .our-gallery-category .tabcontent .about-gallery img {
     margin: auto;
     width: 95%;
     max-width: 95%;
     height: auto;
    /* max-height: 240px;
     */
     padding: 1px;
     border: 1px solid rgb(228, 226, 226);
     border-radius: 20px;
}
/* Create an active/current tablink class */
 .our-gallery-block .our-gallery-category .tab button.active {
     background-color: #0d3863;
     font-weight: 600;
     color: white;
}
/* Style the tab content */
 .tabcontent {
     display: none;
     padding: 6px 12px;
     border-top: none;
}
 .tabcontent.active {
     display: block;
}
/*==================================== End about.css ====================================*/
/* RESPONSIVE MEDIA QUERIES ┌─────────────────────────────────────────┐ │ > 1024px → Desktop (base styles) │ │ ≤ 1024px → Tablet landscape │ │ ≤ 768px → Tablet portrait │ │ ≤ 480px → Mobile phone │ └─────────────────────────────────────────┘ */
/* =======================================our gallery/developer team RESPONSIVE ===================================== */
 @media (max-width: 1024px) {
     .website-dev-team-block {
         padding: 40px 30px;
    }
     .member-team-block .member-team-dev .img-name-role .name-role {
         margin-top: 14px;
    }
     .member-team-block .member-team-dev .img-name-role h5 {
         font-size: 14px;
    }
     .member-team-block .member-team-dev .img-name-role .name-role p {
         font-size: 12px;
    }
     .developer-team-box {
         grid-template-columns: 1fr 1.4fr;
         gap: 30px;
    }
     .member-team-dev .technicial-skill button {
         font-size: 12px;
    }
     .member-team-block {
         gap: 18px;
    }
     .our-gallery-category .tabcontent .about-gallery {
         width: 95%;
         grid-template-columns: repeat(3, 1fr);
    }
     .our-gallery-category .tabcontent .about-gallery img {
         height: auto;
    }
}
 @media (max-width: 768px) {
     .website-dev-team-block {
         padding: 30px 20px;
    }
     .developer-team-box {
         grid-template-columns: 1fr;
         gap: 25px;
    }
     .member-team-block {
         grid-template-columns: repeat(2, 1fr);
         gap: 16px;
    }
     .img-name-role #img {
         width: 75px;
         height: 75px;
    }
     .name-role h5 {
         font-size: 16px;
    }
     .our-gallery-block .our-gallery-category .tab {
         flex-wrap: wrap;
         gap: 8px;
    }
     .our-gallery-block .our-gallery-category .tab button {
         width: 110px;
         font-size: 14px;
    }
     .our-gallery-category .tabcontent .about-gallery {
         width: 90%;
         grid-template-columns: repeat(2, 1fr);
         padding-top: 30px;
         margin: auto;
    }
     .our-gallery-category .tabcontent .about-gallery img {
         height: auto;
         max-width: 100%;
    }
}
 @media (max-width: 480px) {
     .project-manager-web .img-name-role #img {
         width: 90px;
         height: 90px;
    }
     .member-team-block .member-team-dev .img-name-role img {
         width: 80px;
         height: 80px;
    }
     .member-team-block .member-team-dev .img-name-role h5 {
         font-size: 20px;
    }
     .member-team-block .member-team-dev .img-name-role .name-role p {
         font-size: 15px;
    }
     .member-team-dev .technicial-skill button {
         font-size: 15px;
    }
     .member-team-block {
         grid-template-columns: 1fr;
         gap: 14px;
    }
     .project-manager-web, .member-team-dev {
         padding: 16px;
         border-radius: 12px;
    }
     .img-name-role img {
         width: 55px;
         height: 55px;
    }
     .img-name-role #img {
         width: 65px;
         height: 65px;
    }
     .name-role h5 {
         font-size: 14px;
    }
     .name-role p {
         font-size: 12px;
    }
     .technicial-skill button {
         font-size: 11px;
         padding: 5px 6px;
    }
     .our-gallery-block {
         margin-top: 50px;
    }
     .our-gallery-block .our-gallery-category .tab button {
         width: 78px;
         font-size: 11px;
         padding: 4px 5px;
    }
     .our-gallery-category .tabcontent .about-gallery {
         grid-template-columns: 1fr;
         padding-top: 20px;
         row-gap: 14px;
    }
     .our-gallery-block .our-gallery-category .tab button:hover {
         font-size: 12px;
    }
     .our-gallery-category .tabcontent .about-gallery img {
         width: 91%;
         height: 220px;
         margin: auto;
         border-radius: 14px;
    }
}
/* =======================================our gallery/developer team RESPONSIVE end ===================================== */
/* ===== 1024px ===== */
 @media (max-width: 1024px) {
     .about-container .text-about-description p {
         width: 60%;
    }
     .about-container .mision-vision {
         width: 90%;
         gap: 30px;
    }
     .about-container .mision-vision .our-mision-vision-content {
         height: auto;
    }
     .why-choose-ict .aboutus-detail-block {
         grid-template-columns: repeat(2, 1fr);
         width: 90%;
    }
}
/* ===== 768px ===== */
 @media (max-width: 768px) {
     .about-container .text-about-description {
         height: auto;
         padding: 30px 20px;
    }
     .about-container .text-about-description h1 {
         font-size: 32px;
    }
     .about-container .text-about-description p {
         width: 80%;
    }
     .about-container .mision-vision {
         flex-direction: column;
         width: 90%;
         gap: 20px;
    }
     .about-container .mision-vision .our-mision-vision-content {
         width: 100%;
         height: auto;
    }
     .why-choose-ict {
         margin-top: 60px;
    }
     .why-choose-ict #detail-ict-about{
         width: 90%;
         text-align: center;
         margin: auto;
    }
     .why-choose-ict .aboutus-detail-block {
         margin-top: 30px;
         grid-template-columns: repeat(2, 1fr);
         width: 90%;
    }
}
/* ===== 480px ===== */
 @media (max-width: 480px) {
     .about-container .text-about-description h1 {
         font-size: 26px;
    }
     .about-container .text-about-description p {
         width: 90%;
         font-size: 13px;
    }
     .about-container .mision-vision {
         width: 95%;
    }
     .why-choose-ict {
         margin-top: 40px;
    }
     .why-choose-ict #detail-ict-about {
         height: auto;
         padding: 0 15px;
         margin-bottom: 15px;
    }
     .why-choose-ict .aboutus-detail-block {
         grid-template-columns: 1fr;
         width: 95%;
    }
}
/* ══════════════════════════ MEDIA QUERY: 1024px ══════════════════════════ */
/* @media (max-width: 1024px) {
     .bottom-row {
         gap: 14px;
    }
     .dept-card {
         width: 170px;
         padding: 14px;
    }
     .line-horizontal {
         width: 85%;
    }
     .line-branches {
         width: 85%;
    }
}
 */
 @media (max-width: 1200px) {
     .message-by-kru-nhim #message-by-kru-nhim-img {
         position: sticky;
         top: 95px;
         max-width: 100%;
         width: 330px;
         height: 450px;
    }
     .message-text {
         width: 60%;
    }
}
/* --- Tablet landscape (≤ 1024px) --- */
 @media (max-width: 1024px) {
     .all-course-header .descrip-with-searchbox {
         width: 65%;
         padding: 24px;
    }
     .category-filter-course {
         width: 92%;
    }
    /* Unstick the sidebar so it doesn't overlap at smaller heights */
     .filter-cate-side .radio-course {
         position: relative;
         top: 0;
    }
     .filters-course-block .mainbox {
         width: 95%;
         grid-template-columns: repeat(2, 1fr);
         gap: 12px;
         padding: 16px 8px;
    }
    /* ===============================aboutus-start-block===================================== */
     .message-by-kru-nhim {
         /* width: 75%; */
         width: min(92%, 790px);
         height: auto;
         /* display: flex;
        align-items: center; */
         /* height: 400px; */
         gap: 20px;
         /* position: relative; */
    }
     .message-by-kru-nhim #message-by-kru-nhim-img {
         /* position: sticky;
         top: 95px; */
         max-width: 100%;
         height: 450px;
         width: 320px;
    }
     .message-text {
         width: 58%;
    }
     .message-text h3 {
         font-size: 18px;
    }
     .message-text p {
        line-height: 1.2;
         font-size: 11px;
    }
    /* ===============================aboutus-end-block===================================== */
}
/* --- Tablet portrait (≤ 768px) --- */
 @media (max-width: 768px) {
     .all-course-header {
         min-height: auto;
    }
     .all-course-header .descrip-with-searchbox {
         width: 100%;
         padding: 24px 20px;
    }
    /* Stack sidebar above the card grid */
     .category-filter-course {
         width: 95%;
         flex-direction: column;
    }
     .category-filter-course .filter-cate-side {
         width: 100%;
         margin-top: 24px;
    }
    /* Lay filters out horizontally to save space */
     .filter-cate-side .radio-course {
         position: relative;
         top: 0;
         display: flex;
         flex-wrap: wrap;
         gap: 12px;
         align-items: flex-start;
         height: auto;
    }
     .radio-course .icon-filters, .radio-course h5 {
         width: 100%;
    }
     .radio-course form {
         display: flex;
         flex-direction: row;
         flex-wrap: wrap;
         gap: 8px 20px;
    }
     .category-filter-course .filters-course-block {
         width: 100%;
    }
     .filters-course-block .mainbox {
         grid-template-columns: repeat(2, 1fr);
         gap: 12px;
         padding: 16px 0;
         margin-top: 16px;
    }
     .filters-course-block .mainbox .boxcard img {
         height: 150px;
    }
     .filters-course-block .mainbox .boxcard h2 {
         font-size: 16px;
    }
    /* ===============================aboutus-responsive================================= */
     .message-by-kru-nhim {
         width: 95%;
         flex-direction: column;
         align-items: center;
         padding: 16px;
         border-radius: 16px;
    }
     .message-by-kru-nhim #message-by-kru-nhim-img {
         position: absolute;
         top: 18px;
         width: 58%;
         max-width: 300px;
         height: auto;
    }
     .message-text {
         width: 100%;
         margin-top: 400px;
    }
    .message-text p{
        font-size: 13px;
    }
     .message-by-kru-nhim h3 {
         font-size: 19px;
         text-align: center;
    }
    /* ===============================aboutus-responsive================================= */
}
/* --- Mobile phone (≤ 480px) --- */
 @media (max-width: 480px) {
     .all-course-header {
         height: 200px;
    }
     .all-course-header .descrip-with-searchbox {
         padding: 20px 16px;
    }
     .all-course-header .descrip-with-searchbox h2 {
         font-size: 1.25rem;
    }
     .all-course-header .descrip-with-searchbox .search-course {
         height: 48px;
         margin-top: 20px;
    }
     .descrip-with-searchbox .search-course .fa-solid {
         font-size: 16px;
    }
     .descrip-with-searchbox .search-course #seainput {
         font-size: 17px;
         margin-top: 17px;
         height: 30px;
    }
     .descrip-with-searchbox .search-course #search-find-course {
         height: 100%;
         font-size: 16px;
         width: 70px;
        /* min-width: 64px;
         */
    }
     .category-filter-course {
         width: 100%;
         padding: 0 12px;
    }
     .category-filter-course .filter-cate-side {
        /* height: 100px;
         */
         width: 100%;
         height: auto;
    }
     .category-filter-course .filter-cate-side .radio-course form {
         flex-direction: row;
         width: 100%;
         font-size: 16px;
         gap: 10px;
         display: grid;
    }
    /* .filter-cate-side .radio-course form .dffge{
         grid-template-columns: repeat(, 1fr);
    }
     */
    /* Single-column card grid on mobile */
     .filters-course-block .mainbox {
         grid-template-columns: 1fr;
         width: 70%;
         row-gap: 22px;
         padding: 12px 0;
         margin-top: 12px;
    }
     .filters-course-block .mainbox .boxcard #course-imgg {
         height: 160px;
    }
    /* Stack radio filters vertically again */
     .radio-course form {
         flex-direction: column;
         gap: 8px;
    }
     .pagination {
         gap: 8px;
         padding: 24px 0 32px;
    }
     .page-btn {
         width: 32px;
         height: 32px;
         font-size: 15px;
    }
    /* ===============================aboutus-responsive================================= */
     .message-by-kru-nhim {
         width: 90%;
         padding: 12px;
         margin: auto;
         border-radius: 12px;
         gap: 12px;
    }
     .message-by-kru-nhim #message-by-kru-nhim-img {
         width: 80%;
         max-width: 180px;
         /* position: absolute; */
         top: 12px;
    }
     .message-by-kru-nhim .message-text {
         margin-top: 240px;
    }
    .message-by-kru-nhim .message-text h3{
         font-size: 15px;
         margin-bottom: 30px;
         color: rgb(54, 126, 252);
    }
    .message-by-kru-nhim .message-text p{
        font-size: 12px;

    }
    .message-by-kru-nhim .message-text span {
         font-size: 11px;
    }

     .message-by-kru-nhim h3 {
         font-size: 14px;
    }
     .message-by-kru-nhim p {
         font-size: 9px;
    }
    /* ===============================aboutus-responsive================================= */
}
 @media only screen and (min-width: 1400px) {
     .aboutschool .text .typecategory {
         width: 100%;
    }
     .aboutschool {
         height: 500px;
    }
}
 @media only screen and (min-width: 1500px) {
    /* body{
         width: 82%;
         margin: 0 auto;
    }
     */
     .video-carousel {
         width: 100%;
         height: 720px;
    }
     .vc-caption {
         width: 100%;
         margin-left: 160px;
    }
     .vc-caption h2, em {
         font-size: 40px;
    }
     .category-filter-course {
         width: 95%;
    }
     .filter-cate-side .radio-course {
         width: 75%;
         margin-left: 40px;
    }
     .filters-course-block .mainbox {
         width: 100%;
         grid-template-columns: repeat(3, 1fr);
    }
     .filters-course-block .mainbox .boxcard #course-imgg {
         height: 190px;
    }
     .detail-body .boxcard {
         width: 27%;
    }
     .message-block {
         margin-left: 120px;
    }
}
 @media only screen and (min-width: 1800px) {
     .video-carousel {
         width: 100%;
         height: 720px;
    }
     .showpage {
         width: 90%;
         margin: 0 auto;
         background-color: #1e1e1f;
    }
     .aboutschool {
         width: 70%;
         height: 500px;
         padding-bottom: 30px;
         gap: 80px;
    }
     .teacher-img-with-description {
         width: 69%;
    }
     .container .teacherictblock {
         width: 80%;
         margin: 0 auto;
         padding-top: 40px;
    }
    /* .vc-caption{
         width: 100%;
         margin-left: 160px;
    }
     .vc-caption h2, em{
         font-size: 40px;
    }
     .category-filter-course{
         width: 95%;
    }
     */
     .container .mainbox .boxcard h2 {
         font-size: 17px;
    }
     .filter-cate-side .radio-course {
         width: 60%;
         margin-left: 130px;
    }
     .filters-course-block .mainbox {
         width: 100%;
         grid-template-columns: repeat(4, 1fr);
    }
     .filters-course-block .mainbox .boxcard #course-imgg {
         height: 190px;
    }
     .detail-body .boxcard {
         width: 20%;
         height: 460px;
         padding: 5px;
    }
     .more-course-detail .mainbox {
         grid-template-columns: repeat(6, 1fr);
    }
     .message-block {
         margin-left: 120px;
    }
     #section2 .curriculum-setion {
         width: 75%;
         margin: auto;
    }
     .overview-information-instruction ul {
         margin-left: 90px;
    }
}
 @media (min-width: 2100px) {
     body {
         width: 80%;
         margin: auto;
    }
}
 @media (max-width: 1100px) {
     body {
         width: 100%;
         margin: 0 auto;
    }
     .teacher-cards-grid {
         grid-template-columns: repeat(2, 1fr);
    }
     .aboutschool {
         height: 500px;
    }
}
/* @media (max-width: 790px) {
     body{
         width: 100%;
         margin: 0 auto;
         background-color: rgb(213, 88, 88);
    }
}
 */
 /* @media (min-width: 1100px) {
     .aboutschool {
         height: 500px;
    }
} */
 @media (max-width: 1024px) {
    .header .schoollogo img{
        width: 45px;
        height: 45px;
    }
     .header .schoollogo h2 {
         font-size: 15px;
         padding: 2px;
    }
     .header > ul {
         margin-left: 20px;
    }
     .header > ul > li {
         font-size: 14px;
    }
     .header a, .dropbtn {
         padding: 10px 10px;
    }
     #loginbtn, #registerbtn {
         font-size: 14px;
         width: auto;
         padding: 0 14px;
    }
    /* Hero */
     .showpage {
         gap: 36px;
         padding: 40px 28px;
         height: auto;
    }
     .description {
         width: 48%;
         height: auto;
    }
     .showpage .description h1 {
         font-size: 32px;
    }
     #desone {
         width: 70%;
         font-size: 13px;
    }
     .btndescript #regis {
         width: 210px;
         font-size: 14px;
    }
     .imgdescript img {
         height: 360px;
    }
     .mainbox {
         margin: 0 auto;
         width: 80%;
         display: grid;
         row-gap: 40px;
         grid-template-columns: repeat(2, 1fr);
    }
    /* Cards: 2 columns */
     .mainbox .boxcard {
         margin: 0 auto;
         width: 87%;
    }
    .box-area{
        width: 100%;
        margin: 0 auto;
    }
    /* About */
     .aboutschool {
        flex-direction: column;
         height: auto;
         width: 100%;
         padding: 36px 16px;
         gap: 28px;
    }
    .aboutschool .text{
        width: 97%;
    }
     .aboutschool .imgaboutschool {
         width: 80%;
         min-width: 90%;
         /* min-width: 320px; */
         height: auto;
    }
     .teacher-img-with-description {
         width: 92%;
         height: auto;
         padding: 16px;
    }
     .teacher-img-with-description img {
         width: 170px;
         height: 170px;
         position: relative;
    }
     .teacher-img-with-description .teacher-nhim-text-descript {
         padding-left: 16px;
         margin-top: 10px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript p {
         font-size: 17px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript h3 {
         font-size: 19px;
         margin-top: 10px;
    }
     .text h3 {
         width: 100%;
    }
    .typecategoryaboutschool{
         width: 100%;
         height: auto;
         padding: 16px;
        }
     .typecategoryaboutschool .typecategory {
         width: 100%;
         height: 120px;
    }
    /* .messagenhotline {
         max-width: 80%;
         padding: 30px;
    }
     */
     .messagenhotline {
         flex-wrap: wrap;
         padding: 24px;
         gap: 16px;
    }
     .message-block {
         width: 88%;
         margin: 0 auto;
         padding: 24px;
    }
     .contact-information-with-map {
         width: 100%;
         padding: 24px;
    }
     .hotline {
         width: 100%;
         padding: 16px;
         height: auto;
    }
     .question-block {
         padding: 40px 30px;
    }
}
 @media (max-width: 768px) {
     .body {
         width: 100%;
    }
    /* ── Header ── */
     .header {
         height: 72px;
         /* width: 100%; */
    }
     .header > ul {
         display: none;
    }
     .theme-toggle-btn {
         position: fixed;
         top: 17px;
         right: 65px;
         bottom: 0;
         z-index: 99;
         overflow-y: auto;
    }
     .navbtn {
         display: none;
    }
    /* hide desktop buttons */
     .hamburger {
         display: flex;
         margin-left: auto;
    }
     .mobile-drawer {
         top: 72px;
    }
     .header .schoollogo img {
         width: 48px;
         height: 48px;
    }
     .header .schoollogo h2 {
         font-size: 14px;
         padding: 10px 12px;
    }
    /* ── Carousel ── */
    /* .carousel img {
         max-height: 280px;
    }
     */
    /* ── Category icons — 2×2 grid ── */
     .catagoryicon {
        height: 400px;
         padding: 28px 10px;
    }
     .catagoryicon h1 {
         font-size: 25px;
         padding: 10px;
    }
     .catagoryicon #category-title-block{
         width: 87%;
         font-size: 12px;
    }
     .catagoryicon .mainboxicon {
         flex-wrap: wrap;
         width: 100%;
         height: auto;
         /* background-color: #e0e0e0; */
         row-gap: 20px;
    }
     .mainboxicon .boxcategory {
         /* width: 166px; */
         width: 46%;
         height: 120px;
         padding: 20px 10px;
    }
     .mainboxicon .boxcategory i {
         font-size: 40px;
    }
    /* ── Hero — vertical stack ── */
     .showpage {
         flex-direction: column;
         margin-top: 120px;
         /* height: 500px; */
        background-color: lightgoldenrodyellow;
         gap: 28px;
         padding: 36px 20px 40px;
         text-align: center;
    }
     .theme-toggle-btn {
         position: fixed;
         top: 13px;
         right: 65px;
         bottom: 0;
         z-index: 99;
         overflow-y: auto;
    }
     .description {
         width: 100%;
         height: auto;
    }
     .showpage .description h1 {
         font-size: 30px;
         line-height: 1.25;
    }
     #desone {
         width: 70%;
         font-size: 13px;
    }
     .description #p {
         font-size: 13px;
         line-height: 1.7;
    }
     .btndescript {
         flex-direction: column;
         align-items: center;
         gap: 10px;
         margin-top: 16px;
         display: flex;
    }
     .btndescript #studyon, .btndescript #regis {
         width: 60%;
         max-width: 340px;
         font-size: 15px;
    }
     .studentenroll {
         justify-content: center;
         flex-wrap: wrap;
    }
     .imgdescript {
         width: 100%;
    }
     .imgdescript img {
         height: 240px;
         width: 100%;
         border-radius: 16px;
    }
    /* ── Search — stack ── */
     .search {
         flex-direction: column;
         height: auto;
         padding: 20px;
         margin: 0;
         gap: 14px;
         align-items: flex-start;
    }
     .search h2 {
         font-size: 22px;
         margin-left: 0;
    }
     .search .searchbox {
         margin-right: 0;
         width: 100%;
    }
     .search .searchbox #seainput {
         width: 100%;
         font-size: 14px;
    }
    /* ── Course slider ── */
     .allcoursebox {
         height: auto;
         padding: 14px 6px;
    }
     /* .coursebox .acb {
         min-width: 120px;
         height: 64px;
    } */
     .coursebox .acb p {
         font-size: 14px;
    }
    /* ── Course cards — 1 column ── ================================================ boxcard update ===================== */
     .mainbox {
         width: 94%;
         padding: 24px 16px;
         gap: 16px;
         display: grid;
         grid-template-columns: repeat(2, 1fr);
    }
     .mainbox .boxcard {
         width: 100%;
        /* min-width: unset;
         */
         margin: 0 auto;
    }
    .mainbox .boxcard .detail-boxcard{
        height: 140px;
    }
     .mainbox .boxcard img {
        /* height: 180px;
         */
         height: auto;
         max-width: 100%;
         width: 100%;
    }
     /* .mainbox .boxcard .teacher img {
         width: 30px;
         height: 30px;
         border-radius: 50%;
         background-color: #1877f2;
    } */
     /* .teacher > p{
         font-size: 12px;
         margin-top: 14px;
    } */
     .boxcard h2{
         font-size: 14px;
         margin-top: 5px;
    }
     .boxcard .weekschedule {
         margin-top: 8px;
    }
     .boxcard .weekschedule i{
         font-size: 10px;
    }
     .boxcard .weekschedule p{
         font-size: 11px;
    }
     .boxcard .pweekly {
         color: #767575;
         font-size: 9px;
    }
     .boxcard .prnrate{
         margin-top: -10px;
    }
     .prnrate h3{
         font-size: 13px;
    }
     .prnrate .starate p{
         font-size: 11px;
    }
     .prnrate .starate i{
         font-size: 9px;
    }
    /* ── About school ── */
     .aboutschool {
         flex-direction: column;
         height: auto;
         width: 100%;
         padding: 36px 16px;
         gap: 28px;
    }
     .aboutschool .text {
         width: 100%;
         height: auto;
    }
     .text h3 {
         width: 100%;
         font-size: 20px;
    }
    .text #WCU{
            font-size: 22px;
            margin-bottom: 20px;
    }
     .text .typecategoryaboutschool {
         grid-template-columns: 1fr 1fr;
         min-width: unset;
         width: 100%;
    }
     .typecategoryaboutschool .typecategory {
         width: 100%;
         height: auto;
         min-height: 110px;
         display: block;
    }

    /* .typecategoryaboutschool .typecategory p{
        text-align: start;
    } */
    .typecategoryaboutschool .typecategory .fa-solid, .typecategoryaboutschool .typecategory .fa-regular{
        margin:0 auto 10px;
        display: flex;
        align-items: center;
        justify-content: center;

    }
     .aboutschool .imgaboutschool {
         width: 90%;
    }
     .aboutschool img {
         height: 320px;
         width: 88%;
         justify-content: center;
         align-items: center;
         display: flex;
         margin: 0 auto;
    }
     .aboutschool p {
         text-align: center;
    }
     .aboutschool h3 {
         text-align: center;
    }
     .teacher-img-with-description {
         width: 75%;
         flex-direction: column;
         align-items: center;
         height: auto;
         padding: 16px;
         margin: 0 auto;
    }
     .teacher-img-with-description img {
         width: 180px;
         height: 180px;
    }
     .teacher-img-with-description .fa-solid {
         top: 200px;
         left: 360px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript {
         padding-left: 0;
         margin-top: 14px;
         text-align: center;
    }
     .teacher-img-with-description .teacher-nhim-text-descript p {
         font-size: 18px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript h3 {
         font-size: 20px;
        /* margin-top: 8px;
         */
         margin: 0 auto;
         width: 90%;
    }
     .teacherictblock {
         text-align: center;
         padding: 0 16px;
    }
     .iconwithtext {
         justify-content: center;
    }
     #contacth2 {
         font-size: 1.6rem;
         margin-top: 30px;
    }
     #contactp {
         font-size: 0.95rem;
         padding: 0 16px;
    }
     .messagenhotline {
         width: 100%;
        /* gap: 10px;
         */
    }
     .message-block {
         width: 100%;
         padding: 24px;
    }
    /* 3 info cards side-by-side */
     .contact-information-with-map{
         width: 100%;
    }
     .hotline {
         width: 100%;
         height: auto;
         display: grid;
         gap: 12px;
    }
     .location {
         width: 100%;
         align-items: center;
         text-align: center;
         padding: 16px 10px;
    }
     .contact-information-with-map iframe{
         margin-top: 180px;
    }
     .location p {
         text-align: left;
    }
     .question-block {
         padding: 30px 20px;
    }
    /* iframe {
         height: 320px !important;
    }
     */
    /* ===========================aboustus.css block start=====================================*/
     .timeline-card {
         width: 40%;
    }
     .timeline-card .card-img img {
         max-width: 100%;
         height: auto;
    }
    /* ========================================aboustus.css block end============================================*/
}
 @media (max-width: 480px) {
    /* ── Header ── */
     .header {
         height: 62px;
    }
     .header .schoollogo img {
         width: 40px;
         height: 40px;
         margin-left: 12px;
    }
     .header .schoollogo h2 {
         font-size: 10px;
         padding: 0;
         /* padding: 8px 10px; */
    }
    .header .schoollogo span{
        font-size: 11px;
    }
     .mobile-drawer {
         top: 62px;
    }
    /* ── Carousel ── */
     .carousel img {
         max-height: 200px;
    }
    /* ── Category icons ── */
     .catagoryicon {
         padding: 20px 6px;
    }
     .catagoryicon .mainboxicon {
         row-gap: 12px;
    }
     .mainboxicon .boxcategory {
         width: 48%;
         height: 100px;
         padding: 16px 6px;
    }
     .mainboxicon .boxcategory p {
         font-size: 13px;
    }
     .mainboxicon .boxcategory .clp {
         font-size: 13px;
    }
     .mainboxicon .boxcategory i {
         font-size: 35px !important;
    }
     .boxcategory #activest, .boxcategory #professionaltea, .boxcategory #languagesavail, .boxcategory #trainingevents{
         font-size: 15px;
    }
    /* ── Hero ── */
     .showpage {
         padding: 24px 14px 32px;
         margin-top: 110px;
         gap: 22px;
    }
     .showpage .description h1 {
         font-size: 26px;
    }
     #desone {
         width: 90%;
         font-size: 12px;
         height: 34px;
    }
     .description #p {
         font-size: 12px;
    }
    /* code updated 1 line ah krom */
     .btndescript {
         display: flex;
         flex-direction: column;
         align-items: center;
         gap: 10px;
    }
     .btndescript #studyon, .btndescript #regis {
         font-size: 14px;
    }
     .studentenroll .st-pic {
         width: 32px;
         height: 32px;
    }
     .imgdescript img {
         height: 200px;
         border-radius: 12px;
    }
    /* ── Search ── */
     .search {
         padding: 16px 14px;
         gap: 10px;
    }
     .search h2 {
         font-size: 18px;
    }
     .search .searchbox #seainput {
         font-size: 16px;
    }
    /* ── Course slider ── */
     .allcoursebox {
         padding: 12px 4px;
    }
     .allcoursebox button {
         width: 26px;
         height: 26px;
         font-size: 13px;
         margin: 4px;
    }
     .coursebox .acb {
         min-width: 85px;
         height: 36px;
    }
     .coursebox .acb p {
         font-size: 12px;
    }
    /* ── Course cards ── */
     .mainbox {
         margin-top: 20px;
         padding: 16px 12px;
         row-gap: 24px;
         width: 100%;
         grid-template-columns: repeat(2, 1fr);
    }
    .mainbox .boxcard .detail-boxcard{
        height: auto;
    }

     .boxcard > img {
         height: 160px;
    }
     .boxcard h2 {
         font-size: 11px;
    }
     .teacher button {
         width: 90px;
         font-size: 12px;
    }
     .teacher p{
        font-size: 10px;
    }
     .prnrate h3 {
        font-size: 11px;
    }
     .boxcard .weekschedule {
        margin-top: 7px;
    }
     .boxcard .weekschedule p{
         font-size: 8px;
    }
     .boxcard .pweekly {
         color: #828282;
         margin-top: -10px;
         height: 47px;
         font-size: 7px;
    }
     .boxcard .prnrate{
         height: 28px;
    }
     .boxcard .prnrate h3{
         font-size: 10px;
    }
     .prnrate .starate{
         margin-top: 3px;
    }
     .prnrate .starate p{
         font-size: 10px;
    }
     .prnrate .starate i{
         font-size: 7px;
    }

    .card-areaa #blogsection{
        font-size: 20px;
    }
    .card-areaa #blog_description{
        width: 80%;
        font-size: 12px;
    }
    /* ── About school — single column ── */

     .text .typecategoryaboutschool {
         grid-template-columns: 1fr;
    }
     .typecategoryaboutschool .typecategory {
         height: auto;
         min-height: unset;
         padding: 12px;
    }
     .teacher-img-with-description {
         width: 90%;
         border-radius: 8px;
         padding: 14px;
         box-shadow: 0px 2px 4px 2px rgba(54, 54, 54, 0.2);
         margin: 0 auto;
    }
     .teacher-img-with-description img {
         width: 120px;
         height: 120px;
         border-radius: 8px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript p {
         font-size: 16px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript span {
         font-size: 13px;
    }
     .teacher-img-with-description .teacher-nhim-text-descript h3 {
         font-size: 15px;
         margin-top: 6px;
    }
    /* teacherictblock */
     .teacherictblock {
         padding: 0 12px;
    }
     .teacherictblock .pt {
         font-size: 14px;
    }
     .iconwithtext h2 {
         font-size: 18px;
    }
     .aboutschool img {
         height: 190px;
    }
     .text h3 {
         font-size: 17px;
    }
     .typecategory .aboutdescri {
         font-size: 11px;
    }
     .teacher-cards-grid {
         grid-template-columns: 1fr;
    }
     #contacth2 {
         font-size: 1.3rem;
         margin-top: 20px;
    }
     #contactp {
         font-size: 0.88rem;
    }
     .messagenhotline {
         padding: 9px;
         width: 100%;
    }
     .message-block {
         padding: 18px;
         border-radius: 14px;
    }
     .message-block h3 {
         font-size: 1rem;
    }
     input[type="text"], textarea {
         font-size: 0.9rem;
         padding: 10px;
    }
     .message-block button {
         padding: 12px;
         font-size: 0.95rem;
    }
     .contact-information-with-map{
         width: 100%;
    }
    /* Stack cards vertically on small phones */
     .hotline {
         width: 100%;
        /* flex-direction: row;
         */
    }
     .location {
         width: 100%;
        /* flex: 1 1 100%;
         */
         flex-direction: column;
         align-items: center;
        /* text-align: center;
         */
         padding: 12px;
    }
     .location .fas {
         margin: 0 14px 0 0;
    }
     .location p {
         text-align: center;
         font-size: 18px;
    }
     .contact-information-with-map iframe{
         margin-top: 270px;
    }
     .question-block {
         padding: 24px 14px;
    }
     .question-block h1 {
         font-size: 1.2rem;
    }
     iframe {
         height: 240px !important;
    }
    /* ===========================aboustus.css block start=====================================*/
    /* .timeline-card {
         flex-direction: column;
         align-items: flex-start;
         gap: 12px;
    }
     .timeline-item.left .timeline-card, .timeline-item.right .timeline-card {
         flex-direction: column;
    }
     .timeline-card .card-img {
         width: 100%;
         height: 140px;
    }
     */
     .timeline::before {
         left: 27px;
    }
     .timeline::after {
         left: 27px;
    }
    /* .timeline-card .card-img {
         width: 100%;
         margin: auto;
    }
     */
     .timeline-item, .timeline-item.left, .timeline-item.right {
         flex-direction: row;
         width: 85%;
         align-items: flex-start;
    }
    /* Hide spacer on mobile so card takes full width */
     .timeline-spacer {
         display: none;
    }
    /* Force icon to far left, card to the right of it */
     .timeline-item.left .timeline-icon, .timeline-item.right .timeline-icon {
         order: 1;
         margin: 0 16px 0 10px;
    }
     .timeline-item.left .timeline-card, .timeline-item.right .timeline-card {
         order: 2;
        /* flex-direction: row;
         */
         flex-direction: column;
         text-align: left;
        /* width: 50%;
         */
    }
     .timeline-item.left .card-text, .timeline-item.right .card-text {
         text-align: left;
    }
}
 @media (max-width: 1100px) {
     .footer-grid {
         grid-template-columns: 1fr 1fr 1fr;
         gap: 36px;
    }
     .footer-brand {
         grid-column: 1 / -1;
    }
     .footer-brand .brand-row {
         margin: auto;
         align-items: center;
         justify-content: center;
         display: grid;
    }
    .footer-brand .brand-row .footerimg{
        margin: auto;
    }

     .footer-brand .socials{
         display: flex;
         justify-content: center;
         align-items: center;
    }
     .brand-tagline {
         text-align: center;
    }
     .brand-tagline {
         max-width: 100%;
    }
    /* ===========================aboustus.css block end=====================================*/
}
 @media (max-width: 768px) {
     .partnership {
         padding: 60px 5% 60px;
    }
     .partner-card {
         width: 130px;
         height: 76px;
    }
     .footer-grid {
         grid-template-columns: 1fr 1fr;
         gap: 32px;
    }
     .footer-brand {
         grid-column: 1 / -1;
    }
     .footer-brand .brand-row {
         margin: auto;
         align-items: center;
         justify-content: center;
    }
     .footer-brand .socials{
         display: flex;
         justify-content: center;
         align-items: center;
    }
     .app-col {
         grid-column: 1 / -1;
    }
}
 @media (max-width: 480px) {
     .partnership {
         padding: 50px 4% 50px;
    }
     .footer-grid {
         grid-template-columns: 1fr;
         gap: 28px;
    }
     .brand-row{
         display: grid;
    }
     .brand-row .footerimg{
         background-color: #0056b3;
         margin-left: 17px
    }
     .footer-brand .socials{
         display: flex;
         justify-content: center;
         align-items: center;
    }
     footer {
         padding: 50px 5% 0;
    }
}
