@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap");

/* ============================================================
   FLIC FOOTER MODULE v1.6.2
   Chỉ áp dụng cho footer của plugin, không đụng các trang khác.
============================================================ */
.cloudx-flic-ui-active .site-footer,
.cloudx-flic-ui-active footer.site-footer,
.cloudx-flic-ui-active #colophon {
    display: none !important;
}

.cflic-footer,
.cflic-footer * { box-sizing: border-box; }

.cflic-footer {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 56px;
    color: #10233f;
    background:
        radial-gradient(circle at 92% 30%, rgba(7,150,216,.08), transparent 24%),
        linear-gradient(180deg, #f2fbff 0%, #ffffff 44%, #f7fcff 100%);
    border-top: 1px solid #d7edf9;
    font-family: var(--cflic-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif);
    overflow: hidden;
}

.cflic-footer a { text-decoration: none; }

.cflic-footer-wide {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    padding-left: clamp(28px, 5vw, 72px);
    padding-right: clamp(28px, 5vw, 72px);
}

.cflic-footer-main { padding: 62px 0 44px; }

.cflic-footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.55fr) minmax(180px, .9fr) minmax(160px, .78fr) minmax(190px, .88fr) minmax(220px, .95fr);
    gap: 0;
    align-items: start;
}

.cflic-footer-brand-col,
.cflic-footer-col { padding: 0 34px; }
.cflic-footer-brand-col { padding-left: 0; }
.cflic-footer-col { border-left: 1px solid #dcecf7; min-height: 310px; }

.cflic-footer-logo {
    display: inline-flex;
    align-items: center;
    margin-bottom: 18px;
    color: #0796d8;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
}
.cflic-footer-logo img,
.cflic-footer-logo .custom-logo { max-width: 270px; height: auto; display: block; }

.cflic-footer-desc {
    margin: 0 0 20px;
    max-width: 390px;
    color: #304563;
    font-size: 15px;
    line-height: 1.85;
}

.cflic-footer-contact,
.cflic-footer-col ul { list-style: none; margin: 0; padding: 0; }
.cflic-footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    color: #263b59;
    font-size: 15px;
    line-height: 1.65;
}
.cflic-footer-contact li > span:first-child {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 50%;
    background: #e8f7ff;
    color: #078bd0;
    font-size: 15px;
    box-shadow: inset 0 0 0 1px #cfeefd;
}
.cflic-footer-contact a,
.cflic-footer-contact em {
    color: #172033;
    font-style: normal;
    font-weight: 600;
}
.cflic-footer-contact a:hover { color: #0796d8; }

.cflic-footer-brand-socials {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
}
.cflic-footer-brand-socials a,
.cflic-footer-social-list a span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    background: #0796d8;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(7,150,216,.18);
}
.cflic-footer-brand-socials a:hover { transform: translateY(-2px); background: #0678b5; }

.cflic-footer-col h3 {
    position: relative;
    margin: 0 0 24px;
    padding-bottom: 14px;
    color: #10233f;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: .01em;
    text-transform: uppercase;
}
.cflic-footer-col h3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    border-radius: 999px;
    background: #0796d8;
}
.cflic-footer-col li { margin-bottom: 16px; }
.cflic-footer-col li a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #203653;
    font-size: 15px;
    line-height: 1.5;
    transition: color .18s ease, transform .18s ease;
}
.cflic-footer-col li a:hover { color: #0796d8; transform: translateX(3px); }
.cflic-footer-link-arrow { color: #0796d8; font-size: 20px; line-height: 1; }

.cflic-footer-social-col p {
    margin: 0 0 20px;
    color: #304563;
    font-size: 15px;
    line-height: 1.8;
}
.cflic-footer-social-list { display: grid; gap: 14px; }
.cflic-footer-social-list a {
    display: grid;
    grid-template-columns: 40px 1fr 18px;
    align-items: center;
    gap: 14px;
    color: #203653;
    font-size: 15px;
    font-weight: 650;
}
.cflic-footer-social-list a strong { font-weight: 650; }
.cflic-footer-social-list a i { font-style: normal; color: #426280; font-size: 15px; }
.cflic-footer-social-list a:hover strong,
.cflic-footer-social-list a:hover i { color: #0796d8; }
.cflic-footer-social-list a:hover span { transform: translateY(-2px); background: #0678b5; }

.cflic-footer-benefits {
    border-top: 1px solid #dcecf7;
    border-bottom: 1px solid #dcecf7;
    background: rgba(255,255,255,.62);
}
.cflic-footer-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding-top: 28px;
    padding-bottom: 28px;
}
.cflic-footer-benefit {
    display: grid;
    grid-template-columns: 70px 1fr;
    gap: 16px;
    align-items: center;
    padding: 0 30px;
    border-left: 1px solid #dcecf7;
}
.cflic-footer-benefit:first-child { border-left: 0; padding-left: 0; }
.cflic-footer-benefit span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border-radius: 18px;
    color: #087ccc;
    background: #eef8ff;
    font-size: 28px;
    font-weight: 800;
    box-shadow: inset 0 0 0 1px #d6edf9;
}
.cflic-footer-benefit strong { display: block; margin-bottom: 5px; color: #10233f; font-size: 16px; text-transform: uppercase; }
.cflic-footer-benefit p { margin: 0; color: #304563; font-size: 14px; line-height: 1.6; }

.cflic-footer-bottom {
    background: #f5fbff;
}
.cflic-footer-bottom-inner {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: #203653;
    font-size: 14px;
}
.cflic-footer-bottom p { margin: 0; }
.cflic-footer-bottom p a,
.cflic-footer-bottom p strong { color: #0796d8; }
.cflic-footer-bottom-links { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.cflic-footer-bottom-links a { color: #203653; transition: color .18s ease; }
.cflic-footer-bottom-links a:hover { color: #0796d8; }

@media (max-width: 1280px) {
    .cflic-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 0; }
    .cflic-footer-brand-col { grid-column: 1 / -1; padding-right: 0; }
    .cflic-footer-col { min-height: auto; }
    .cflic-footer-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; }
    .cflic-footer-benefit:nth-child(3) { border-left: 0; padding-left: 0; }
}

@media (max-width: 768px) {
    .cflic-footer { margin-top: 40px; }
    .cflic-footer-main { padding: 42px 0 34px; }
    .cflic-footer-grid { grid-template-columns: 1fr; }
    .cflic-footer-brand-col,
    .cflic-footer-col { padding: 0; border-left: 0; }
    .cflic-footer-col { border-top: 1px solid #dcecf7; padding-top: 26px; }
    .cflic-footer-logo img,
    .cflic-footer-logo .custom-logo { max-width: 220px; }
    .cflic-footer-benefit-grid { grid-template-columns: 1fr; }
    .cflic-footer-benefit,
    .cflic-footer-benefit:nth-child(3) { border-left: 0; padding: 0; }
    .cflic-footer-bottom-inner { flex-direction: column; align-items: flex-start; padding-top: 18px; padding-bottom: 18px; }
}


/* v1.6.3 - Footer full width sáng hơn, không bó container */
.cflic-footer-v162 {
    background:
        radial-gradient(circle at 92% 24%, rgba(7,150,216,.07), transparent 25%),
        linear-gradient(180deg, #f5fcff 0%, #ffffff 48%, #f4fbff 100%) !important;
}
.cflic-footer-v162 .cflic-footer-wide {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: clamp(56px, 5vw, 96px) !important;
    padding-right: clamp(56px, 5vw, 96px) !important;
}
.cflic-footer-v162 .cflic-footer-main {
    padding-top: 58px !important;
    padding-bottom: 42px !important;
}
.cflic-footer-v162 .cflic-footer-grid {
    grid-template-columns: minmax(280px, 1.35fr) minmax(190px, .95fr) minmax(170px, .82fr) minmax(200px, .9fr) minmax(230px, .95fr) !important;
}
.cflic-footer-v162 .cflic-footer-logo img,
.cflic-footer-v162 .cflic-footer-logo .custom-logo {
    max-width: 230px !important;
}
.cflic-footer-v162 .cflic-footer-brand-col,
.cflic-footer-v162 .cflic-footer-col {
    padding-left: 32px !important;
    padding-right: 32px !important;
}
.cflic-footer-v162 .cflic-footer-brand-col {
    padding-left: 0 !important;
}
@media (max-width: 1100px) {
    .cflic-footer-v162 .cflic-footer-wide {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* ============================================================
   v1.6.6 - Footer responsive polish
   Sửa lỗi tablet/mobile do cấu hình full width dùng !important.
============================================================ */
@media (max-width: 1280px) {
    .cflic-footer-v162 .cflic-footer-grid {
        grid-template-columns: minmax(260px, 1.2fr) repeat(2, minmax(0, 1fr)) !important;
        gap: 34px 0 !important;
    }

    .cflic-footer-v162 .cflic-footer-brand-col {
        grid-column: 1 / -1 !important;
        padding-right: 0 !important;
    }

    .cflic-footer-v162 .cflic-footer-col {
        min-height: auto !important;
    }
}

@media (max-width: 921px) {
    .cflic-footer-v162 {
        margin-top: 36px !important;
        background: linear-gradient(180deg, #f5fcff 0%, #ffffff 54%, #f5fbff 100%) !important;
    }

    .cflic-footer-v162 .cflic-footer-wide {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .cflic-footer-v162 .cflic-footer-main {
        padding-top: 38px !important;
        padding-bottom: 30px !important;
    }

    .cflic-footer-v162 .cflic-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 28px 22px !important;
    }

    .cflic-footer-v162 .cflic-footer-brand-col {
        grid-column: 1 / -1 !important;
        padding: 0 !important;
        border-left: 0 !important;
    }

    .cflic-footer-v162 .cflic-footer-col {
        padding: 24px 0 0 !important;
        border-left: 0 !important;
        border-top: 1px solid #dcecf7 !important;
    }

    .cflic-footer-v162 .cflic-footer-logo {
        margin-bottom: 14px !important;
    }

    .cflic-footer-v162 .cflic-footer-logo img,
    .cflic-footer-v162 .cflic-footer-logo .custom-logo {
        max-width: 190px !important;
    }

    .cflic-footer-v162 .cflic-footer-desc {
        max-width: none !important;
        font-size: 14px !important;
        line-height: 1.7 !important;
        margin-bottom: 16px !important;
    }

    .cflic-footer-v162 .cflic-footer-contact li {
        gap: 10px !important;
        margin-bottom: 11px !important;
        font-size: 14px !important;
    }

    .cflic-footer-v162 .cflic-footer-col h3 {
        margin-bottom: 16px !important;
        padding-bottom: 10px !important;
        font-size: 15px !important;
    }

    .cflic-footer-v162 .cflic-footer-col li {
        margin-bottom: 10px !important;
    }

    .cflic-footer-v162 .cflic-footer-col li a,
    .cflic-footer-v162 .cflic-footer-social-col p,
    .cflic-footer-v162 .cflic-footer-social-list a {
        font-size: 14px !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit,
    .cflic-footer-v162 .cflic-footer-benefit:nth-child(3) {
        grid-template-columns: 48px 1fr !important;
        gap: 12px !important;
        padding: 0 !important;
        border-left: 0 !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit span {
        width: 46px !important;
        height: 46px !important;
        border-radius: 14px !important;
        font-size: 21px !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit strong {
        font-size: 13.5px !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit p {
        font-size: 13px !important;
    }

    .cflic-footer-v162 .cflic-footer-bottom-inner {
        min-height: 0 !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 10px !important;
    }

    .cflic-footer-v162 .cflic-footer-bottom-links {
        justify-content: center !important;
        gap: 10px 16px !important;
    }
}

@media (max-width: 600px) {
    .cflic-footer-v162 .cflic-footer-wide {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .cflic-footer-v162 .cflic-footer-main {
        padding-top: 32px !important;
        padding-bottom: 26px !important;
    }

    .cflic-footer-v162 .cflic-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
    }

    .cflic-footer-v162 .cflic-footer-brand-col {
        margin-bottom: 24px !important;
    }

    .cflic-footer-v162 .cflic-footer-logo img,
    .cflic-footer-v162 .cflic-footer-logo .custom-logo {
        max-width: 165px !important;
    }

    .cflic-footer-v162 .cflic-footer-brand-socials {
        margin-top: 18px !important;
        gap: 10px !important;
    }

    .cflic-footer-v162 .cflic-footer-brand-socials a,
    .cflic-footer-v162 .cflic-footer-social-list a span {
        width: 36px !important;
        height: 36px !important;
    }

    .cflic-footer-v162 .cflic-footer-col {
        padding-top: 22px !important;
        padding-bottom: 4px !important;
    }

    .cflic-footer-v162 .cflic-footer-social-list {
        gap: 10px !important;
    }

    .cflic-footer-v162 .cflic-footer-social-list a {
        grid-template-columns: 36px 1fr 16px !important;
        gap: 10px !important;
        min-height: 40px !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .cflic-footer-v162 .cflic-footer-benefit {
        align-items: flex-start !important;
    }

    .cflic-footer-v162 .cflic-footer-bottom-links a {
        font-size: 13.5px !important;
    }
}


/* ============================================================
   v1.6.7 - Footer Typography Polish
   Chỉ chỉnh kiểu chữ/khoảng cách của Footer, không ảnh hưởng module khác.
============================================================ */
.cflic-footer-v162 {
    font-family: "Be Vietnam Pro", "Inter", "Segoe UI", Arial, sans-serif !important;
    color: #16233a !important;
    letter-spacing: -0.01em;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.cflic-footer-v162 .cflic-footer-main {
    padding-top: 56px !important;
    padding-bottom: 40px !important;
}

.cflic-footer-v162 .cflic-footer-desc,
.cflic-footer-v162 .cflic-footer-social-col p {
    color: #465a75 !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.85 !important;
}

.cflic-footer-v162 .cflic-footer-contact li {
    color: #2e405c !important;
    font-size: 14.8px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    letter-spacing: -0.005em;
}

.cflic-footer-v162 .cflic-footer-contact a,
.cflic-footer-v162 .cflic-footer-contact em {
    color: #17243a !important;
    font-weight: 600 !important;
}

.cflic-footer-v162 .cflic-footer-contact a:hover {
    color: #057fc1 !important;
}

.cflic-footer-v162 .cflic-footer-col h3 {
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    color: #10233f !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    letter-spacing: .015em !important;
    text-transform: uppercase !important;
}

.cflic-footer-v162 .cflic-footer-col h3::after {
    width: 34px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #0796d8, #24b8f2) !important;
}

.cflic-footer-v162 .cflic-footer-col li {
    margin-bottom: 12px !important;
}

.cflic-footer-v162 .cflic-footer-col li a {
    color: #344760 !important;
    font-size: 14.7px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: -0.006em;
}

.cflic-footer-v162 .cflic-footer-col li a:hover {
    color: #057fc1 !important;
    transform: translateX(4px) !important;
}

.cflic-footer-v162 .cflic-footer-link-arrow {
    color: #0796d8 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.cflic-footer-v162 .cflic-footer-social-list a {
    color: #2f435f !important;
    font-size: 14.8px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: -0.006em;
}

.cflic-footer-v162 .cflic-footer-social-list a strong {
    font-weight: 700 !important;
}

.cflic-footer-v162 .cflic-footer-social-list a i {
    color: #6b7d94 !important;
    font-size: 14px !important;
}

.cflic-footer-v162 .cflic-footer-bottom {
    border-top: 1px solid #dcecf7 !important;
    background: #f7fbff !important;
}

.cflic-footer-v162 .cflic-footer-bottom-inner {
    color: #465a75 !important;
    font-size: 13.8px !important;
    font-weight: 500 !important;
    letter-spacing: -0.005em;
}

.cflic-footer-v162 .cflic-footer-bottom-links a {
    color: #344760 !important;
    font-size: 13.8px !important;
    font-weight: 600 !important;
}

.cflic-footer-v162 .cflic-footer-bottom-links a:hover {
    color: #057fc1 !important;
}

@media (max-width: 900px) {
    .cflic-footer-v162 .cflic-footer-col h3 {
        font-size: 15.5px !important;
        margin-bottom: 16px !important;
    }

    .cflic-footer-v162 .cflic-footer-desc,
    .cflic-footer-v162 .cflic-footer-contact li,
    .cflic-footer-v162 .cflic-footer-col li a,
    .cflic-footer-v162 .cflic-footer-social-col p,
    .cflic-footer-v162 .cflic-footer-social-list a {
        font-size: 14.2px !important;
    }
}

@media (max-width: 600px) {
    .cflic-footer-v162 .cflic-footer-col h3 {
        font-size: 15px !important;
        letter-spacing: .01em !important;
    }

    .cflic-footer-v162 .cflic-footer-desc,
    .cflic-footer-v162 .cflic-footer-contact li,
    .cflic-footer-v162 .cflic-footer-col li a,
    .cflic-footer-v162 .cflic-footer-social-col p,
    .cflic-footer-v162 .cflic-footer-social-list a {
        font-size: 14px !important;
        line-height: 1.65 !important;
    }

    .cflic-footer-v162 .cflic-footer-bottom-inner,
    .cflic-footer-v162 .cflic-footer-bottom-links a {
        font-size: 13.2px !important;
    }
}
