/* Footer-only overrides, loaded after the WordPress integration layer. */
.footer{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:clamp(56px,6vw,88px) 0 0;
    color:#c6d7eb;
    background:radial-gradient(ellipse at 95% 0%,#123e66 0%,transparent 48%),linear-gradient(125deg,#07182e,#0a2645 65%,#081b33);
    border-top:1px solid #487fa466;
}
.footer::before,.footer::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.footer::before{
    width:min(75vw,900px);height:600px;left:-12%;top:-260px;
    background:radial-gradient(ellipse,#268aca30,transparent 68%);
    transform-origin:center;
}
.footer::after{
    inset:0;
    background-image:linear-gradient(#a0d9ff05 1px,transparent 1px),linear-gradient(90deg,#a0d9ff05 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:linear-gradient(180deg,#000,transparent 85%);
}
.footer>.container{width:calc(100% - 80px);max-width:1440px;margin-inline:auto}
.footer .footer-grid{
    display:grid;grid-template-columns:1.15fr 1.25fr 1.05fr 1fr;
    gap:clamp(28px,3vw,48px);padding-bottom:clamp(40px,4vw,64px);
}
.footer .footer-grid>div{min-width:0}
.footer .brand{max-width:100%;align-items:center;gap:12px}
.footer .brand>span{min-width:0;overflow-wrap:anywhere}
.footer .brand strong{font-size:clamp(18px,1.4vw,22px);white-space:normal}
.footer .brand small{display:block;font-size:10px;letter-spacing:.5px;white-space:normal;line-height:1.7;margin-top:4px}
.footer p{font-size:14px;line-height:1.9;margin:0 0 18px;overflow-wrap:anywhere}
.footer .footer-company>.brand{margin-bottom:22px}
.footer h3{display:flex;align-items:center;gap:10px;font-size:16px;line-height:1.6;margin:0 0 24px;color:#fff}
.footer svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer h3>svg{color:#78c8ff;width:22px;height:22px}
.footer .footer-detail{display:flex;align-items:flex-start;gap:12px}
.footer .footer-detail>svg{color:#8ebee3;margin-top:4px}
.footer .footer-detail>span{min-width:0}
.footer .footer-company-name{font-size:13px;line-height:1.9}
.footer .footer-social-heading{font-size:12px;font-weight:600;letter-spacing:.5px;color:#9cb9d7;margin:24px 0 12px}
.footer .social-links{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.footer .social-links .footer-social{
    --social-color:#1356aa;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:44px;padding:10px 13px;border:1px solid #ffffff2e;border-radius:12px;
    background:#ffffff0a;color:#e7f2ff;font-size:12px;font-weight:600;line-height:1.5;
    transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s;
}
.footer .footer-social>svg{width:20px;height:20px;fill:currentColor;stroke:none}
.footer .social-links .footer-social--facebook{--social-color:#1660c2}
.footer .social-links .footer-social--youtube{--social-color:#bb1826}
.footer .social-links .footer-social--x{--social-color:#111827}
.footer .social-links .footer-social--zalo{--social-color:#075acb}
.footer .social-links .footer-social--tiktok{--social-color:#162f3c}
.footer .social-links .footer-social:is(:hover,:focus-visible){background:var(--social-color);border-color:#ffffff66;color:#fff;transform:translateY(-3px);box-shadow:0 8px 18px #0003}
.footer .footer-contact>a{display:flex;align-items:center;gap:12px;min-height:44px;margin:0 0 8px;font-size:14px;line-height:1.6;color:#c6d7eb}
.footer .footer-contact>a>span{min-width:0;overflow-wrap:anywhere}
.footer .footer-contact>a>svg{color:#8fc9f3}
.footer .footer-contact>a:hover{color:#fff}
.footer .footer-grid .map-card{
    display:grid;justify-items:start;gap:12px;min-height:190px;margin:0;padding:24px;
    border:1px solid #8acaff40;border-radius:18px;
    background:radial-gradient(ellipse at top right,#3689be38,transparent 75%),#ffffff06;
    transition:background-color .2s,border-color .2s,transform .2s;
}
.footer .footer-grid .map-card>svg{width:36px;height:36px;color:#86d3ff}
.footer .map-card strong{font-size:22px;color:#fff}
.footer .map-card span{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.7;color:#c6d7eb}
.footer .map-card span>svg{width:18px;height:18px}
.footer .footer-grid .map-card:hover{background-color:#ffffff0d;border-color:#8acaff88;transform:translateY(-3px)}
.footer .footer-bottom{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding:22px 0 26px;border-top:1px solid #bedfff26;font-size:12px;line-height:1.7;color:#a8c0dc}
.footer .footer-bottom nav ul{flex-wrap:wrap;gap:8px 20px}
.footer .footer-bottom a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px}
.footer .footer-privacy svg{width:16px;height:16px}
.footer .footer-bottom{padding-right:56px}
.footer a:focus-visible{outline:2px solid #99dcff;outline-offset:5px;border-radius:6px}
@media(min-width:769px) and (prefers-reduced-motion:no-preference){
    .footer::before{animation:tkd-footer-glow 18s ease-in-out infinite alternate}
}
@keyframes tkd-footer-glow{to{transform:translate3d(12%,35px,0);opacity:.6}}
@media(max-width:1200px){
    .footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 48px}
}
@media(max-width:640px){
    .footer>.container{width:calc(100% - 40px)}
    .footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:32px}
    .footer h3{margin-bottom:18px}
    .footer .footer-grid>div+div{border-top:1px solid #ffffff1a;padding-top:28px}
    .footer .footer-grid .map-card{min-height:165px}
    .footer .footer-bottom{flex-direction:column;align-items:flex-start;padding-bottom:80px;gap:8px}
}
@media(prefers-reduced-motion:reduce){
    .footer::before{animation:none}
    .footer a{transition:none!important;transform:none!important}
}
@media(forced-colors:active){
    .footer::before,.footer::after{display:none}
    .footer .social-links .footer-social,.footer .footer-grid .map-card{border-color:LinkText}
}