/* ===============================
   HOME – Snap + Sections
   =============================== */

/* Snap scroller */
.home-scroller{
    /*height: auto;*/
    /*overflow: visible;*/
    /*scroll-snap-type: y mandatory;*/
    scroll-snap-type: none;
}
html, body{
    /*scroll-snap-type: y mandatory;*/
    scroll-snap-type: none;
    scroll-behavior: smooth;
}
section{
    /*scroll-snap-align: start;*/
    /*scroll-snap-stop: always;*/
    scroll-snap-align: none;
    scroll-snap-stop: normal;
}
@media (prefers-reduced-motion: reduce){
    .home-scroller{ scroll-behavior: auto; }
}

/* ===============================
   HOME-2 (Chuyên ngành)
   =============================== */

#home-2{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: var(--nav-h);
    padding-bottom: 40px;
}

#home-2 .wrap{
    width: min(1680px, calc(100vw - 120px));
    max-width: none;
    margin: 0 auto;
    transform: translateY(-40px);
}

#home-2 .section-title{
    color: var(--accent);
    font-size: clamp(34px, 3.4vw, 54px);
    font-weight: 700;
    margin: 0 0 26px;
}

#home-2 .specialty{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(18px, 2vw, 36px);
    align-items: start;
    margin-top: 8px;
}

#home-2 .spec-thumb{
    aspect-ratio: 4 / 3;
    box-shadow: none;
    background: #ddd;
}

#home-2 .spec-name{
    margin-top: 18px;
    font-size: clamp(18px, 1.6vw, 26px);
    font-weight: 700;
    color: rgba(0,0,0,.75);
}

@media (max-width: 1024px){
    #home-2 .wrap{
        width: min(1100px, calc(100vw - 80px));
        transform: translateY(-24px);
    }
    #home-2 .specialty{
        grid-template-columns: repeat(2, 1fr);
        gap: 26px;
    }
}

@media (max-width: 600px){
    #home-2{
        align-items: flex-start;
        padding-top: calc(var(--nav-h) + 16px);
    }
    #home-2 .wrap{
        width: calc(100vw - 28px);
        transform: none;
    }
    #home-2 .specialty{
        grid-template-columns: 1fr;
    }
}

/* ===============================
   HOME-3 bottom bar
   Text LEFT – Social RIGHT
   =============================== */

#home-3{ position: relative; }

.home-bottom{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}

.home-bottom__text{
    max-width: 520px;
}

.home-bottom__social{
    display: flex;
    gap: 14px;
    align-items: center;
}

/* shared button style */
.hs-btn{
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: grid;
    place-items: center;

    text-decoration: none;
    font-weight: 800;
    font-size: 14px;

    background: var(--accent);
    color: #fff;

    transition: transform .2s ease, filter .2s ease;
}

.hs-btn:hover{
    transform: translateY(-2px);
    filter: brightness(1.05);
}

@media (max-width: 600px){
    .home-bottom{
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .home-bottom__social{
        align-self: flex-start;
        gap: 12px;
    }

    .hs-btn{
        width: 36px;
        height: 36px;
        font-size: 13px;
    }
}

/* ===============================
   HOME – Vertical Section Nav (FINAL)
   =============================== */
.home-vertical-nav{
    position: fixed;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 999;              /* đè lên mọi thứ */
    pointer-events: auto;      /* đảm bảo click được */

    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* button reset */
.home-vertical-nav .hv-item{
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    padding: 0;
    cursor: pointer;

    width: 6px;
    height: 42px;
    border-radius: 999px;
    background: rgba(255,255,255,.45);
    transition: background .2s ease, transform .2s ease;
}

.home-vertical-nav .hv-item:hover{
    background: rgba(255,255,255,.75);
    transform: scaleY(1.05);
}

.home-vertical-nav .hv-item.active{
    background: var(--accent); /* ✅ đỏ logo */
}

/* Khi screen sáng (nav theme-light) */
.nav.theme-light ~ .home-vertical-nav .hv-item{
    background: rgba(0,0,0,.22);
}
.nav.theme-light ~ .home-vertical-nav .hv-item:hover{
    background: rgba(0,0,0,.40);
}

/* FIX: giữ màu đỏ cho ACTIVE dù nav theme-light hay theme-dark */
.nav.theme-light ~ .home-vertical-nav .hv-item.active{
    background: var(--accent) !important;
}
.nav.theme-dark ~ .home-vertical-nav .hv-item.active{
    background: var(--accent) !important;
}

@media (max-width: 600px){
    .home-vertical-nav{ left: 14px; }
}

