/* ==========================================================================
   VUTA FOOTER - dùng chung cho các website của VUTA
   Bố cục kiểu MISA: logo, khối thông tin công ty + các cột link,
   hàng mạng xã hội / chứng nhận, thanh bản quyền.
   File tự đủ: không phụ thuộc vuta.css hay vuta.lib.css.
   Cần: Font Awesome (icon .fab), ảnh icon trong /themes/vuta2/assets/images/
        (location-1.svg, home.svg, call.svg, email.svg, category.svg, license.svg,
         logo-bocongthuong.png, dmca_protected.png)
   Đổi màu/độ rộng ở khối biến ngay bên dưới.
   ========================================================================== */
.vf {
    --vf-width: 1320px;
    --vf-text: #141414;
    --vf-accent: #ffc300;
    --vf-accent-dark: #b97a00;
    --vf-line: rgba(185, 122, 0, 0.25);
    --vf-dark: #1c1e22;
    --vf-bar: #212529;
    color: var(--vf-text);
    font-size: 14px;
}
.vf *,
.vf *::before,
.vf *::after {
    box-sizing: border-box;
}
.vf ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.vf li {
    background: none;
}
.vf a {
    text-decoration: none;
}
.vf strong {
    font-weight: 700;
    color: inherit;
}

/* Container */
.vf .vuta-container {
    margin: 0 auto;
    padding: 0 15px;
}

/* Khối chính: nền gradient (trên trắng để logo vàng nổi, dưới vàng mật) */
.vf .vf__main {
    padding: 30px 0 24px;
    background:
        radial-gradient(ellipse 45% 55% at 92% 100%, rgba(255, 150, 0, 0.30) 0%, rgba(255, 150, 0, 0) 100%),
        linear-gradient(180deg, #ffffff 0%, #fffdf6 22%, #ffeeb8 62%, #ffc94d 100%);
}
.vf .vf__brand img {
    width: 150px;
    height: auto;
}

/* Lưới: khối công ty + 3 cột link */
.vf .vf__grid {
    display: grid;
    grid-template-columns: 2fr repeat(3, 1fr);
    gap: 32px;
    margin-top: 16px;
}
.vf .vf__company-name {
    margin: 0 0 16px;
    color: var(--vf-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.vf .vf__contact li,
.vf .vf__license {
    display: flex;
    align-items: center;
    gap: 14px;
    font-size: 14px;
    line-height: 22.4px;
    color: var(--vf-text);
}
.vf .vf__contact li {
    margin: 0 0 14px;
}
.vf .vf__contact img {
    filter: brightness(0);
}
.vf .vf__license {
    align-items: flex-start;
    margin: 0;
}
.vf .vf__license img {
    flex: none;
    width: 20px;
    height: 20px;
    margin-top: 1px;
}
.vf .vf__contact a,
.vf .vf__col ul li a {
    color: var(--vf-text);
    font-size: 14px;
    font-weight: 400;
    transition: color 0.2s;
}
.vf .vf__contact a:hover,
.vf .vf__col ul li a:hover {
    color: var(--vf-accent-dark);
}

/* Cột link */
.vf .vf__title {
    position: relative;
    margin: 0 0 16px;
    padding-bottom: 10px;
    color: var(--vf-text);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
}
.vf .vf__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 3px;
    border-radius: 2px;
    background: var(--vf-accent);
}
.vf .vf__col ul li a::before,
.vf .vf__col ul li a::after {
    content: none;
    display: none;
}
.vf .vf__col ul li a {
    border-bottom: 0;
}
.vf .vf__col ul li {
    background: none;
    margin: 0 0 12px;
    padding: 0;
    line-height: 22.4px;
}

/* Banner quảng cáo (QC_FOOTER) - đang ẩn, bỏ display:none để hiện lại */
.vf .vf__ads {
    display: none;
    margin-top: 24px;
}
.vf .vf__ads img {
    max-width: 100%;
    height: auto;
}

/* Hàng mạng xã hội + chứng nhận */
.vf .vf__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--vf-line);
}
.vf .social ul {
    display: flex;
    align-items: center;
}
.vf .social ul li a {
    display: block;
    width: 35px;
    height: 35px;
    margin-right: 10px;
    border-radius: 50%;
    background: var(--vf-dark);
    color: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
    font-size: 15px;
    line-height: 35px;
    text-align: center;
    transition: all 300ms ease;
}
.vf .social ul li a:hover {
    background: #fff;
    color: var(--vf-accent-dark);
    transform: translateY(-2px);
}
.vf .vf__badges {
    display: flex;
    align-items: center;
    gap: 32px;
}
.vf .vf__badges figure {
    margin: 0;
}
.vf .vf__badges #bct img {
    width: 125px;
}
.vf .vf__badges #DM img {
    width: 91px;
}

/* Thanh bản quyền */
.vf .vf__bottom {
    padding: 10px 0;
    background: var(--vf-bar);
    color: #fff;
    font-size: 14px;
}
.vf .vf__bottom-content {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}
.vf .vf__copyright a {
    color: var(--vf-accent);
    font-weight: 700;
}
.vf .vf__policy a {
    color: #fff;
}
.vf .vf__policy a:hover {
    color: var(--vf-accent);
}

/* Responsive */
@media (max-width: 1200px) {
    .vf .vf__grid {
        grid-template-columns: repeat(3, 1fr);
    }
    .vf .vf__company {
        grid-column: 1 / -1;
    }
}
@media (max-width: 768px) {
    .vf .vf__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .vf .vf__row {
        justify-content: center;
    }
    .vf .vf__bottom-content {
        flex-direction: column;
    }
}

/* Mobile: logo và tên công ty căn giữa */
@media (max-width: 768px) {
    .vf .vf__brand { text-align: center; }
    .vf .vf__brand a { display: block; text-align: center; }
    .vf .vf__brand img { display: block; margin: 0 auto; }
    .vf .vf__company-name { text-align: center; }
}

/* ==========================================================================
   Thanh cố định dưới đáy trên mobile (.footer-fixed)
   Chép từ vuta.css để file này dùng được cả ở landing page (không nạp vuta.css).
   Giá trị giữ y hệt vuta.css nên không ảnh hưởng các trang đang chạy.
   ========================================================================== */
.footer-fixed {
    display: none;
}
.footer-fixed ul {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    margin: 0;
    padding: 2px 10px;
    list-style: none;
    background: var(--primary, #ffc300);
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: 9999;
    height: 42px;
}
.footer-fixed ul li {
    background: none;
}
.footer-fixed ul li a {
    color: #fff;
    text-decoration: none;
    padding: 5px 7px;
    display: flex;
    align-items: center;
    /* vuta.css chỉ đặt gap cho nút thứ 3 và 4; đặt cho mọi nút để chữ
       không dính vào icon khi thanh có ít nút hơn (landing page) */
    gap: 5px;
    background: hsla(0, 0%, 100%, .2);
    border-radius: 3px;
    font-size: 11px;
    font-weight: 500;
}
.footer-fixed ul li #mobile-button {
    background: var(--primary, #ffc300);
    display: block;
    height: 40px;
    width: 40px;
    text-align: center;
    line-height: 40px;
    margin-top: 4px;
}
.footer-fixed ul li #mobile-button span {
    height: 3px;
    width: 25px;
    background: #fff;
    margin-bottom: 8px;
    display: block;
    color: #fff;
}
.footer-fixed ul li:first-child span:last-child,
.footer-fixed ul li #mobile-button span:last-child {
    margin-bottom: 0;
}
.footer-fixed ul li a img {
    height: 25px;
    width: 25px;
}
.footer-fixed ul li .mobile-logo img {
    width: 25px;
    height: 25px;
}
.footer-fixed ul li:nth-child(3) a,
.footer-fixed ul li:nth-child(4) a {
    display: flex;
    align-items: center;
    gap: 5px;
}
.footer-fixed ul li:last-child a img {
    filter: invert(1) brightness(1);
}

/* Nút gọi: lắc chậm, nhẹ, có nghỉ giữa các lần */
@keyframes footer-phone-shake {
    0%, 40%, 100% { transform: translateX(0); }
    5%, 15%, 25%, 35% { transform: translateX(-2px); }
    10%, 20%, 30% { transform: translateX(2px); }
}
.footer-fixed .animated {
    animation-duration: 1.5s;
    animation-fill-mode: both;
    z-index: 1;
}
.footer-fixed .animated.infinite {
    animation-iteration-count: infinite;
}
.footer-fixed .animated.shake {
    animation-name: footer-phone-shake;
    animation-duration: 4s;
    animation-timing-function: ease-in-out;
}

@media (max-width: 1200px) {
    .footer-fixed {
        display: block;
    }
    .vf {
        padding-bottom: 42px;
    }
}
@media (max-width: 380px) {
    .footer-fixed ul li span {
        display: none;
    }
    .footer-fixed ul {
        justify-content: center;
        gap: 20px;
    }
}
