/* CSS DÙNG CHUNG — sinh tự động, đừng sửa tay ở đây.
 * Gom các luật có mặt ở ít nhất 8/15 trang. Trước đây chúng nằm
 * nội tuyến trong từng trang nên trình duyệt không cache được — mỗi lần vào
 * trang là tải lại từ đầu. Ra file ngoài thì tải một lần dùng cho cả site.
 *
 * Luật nào có bộ chọn trùng với luật riêng của một trang thì ĐÃ BỊ LOẠI khỏi
 * đây — vì dời ra ngoài là đổi thứ tự, mà đổi thứ tự là đổi luật nào thắng.
 * File này nạp TRƯỚC khối <style> của trang, nên luật riêng vẫn thắng khi hoà.
 */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
            --primary: #1a1a1a;
            --accent: #c9a961;
            --navy: #1e3a5f;
            --light-bg: #f5f1ed;
        }
body {
            font-family: 'Segoe UI', sans-serif;
            background: #fafaf8;
            color: var(--primary);
            padding-top: 68px;
        }
.fc-wrap{position:fixed;right:18px;top:190px;display:flex;flex-direction:column;gap:10px;z-index:900}
.fc-btn{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;border:2.5px solid rgba(255,255,255,.35);box-shadow:0 4px 16px rgba(0,0,0,.22);transition:transform .25s cubic-bezier(.22,.68,0,1.2),box-shadow .25s;position:relative;cursor:pointer;overflow:visible}
.fc-btn:hover{transform:scale(1.15) translateX(-4px);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.fc-btn::after{content:attr(data-label);position:absolute;right:calc(100% + 8px);top:50%;transform:translateY(-50%);background:rgba(20,20,20,.82);backdrop-filter:blur(4px);color:#fff;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;font-family:'Segoe UI',sans-serif}
.fc-btn:hover::after{opacity:1}
.fc-zalo{background:linear-gradient(135deg,#2196f3,#0061c8)}
.fc-fb{background:linear-gradient(135deg,#1877f2,#0b4fa6)}
.site-header {
            position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
            background: linear-gradient(180deg, rgba(4,12,34,.74) 0%, rgba(4,12,34,.06) 100%);
            border-bottom: 1px solid rgba(255,255,255,.06);
            box-shadow: none;
            transition: background .45s ease, border-color .45s, box-shadow .45s;
        }
.site-header:not(.hdr-solid) .nav-link { color: rgba(255,255,255,.97); font-weight:700; letter-spacing:.5px; text-shadow:0 1px 12px rgba(0,0,0,.65),0 2px 28px rgba(0,0,0,.3); border-bottom:2px solid transparent; transition:color .22s,background .22s,border-color .22s,text-shadow .22s; }
.site-header:not(.hdr-solid) .nav-link:hover,
        .site-header:not(.hdr-solid) .nav-link.active { color:#fff; background:rgba(255,255,255,.11); border-bottom-color:#c9a961; text-shadow:0 0 28px rgba(201,169,97,.75),0 1px 12px rgba(0,0,0,.5); }
.site-header:not(.hdr-solid) .nav-dropdown-menu { background: rgba(6,14,38,.95); border-color: rgba(255,255,255,.1); }
.site-header:not(.hdr-solid) .nav-dropdown-menu::before { background: rgba(6,14,38,.95); border-color: rgba(255,255,255,.1); }
.site-header:not(.hdr-solid) .nav-dropdown-menu a { color: rgba(255,255,255,.85); }
.site-header:not(.hdr-solid) .nav-dropdown-menu a:hover { background: rgba(201,169,97,.18); color: #e8d08a; border-left-color: #c9a961; }
.site-logo img { mix-blend-mode: normal; }
.site-header:not(.hdr-solid) .site-logo img { filter: none; }
.site-header:not(.hdr-solid) .site-hamburger span { background: white; }
.site-header-inner {
            max-width: 1400px; margin: 0 auto;
            padding: 0 32px; height: 96px;
            display: flex; align-items: center;
            justify-content: space-between; gap: 24px;
            position: relative;
        }
.site-logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; transition: transform 0.3s; }
.site-logo:hover { transform: scale(1.04); }
.site-logo img { height: 108px; width: auto; display: block; }
.site-nav { display: flex; align-items: center; gap: 6px; }
.site-nav .nav-link {
            position: relative; padding: 8px 16px;
            color: #2c2c2c; text-decoration: none;
            font-size: 15px; font-weight: 600;
            letter-spacing: 0.3px; border-radius: 6px;
            transition: all 0.2s; white-space: nowrap;
            display: flex; align-items: center; gap: 5px;
        }
.site-nav .nav-link:hover { color: #c9a961; background: #fdf8f0; }
.site-nav .nav-link.active { color: #c9a961; }
.nav-has-dropdown { position: relative; cursor: pointer; }
.nav-has-dropdown > .nav-link::after {
            content: ''; display: inline-block;
            width: 0; height: 0;
            border-left: 4px solid transparent;
            border-right: 4px solid transparent;
            border-top: 5px solid currentColor;
            margin-left: 4px; transition: transform 0.2s;
        }
.nav-has-dropdown:hover > .nav-link::after { transform: rotate(180deg); }
.nav-dropdown-menu {
            display: none; position: absolute;
            top: calc(100% + 8px); left: 50%; transform: translateX(-50%);
            background: white; border-radius: 10px;
            box-shadow: 0 8px 30px rgba(0,0,0,0.12);
            border: 1px solid #f0e8e0; min-width: 200px;
            padding: 8px 0; z-index: 999;
        }
.nav-dropdown-menu::before {
            content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
            width: 12px; height: 12px; background: white;
            border-left: 1px solid #f0e8e0; border-top: 1px solid #f0e8e0;
            transform: translateX(-50%) rotate(45deg);
        }
.nav-has-dropdown:hover .nav-dropdown-menu { display: block; animation: dropIn 0.18s ease; }
.nav-has-dropdown::after { content:''; position:absolute; top:100%; left:0; right:0; height:14px; }
@keyframes dropIn { from { opacity:0; transform: translateX(-50%) translateY(-6px); } to { opacity:1; transform: translateX(-50%) translateY(0); } }
.nav-dropdown-menu a {
            display: flex; align-items: center; gap: 10px;
            padding: 11px 20px; color: #333; text-decoration: none;
            font-size: 14px; font-weight: 500; transition: all 0.15s;
            border-left: 3px solid transparent;
        }
.nav-dropdown-menu a:hover { background: #fdf8f0; color: #c9a961; border-left-color: #c9a961; }
.site-hotline {
            display: flex; align-items: center; gap: 10px;
            background: linear-gradient(135deg, #1e3a5f 0%, #16304f 100%);
            color: white; text-decoration: none;
            padding: 9px 18px 9px 10px; border-radius: 50px;
            font-weight: 700; white-space: nowrap;
            transition: all 0.25s; flex-shrink: 0;
            box-shadow: 0 4px 16px rgba(30,58,95,0.35);
            position: relative; overflow: hidden;
            border: 1.5px solid rgba(201,169,97,0.45);
        }
.site-hotline::before {
            content: ''; position: absolute;
            top: 0; left: -100%; width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(201,169,97,0.12), transparent);
            transition: left 0.5s;
        }
.site-hotline:hover::before { left: 100%; }
.site-hotline:hover {
            background: linear-gradient(135deg, #254d7a 0%, #1e3a5f 100%);
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(30,58,95,0.45);
            border-color: rgba(201,169,97,0.7);
        }
.site-hotline .hotline-icon {
            width: 36px; height: 36px;
            background: linear-gradient(135deg, #c9a961, #b8943f);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 16px; flex-shrink: 0;
            box-shadow: 0 2px 8px rgba(201,169,97,0.4);
            animation: ringPulse 2.5s ease-in-out infinite;
        }
.site-hotline .hotline-text { display: flex; flex-direction: column; line-height: 1.25; }
.site-hotline .hotline-label { font-size: 9px; font-weight: 500; opacity: 0.75; text-transform: uppercase; letter-spacing: 1px; color: #c9a961; }
.site-hotline .hotline-number { font-size: 15px; font-weight: 800; letter-spacing: 0.5px; color: #ffffff; }
.site-hamburger {
            display: none; flex-direction: column; gap: 5px;
            cursor: pointer; padding: 8px; background: none;
            border: none; z-index: 101;
        }
.site-hamburger span { width: 24px; height: 2.5px; background: #2c2c2c; border-radius: 2px; transition: all 0.3s; display: block; }
.site-hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(7px, 7px); background: #c9a961; }
.site-hamburger.active span:nth-child(2) { opacity: 0; }
.site-hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); background: #c9a961; }
.site-mobile-nav {
            display: none; flex-direction: column;
            position: fixed; top: 68px; left: 0; right: 0;
            background: white; border-top: 2px solid #f0e8e0;
            box-shadow: 0 8px 20px rgba(0,0,0,0.1);
            z-index: 999; padding: 8px 0 16px; max-height: calc(100vh - 68px); overflow-y: auto;
        }
.site-mobile-nav.open { display: flex; }
.site-mobile-nav a {
            display: flex; align-items: center; gap: 12px;
            padding: 14px 24px; color: #2c2c2c; text-decoration: none;
            font-size: 15px; font-weight: 500; border-left: 3px solid transparent;
            transition: all 0.15s;
        }
.site-mobile-nav a:hover { background: #fdf8f0; color: #c9a961; border-left-color: #c9a961; }
.site-mobile-nav .mobile-divider { height: 1px; background: #f0e8e0; margin: 6px 24px; }
.site-mobile-nav .mobile-hotline {
            margin: 8px 16px 0; background: #e74c3c; color: white !important;
            border-radius: 8px; justify-content: center; font-weight: 700 !important;
            border-left: none !important;
        }
.site-mobile-nav .mobile-hotline:hover { background: #c0392b !important; }
.hero-slider{position:relative;width:100%;min-height:500px;overflow:hidden;background:#061020;margin-top:-68px}
.hero-slider-sm{min-height:300px}
.hero-slide.active{opacity:1;animation:hsKenBurns 8s ease-out forwards}
@keyframes hsKenBurns{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero-slider-content{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:0 48px}
.hs-inner{max-width:680px;width:100%;text-align:center}
.hs-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:#e8d08a;margin-bottom:14px}
.hs-eyebrow::before,.hs-eyebrow::after{content:'';display:block;width:26px;height:1px;background:#e8d08a}
.hs-dot{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.35);border:8px solid transparent;background-clip:content-box;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);cursor:pointer;transition:all .35s;padding:0;outline:none}
.hs-dot.active{background:#c9a961;background-clip:content-box;box-shadow:inset 0 0 0 1.5px #c9a961;width:44px;border-radius:12px}
.hs-progress{position:absolute;bottom:0;left:0;height:3px;background:linear-gradient(to right,#c9a961,#e8d08a);z-index:5;width:0}
.hs-progress.run{width:100%;transition:width 5.5s linear}
.hs-counter{position:absolute;bottom:22px;right:52px;z-index:4;color:rgba(255,255,255,.5);font-size:11.5px;font-weight:600;letter-spacing:2px}
.ft-inner{max-width:1200px;margin:0 auto;padding:0 24px}
.ft-brand{margin-bottom:32px;display:flex;align-items:center;gap:20px}
.ft-logo-ft{height:110px;width:auto;display:block;flex-shrink:0}
.ft-tagline{font-size:13px;line-height:1.75;color:rgba(255,255,255,.6);margin:0;max-width:360px}
.ft-links{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:28px 48px;border-top:1px solid rgba(201,169,97,.2);padding-top:32px;margin-bottom:32px}
.ft-heading{color:#c9a961;font-size:10.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(201,169,97,.18)}
.ft-lnk{display:block;color:rgba(255,255,255,.7);text-decoration:none;font-size:13px;margin-bottom:9px;transition:color .2s,padding-left .2s}
.ft-lnk:hover{color:#c9a961;padding-left:4px}
.ft-phone{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#fff;text-decoration:none;margin-bottom:12px}
.ft-phone:hover{color:#c9a961}
.ft-social{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.ft-social a{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.8);text-decoration:none;font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.1);transition:all .2s}
.ft-social a:hover{background:rgba(201,169,97,.18);color:#c9a961;border-color:rgba(201,169,97,.35)}
.ft-disclaimer strong{color:rgba(255,255,255,.7)}
.ft-bottom a{color:#c9a961;text-decoration:none;font-weight:600;font-size:12px}
.ft-bottom a:hover{color:#e8d08a}
.kgft{display:none}
@media(min-width:769px){
    .kgft{display:flex;align-items:center;gap:9px;position:fixed;top:108px;right:0;z-index:901;background:linear-gradient(135deg,#c9a961,#b8943f);color:#fff;cursor:pointer;border-radius:12px 0 0 12px;padding:13px 22px 13px 18px;box-shadow:-4px 4px 28px rgba(201,169,97,.55),0 2px 8px rgba(0,0,0,.1);transition:all .3s cubic-bezier(.22,.68,0,1.2);border:none;border-left:2px solid rgba(255,255,255,.3);border-top:1.5px solid rgba(255,255,255,.25);border-bottom:1.5px solid rgba(255,255,255,.15);font-weight:800;font-size:13.5px;letter-spacing:.3px;white-space:nowrap}
    .kgft:hover{transform:translateX(-6px);box-shadow:-8px 6px 36px rgba(201,169,97,.7),0 4px 12px rgba(0,0,0,.14)}
    .kgft-icon{font-size:20px;flex-shrink:0}
}
.kgfm{display:none}
.kgbk{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1050;backdrop-filter:blur(2px)}
.kgbk.open{display:block}
.kgfp{position:fixed;z-index:1051;background:#fff;transition:transform .32s cubic-bezier(.22,.68,0,1.12);overflow:hidden}
@media(min-width:769px){
    .kgfp{top:0;bottom:0;right:0;width:360px;max-width:100vw;transform:translateX(105%);border-radius:20px 0 0 20px;box-shadow:-8px 0 48px rgba(0,0,0,.18)}
    .kgfp.open{transform:translateX(0)}
}
.kgfp-hd{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid #f0ece6}
.kgfp-hd-left{}
.kgfp-title{font-size:18px;font-weight:800;color:#1e3a5f;line-height:1.2}
.kgfp-sub{font-size:12px;color:#9ca3af;margin-top:3px;display:flex;align-items:center;gap:5px}
.kgfp-sub::before{content:'⏱️'}
.kgfp-close{width:34px;height:34px;border:none;background:#f5f5f5;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s;flex-shrink:0}
.kgfp-close:hover{background:#fee2e2;color:#e53935}
.kgfp-body{padding:20px 24px 28px}
.kgfp-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.kgfp-type{padding:10px;border:1.5px solid #e5ddd4;border-radius:10px;background:#fafaf8;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;text-align:center;transition:all .18s}
.kgfp-type.active{border-color:#c9a961;background:rgba(201,169,97,.1);color:#b8943f}
.kgfp-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.kgfp-fg{margin-bottom:12px}
.kgfp-lbl{display:block;font-size:12px;font-weight:700;color:#374151;margin-bottom:5px}
.kgfp-req{color:#e53935;margin-left:2px}
.kgfp-inp{width:100%;padding:10px 12px;border:1.5px solid #e5ddd4;border-radius:9px;font-size:14px;font-family:'Segoe UI',sans-serif;color:#1a1a1a;background:#fafaf8;transition:all .2s;outline:none}
.kgfp-inp:focus{border-color:#c9a961;background:#fff;box-shadow:0 0 0 3px rgba(201,169,97,.12)}
.kgfp-inp::placeholder{color:#b0a899}
.kgfp-err{color:#e53935;font-size:12.5px;margin-bottom:10px;display:none}
.kgfp-btn{width:100%;padding:14px;background:linear-gradient(135deg,#c9a961,#b8943f);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:800;cursor:pointer;transition:all .25s;box-shadow:0 4px 16px rgba(201,169,97,.35);margin-top:4px}
.kgfp-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,169,97,.5)}
.kgfp-btn:disabled{opacity:.7;cursor:not-allowed}
.kgfp-privacy{font-size:11px;color:#9ca3af;text-align:center;margin-top:10px}
.kgfp-ok{display:none;padding:32px 24px;text-align:center}
.kgfp-ok-icon{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,#34d399,#059669);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 18px;box-shadow:0 8px 24px rgba(52,211,153,.35)}
.kgfp-ok h3{font-size:20px;font-weight:800;color:#1e3a5f;margin-bottom:10px}
.kgfp-ok p{font-size:14px;color:#6b7280;line-height:1.7;margin-bottom:16px}
.kgfp-ok-badge{display:inline-flex;align-items:center;gap:6px;background:#fef3c7;border:1px solid #f59e0b;color:#92400e;font-size:12.5px;font-weight:700;padding:7px 16px;border-radius:50px;margin-bottom:18px}
.kgfp-reset{background:none;border:1px solid #e5ddd4;border-radius:8px;padding:8px 20px;font-size:13px;color:#6b7280;cursor:pointer;transition:all .2s}
.kgfp-reset:hover{background:#f5f5f5}
.site-footer{background:linear-gradient(150deg,#060e22 0%,#0f2040 100%);color:#fff;padding:44px 0 0;margin-top:48px}
.ft-hours{font-size:12px;color:rgba(255,255,255,.42);line-height:1.8}
.ft-disclaimer{border-top:1px solid rgba(255,255,255,.07);padding:16px 0 12px;font-size:11.5px;color:rgba(255,255,255,.45);line-height:1.6}
.ft-bottom{border-top:1px solid rgba(255,255,255,.07);padding:14px 0 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11.5px;color:rgba(255,255,255,.38);flex-wrap:wrap}
.smbb{display:none}
@keyframes ringPulse {
            0%, 100% { transform: scale(1); box-shadow: 0 2px 8px rgba(201,169,97,0.4); }
            50% { transform: scale(1.1); box-shadow: 0 4px 14px rgba(201,169,97,0.65); }
        }
.hs-dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:4}
