/* Thanh Giang V4 global footer + Branch Hub. Safe on every page. */
:root{--tg-v4-blue:#0757c7;--tg-v4-red:#ef233c;--tg-v4-green:#10b981;--tg-v4-purple:#7c3aed;--tg-v4-navy:#062b52;--tg-v4-yellow:#ffb703}
.tg-v2-footer{position:relative;color:#dce9f8;font-family: var(--tg-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);}
.tg-v2-footer-container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.tg-v2-footer-main{padding:44px 0 30px;background:radial-gradient(circle at 85% 8%,rgba(124,58,237,.22),transparent 25%),linear-gradient(145deg,var(--tg-v4-navy),#04182f);border-top:5px solid #0a65d8}
.tg-v2-footer-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:34px}
.tg-v2-footer-logo img{display:block;max-width:145px;height:auto;margin-bottom:12px}
.tg-v2-footer-brand h2{margin:0 0 8px;color:#fff;font-size:18px;line-height:1.3;font-weight:800}
.tg-v2-footer-brand p{margin:0 0 12px;color:#b8cbe1;font-size:13px;line-height:1.6}
.tg-v2-footer-hotline{display:inline-flex;padding:8px 12px;border-radius:9px;background:var(--tg-v4-red);color:#fff!important;font-size:12px;font-weight:800;text-decoration:none}
.tg-v2-footer-col h3{margin:0 0 13px;color:#fff;font-size:14px;font-weight:800;text-transform:uppercase}.tg-v2-footer-col:nth-child(2) h3{color:#61a8ff}.tg-v2-footer-col:nth-child(3) h3{color:#5ee0af}.tg-v2-footer-col:nth-child(4) h3{color:#ffd45c}
.tg-v2-footer-col ul{list-style:none;margin:0;padding:0}.tg-v2-footer-col li{margin:0 0 8px}.tg-v2-footer-col a,.tg-v2-footer-social a{color:#b8cbe1;text-decoration:none;font-size:13px}.tg-v2-footer-col a:hover,.tg-v2-footer-social a:hover{color:#fff}
.tg-v2-footer-bottom{background:#031426;border-top:1px solid rgba(255,255,255,.08)}.tg-v2-footer-bottom-inner{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#8fa8c2;font-size:12px}.tg-v2-footer-social{display:flex;gap:14px;flex-wrap:wrap}
.tg-v2-mobile-contact{display:none}

/* Branch Hub */
.tg-v4-branch-hub{padding:46px 0;background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%);border-top:1px solid #e2ebf6;font-family: var(--tg-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);}
.tg-v4-branch-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.tg-v4-branch-kicker{display:block;margin-bottom:5px;color:#0757c7;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tg-v4-branch-head h2{margin:0 0 6px;color:#062b52;font-size:30px;line-height:1.18;font-weight:800}.tg-v4-branch-head p{margin:0;color:#607089;font-size:14px}.tg-v4-branch-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tg-v4-branch-tabs button{min-height:38px;padding:8px 15px;border:1px solid #d9e5f3;border-radius:999px;background:#fff;color:#38516f;font-size:12px;font-weight:700;cursor:pointer}.tg-v4-branch-tabs button.is-active{background:#0757c7;border-color:#0757c7;color:#fff;box-shadow:0 7px 16px rgba(7,87,199,.18)}
.tg-v4-branch-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.65fr);gap:22px;align-items:stretch}.tg-v4-branch-map{position:relative;min-height:390px;overflow:hidden;border-radius:20px;background:radial-gradient(circle at 50% 40%,#fff 0%,#e8f4ff 78%);border:1px solid #dbe8f6;box-shadow:0 14px 34px rgba(16,67,117,.08)}.tg-v4-vietnam-map{position:absolute;inset:22px 24%;width:52%;height:calc(100% - 44px);overflow:visible}.tg-v4-vietnam-map path{fill:#cfe7ff;stroke:#1474d4;stroke-width:3;filter:drop-shadow(0 5px 12px rgba(20,116,212,.15))}.tg-v4-branch-point{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;padding:0;border:3px solid #fff;border-radius:50%;background:#ef233c;box-shadow:0 0 0 4px rgba(239,35,60,.16),0 5px 12px rgba(9,65,120,.16);cursor:pointer;transition:.18s ease}.tg-v4-branch-point span{position:absolute;inset:50% auto auto 50%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%);background:#fff}.tg-v4-branch-point.is-active,.tg-v4-branch-point.is-hovered{transform:scale(1.28);background:#ff9f0a;box-shadow:0 0 0 7px rgba(255,159,10,.20),0 8px 18px rgba(9,65,120,.20)}
.tg-v4-branch-directory{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px}.tg-v4-branch-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-content:start}.tg-v4-branch-chip{min-height:44px;padding:9px 11px;border:1px solid #dce7f3;border-radius:11px;background:#fff;color:#213956;font-size:12px;font-weight:700;text-align:left;cursor:pointer;transition:.18s ease}.tg-v4-branch-chip:hover,.tg-v4-branch-chip.is-active{border-color:#3b8ff0;background:#edf6ff;color:#0757c7;transform:translateY(-1px);box-shadow:0 7px 16px rgba(7,87,199,.09)}.tg-v4-branch-detail{position:relative;min-height:210px;padding:22px;border-radius:18px;background:linear-gradient(145deg,#073c82,#0a6ccf);color:#fff;box-shadow:0 16px 36px rgba(6,43,82,.20)}.tg-v4-branch-detail-close{display:none}.tg-v4-branch-detail-label{display:block;margin-bottom:6px;color:#a9d2ff;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.tg-v4-branch-detail h3{margin:0 0 12px;color:#fff;font-size:22px;line-height:1.2}.tg-v4-branch-detail p{margin:0 0 10px;color:#e9f5ff;font-size:13px;line-height:1.55}.tg-v4-branch-phone{font-weight:800;color:#fff!important}.tg-v4-branch-actions{display:flex;gap:8px;margin-top:16px}.tg-v4-branch-actions a{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:800;text-decoration:none}.tg-v4-branch-actions a:first-child{background:#fff;color:#0757c7}.tg-v4-branch-actions a:last-child{background:#ef233c;color:#fff}

@media(max-width:991px){.tg-v2-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.tg-v2-footer-col:last-child{grid-column:2/4}.tg-v4-branch-head{align-items:flex-start;flex-direction:column}.tg-v4-branch-tabs{justify-content:flex-start}.tg-v4-branch-layout{grid-template-columns:220px minmax(0,1fr)}.tg-v4-branch-directory{grid-template-columns:1fr}.tg-v4-branch-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
    .tg-v2-mobile-contact{
        position:fixed;
        z-index:99990;
        left:0;
        right:0;
        bottom:0;

        display:grid !important;
        grid-template-columns:repeat(4,1fr) !important;
        align-items:center !important;

        height:54px !important;
        min-height:54px !important;
        padding:0 !important;
        overflow:visible !important;

        background:rgba(255,255,255,.70) !important;
        border-top:1px solid #d5dfeb !important;
        box-shadow:0 -5px 18px rgba(11,40,78,.16) !important;

        backdrop-filter:blur(8px);
        -webkit-backdrop-filter:blur(8px);
    }

    .tg-v2-mobile-contact > a{
        position:relative !important;

        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-end !important;

        height:54px !important;
        min-height:54px !important;

        margin:0 !important;
        padding:0 0 3px !important;
        gap:0 !important;

        color:#41556e;
        text-decoration:none;
        font-size:11px !important;
        font-weight:700;
        line-height:12px !important;

        box-sizing:border-box !important;
    }

    .tg-v2-mobile-contact-icon{
        position:absolute !important;
        top:-3px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        width:42px !important;
        height:42px !important;
        margin:0 !important;

        border-radius:50%;
        background:var(--tg-v4-blue);
        color:#fff;

        font-size:21px !important;
        line-height:1 !important;
    }

    .tg-v2-mobile-contact > a:nth-child(2) .tg-v2-mobile-contact-icon{
        background:var(--tg-v4-green);
    }

    .tg-v2-mobile-contact > a:nth-child(3) .tg-v2-mobile-contact-icon{
        background:var(--tg-v4-red);
    }

    .tg-v2-mobile-contact > a:nth-child(4) .tg-v2-mobile-contact-icon{
        background:var(--tg-v4-purple);
    }

    .tg-v2-mobile-contact > a span:last-child{
        transform:none !important;
    }

    .tg-v2-mobile-contact > a.is-call,
    .tg-v2-mobile-contact > a:nth-child(3){
        height:54px !important;
        min-height:54px !important;
        transform:none !important;
    }

    .tg-v4-branch-detail{
        bottom:78px;
    }
}

@media(max-width:767px){.tg-v2-footer-main{padding:34px 0 24px}.tg-v2-footer-grid{grid-template-columns:1fr 1fr;gap:24px 18px}.tg-v2-footer-brand{grid-column:1/-1}.tg-v2-footer-col:last-child{grid-column:auto}.tg-v2-footer-bottom-inner{padding:12px 0;align-items:flex-start;flex-direction:column}.tg-v4-branch-hub{padding:32px 0}.tg-v4-branch-head h2{font-size:25px}.tg-v4-branch-map{display:none}.tg-v4-branch-layout,.tg-v4-branch-directory{display:block}.tg-v4-branch-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tg-v4-branch-detail{position:fixed;left:10px;right:10px;bottom:78px;z-index:99998;min-height:0;max-height:72vh;padding:22px 18px 18px;border-radius:20px;transform:translateY(calc(100% + 90px));opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}.tg-v4-branch-detail.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.tg-v4-branch-detail-close{display:flex;position:absolute;right:10px;top:10px;width:34px;height:34px;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:22px;cursor:pointer}}


/* ==========================================================
   FIX FOOTER V4 GLOBAL — BRANCH CONTACT SECTION
   Áp đúng class đang render trong footer.php
========================================================== */

.tg-v4-branch-contact {
    padding: 42px 0;
    background: #f4f8fd;
    font-family: var(--tg-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif);
}

.tg-v4-branch-contact * {
    box-sizing: border-box;
}

.tg-v4-branch-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, .85fr);
    gap: 22px;
    align-items: stretch;
}

.tg-v4-branch-directory-card,
.tg-v4-branch-consult-card {
    border: 1px solid #dbe5f1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(24, 52, 92, .07);
}

.tg-v4-branch-directory-card {
    padding: 22px 24px;
}

.tg-v4-branch-simple-head > span,
.tg-v4-branch-consult-kicker {
    display: block;
    margin-bottom: 6px;
    color: #0757c7;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.tg-v4-branch-simple-head h2,
.tg-v4-branch-consult-card h2 {
    margin: 0 0 8px;
    color: #082458;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 800;
}

.tg-v4-branch-simple-head p,
.tg-v4-branch-consult-card > p {
    margin: 0;
    color: #65758b;
    font-size: 14px;
    line-height: 1.55;
}

/* Danh sách chi nhánh */
.tg-v4-branch-original-list {
    margin-top: 18px;
    max-height: 330px;
    overflow-y: auto;
    padding: 4px 14px 4px 2px;
    scrollbar-width: thin;
    scrollbar-color: #b6c6dc transparent;
}

.tg-v4-branch-original-list::-webkit-scrollbar {
    width: 6px;
}

.tg-v4-branch-original-list::-webkit-scrollbar-thumb {
    background: #b6c6dc;
    border-radius: 10px;
}

.tg-v4-branch-original-list .widget,
.tg-v4-branch-original-list .textwidget,
.tg-v4-branch-original-list ul,
.tg-v4-branch-original-list p {
    font-family: inherit;
}

.tg-v4-branch-original-list .widget {
    margin: 0;
}

.tg-v4-branch-original-list h2,
.tg-v4-branch-original-list h3,
.tg-v4-branch-original-list h4,
.tg-v4-branch-original-list strong {
    color: #082458;
    font-family: inherit;
}

.tg-v4-branch-original-list h2,
.tg-v4-branch-original-list h3,
.tg-v4-branch-original-list h4 {
    margin: 14px 0 6px;
    font-size: 17px;
    line-height: 1.35;
    font-weight: 800;
}

.tg-v4-branch-original-list p,
.tg-v4-branch-original-list li,
.tg-v4-branch-original-list a {
    color: #4b5f78;
    font-size: 14px;
    line-height: 1.55;
}

.tg-v4-branch-original-list p {
    margin: 0 0 6px;
}

.tg-v4-branch-original-list ul {
    margin: 0;
    padding-left: 18px;
}

/* Card tư vấn bên phải */
.tg-v4-branch-consult-card {
    padding: 22px;
    background: linear-gradient(155deg, #0757c7 0%, #173f9e 100%);
    color: #fff;
}

.tg-v4-branch-consult-card .tg-v4-branch-consult-kicker,
.tg-v4-branch-consult-card h2,
.tg-v4-branch-consult-card > p {
    color: #fff;
}

.tg-v4-branch-consult-card > p {
    opacity: .9;
    margin-bottom: 16px;
}

/* Contact Form 7 trong footer */
.tg-v4-branch-consult-card .tg-v2-cf7-wrap,
.tg-v4-branch-consult-card .wpcf7,
.tg-v4-branch-consult-card form.wpcf7-form,
.tg-v4-branch-consult-card form.wpcf7-form p {
    margin: 0;
}

.tg-v4-branch-consult-card form.wpcf7-form {
    display: grid;
    gap: 10px;
}

.tg-v4-branch-consult-card .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
    margin: 0;
}

.tg-v4-branch-consult-card input[type="text"],
.tg-v4-branch-consult-card input[type="tel"],
.tg-v4-branch-consult-card input[type="email"],
.tg-v4-branch-consult-card textarea,
.tg-v4-branch-consult-card select {
    width: 100%;
    margin: 0;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 9px;
    background: #fff;
    color: #17233a;
    font-family: inherit;
    font-size: 14px;
    box-sizing: border-box;
}

.tg-v4-branch-consult-card input[type="text"],
.tg-v4-branch-consult-card input[type="tel"],
.tg-v4-branch-consult-card input[type="email"],
.tg-v4-branch-consult-card select {
    height: 42px;
    padding: 0 12px;
}

.tg-v4-branch-consult-card textarea {
    height: 58px;
    min-height: 58px;
    max-height: 80px;
    padding: 9px 12px;
    resize: vertical;
}

.tg-v4-branch-consult-card input[type="submit"],
.tg-v4-branch-consult-card button[type="submit"],
.tg-v4-branch-consult-card .wpcf7-submit {
    width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 9px 14px;
    border: 0;
    border-radius: 9px;
    background: #ff334f;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.tg-v4-branch-consult-card .wpcf7-spinner {
    position: absolute;
    margin: 9px 0 0 -34px;
}

.tg-v4-branch-consult-card .wpcf7-not-valid-tip {
    margin: 4px 0 0;
    color: #ffe0e4;
    font-size: 11px;
    line-height: 1.35;
}

.tg-v4-branch-consult-card .wpcf7-response-output {
    margin: 8px 0 0;
    padding: 8px 10px;
    border-radius: 8px;
    border-color: rgba(255,255,255,.45);
    color: #fff;
    font-size: 12px;
    line-height: 1.4;
}

.tg-v4-branch-consult-phone {
    display: block;
    margin-top: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 9px;
    color: #fff !important;
    text-align: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
}

/* Responsive */
@media (max-width: 991px) {
    .tg-v4-branch-contact-grid {
        grid-template-columns: 1fr;
    }

    .tg-v4-branch-original-list {
        max-height: 280px;
    }
}

@media (max-width: 767px) {
    .tg-v4-branch-contact {
        padding: 28px 0;
    }

    .tg-v4-branch-directory-card,
    .tg-v4-branch-consult-card {
        padding: 16px;
        border-radius: 14px;
    }

    .tg-v4-branch-simple-head h2,
    .tg-v4-branch-consult-card h2 {
        font-size: 21px;
    }

    .tg-v4-branch-original-list {
        max-height: 250px;
    }
}

/* ==========================================================
   FIX FONT FOOTER V4 GLOBAL
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800&display=swap');

.tg-v2-footer,
.tg-v4-branch-contact,
.tg-v4-branch-contact *,
.tg-v2-footer * {
    font-family: var(--tg-font-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif) !important;
}

/* Giảm độ gắt của font tiêu đề */
.tg-v4-branch-simple-head h2,
.tg-v4-branch-consult-card h2 {
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

/* Tiêu đề chi nhánh bên trái */
.tg-v4-branch-original-list h2,
.tg-v4-branch-original-list h3,
.tg-v4-branch-original-list h4,
.tg-v4-branch-original-list strong {
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

/* Text thường mềm hơn */
.tg-v4-branch-original-list p,
.tg-v4-branch-original-list li,
.tg-v4-branch-original-list a,
.tg-v4-branch-simple-head p,
.tg-v4-branch-consult-card > p {
    font-weight: 400 !important;
}

/* Label nhỏ */
.tg-v4-branch-simple-head > span,
.tg-v4-branch-consult-kicker {
    font-weight: 700 !important;
    letter-spacing: .05em !important;
}