/*
    ==========================================================================
    HOME V2 - Thiết kế lại trang chủ (phong cách SÁNG, tươi, hiện đại)
    Prefix: uh2- (tránh xung đột với design system hiện có)
    Trang sử dụng: Views/Home/Index.cshtml
    ========================================================================== */

/* ============ 1. HERO ============ */
.uh2-hero {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    /* Ảnh nền full-width (minh họa dồn bên phải, trái để trống cho chữ) */
    background-image: url('../images/banner-hero-bg.webp');
    background-size: cover;
    background-position: center;
    background-color: #0b63d8; /* fallback */
    padding: clamp(1.6rem, 2.8vw, 2.4rem) clamp(1.5rem, 3.5vw, 2.75rem);
    box-shadow: 0 22px 55px -20px rgba(11, 99, 216, 0.55);
    isolation: isolate;
    display: flex;
    align-items: center;
}

/* Ẩn họa tiết CSS vì ảnh nền đã có sẵn */
.uh2-hero-bg, .uh2-hero-dots { display: none; }

/* Bong bóng sáng trang trí */
.uh2-hero-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.uh2-blob { position: absolute; border-radius: 50%; filter: blur(60px); animation: uh2-drift 13s ease-in-out infinite alternate; }
.uh2-blob-1 { width: 380px; height: 380px; background: rgba(255,255,255,.28); top: -150px; right: 6%; }
.uh2-blob-2 { width: 300px; height: 300px; background: #7cc4ff; bottom: -140px; left: -70px; opacity: .5; animation-delay: -5s; }
.uh2-blob-3 { width: 200px; height: 200px; background: #bfe3ff; top: 32%; left: 42%; opacity: .35; animation-delay: -9s; }
@keyframes uh2-drift {
    from { transform: translate(0, 0) scale(1); }
    to   { transform: translate(46px, -36px) scale(1.1); }
}

/* Chấm sáng li ti */
.uh2-hero-dots {
    position: absolute; inset: 0; z-index: 0; opacity: .5;
    background-image: radial-gradient(rgba(255,255,255,.85) 2px, transparent 2.5px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 70% 80% at 70% 30%, #000 20%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse 70% 80% at 70% 30%, #000 20%, transparent 70%);
}

.uh2-hero-inner { position: relative; z-index: 1; }

/* Badge kính */
.uh2-badge {
    display: inline-flex; align-items: center; gap: .5rem;
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.35);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    color: #fff; font-size: .8rem; font-weight: 600;
    padding: .42rem 1rem; border-radius: 999px; margin-bottom: 0.9rem;
}
.uh2-badge .bi { color: #dff1ff; }

/* Tiêu đề hero */
.uh2-title {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 800; line-height: 1.22; letter-spacing: -0.02em;
    margin-bottom: 0.8rem;
    text-shadow: 0 2px 14px rgba(9, 60, 130, .25);
}
.uh2-desc { color: rgba(255,255,255,.94); font-size: 0.95rem; line-height: 1.6; max-width: 480px; margin-bottom: 1.2rem; }

/* Nút CTA */
.uh2-btn-primary {
    background: #fff; color: #0b63d8 !important; border: none;
    font-weight: 700; font-size: 0.9rem; border-radius: 999px; padding: 0.68rem 1.45rem;
    box-shadow: 0 12px 26px -10px rgba(4, 50, 110, .45);
    transition: transform .2s ease, box-shadow .2s ease;
    display: inline-flex; align-items: center; gap: .55rem; text-decoration: none;
    white-space: nowrap;
}
.uh2-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -10px rgba(4, 50, 110, .55); color: #0b63d8 !important; }
.uh2-btn-glass {
    background: rgba(255,255,255,.1); color: #fff !important;
    border: 1.5px solid rgba(255,255,255,.55);
    font-weight: 600; font-size: 0.9rem; border-radius: 999px; padding: 0.68rem 1.45rem;
    transition: transform .2s ease, background .2s ease;
    display: inline-flex; align-items: center; gap: .55rem; text-decoration: none;
    white-space: nowrap;
}
.uh2-btn-glass:hover { transform: translateY(-2px); background: rgba(255,255,255,.22); color: #fff !important; }

/* Cụm trust nhỏ dưới CTA */
.uh2-trust { display: flex; flex-wrap: wrap; gap: 0.7rem 1.2rem; margin-top: 1.15rem; }
.uh2-trust-item { display: flex; align-items: center; gap: .5rem; color: rgba(255,255,255,.92); font-size: .8rem; font-weight: 500; white-space: nowrap; }
.uh2-trust-item .bi { color: #d9efff; font-size: 1.05rem; }

/* (Ảnh minh họa hero giờ là background-image của .uh2-hero) */
@keyframes uh2-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* ============ 2. DẢI THỐNG KÊ ============ */
.uh2-stat-card {
    background: #fff; border: none; border-radius: 20px;
    padding: 1.2rem 1.3rem; height: 100%;
    box-shadow: 0 12px 32px -14px rgba(13, 71, 161, .16);
    display: flex; align-items: center; gap: 1rem;
    transition: transform .22s ease, box-shadow .22s ease;
}
.uh2-stat-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -14px rgba(13, 71, 161, .24); }
.uh2-stat-icon {
    width: 56px; height: 56px; border-radius: 16px; flex: 0 0 56px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.45rem;
}
.uh2-stat-icon--blue  { background: #e3f0fd; color: #1565d8; }
.uh2-stat-icon--green { background: #e4f6e9; color: #1d9d4b; }
.uh2-stat-icon--amber { background: #fdf1de; color: #d9930d; }
.uh2-stat-icon--cyan  { background: #ddf5f2; color: #0d9d94; }
.uh2-stat-value { font-size: 1.5rem; font-weight: 800; color: #14213d; letter-spacing: -0.02em; line-height: 1.15; }
.uh2-stat-label { font-size: .88rem; color: #475569; font-weight: 600; }

/* ============ 3. TIÊU ĐỀ SECTION ============ */
.uh2-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.25rem; }
.uh2-kicker {
    display: inline-flex; align-items: center; gap: .4rem;
    font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
    color: #7c3aed; background: #f1eafe; padding: .32rem .8rem; border-radius: 999px; margin-bottom: .55rem;
}
.uh2-section-title { font-size: 1.5rem; font-weight: 800; color: #14213d; letter-spacing: -0.02em; margin: 0; }
.uh2-section-sub { color: #475569; font-size: .95rem; font-weight: 500; margin: .25rem 0 0; }
.uh2-link-pill {
    display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap;
    background: #eaf3fe; color: #1565d8 !important; font-weight: 700; font-size: .85rem;
    padding: .55rem 1.15rem; border-radius: 999px; text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}
.uh2-link-pill:hover { background: #d9e9fd; transform: translateX(2px); color: #0b54bd !important; }

/* ============ 4. THẺ MÔN HỌC ============ */
.uh2-course {
    background: #fff; border: 1px solid #edf1f7; border-radius: 22px;
    padding: 1.25rem; height: 100%; display: flex; flex-direction: column;
    box-shadow: 0 10px 28px -16px rgba(13, 71, 161, .16);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.uh2-course:hover { transform: translateY(-6px); box-shadow: 0 24px 46px -18px rgba(13, 71, 161, .28); border-color: #d5e7fd; }
.uh2-course-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.uh2-course-icon {
    width: 50px; height: 50px; border-radius: 15px;
    display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.35rem;
    box-shadow: 0 8px 18px -8px rgba(13, 71, 161, .4);
}
.uh2-course-icon--indigo { background: linear-gradient(135deg, #4f46e5, #6d6df5); }
.uh2-course-icon--emerald { background: linear-gradient(135deg, #16a34a, #4ade80); }
.uh2-course-icon--purple { background: linear-gradient(135deg, #9333ea, #c084fc); }
.uh2-course-icon--sky { background: linear-gradient(135deg, #0284c7, #38bdf8); }
/* Logo SVG từ MonHocProfileHelper */
.uh2-course-logo { display: inline-flex; }
.uh2-course-logo svg { width: 30px; height: 30px; }
.uh2-code-badge {
    font-size: .72rem; font-weight: 700; color: #1565d8; background: #eaf3fe;
    border: 1px solid #d5e7fd; padding: .3rem .7rem; border-radius: 999px;
}
.uh2-status-badge {
    font-size: .72rem; font-weight: 700; color: #15803d; background: #e9f9ef;
    border: 1px solid #bbe7c8; padding: .3rem .7rem; border-radius: 999px;
    display: inline-flex; align-items: center; gap: .3rem;
}
.uh2-course-title {
    font-size: 1.05rem; font-weight: 800; color: #0f172a; line-height: 1.42; margin-bottom: .6rem; min-height: 2.9em;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.uh2-course-meta { display: flex; align-items: center; gap: .5rem; font-size: .88rem; color: #334155; font-weight: 600; margin-bottom: 1rem; }
.uh2-course-meta .bi { color: #1565d8; }
.uh2-course-price { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px dashed #e3e9f2; padding-top: .85rem; margin-top: auto; margin-bottom: .95rem; }
.uh2-course-price small { color: #64748b; font-size: .82rem; font-weight: 500; }
.uh2-course-price strong { color: #1565d8; font-size: 1.14rem; font-weight: 800; letter-spacing: -0.01em; }
.uh2-course-btn {
    display: flex; align-items: center; justify-content: center; gap: .45rem;
    background: #eaf3fe; color: #1565d8 !important;
    font-weight: 700; font-size: .88rem; border-radius: 14px; padding: .7rem 1rem;
    text-decoration: none; transition: background .2s ease, transform .2s ease;
}
.uh2-course-btn:hover { background: #1565d8; color: #fff !important; transform: translateY(-2px); }

/* ============ 5. QUY TRÌNH 3 BƯỚC ============ */
.uh2-step {
    background: #fff; border: 1px solid #edf1f7; border-radius: 22px; padding: 1.5rem;
    height: 100%; display: flex; flex-direction: column;
    box-shadow: 0 10px 28px -16px rgba(13, 71, 161, .14);
    transition: transform .25s ease, box-shadow .25s ease;
}
.uh2-step:hover { transform: translateY(-5px); box-shadow: 0 22px 44px -18px rgba(13, 71, 161, .22); }
.uh2-step-num {
    width: 52px; height: 52px; border-radius: 16px; flex: 0 0 52px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.35rem; font-weight: 800; color: #fff;
}
.uh2-step-num--1 { background: linear-gradient(135deg, #2563eb, #60a5fa); box-shadow: 0 10px 20px -8px rgba(37,99,235,.55); }
.uh2-step-num--2 { background: linear-gradient(135deg, #7c3aed, #a78bfa); box-shadow: 0 10px 20px -8px rgba(124,58,237,.55); }
.uh2-step-num--3 { background: linear-gradient(135deg, #059669, #34d399); box-shadow: 0 10px 20px -8px rgba(5,150,105,.55); }
.uh2-step-tag { font-size: .72rem; font-weight: 700; padding: .3rem .75rem; border-radius: 999px; }
.uh2-step-tag--1 { background: #dbeafe; color: #1d4ed8; }
.uh2-step-tag--2 { background: #ede9fe; color: #6d28d9; }
.uh2-step-tag--3 { background: #d1fae5; color: #047857; }
.uh2-step h6 { font-size: 1.05rem; font-weight: 800; color: #14213d; margin: 1rem 0 .5rem; }
.uh2-step p { font-size: .92rem; color: #334155; line-height: 1.6; font-weight: 450; margin-bottom: 1.2rem; }
.uh2-step-btn {
    margin-top: auto; text-align: center; font-weight: 700; font-size: .88rem;
    border-radius: 999px; padding: .7rem 1rem; text-decoration: none;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.uh2-step-btn--1 { background: #eaf3fe; color: #1565d8 !important; }
.uh2-step-btn--1:hover { background: #1565d8; color: #fff !important; transform: translateY(-2px); }
.uh2-step-btn--2 { background: #f1eafe; color: #6d28d9 !important; }
.uh2-step-btn--2:hover { background: #7c3aed; color: #fff !important; transform: translateY(-2px); }
.uh2-step-btn--3 { background: linear-gradient(92deg, #10b981, #34d399); color: #fff !important; box-shadow: 0 10px 22px -10px rgba(16,185,129,.55); }
.uh2-step-btn--3:hover { transform: translateY(-2px); color: #fff !important; filter: brightness(1.05); }

/* ============ 6. ƯU ĐIỂM ============ */
.uh2-feature {
    background: #fff; border: 1px solid #edf1f7; border-radius: 20px; padding: 1.35rem 1rem;
    text-align: center; height: 100%;
    box-shadow: 0 10px 26px -16px rgba(13, 71, 161, .14);
    transition: transform .22s ease, box-shadow .22s ease;
}
.uh2-feature:hover { transform: translateY(-5px); box-shadow: 0 20px 40px -16px rgba(13, 71, 161, .22); }
.uh2-feature-icon {
    width: 54px; height: 54px; border-radius: 17px; margin: 0 auto .8rem;
    display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
}
.uh2-feature h6 { font-size: .95rem; font-weight: 800; color: #14213d; margin-bottom: .35rem; }
.uh2-feature p { font-size: .84rem; color: #475569; font-weight: 500; margin: 0; line-height: 1.5; }

/* ============ 7. FAQ ============ */
.uh2-faq { border-radius: 18px; overflow: hidden; border: 1px solid #edf1f7; box-shadow: 0 10px 28px -18px rgba(13,71,161,.14); }
.uh2-faq .accordion-item { border: none; border-bottom: 1px solid #f1f4f9; }
.uh2-faq .accordion-item:last-child { border-bottom: none; }
.uh2-faq .accordion-button { font-weight: 700; color: #14213d; padding: 1.05rem 1.25rem; font-size: .95rem; background: #fff; }
.uh2-faq .accordion-button:not(.collapsed) { background: #f2f8ff; color: #0b54bd; box-shadow: none; }
.uh2-faq .accordion-button:focus { box-shadow: none; border-color: transparent; }
.uh2-faq .accordion-body { font-size: .88rem; color: #4b5b74; line-height: 1.65; }
.uh2-faq-num {
    width: 36px; height: 36px; border-radius: 11px; flex: 0 0 36px; margin-right: .8rem;
    display: inline-flex; align-items: center; justify-content: center; font-size: .95rem;
}

/* ============ 8. CTA BANNER ============ */
.uh2-cta {
    position: relative; overflow: hidden; border-radius: 26px;
    /* Ảnh nền full-width (minh họa dồn bên phải, trái để trống cho chữ) */
    background-image: url('../images/banner-cta-bg.webp');
    background-size: cover;
    background-position: center;
    background-color: #0b54bd; /* fallback */
    padding: clamp(1.6rem, 3vw, 2.4rem) clamp(1.5rem, 4vw, 3rem);
    box-shadow: 0 22px 50px -18px rgba(11, 84, 189, .5);
    display: flex;
    align-items: center;
}
/* Ẩn vòng tròn trang trí CSS vì ảnh nền đã có sẵn */
.uh2-cta::before, .uh2-cta::after { display: none; }
.uh2-cta-badge {
    display: inline-block; background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.35);
    color: #fff; font-size: .76rem; font-weight: 600; padding: .4rem .95rem; border-radius: 999px; margin-bottom: 1rem;
}
.uh2-cta h3 { color: #fff; font-weight: 800; letter-spacing: -0.02em; font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin-bottom: .6rem; }
.uh2-cta p { color: rgba(255,255,255,.9); font-size: .95rem; max-width: 560px; margin-bottom: 1.4rem; }
.uh2-cta-btn-w {
    background: #fff; color: #0b54bd !important; font-weight: 700; border-radius: 999px;
    padding: .75rem 1.7rem; display: inline-flex; align-items: center; gap: .5rem; text-decoration: none;
    box-shadow: 0 12px 26px -10px rgba(4, 50, 110, .4); transition: transform .2s ease;
}
.uh2-cta-btn-w:hover { transform: translateY(-2px); color: #0b54bd !important; }
.uh2-cta-btn-o {
    border: 1.5px solid rgba(255,255,255,.55); color: #fff !important; font-weight: 600; border-radius: 999px;
    padding: .75rem 1.7rem; display: inline-flex; align-items: center; gap: .5rem; text-decoration: none;
    background: rgba(255,255,255,.08); transition: background .2s ease, transform .2s ease;
}
.uh2-cta-btn-o:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); color: #fff !important; }

/* (Ảnh minh họa CTA giờ là background-image của .uh2-cta) */

/* ============ 9. RESPONSIVE ============ */
@media (max-width: 991.98px) {
    .uh2-hero-visual { margin-top: 1.75rem; }
}
@media (max-width: 575.98px) {
    .uh2-hero { border-radius: 22px; }
    .uh2-stat-value { font-size: 1.3rem; }
    .uh2-trust { gap: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
    .uh2-blob, .uh2-hero-img { animation: none; }
}

/* ===== Hero gọn trên màn hình hẹp (mobile / cửa sổ thu nhỏ) ===== */
@media (max-width: 991.98px) {
    .uh2-hero { padding: 1.25rem 1.1rem; border-radius: 20px; }
    .uh2-title { font-size: clamp(1.5rem, 6vw, 1.9rem); margin-bottom: 0.6rem; }
    .uh2-desc { font-size: 0.85rem; margin-bottom: 0.9rem; }
    .uh2-trust { margin-top: 0.9rem; gap: 0.5rem 0.9rem; }
    .uh2-trust-item { font-size: 0.75rem; }
}
@media (max-width: 575.98px) {
    .uh2-hero { padding: 1.1rem 1rem; }
    .uh2-badge { font-size: 0.72rem; margin-bottom: 0.7rem; }
    .uh2-btn-primary, .uh2-btn-glass { font-size: 0.8rem; padding: 0.55rem 1rem; gap: 0.4rem; }
    .uh2-title { line-height: 1.25; }
}
