body {
    font-family: 'Roboto', sans-serif;
    background: #f8f9fa;
    max-width: 1440px;
    margin: 0 auto; 
}

a {
    text-decoration: none;
    color: inherit; 
}

a:hover {
    text-decoration: none;
}


.hero-section {
    background: linear-gradient(
        270deg, 
        rgba(255, 255, 255, 0.5) 0%, 
        rgba(42, 116, 189, 0.5) 100%
    );
    color: white;
    overflow: hidden;
    position: relative;
}
.hero-img {
    max-width: 100%;
    height: auto;
}
.feature-box {
    background: rgba(255, 255, 255, 0.329);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}
.feature-box:hover {
    transform: translateY(-10px);
}
.feature-icon {
    width: 80px;
    height: 80px;
}
.card-custom {
    border: 2px solid;
    border-radius: 50px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

.border-blue {
    border-color: #0063AF
}

.border-yellow {
    border-color: #D9CA00
}

.btn-app {
    background: #000;
    color: white;
    border-radius: 30px;
    padding: 8px 20px;
    font-size: 0.9rem;
}
.btn-app img {
    height: 20px;
    margin-right: 8px;
}

.blue-color{
    color: #0063AF;
}

.blue-color-90 {
    color: rgba(0, 99, 175, 0.9);
}

.text-shadow {
    text-shadow: -11px 7px 19px rgba(0, 0, 0, 0.3)
}

.dv-left {
    margin-right: 20px;
}

.lead {
    font-size: 1rem;
}

.ht-tb-container {
    border-radius: 64px;
    border: 2px solid #D1D2D4;
    padding: 64px;
}

.ht-tb {
    background-image: url('./assets/images/bg-tb.png');
    padding: 64px;
}

.ht-sv {
    background-image: url('./assets/images/bg_dv_sv.png');
    padding: 64px;
}

.small-text{
    color: #84858A !important;
    font-size: 14px;
}

.border-bottom-blue {
    border-bottom: 2px solid #0063AF !important;
}

.border-bottom-yellow {
    border-bottom: 2px solid #D9CA00 !important;
}

.feature-box img {
    max-width: 100%;
    height: auto;
    display: block;
}

.card-custom .feature-icon {
    width: 50px;
    height: 50px;
}





.section-title {
    font-weight: 700;
    font-size: 1.6rem;
    color: #2E353A;
    margin-bottom: 1rem;
}
.section-subtitle {
    color: #888888;
    font-size: .8rem;
    max-width: 700px;
    margin: 0 auto 3rem;
}
.card-service {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 18px;
    padding: 24px;
    /* box-shadow: 0 10px 30px rgba(0,0,0,0.07); */
    box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, 0.07);
    height: 280px;
    width: 260px;
    border: none;
    transition: all 0.3s;
}
.card-service:hover {
    /* transform: translateZ(-10px); */
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

.icon-box {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: white;
    flex-shrink: 0;
}
.illustration-student {
    max-width: 380px;
    /* position: absolute; */
    /* right: 20px; */
    /* bottom: 0; */
}
.illustration-lecturer {
    max-width: 320px;
}
@media (max-width: 991.98px) {
    .illustration-student {
    position: static;
    margin: 30px auto 0;
    display: block;
    }
}


.mt-32 {
    margin-top: 32px;
}


.ht-tb-sv {
    background-image: url('./assets/images/bg_dv_sv.png');
}

.title-dv-gv {
    width: 400px;
}

.ht-tb-gv {
    background-image: url('./assets/images/bg_dv_gv.png');
    padding: 64px;
}

.card-service-gv {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 24px;  
    box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, 0.07);
    height: 100px;
    min-width: 400px;
    border: none;
    transition: all 0.3s;
}
.card-service-gv:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

.small-gv {
    font-size: 12px;
}

.card-service-gv img {
    width: 22px;
    height: 20px;
}

.ic-gv {
    width: 40px;
    height: 40px;
    padding: 8px;
    background-color: #f3f5f7;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 18px;
    border-radius: 8px;
}

.ic-gv-yellow {
    width: 40px;
    height: 40px;
    padding: 8px;
    background-color: #FFFCE2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 18px;
    border-radius: 8px;
}

.t-18 {
    font-size: 14px;
}

.ht-ht {
    background-image: url('./assets/images/bg_hoithao.png');
    padding: 64px;
}

.card-custom-ht {
    width: 260px;
    height: 154px;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 18px;
}

.conference-logo-card {
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 18px;
}


.card-service-ql {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 8px;
    padding: 24px;  
    box-shadow: 8px 8px 8px 0px rgba(0, 0, 0, 0.07);
    min-width: 400px;
    border: none;
    transition: all 0.3s;
    border-left: 3px solid #0063AF;
}
.card-service-ql:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

.conference-title {
    font-weight: 700;
    font-size: 1.6rem;
    color: #0063AF;
    margin-bottom: 1rem;
}

.ql-dh-nb {
    background-color: #F8FAFC;
    padding: 64px;
}

.text-blue {
    color: #0063AF;
}

.fs-14 {
    font-size: 14px;
}


footer {
    background: linear-gradient(135deg, #004176, #0063AF);
    color: white;
  }
.app-badge img {
    height: 40px;
}

.fs-16 {
    font-size: 16px;
}

.dv-sv {
    padding: 64px 128px
}

.sv-nu-mobile {
    display: none;
}

.teacher-mobile {
    display: none;
}















/* ============================================= */
/*              MOBILE FIRST (<= 767px)          */
/* ============================================= */
@media (max-width: 767.98px) {
    body {
        /* padding: 0 12px; */
    }

    .ht-tb-sv {
        padding: 48px 24px;
    }

    .sv-nu-mobile {
        flex-direction: row !important;
        justify-content: center;
    }

    .sv-nu-mobile {
        display: flex;
        flex-direction: row !important;
    }
    .logo {
        margin-left: 24px !important;
    }

    .logo-banner {
        display: none;
    }

    .card-banner {
        padding: 10px !important;
        background-color: #0063af33 !important;
    }

    .sv-nu {
        display: none;
    }

    .hero-section {
        text-align: center;
        background-image: url('./assets/images/background_mobile.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: scroll;
    }
    .hero-section .content {
        /* padding-left: 0 !important; */
        padding: 20px !important;
    }

    .dv-sv {
        padding: 10px 20px;
        margin: 24px 12px;
    }

    .mobile-app {
        display: none !important;
    }

    /* Hero section */
    .hero-section {
        padding: 40px 0 !important;
    }

    .hero-img {
        margin-top: 20px;
    }

    .section-title {
        font-size: 1.5rem !important;
        text-align: center;
    }

    .section-subtitle {
        font-size: 0.9rem;
        padding: 0 10px;
    }

    /* Feature boxes */
    .feature-box {
        margin-bottom: 20px;
        padding: 16px;
    }

    .feature-icon {
        width: 60px;
        height: 60px;
    }

    .card-service {
        width: 100% !important;
        height: auto;
        margin: 0 auto 24px;
        display: flex;
    }

    .card-service img {
        margin-right: 10px;
    }

    .icon-box {
        width: 55px;
        height: 55px;
        font-size: 24px;
    }

    .card-content {
        margin: 0 !important;
    }

    /* Card dịch vụ giảng viên */
    .card-service-gv {
        min-width: auto;
        width: 100%;
        height: auto;
        padding: 20px;
        margin-bottom: 16px;
    }

    .ic-gv, .ic-gv-yellow {
        width: 36px;
        height: 36px;
        padding: 6px;
        margin-right: 12px;
    }

    .title-dv-gv {
        width: 100%;
    }

    /* Card hội thảo & quản lý */
    .card-custom-ht {
        width: 100%;
        max-width: 300px;
        margin: 0 auto 20px;
    }

    .card-service-ql {
        min-width: auto;
        width: 100%;
    }

    .conference-logo-card {
        padding: 16px;
        margin-bottom: 16px;
    }

    /* Background sections */
    .ht-tb-container,
    .ht-tb,
    .ht-sv,
    .ht-tb-gv,
    .ht-ht,
    .ql-dh-nb {
        padding: 32px 16px !important;
        border-radius: 32px !important;
    }

    .ht-tb-container {
        border: 1px solid #D1D2D4;
    }

    /* Illustration */
    .illustration-student,
    .illustration-lecturer {
        max-width: 280px;
        margin: 30px auto 0;
        display: block;
    }

    /* Button */
    .btn-app {
        font-size: 0.85rem;
        padding: 10px 18px;
    }

    .btn-app img {
        height: 18px;
    }

    /* Footer app badges */
    .app-badge img {
        height: 36px;
    }

    /* Text sizes */
    .lead {
        font-size: 0.95rem;
    }

    .fs-16, .fs-14 {
        font-size: 14px !important;
    }

    /* Margin & spacing */
    .mt-32 {
        margin-top: 24px;
    }

    .dv-left {
        margin-right: 0;
        margin-bottom: 20px;
    }

    /* Conference title */
    .conference-title {
        font-size: 1.4rem;
    }

    /* Flex column on mobile */
    .d-flex.flex-row,
    .row > [class*="col-"] {
        flex-direction: column !important;
    }

    .text-start,
    .text-end {
        text-align: center !important;
    }
    .ht-tb-container .ht-tb-title {
        flex-direction: column;
        text-align: center !important;
    }

    .teacher-web {
        display: none;
    }

    .teacher-mb-content {
        display: flex;
    }







    
    
}

/* ============================================= */
/*              TABLET / iPad (768px - 1199px)    */
/* ============================================= */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body {
        /* padding: 0 24px; */
    }
    .card-service {
        width: 100%;
        margin-bottom: 20px;
    }

    
    .card-content {
        margin: 0 !important;
    }

    .dv-sv {
        /* padding: 0; */
    }

    .ht-tb-container .ht-tb-title {
        flex-direction: column;
        text-align: center !important;
    }

    .ht-tb .small-text {
        margin-left: 20px
    }

    .teacher-mobile {
        flex-direction: row !important;
    }

    .teacher-mobile {
        display: flex;
        flex-direction: row !important;
    }
    .sv-nu {
        display: none;
    }

    .card-banner {
        padding: 10px !important;
        background-color: #0063af33 !important;
    }

    .hero-section {
        text-align: center;
        background-image: url('./assets/images/background_mobile.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        background-attachment: scroll;
    }
    .hero-section .content {
        /* padding-left: 0 !important; */
        padding: 20px !important;
    }

    .logo-banner {
        display: none;
    }

    .section-title {
        font-size: 1.8rem;
    }

    .section-subtitle {
        font-size: 0.95rem;
    }

    /* Card service */
    .card-service {
        /* width: 280px; */
        /* height: 270px; */
        /* margin: 0 auto; */
    }

    .card-service-gv {
        min-width: 380px;
    }

    /* Background sections */
    .ht-tb-container,
    .ht-tb,
    .ht-sv,
    .ht-tb-gv,
    .ht-ht,
    .ql-dh-nb {
        padding: 48px 32px !important;
        border-radius: 48px !important;
    }

    .illustration-student {
        max-width: 340px;
    }

    .illustration-lecturer {
        max-width: 300px;
    }

    /* Card hội thảo */
    .card-custom-ht {
        width: 240px;
        height: 140px;
    }

    /* Center text on tablet if needed */
    .section-title,
    .section-subtitle {
        text-align: center;
    }

    /* Adjust columns */
    .row {
        justify-content: center;
    }

    .col-md-6,
    .col-lg-4,
    .col-lg-3 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .col-lg-4 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    .teacher-web {
        display: none;
    }

    .teacher-mb-content {
        display: flex;
        justify-content: center;
    }

    .sv-nu-mobile {
        flex-direction: row !important;
    }

    .sv-nu-mobile {
        display: flex;
        flex-direction: row !important;
        justify-content: center;
    }

    .justify-content-lg-end {
        justify-content: center !important;
    }
    footer .text-start {
        text-align: center !important;
    }
}

/* iPad Pro portrait (1024px) - tinh chỉnh thêm nếu cần */
@media only screen 
    and (min-device-width: 1024px) 
    and (max-device-width: 1024px) 
    and (orientation: portrait) 
    and (-webkit-min-device-pixel-ratio: 2) {
    .card-service {
        /* width: 300px; */
    }
    .card-service-gv {
        min-width: 420px;
    }
}