DEV Community

Cover image for Dịch vụ cho thuê xe máy Hoàn Kiếm - Nguyễn Hào
Cho thuê xe máy - Nguyễn Hào
Cho thuê xe máy - Nguyễn Hào

Posted on

Dịch vụ cho thuê xe máy Hoàn Kiếm - Nguyễn Hào

<!DOCTYPE html>





<!-- === TỐI ƯU SEO ULTRA MODE === -->
<!-- Title: Chứa từ khóa chính + Brand + USP (Giao xe, cọc nhẹ) -->
<title>Cho Thuê Xe Máy Hoàn Kiếm Hà Nội - Nguyễn Hào | Giao Xe 20'</title>

<!-- Description: Tóm tắt dịch vụ, chứa từ khóa phụ, CTA rõ ràng -->
<meta name="description" content="Dịch vụ cho thuê xe máy Hoàn Kiếm, Hà Nội uy tín tại Nguyễn Hào. Xe mới, giao tận nơi Phố Cổ, Long Biên, Gia Lâm. Cọc nhẹ 1 triệu, thủ tục đơn giản. Gọi ngay!">

<!-- Keywords: Phân bổ từ khóa chính và LSI -->
<meta name="keywords" content="cho thuê xe máy hoàn kiếm hà nội, thuê xe máy nguyễn hào, thuê xe máy phố cổ, thuê xe máy long biên, thuê xe máy gia lâm, thuê xe máy ga hà nội, thuê xe máy không cọc">

<meta name="author" content="Nguyễn Hào">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://motoopen.github.io/thuexemayohoankiem/">

<!-- OPEN GRAPH / FACEBOOK -->
<meta property="og:type" content="website">
<meta property="og:title" content="Cho Thuê Xe Máy Hoàn Kiếm Hà Nội - Nguyễn Hào | Giao Xe 20'">
<meta property="og:description" content="Nguyễn Hào chuyên cho thuê xe máy tại Hoàn Kiếm, Phố Cổ, Long Biên. Xe ga, xe số đời mới. Giao xe tận nơi, cọc nhẹ 1 triệu.">
<meta property="og:image" content="https://thuexemaynguyentu.com/wp-content/uploads/2025/09/BANNER-THUE-XE-MAY-1.png">
<meta property="og:site_name" content="Cho thuê xe máy Nguyễn Hào">

<!-- FAVICON & FONTS (Giữ nguyên) -->
<link rel="icon" href="https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0477.jpeg">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Fira+Code:wght@400;500&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer">
{ "@context": "https://schema.org", "@type": "LocalBusiness", "@id": "https://motoopen.github.io/thuexemayohoankiem/#localbusiness", "name": "Thuê xe máy Nguyễn Hào", "description": "Dịch vụ cho thuê xe máy tại Phố Cổ, Hoàn Kiếm, Hà Nội. Xe số Honda Wave, xe ga Vision, Air Blade, giao xe nhanh, thủ tục đơn giản, hỗ trợ khách du lịch.", "url": "https://motoopen.github.io/thuexemayohoankiem/", "image": "https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0477.jpeg", "telephone": "+84-942-467-674", "email": "taihanoi82@gmail.com", "priceRange": "150000-200000 VND/ngày", "address": { "@type": "PostalAddress", "streetAddress": "Ngõ Hài Tượng, Hàng Buồm", "addressLocality": "Hoàn Kiếm", "addressRegion": "Hà Nội", "postalCode": "100000", "addressCountry": "VN" }, "geo": { "@type": "GeoCoordinates", "latitude": 21.0344527, "longitude": 105.8521061 }, "openingHoursSpecification": [ { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "opens": "08:00", "closes": "18:00" } ], "areaServed": [ { "@type": "Place", "name": "Phố Cổ, Hoàn Kiếm, Hà Nội" }, { "@type": "Place", "name": "Hoàn Kiếm, Hà Nội" }, { "@type": "Place", "name": "Ba Đình, Hà Nội" }, { "@type": "Place", "name": "Tây Hồ, Hà Nội" }, { "@type": "Place", "name": "Long Biên, Hà Nội" }, { "@type": "Place", "name": "Gia Lâm, Hà Nội" } ], "sameAs": [ "https://about.me/thuexemayhoankiem", "https://www.pinterest.com/thuexemaynguyenhao/", "https://zalo.me/0942467674", "https://www.tiktok.com/@thuexemaynguyenhao", "https://youtube.com/@thuexemaynguyenhao", "https://www.instagram.com/thuexemaynguyenhao", "https://x.com/thuexemayhao", "https://wa.me/84942467674" ] }
<!-- CSS (Giữ nguyên style tối ưu từ file gốc) -->
<style>
    /* ========================================= */
    /* 1. CORE UTILITIES & RESET */
    /* ========================================= */
    :root {
        /* Colors */
        --accent: #0078D4;
        --accent-light: #00B2FF;
        --accent-dark: #005A9E;
        --c-text: #0D1117;
        --c-text-muted: #57606a;
        --c-bg: #f7f9fb;
        --c-bg-card: #ffffff;
        --c-border: #d0d7de;

        /* Brand Colors */
        --zalo-blue: #0068FF;

        /* UI Elements */
        --radius: 14px;
        --radius-sm: 8px;
        --transition-speed: 0.3s;

        /* AI / Glassmorphism */
        --ai-gradient-1: linear-gradient(135deg, #0078D4 0%, #00B2FF 100%);
        --ai-glass: rgba(255, 255, 255, 0.7);
        --ai-glass-border: rgba(255, 255, 255, 0.5);
        --ai-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.15);

        /* AI Simulation Colors */
        --ai-terminal-bg: #0D1117;
        --ai-terminal-text: #58a6ff;
        --ai-terminal-border: #30363d;
        --ai-chat-bubble-user: #0078D4;
        --ai-chat-bubble-bot: #f1f8ff;

        /* Status Indicators */
        --status-open-bg: rgba(46, 164, 79, 0.15);
        --status-open-text: #2ea44f;
        --status-open-border: rgba(46, 164, 79, 0.4);
        --status-closed-bg: rgba(207, 34, 46, 0.15);
        --status-closed-text: #cf222e;
        --status-closed-border: rgba(207, 34, 46, 0.4);

        /* Shadows */
        --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
        --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.04);
        --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
        --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.07), 0 4px 10px rgba(0, 0, 0, 0.04);
        --shadow-fluent: 0 4px 12px rgba(0, 120, 212, 0.1), 0 1px 3px rgba(0, 0, 0, 0.05);
    }

    html[data-theme="dark"] {
        --c-text: #e6edf3;
        --c-text-muted: #9da8b6;
        --c-bg: #010409;
        --c-bg-card: #0D1117;
        --c-border: #30363d;

        --ai-glass: rgba(13, 17, 23, 0.7);
        --ai-glass-border: rgba(255, 255, 255, 0.1);
        --ai-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);

        --ai-chat-bubble-bot: #161b22;

        --status-open-bg: rgba(63, 185, 80, 0.2);
        --status-open-text: #3fb950;
        --status-closed-bg: rgba(248, 81, 73, 0.2);
        --status-closed-text: #f85149;
    }

    *, *::before, *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    html {
        scroll-behavior: smooth;
        font-size: 16px;
    }

    body {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        background-color: var(--c-bg);
        color: var(--c-text);
        line-height: 1.6;
        transition: background-color var(--transition-speed) ease, color var(--transition-speed) ease;
        -webkit-font-smoothing: antialiased;
        padding-bottom: 80px; 
    }

    /* Utilities */
    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .w-100 { width: 100%; }

    /* Zalo Icon SVG Style */
    .icon-zalo-svg {
        width: 1em;
        height: 1em;
        fill: currentColor;
        vertical-align: -0.125em;
    }

    /* 2. LAYOUT & TYPOGRAPHY */
    .container {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .section {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .section-title {
        font-size: 2.25rem;
        font-weight: 700;
        text-align: center;
        margin-bottom: 2.5rem;
        color: var(--c-text);
    }

    .content-block h2 {
         font-size: 1.8rem;
         margin-top: 2rem;
         margin-bottom: 1rem;
         color: var(--accent);
    }
    .content-block h3 {
         font-size: 1.4rem;
         margin-top: 1.5rem;
         margin-bottom: 0.5rem;
         font-weight: 600;
    }
    .content-block p {
        margin-bottom: 1rem;
        text-align: justify;
    }
    .content-block ul {
        margin-bottom: 1rem;
        padding-left: 1.5rem;
    }
    .content-block li {
        margin-bottom: 0.5rem;
    }

    img, picture, video, canvas, svg {
        display: block;
        max-width: 100%;
        height: auto;
    }

    img {
        border-radius: var(--radius-sm);
    }

    a {
        color: var(--accent);
        text-decoration: none;
        transition: color var(--transition-speed) ease;
    }
    a:hover {
        color: var(--accent-light);
    }

    /* 3. BUTTONS */
    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
        font-weight: 600;
        border-radius: var(--radius);
        border: 2px solid transparent;
        cursor: pointer;
        transition: all var(--transition-speed) ease;
        white-space: nowrap;
        text-decoration: none;
    }
    .btn .material-symbols-rounded, .btn .fa-brands, .btn .icon-zalo-svg {
        font-size: 1.25em;
    }

    .btn-primary {
        background-color: var(--accent);
        color: #ffffff;
        box-shadow: var(--shadow-fluent);
    }
    .btn-primary:hover {
        background-color: var(--accent-dark);
        color: #ffffff;
        transform: translateY(-2px);
        box-shadow: var(--shadow-lg);
    }

    .btn-secondary {
        background-color: var(--c-bg-card);
        color: var(--accent);
        border-color: var(--accent);
    }
    .btn-secondary:hover {
        background-color: var(--accent);
        color: #ffffff;
        transform: translateY(-2px);
    }

    /* 4. HEADER & NAV */
    .main-header {
        position: sticky;
        top: 0;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.8);
        backdrop-filter: blur(10px) saturate(180%);
        -webkit-backdrop-filter: blur(10px) saturate(180%);
        border-bottom: 1px solid var(--c-border);
        z-index: 100;
        transition: background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;
    }
    html[data-theme="dark"] .main-header {
        background-color: rgba(13, 17, 23, 0.8);
    }

    .main-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: 4.5rem;
    }

    .logo {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-weight: 700;
        font-size: 1.25rem;
        color: var(--c-text);
    }
    .logo img {
        height: 45px;
        width: 45px;
        object-fit: cover;
        border-radius: 50%;
        border: 2px solid var(--c-border);
    }

    /* Status Badge */
    .shop-status {
        font-size: 0.75rem;
        font-weight: 600;
        padding: 4px 10px;
        border-radius: 99px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        white-space: nowrap;
        display: flex;
        align-items: center;
        gap: 4px;
    }
    .status-open {
        background-color: var(--status-open-bg);
        color: var(--status-open-text);
        border: 1px solid var(--status-open-border);
    }
    .status-closed {
        background-color: var(--status-closed-bg);
        color: var(--status-closed-text);
        border: 1px solid var(--status-closed-border);
    }
    .shop-status::before {
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background-color: currentColor;
    }

    /* Desktop Menu */
    .nav-menu {
        display: none;
        list-style: none;
        gap: 1.5rem;
    }
    .nav-menu a {
        font-weight: 500;
        color: var(--c-text-muted);
        padding: 0.5rem 0;
        border-bottom: 2px solid transparent;
        font-size: 0.95rem;
    }
    .nav-menu a:hover, .nav-menu a.active {
        color: var(--c-text);
        border-bottom-color: var(--accent);
    }

    .nav-actions {
        display: flex;
        align-items: center;
        gap: 1rem;
    }

    .theme-switcher {
        background: none;
        border: none;
        color: var(--c-text);
        cursor: pointer;
        padding: 0.5rem;
        border-radius: var(--radius-sm);
    }
    .theme-switcher:hover {
        background-color: var(--c-border);
    }
    .theme-switcher .material-symbols-rounded {
        font-size: 1.5rem;
        display: block;
    }
    html[data-theme="dark"] .theme-switcher .light-icon { display: none; }
    html[data-theme="light"] .theme-switcher .dark-icon { display: none; }

    .mobile-menu-toggle {
        display: block;
        background: none;
        border: none;
        color: var(--c-text);
        cursor: pointer;
    }
    .mobile-menu-toggle .material-symbols-rounded {
        font-size: 2rem;
    }

    /* 5. AI MOBILE SIDEBAR */
    .mobile-nav-panel {
        position: fixed;
        top: 0;
        right: -120%; /* Hidden by default */
        width: 85vw;
        max-width: 400px;
        height: 100vh;
        background: var(--ai-glass);
        backdrop-filter: blur(20px) saturate(180%);
        -webkit-backdrop-filter: blur(20px) saturate(180%);
        border-left: 1px solid var(--ai-glass-border);
        box-shadow: var(--ai-shadow);
        z-index: 9999;
        transition: right 0.6s cubic-bezier(0.19, 1, 0.22, 1);
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow-y: auto;
        visibility: hidden;
    }

    .mobile-nav-panel.active {
        right: 0;
        visibility: visible;
    }

    .ai-sidebar-header {
        padding: 2rem 1.5rem 1rem;
        background: linear-gradient(to bottom, rgba(0,120,212,0.05), transparent);
    }

    .ai-greeting-box {
        margin-bottom: 1.5rem;
    }

    .ai-greeting-title {
        font-size: 1.5rem;
        font-weight: 800;
        background: var(--ai-gradient-1);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        margin-bottom: 0.25rem;
    }

    .ai-typing-text {
        font-size: 0.9rem;
        color: var(--c-text-muted);
        min-height: 1.4em;
        display: flex;
        align-items: center;
        gap: 5px;
    }

    .ai-cursor {
        width: 2px;
        height: 14px;
        background-color: var(--accent);
        animation: blink 1s infinite;
    }
    @keyframes blink { 50% { opacity: 0; } }

    /* Shortcuts Grid */
    .ai-smart-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
        margin-bottom: 1rem;
    }

    .smart-icon-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        text-align: center;
        font-size: 0.75rem;
        color: var(--c-text);
        padding: 10px 5px;
        border-radius: 12px;
        transition: background 0.2s;
        cursor: pointer;
    }
    .smart-icon-btn:hover {
        background-color: var(--c-bg);
    }
    .smart-icon-box {
        width: 40px;
        height: 40px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.25rem;
        color: white;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }

    /* Specific adjustments for Zalo in grid */
    .smart-icon-box svg { width: 24px; height: 24px; fill: white; }

    .bg-gradient-blue { background: linear-gradient(135deg, #0078D4, #00B2FF); }
    .bg-gradient-green { background: linear-gradient(135deg, #107C10, #2ea44f); }
    .bg-gradient-orange { background: linear-gradient(135deg, #D83B01, #ff8c00); }
    .bg-gradient-purple { background: linear-gradient(135deg, #5C2D91, #b4a0ff); }

    /* Mobile Menu Items */
    .mobile-nav-menu {
        list-style: none;
        padding: 0 1rem 2rem;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .mobile-nav-menu > li {
        opacity: 0;
        transform: translateX(20px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .mobile-nav-panel.active .mobile-nav-menu > li {
        opacity: 1;
        transform: translateX(0);
    }

    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(1) { transition-delay: 0.1s; }
    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(2) { transition-delay: 0.15s; }
    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(3) { transition-delay: 0.2s; }
    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(4) { transition-delay: 0.25s; }
    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(5) { transition-delay: 0.3s; }
    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(6) { transition-delay: 0.35s; }
    .mobile-nav-panel.active .mobile-nav-menu > li:nth-child(7) { transition-delay: 0.4s; }

    .mobile-nav-menu a, .mobile-dropdown-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0.9rem 1rem;
        font-weight: 600;
        font-size: 1rem;
        color: var(--c-text);
        border-radius: var(--radius);
        background: rgba(255,255,255,0.01);
        border: 1px solid transparent;
        width: 100%;
        cursor: pointer;
        transition: all 0.2s;
    }

    html[data-theme="dark"] .mobile-nav-menu a {
        background: rgba(255,255,255,0.03);
    }

    .mobile-nav-menu a:hover, .mobile-dropdown-toggle:hover {
        background-color: var(--c-bg);
        border-color: var(--c-border);
        transform: translateX(4px);
        box-shadow: var(--shadow-sm);
    }

    .mobile-nav-menu a.active {
        background-color: rgba(0, 120, 212, 0.1);
        color: var(--accent);
        border-color: rgba(0, 120, 212, 0.2);
    }

    #mobile-nav-close {
        position: absolute;
        top: 1.5rem;
        right: 1.5rem;
        background: rgba(0,0,0,0.05);
        border: none;
        color: var(--c-text);
        cursor: pointer;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease;
        z-index: 10;
    }
    #mobile-nav-close:hover {
        background: var(--c-border);
        transform: rotate(90deg);
    }

    /* Mobile Submenu */
    .mobile-submenu {
        list-style: none;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s cubic-bezier(0, 1, 0, 1);
        padding-left: 0.5rem;
        background: transparent;
    }
    .mobile-submenu a {
        font-size: 0.95rem;
        padding: 0.6rem 1rem;
        font-weight: 500;
        color: var(--c-text-muted);
        border-left: 2px solid var(--c-border);
        border-radius: 0 var(--radius) var(--radius) 0;
    }
    .mobile-submenu a:hover {
        color: var(--accent);
        border-left-color: var(--accent);
        background: transparent;
    }

    .mobile-nav-dropdown.active .mobile-submenu {
        margin-top: 5px;
        margin-bottom: 10px;
    }
    .mobile-nav-dropdown.active .mobile-dropdown-toggle {
        color: var(--accent);
    }
    .mobile-nav-dropdown.active .mobile-dropdown-toggle .icon {
        transform: rotate(180deg);
    }

    .mobile-nav-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.3);
        backdrop-filter: blur(4px);
        z-index: 9990;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.4s ease;
    }
    .mobile-nav-overlay.active {
        opacity: 1;
        visibility: visible;
    }
    .mobile-nav-panel.active + .mobile-nav-overlay {
        opacity: 1;
        visibility: visible;
    }

    /* Desktop Dropdown */
    .nav-item-dropdown {
        position: relative;
    }
    .nav-dropdown-toggle {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        cursor: pointer;
    }
    .nav-dropdown-toggle .dropdown-icon {
        font-size: 1.25rem;
        transition: transform var(--transition-speed) ease;
    }
    .dropdown-menu {
        position: absolute;
        top: 110%;
        left: 0;
        background-color: var(--c-bg-card);
        border: 1px solid var(--c-border);
        border-radius: var(--radius-sm);
        box-shadow: var(--shadow-md);
        list-style: none;
        min-width: 220px;
        z-index: 101;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: opacity var(--transition-speed) ease, visibility var(--transition-speed) ease, transform var(--transition-speed) ease;
        padding: 0.5rem 0;
        max-height: 70vh;
        overflow-y: auto;
    }

    .nav-item-dropdown:hover .dropdown-menu,
    .nav-item-dropdown.is-open .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .nav-item-dropdown:hover .nav-dropdown-toggle .dropdown-icon,
    .nav-item-dropdown.is-open .nav-dropdown-toggle .dropdown-icon {
        transform: rotate(180deg);
    }

    .dropdown-menu li { width: 100%; }
    .dropdown-menu a {
        display: block;
        padding: 0.6rem 1.25rem;
        color: var(--c-text-muted);
        white-space: nowrap;
        border-bottom: none;
        font-size: 0.95rem;
    }
    .dropdown-menu a:hover {
        background-color: var(--c-bg);
        color: var(--c-text);
    }

    @media (min-width: 1024px) {
        .mobile-menu-toggle { display: none; }
        .nav-menu { display: flex; }
    }

    /* 6. HERO SECTION */
    .hero {
        padding-top: 4rem;
        padding-bottom: 5rem;
        text-align: center;
        background: linear-gradient(180deg, #ffffff 0%, #f7f9fb 100%);
    }
    html[data-theme="dark"] .hero {
        background: var(--c-bg);
    }

    .hero h1 {
        font-size: 2.5rem;
        font-weight: 700;
        margin-bottom: 1rem;
        line-height: 1.2;
    }
    .hero .subtitle {
        font-size: 1.25rem;
        color: var(--c-text-muted);
        margin-bottom: 2rem;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    .hero .cta-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
        margin-bottom: 2rem;
    }
    .hero .chips {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
        margin-bottom: 2.5rem;
    }
    .chip {
        background-color: var(--c-bg-card);
        color: var(--c-text-muted);
        padding: 0.5rem 1rem;
        border-radius: 99px;
        font-size: 0.9rem;
        font-weight: 500;
        border: 1px solid var(--c-border);
        box-shadow: var(--shadow-xs);
    }

    /* --- UPDATED FORM STYLES (CALCULATOR) --- */
    .mini-form {
        background-color: var(--c-bg-card);
        border-radius: var(--radius);
        box-shadow: var(--shadow-md);
        padding: 1.5rem;
        max-width: 800px;
        margin: 0 auto;
        text-align: left;
        border: 1px solid var(--c-border);
    }
    .mini-form h3 {
        font-size: 1.25rem;
        font-weight: 700;
        margin-bottom: 1.5rem;
        text-align: center;
        color: var(--accent);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .form-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.25rem;
        align-items: end;
    }
    .form-group {
        display: flex;
        flex-direction: column;
    }
    .form-group label {
        font-size: 0.9rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
        color: var(--c-text-muted);
    }
    .form-group select, .form-group input {
        padding: 0.75rem 1rem;
        font-size: 1rem;
        border-radius: var(--radius-sm);
        border: 1px solid var(--c-border);
        background-color: var(--c-bg);
        color: var(--c-text);
        transition: all 0.2s;
        width: 100%;
    }
    .form-group select:focus, .form-group input:focus {
        outline: none;
        border-color: var(--accent);
        box-shadow: 0 0 0 3px rgba(0, 120, 212, 0.15);
    }
    .form-group button {
        background-color: var(--accent);
        color: #ffffff;
        border: none;
        cursor: pointer;
        padding: 0.75rem 1.5rem;
        font-weight: 600;
        border-radius: var(--radius-sm);
        height: 48px; 
        transition: background 0.3s;
    }
    .form-group button:hover {
        background-color: var(--accent-dark);
    }

    .price-result-box {
        background-color: var(--c-bg);
        border: 1px dashed var(--accent);
        padding: 1rem;
        border-radius: var(--radius-sm);
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 80px;
    }
    .price-label { font-size: 0.85rem; color: var(--c-text-muted); }
    .price-value { font-size: 1.5rem; font-weight: 800; color: var(--accent); line-height: 1.2; }

    @media (min-width: 768px) {
        .form-grid { grid-template-columns: 2fr 1fr 1fr 1.5fr; }
        .hero h1 { font-size: 3rem; }
    }

    /* 7. CARDS & SECTIONS */
    .card {
        background-color: var(--c-bg-card);
        border-radius: var(--radius);
        box-shadow: var(--shadow-md);
        padding: 1.5rem;
        transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;
    }
    .card:hover {
        box-shadow: var(--shadow-lg);
    }

    #why-us { background-color: var(--c-bg-card); }
    html[data-theme="dark"] #why-us { background-color: var(--c-bg); }
    .benefits-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .benefit-item {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        padding: 1rem;
    }
    .benefit-item .icon {
        font-size: 2.5rem;
        color: var(--accent);
        margin-top: 0.25rem;
    }
    .benefit-item h3 {
        font-size: 1.15rem;
        font-weight: 600;
        margin-bottom: 0.25rem;
    }
    .benefit-item p {
        font-size: 0.95rem;
        color: var(--c-text-muted);
    }
    @media (min-width: 640px) { .benefits-grid { grid-template-columns: repeat(2, 1fr); } }
    @media (min-width: 1024px) { .benefits-grid { grid-template-columns: repeat(3, 1fr); } }

    /* Services */
    .services-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    .service-card { overflow: hidden; }
    .service-card img {
        width: 100%;
        /* === TỐI ƯU ẢNH VUÔNG (SQUARE) === */
        aspect-ratio: 1 / 1;
        object-fit: cover;
        border-radius: var(--radius-sm) var(--radius-sm) 0 0;
        margin-bottom: 1.5rem;
    }
    .service-card h3 {
        font-size: 1.25rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
    }
    .service-card p {
        color: var(--c-text-muted);
        margin-bottom: 1rem;
    }
    .service-card .price {
        font-size: 1.1rem;
        font-weight: 600;
        color: var(--accent);
    }
    /* Mobile: 1 cột (đã có ở trên) */
    @media (min-width: 640px) { 
        /* Tablet: 2 cột */
        .services-grid { grid-template-columns: repeat(2, 1fr); } 
    }
    @media (min-width: 1024px) { 
        /* PC: 4 cột cho 4 xe */
        .services-grid { grid-template-columns: repeat(4, 1fr); } 
    }

    /* Deals */
    .deal-highlight {
        background: linear-gradient(135deg, var(--accent), var(--accent-light));
        border-radius: var(--radius);
        padding: 2.5rem;
        color: #ffffff;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        box-shadow: var(--shadow-lg);
    }
    .deal-highlight h2 {
        font-size: 2rem;
        font-weight: 700;
        margin-bottom: 1rem;
    }
    .deal-highlight p {
        font-size: 1.1rem;
        margin-bottom: 1.5rem;
        opacity: 0.9;
    }
    .deal-highlight .btn {
        background-color: #ffffff;
        color: var(--accent);
        font-weight: 700;
    }
    .deal-highlight .btn:hover {
        background-color: #f0f0f0;
        color: var(--accent-dark);
    }

    /* Process */
    .process-steps {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;
        position: relative;
    }
    .process-step {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 1.5rem;
    }
    .step-number {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background-color: var(--accent);
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        font-weight: 700;
        margin-bottom: 1rem;
        box-shadow: var(--shadow-fluent);
    }
    .process-step h3 {
        font-size: 1.2rem;
        font-weight: 600;
        margin-bottom: 0.5rem;
    }
    .process-step p { color: var(--c-text-muted); }

    @media (min-width: 768px) {
        .process-steps { grid-template-columns: repeat(4, 1fr); }
        .process-step { position: relative; }
        .process-step:not(:last-child)::after {
            content: '';
            position: absolute;
            top: 25px;
            right: -50%;
            width: 100%;
            height: 2px;
            background: linear-gradient(to right, var(--accent), var(--accent-light));
            opacity: 0.5;
            transform: translateX(50%);
            z-index: -1;
        }
    }

    /* Gallery */
    #gallery { background-color: var(--c-bg-card); }
    html[data-theme="dark"] #gallery { background-color: var(--c-bg); }
    .gallery-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .gallery-item img {
        width: 100%;
        height: 200px;
        object-fit: cover;
        border-radius: var(--radius-sm);
        cursor: pointer;
        transition: transform var(--transition-speed) ease, opacity var(--transition-speed) ease;
    }
    .gallery-item img:hover {
        transform: scale(1.03);
        opacity: 0.9;
    }
    @media (min-width: 768px) {
        .gallery-grid { grid-template-columns: repeat(4, 1fr); }
        .gallery-item:first-child, .gallery-item:last-child {
            grid-column: span 2;
            height: 400px;
        }
        .gallery-item:first-child img, .gallery-item:last-child img { height: 100%; }
    }

    /* Lightbox */
    .lightbox {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.85);
        backdrop-filter: blur(5px);
        z-index: 1000;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: opacity var(--transition-speed) ease, visibility var(--transition-speed) ease;
    }
    .lightbox.active { opacity: 1; visibility: visible; }
    .lightbox-content {
        position: relative;
        max-width: 90%;
        max-height: 90%;
        display: flex;
        justify-content: center;
    }
    .lightbox-img {
        max-width: 100%;
        max-height: 90vh;
        border-radius: var(--radius-sm);
    }
    .lightbox-close {
        position: absolute;
        top: -2.5rem;
        right: -1rem;
        background: none;
        border: none;
        color: #ffffff;
        cursor: pointer;
        padding: 5px;
    }
    .lightbox-close .material-symbols-rounded {
        font-size: 2.5rem;
        display: block;
    }

    /* Testimonials */
    .testimonial-slider {
        position: relative;
        max-width: 800px;
        margin: 0 auto;
        overflow: hidden;
    }
    .slider-track {
        display: flex;
        transition: transform var(--transition-speed) cubic-bezier(0.25, 0.8, 0.25, 1);
    }
    .testimonial-card {
        flex: 0 0 100%;
        padding: 2rem;
        text-align: center;
    }
    .testimonial-card blockquote {
        font-size: 1.15rem;
        font-style: italic;
        color: var(--c-text-muted);
        margin-bottom: 1rem;
        border: none;
    }
    .testimonial-card .author {
        font-weight: 600;
        color: var(--c-text);
    }
    .testimonial-card .stars {
        color: #FFC107;
        margin-bottom: 1rem;
    }
    .slider-dots {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 1.5rem;
    }
    .slider-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background-color: var(--c-border);
        border: none;
        cursor: pointer;
        transition: background-color var(--transition-speed) ease, transform var(--transition-speed) ease;
    }
    .slider-dot.active {
        background-color: var(--accent);
        transform: scale(1.2);
    }

    /* Bonus Sections & Checklist */
    #commitment { background-color: var(--c-bg-card); }
    html[data-theme="dark"] #commitment { background-color: var(--c-bg); }

    .checklist { list-style: none; padding-left: 0; }
    .checklist li {
        position: relative;
        padding-left: 2rem;
        margin-bottom: 1rem;
    }
    .checklist li .check-icon {
        position: absolute;
        left: 0;
        top: 2px;
        font-size: 1.4rem;
        color: var(--accent);
        font-weight: 600;
        user-select: none;
    }

    /* ========================================= */
    /* [UPDATED] AI TERMINAL LOCATION STYLES     */
    /* ========================================= */
    .ai-terminal-window {
        background-color: var(--ai-terminal-bg);
        border: 1px solid var(--ai-terminal-border);
        border-radius: var(--radius);
        box-shadow: 0 10px 40px rgba(0,0,0,0.5);
        font-family: 'Fira Code', monospace;
        overflow: hidden;
        color: #e6edf3;
        max-width: 1000px;
        margin: 0 auto;
        position: relative;
    }

    .terminal-header {
        background-color: #161b22;
        padding: 10px 15px;
        border-bottom: 1px solid var(--ai-terminal-border);
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .terminal-dots {
        display: flex;
        gap: 6px;
    }
    .dot { width: 12px; height: 12px; border-radius: 50%; }
    .dot.red { background: #ff5f56; }
    .dot.yellow { background: #ffbd2e; }
    .dot.green { background: #27c93f; }
    .terminal-title {
        margin-left: auto;
        margin-right: auto;
        font-size: 0.85rem;
        opacity: 0.7;
    }

    .terminal-body {
        padding: 20px;
        min-height: 400px;
        position: relative;
        background: linear-gradient(180deg, rgba(13,17,23,0.9) 0%, rgba(13,17,23,1) 100%);
    }

    .scan-line {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: rgba(88, 166, 255, 0.8);
        box-shadow: 0 0 15px rgba(88, 166, 255, 1);
        animation: scan 2s linear infinite;
        z-index: 5;
        pointer-events: none;
        display: none; /* JS will toggle */
    }
    .ai-terminal-window.scanning .scan-line { display: block; }
    @keyframes scan {
        0% { top: 0; opacity: 0; }
        10% { opacity: 1; }
        90% { opacity: 1; }
        100% { top: 100%; opacity: 0; }
    }

    .terminal-log {
        font-size: 0.9rem;
        margin-bottom: 20px;
        color: var(--ai-terminal-text);
        font-family: 'Fira Code', monospace;
    }
    .cmd-line { display: block; margin-bottom: 5px; }
    .cmd-cursor {
        display: inline-block;
        width: 8px;
        height: 15px;
        background: var(--ai-terminal-text);
        animation: blink 1s infinite;
        vertical-align: text-bottom;
    }

    .ai-loc-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        opacity: 0;
        transition: opacity 0.5s ease;
    }
    .ai-loc-grid.visible { opacity: 1; }

    .ai-loc-card {
        background: rgba(33, 38, 45, 0.6);
        border: 1px solid rgba(48, 54, 61, 0.7);
        border-radius: 12px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        transform: translateY(20px);
        opacity: 0;
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        backdrop-filter: blur(5px);
    }
    .ai-loc-card:hover {
        border-color: var(--accent);
        transform: translateY(-5px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    }
    .ai-loc-card.revealed { transform: translateY(0); opacity: 1; }

    .ai-loc-img-wrap {
        height: 180px;
        overflow: hidden;
        position: relative;
    }
    .ai-loc-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s ease;
    }
    .ai-loc-card:hover .ai-loc-img { transform: scale(1.1); }

    .ai-loc-info { padding: 15px; }
    .ai-loc-title {
        color: #fff;
        font-weight: 700;
        font-family: 'Inter', sans-serif;
        margin-bottom: 8px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .ai-loc-dist { 
        font-size: 0.75rem; 
        color: #2ea44f; 
        background: rgba(46, 164, 79, 0.1);
        border: 1px solid rgba(46, 164, 79, 0.3); 
        padding: 2px 8px; 
        border-radius: 99px; 
        font-family: 'Fira Code', monospace;
    }
    .ai-loc-desc { 
        font-size: 0.85rem; 
        color: #8b949e; 
        line-height: 1.5; 
        font-family: 'Inter', sans-serif;
    }

    @media (min-width: 768px) {
        .ai-loc-grid { grid-template-columns: repeat(3, 1fr); }
    }

    /* ========================================= */
    /* [NEW] AI CHAT FAQ STYLES                  */
    /* ========================================= */
    .ai-chat-interface {
        max-width: 900px;
        margin: 0 auto;
        background: var(--c-bg-card);
        border: 1px solid var(--c-border);
        border-radius: var(--radius);
        box-shadow: var(--shadow-md);
        display: flex;
        flex-direction: column;
        height: 600px;
        overflow: hidden;
    }

    .chat-header {
        padding: 15px 20px;
        background: var(--c-bg);
        border-bottom: 1px solid var(--c-border);
        display: flex;
        align-items: center;
        gap: 10px;
    }
    .bot-avatar {
        width: 36px;
        height: 36px;
        background: var(--ai-gradient-1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.2rem;
    }
    .chat-status { font-size: 0.8rem; color: var(--status-open-text); display: flex; align-items: center; gap: 4px; }
    .chat-status::before { content:''; display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor; }

    .chat-window {
        flex: 1;
        padding: 20px;
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        gap: 15px;
        background-color: var(--c-bg-card);
    }

    .chat-msg {
        max-width: 80%;
        padding: 12px 16px;
        border-radius: 18px;
        font-size: 0.95rem;
        line-height: 1.5;
        position: relative;
        animation: popIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }
    @keyframes popIn { from{transform:scale(0.8); opacity:0;} to{transform:scale(1); opacity:1;} }

    .chat-msg.bot {
        background-color: var(--ai-chat-bubble-bot);
        color: var(--c-text);
        border-bottom-left-radius: 4px;
        align-self: flex-start;
    }

    .chat-msg.user {
        background-color: var(--ai-chat-bubble-user);
        color: #fff;
        border-bottom-right-radius: 4px;
        align-self: flex-end;
    }

    .typing-dots {
        display: flex;
        gap: 4px;
        padding: 10px 14px;
        background: var(--ai-chat-bubble-bot);
        border-radius: 18px;
        border-bottom-left-radius: 4px;
        width: fit-content;
        align-self: flex-start;
    }
    .typing-dot {
        width: 6px;
        height: 6px;
        background: #aaa;
        border-radius: 50%;
        animation: bounce 1.4s infinite ease-in-out both;
    }
    .typing-dot:nth-child(1) { animation-delay: -0.32s; }
    .typing-dot:nth-child(2) { animation-delay: -0.16s; }
    @keyframes bounce {
        0%, 80%, 100% { transform: scale(0); }
        40% { transform: scale(1); }
    }

    .chat-controls {
        padding: 15px;
        border-top: 1px solid var(--c-border);
        background: var(--c-bg);
    }
    .suggestion-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
    }
    .chip-btn {
        background: var(--c-bg-card);
        border: 1px solid var(--c-border);
        color: var(--accent);
        padding: 8px 16px;
        border-radius: 99px;
        font-size: 0.9rem;
        cursor: pointer;
        transition: all 0.2s;
    }
    .chip-btn:hover {
        background: var(--accent);
        color: #fff;
        border-color: var(--accent);
        transform: translateY(-2px);
    }
    /* Style for disabled buttons during bot reply */
    .chip-btn:disabled {
        opacity: 0.6;
        cursor: not-allowed;
        pointer-events: none;
    }

    /* 8. FOOTER */
    .main-footer {
        background-color: var(--c-bg-card);
        color: var(--c-text-muted);
        padding: 3rem 0 1.5rem;
        border-top: 1px solid var(--c-border);
        margin-top: 3rem;
    }
    html[data-theme="dark"] .main-footer {
        background-color: #0D1117;
    }

    .footer-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer-col h4 {
        font-size: 1.05rem;
        font-weight: 600;
        color: var(--c-text);
        margin-bottom: 0.75rem;
    }

    .footer-col p, .footer-col ul {
        font-size: 0.95rem;
        list-style: none;
    }

    .footer-col ul {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
    }

    .footer-col ul a {
        color: var(--c-text-muted);
    }
    .footer-col ul a:hover {
        color: var(--accent);
    }

    .footer-contact li {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        margin-bottom: 0.6rem;
    }
    .footer-contact .icon {
        font-size: 1.25rem;
        margin-top: 0.15rem;
        color: var(--c-text);
    }

    .social-links {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem;
    }
    .social-links a {
        font-size: 1.6rem;
        color: var(--c-text-muted);
    }
    .social-links a:hover {
        color: var(--accent);
    }

    .footer-bottom {
        margin-top: 2.5rem;
        padding-top: 1.25rem;
        border-top: 1px solid var(--c-border);
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        text-align: center;
        gap: 0.75rem;
        font-size: 0.9rem;
    }
    .footer-bottom a {
        color: var(--c-text-muted);
        font-weight: 500;
    }
    .footer-bottom a:hover {
        color: var(--accent);
    }

    /* Mobile Accordion Footer */
    @media (max-width: 767px) {
        .footer-grid { gap: 1rem; }
        .footer-col {
            background: var(--c-bg);
            border-radius: 12px;
            padding: 0.9rem 1rem;
            box-shadow: var(--shadow-sm);
        }
        .footer-col h4 {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 0;
            cursor: pointer;
        }
        .footer-toggle-icon {
            font-family: "Material Symbols Rounded";
            font-size: 1.4rem;
            transition: transform 0.25s ease;
        }
        .footer-col p, .footer-col ul, .footer-col .footer-contact {
            max-height: 0;
            overflow: hidden;
            opacity: 0;
            transition: max-height 0.25s ease, opacity 0.25s ease, margin-top 0.25s ease;
            margin-top: 0;
        }
        .footer-col.is-open p, .footer-col.is-open ul, .footer-col.is-open .footer-contact {
            max-height: 500px;
            opacity: 1;
            margin-top: 0.6rem;
        }
        .footer-col.is-open .footer-toggle-icon {
            transform: rotate(180deg);
        }
        .footer-bottom {
            border-top: none;
            margin-top: 1.5rem;
        }
    }

    @media (min-width: 640px) {
        .footer-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 2rem;
        }
        .footer-col { padding-right: 1.5rem; }
        .footer-bottom {
            flex-direction: row;
            justify-content: space-between;
            text-align: left;
        }
    }
    @media (min-width: 1024px) {
        .footer-grid { grid-template-columns: 2fr 1.5fr 1fr 1fr 1fr 1.5fr; }
    }

    /* 9. QUICK CALL APPS ULTRA - AI EDITION */
    .quick-call-ultra-wrapper {
        position: fixed;
        bottom: 25px;
        left: 25px;
        right: auto;
        z-index: 999;
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        gap: 15px;
    }

    /* AI Chat Bubble */
    .ultra-ai-bubble {
        position: absolute;
        bottom: 75px;
        left: 50px;
        background: var(--c-bg-card); 
        color: var(--c-text);         
        border: 1px solid var(--c-border); 
        backdrop-filter: blur(10px);
        padding: 10px 15px;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
        font-size: 0.85rem;
        white-space: normal; 
        line-height: 1.4;
        width: max-content;
        max-width: 200px; 
        display: flex;
        align-items: center;
        gap: 8px;
        opacity: 0;
        transform: translateY(10px) scale(0.9);
        visibility: hidden;
        transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
        pointer-events: none;
    }

    .quick-call-ultra-wrapper.active .ultra-ai-bubble {
        opacity: 1;
        transform: translateY(0) scale(1);
        visibility: visible;
        transition-delay: 0.1s;
    }

    .ultra-ai-bubble::before {
        content: '';
        position: absolute;
        bottom: -6px;
        left: 10px;
        width: 12px;
        height: 12px;
        background: inherit;
        border-bottom: 1px solid var(--c-border); 
        border-right: 1px solid var(--c-border); 
        transform: rotate(45deg);
    }

    .ai-avatar {
        width: 24px;
        height: 24px;
        background: var(--ai-gradient-1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        color: white;
        box-shadow: 0 2px 6px rgba(0, 120, 212, 0.4);
        animation: pulse-ai 2s infinite;
        flex-shrink: 0; 
    }

    .ai-text { font-weight: 500; }

    .ultra-main-btn {
        width: 65px;
        height: 65px;
        border-radius: 50%;
        background: var(--accent);
        color: white;
        border: 2px solid #fff;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 28px;
        position: relative;
        z-index: 20;
        box-shadow: 0 4px 15px rgba(0, 120, 212, 0.5);
        transition: transform 0.3s ease, background-color 0.3s ease;
    }

    .ultra-ripple {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: 1px solid var(--accent);
        animation: ripple-out 2s infinite ease-out;
        z-index: -1;
        opacity: 0;
    }
    .quick-call-ultra-wrapper:not(.active) .ultra-ripple { animation-play-state: running; }

    @keyframes ripple-out {
        0% { width: 100%; height: 100%; opacity: 0.8; }
        100% { width: 220%; height: 220%; opacity: 0; }
    }

    @keyframes pulse-ai {
        0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 120, 212, 0.7); }
        70% { transform: scale(1.1); box-shadow: 0 0 0 6px rgba(0, 120, 212, 0); }
        100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 120, 212, 0); }
    }

    .ultra-menu {
        display: flex;
        flex-direction: column-reverse; 
        gap: 15px;
        position: absolute; 
        bottom: 0;
        z-index: 10;
        pointer-events: none;
    }

    .ultra-item {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: var(--c-bg-card);
        color: var(--c-text);
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        font-size: 22px;
        opacity: 0;
        transform: translateY(0) scale(0.5);
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        position: relative;
    }

    .ultra-item svg { width: 22px; height: 22px; fill: currentColor; }

    .ultra-item::after {
        content: attr(data-label);
        position: absolute;
        left: 60px;
        right: auto;
        background: rgba(0,0,0,0.7);
        color: white;
        padding: 4px 8px;
        border-radius: 6px;
        font-size: 12px;
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s;
    }
    .ultra-item:hover::after { opacity: 1; visibility: visible; }

    .ultra-item.call { background: #4CAF50; color: white; }
    .ultra-item.zalo { background: #0068FF; color: white; }
    .ultra-item.map { background: #EA4335; color: white; }
    .ultra-item.messenger { background: #0084FF; color: white; }

    .quick-call-ultra-wrapper.active .ultra-main-btn {
        background-color: var(--c-text);
        transform: rotate(45deg);
    }
    .quick-call-ultra-wrapper.active .ultra-menu { pointer-events: auto; }

    .quick-call-ultra-wrapper.active .ultra-item:nth-child(1) { transform: translateY(-60px) scale(1); opacity: 1; transition-delay: 0.05s; }
    .quick-call-ultra-wrapper.active .ultra-item:nth-child(2) { transform: translateY(-115px) scale(1); opacity: 1; transition-delay: 0.1s; }
    .quick-call-ultra-wrapper.active .ultra-item:nth-child(3) { transform: translateY(-170px) scale(1); opacity: 1; transition-delay: 0.15s; }
    .quick-call-ultra-wrapper.active .ultra-item:nth-child(4) { transform: translateY(-225px) scale(1); opacity: 1; transition-delay: 0.2s; }

    body.keyboard-visible .quick-call-ultra-wrapper { display: none; }

    /* 10. ANIMATIONS & STATES */
    .animate-on-scroll {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        will-change: opacity, transform;
    }
    .animate-on-scroll.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    ::view-transition-old(root), ::view-transition-new(root) {
        animation-duration: 0.3s;
        animation-timing-function: ease-in-out;
        animation-fill-mode: forwards;
    }
    ::view-transition-old(root) { animation-name: fade-out; }
    ::view-transition-new(root) { animation-name: fade-in; }
    @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
    @keyframes fade-out { from { opacity: 1; } to { opacity: 0; } }

    /* Focus Styles */
    :focus-visible {
        outline: 2px solid var(--accent);
        outline-offset: 2px;
        border-radius: var(--radius-sm);
    }
    .btn:focus-visible, input:focus-visible {
        outline: none;
        box-shadow: 0 0 0 3px var(--accent-light);
    }
</style>
<!-- === HEADER (Giữ nguyên) === -->
<header class="main-header">
    <div class="container">
        <nav class="main-nav">
            <a href="https://motoopen.github.io/thuexemayohoankiem/" class="logo">
                <img src="https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0477.jpeg" alt="Logo Nguyễn Hào">
                <h1 class="sr-only">Cho thuê xe máy Hoàn Kiếm, Hà Nội - Nguyễn Hào</h1>
                <span aria-hidden="true">Nguyễn Hào</span>
            </a>

            <ul class="nav-menu">
                <li><a href="https://motoopen.github.io/thuexemayohoankiem/" class="active">🏠 Trang chủ</a></li>
                <li><a href="gioithieu.html">📄 Giới thiệu</a></li>

                <li class="nav-item-dropdown">
                    <button class="nav-dropdown-toggle" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="desktop-service-menu" style="background:none; border:none; font:inherit; color:inherit; padding:0.5rem 0;">
                        ⚙️ Dịch vụ
                        <span class="material-symbols-rounded dropdown-icon" aria-hidden="true">expand_more</span>
                    </button>
                    <ul class="dropdown-menu" id="desktop-service-menu">
                        <li><a href="banggia.html">🏷️ Bảng giá</a></li>
                        <li><a href="thutuc.html">📑 Thủ tục</a></li>
                        <li><a href="loaixe.html">🛵 Loại xe</a></li>
                        <li><a href="quytrinh.html">⚙️ Quy trình</a></li>
                        <li><a href="ngay.html">☀️ Thuê ngày</a></li>
                        <li><a href="tuan.html">🗓️ Thuê tuần</a></li>
                        <li><a href="thang.html">🌙 Thuê tháng</a></li>
                        <li><a href="uudai.html">🎁 Ưu đãi</a></li>
                        <li><a href="giamgia.html">💰 Giảm giá</a></li>
                        <li><a href="blog.html">📰 Tin tức</a></li>
                        <li><a href="kinhnghiem.html">💡 Kinh nghiệm</a></li>
                        <li><a href="diadiem.html">📍 Địa điểm</a></li>
                        <li><a href="chinhsach.html">📜 Chính sách</a></li>
                    </ul>
                </li>

                <li><a href="faq.html">❓ FAQ - Hỏi đáp</a></li>
                <li><a href="chinhsachbaomat.html">🔒 Chính sách bảo mật</a></li>
                <li><a href="dieukhoansudung.html">⚖️ Điều khoản sử dụng</a></li>
                <li><a href="lienhe.html">💬 Liên hệ</a></li>
            </ul>
            <div class="nav-actions">
                <div id="shop-status-desktop" class="shop-status" style="display: none;"></div>

                <button class="theme-switcher" id="theme-switcher" aria-label="Chuyển đổi giao diện Sáng/Tối">
                    <span class="material-symbols-rounded light-icon" aria-hidden="true">light_mode</span>
                    <span class="material-symbols-rounded dark-icon" aria-hidden="true">dark_mode</span>
                </button>

                <button class="mobile-menu-toggle" id="mobile-menu-toggle" aria-label="Mở menu" aria-expanded="false" aria-controls="mobile-nav-panel">
                    <span class="material-symbols-rounded" aria-hidden="true">menu</span>
                </button>
            </div>
        </nav>
    </div>
</header>

<!-- === AI SIDEBAR (Giữ nguyên) === -->
<nav class="mobile-nav-panel" id="mobile-nav-panel" aria-label="AI Ultra Menu" aria-hidden="true">
    <button id="mobile-nav-close" aria-label="Đóng menu">
        <span class="material-symbols-rounded" aria-hidden="true">close</span>
    </button>

    <div class="ai-sidebar-header">
        <div class="ai-greeting-box">
            <div class="ai-greeting-title" id="ai-greeting-time">Xin chào,</div>
            <div class="ai-typing-text">
                <span id="ai-typewriter-text"></span><span class="ai-cursor"></span>
            </div>
        </div>

        <div class="ai-smart-grid">
            <a href="tel:0942467674" class="smart-icon-btn">
                <div class="smart-icon-box bg-gradient-green"><span class="material-symbols-rounded" aria-hidden="true">call</span></div>
                <span>Gọi Ngay</span>
            </a>
            <a href="https://zalo.me/0942467674" target="_blank" rel="noopener noreferrer" class="smart-icon-btn" aria-label="Chat Zalo">
                <div class="smart-icon-box bg-gradient-blue">
                     <svg viewBox="0 0 100 100" class="icon-zalo-svg">
                         <path d="M85.4 34.6c-1.5-6.6-6-12-12.4-14.8-19.4-8.5-44.5-2.7-56 14.6-9.1 13.8-6.1 33 6.9 43.1 3.5 2.7 7.5 4.6 11.7 5.6L32.2 92c-.3 1.2.9 2.1 1.9 1.4l14.2-9.6c4 .7 8.2.7 12.2-.1 13.2-2.6 23.3-12.5 24.9-25.9.6-5.1.5-10.2-.1-15.3l.1-7.9z" style="fill:white;"/>
                     </svg>
                </div>
                <span>Zalo</span>
            </a>
            <a href="https://maps.app.goo.gl/SR1hcwnCQjPkAvDh7?g_st=ipc" target="_blank" rel="noopener noreferrer" class="smart-icon-btn">
                <div class="smart-icon-box bg-gradient-orange"><span class="material-symbols-rounded" aria-hidden="true">location_on</span></div>
                <span>Bản đồ</span>
            </a>
            <a href="banggia.html" class="smart-icon-btn">
                <div class="smart-icon-box bg-gradient-purple"><span class="material-symbols-rounded" aria-hidden="true">payments</span></div>
                <span>Bảng giá</span>
            </a>
        </div>
        <hr style="border:0; border-top:1px solid var(--c-border); margin: 0.5rem 0 1rem;">
    </div>

    <ul class="mobile-nav-menu">
        <li><a href="https://motoopen.github.io/thuexemayohoankiem/" class="active">🏠 Trang chủ</a></li>
        <li><a href="gioithieu.html">📄 Giới thiệu</a></li>

        <li class="mobile-nav-dropdown">
            <button class="mobile-dropdown-toggle" aria-expanded="false" aria-controls="mobile-submenu-services">
                <span>⚙️ Dịch vụ</span>
                <span class="material-symbols-rounded icon" aria-hidden="true">expand_more</span>
            </button>
            <ul class="mobile-submenu" id="mobile-submenu-services">
                <li><a href="banggia.html">🏷️ Bảng giá</a></li>
                <li><a href="thutuc.html">📑 Thủ tục</a></li>
                <li><a href="loaixe.html">🛵 Loại xe</a></li>
                <li><a href="quytrinh.html">⚙️ Quy trình</a></li>
                <li><a href="ngay.html">☀️ Thuê ngày</a></li>
                <li><a href="tuan.html">🗓️ Thuê tuần</a></li>
                <li><a href="thang.html">🌙 Thuê tháng</a></li>
                <li><a href="uudai.html">🎁 Ưu đãi</a></li>
                <li><a href="giamgia.html">💰 Giảm giá</a></li>
                <li><a href="blog.html">📰 Tin tức</a></li>
                <li><a href="kinhnghiem.html">💡 Kinh nghiệm</a></li>
                <li><a href="diadiem.html">📍 Địa điểm</a></li>
                <li><a href="chinhsach.html">📜 Chính sách</a></li>
            </ul>
        </li>

        <li><a href="faq.html">❓ FAQ - Hỏi đáp</a></li>
        <li><a href="chinhsachbaomat.html">🔒 Chính sách bảo mật</a></li>
        <li><a href="dieukhoansudung.html">⚖️ Điều khoản sử dụng</a></li>
        <li><a href="lienhe.html">💬 Liên hệ</a></li>
    </ul>
</nav>
<div class="mobile-nav-overlay" id="mobile-nav-overlay" aria-hidden="true"></div>

<main>
    <!-- === HERO SECTION === -->
    <section class="hero" aria-labelledby="hero-title">
        <div class="container">
            <!-- Tối ưu H1 chứa từ khóa chính -->
            <h1 id="hero-title" class="animate-on-scroll">Cho Thuê Xe Máy Hoàn Kiếm, Hà Nội – Nguyễn Hào</h1>
            <p class="subtitle animate-on-scroll" data-delay="100">
                📍 Dịch vụ thuê xe máy Long Biên, Phố Cổ uy tín. Giao xe nhanh 20 phút, xe mới, thủ tục đơn giản chỉ cần CCCD.
            </p>
            <div class="cta-buttons animate-on-scroll" data-delay="200">
                <a href="tel:0942467674" class="btn btn-primary">
                    <span class="material-symbols-rounded" aria-hidden="true">call</span>
                    Gọi ngay 0942467674
                </a>
                <a href="https://zalo.me/0942467674" target="_blank" rel="noopener noreferrer" class="btn btn-secondary">
                    <span style="font-weight: 800; font-family: sans-serif; border: 2px solid currentColor; padding: 0 4px; border-radius: 4px; font-size: 0.8em; line-height: 1.2;">Zalo</span>
                    Chat Zalo
                </a>
            </div>
            <div class="chips animate-on-scroll" data-delay="300">
                <span class="chip">⚡ Giao nhanh 20’</span>
                <span class="chip">💰 Cọc nhẹ 1 triệu</span>
                <span class="chip">🛵 Xe ga/xe số mới</span>
                <span class="chip">🚚 Giao Long Biên, Gia Lâm</span>
            </div>

            <!-- PRICE CALCULATOR (Giữ nguyên tính năng) -->
            <form class="mini-form animate-on-scroll" data-delay="400" id="price-calculator" aria-labelledby="form-title" onsubmit="event.preventDefault()">
                <h3 id="form-title"><span class="material-symbols-rounded">calculate</span> Tính Tiền Thuê Xe Tự Động</h3>
                <div class="form-grid">
                    <div class="form-group">
                        <label for="calc-bike-type">Chọn loại xe</label>
                        <select id="calc-bike-type" required>
                            <option value="150000">Xe Số (Wave/Sirius) - 150k</option>
                            <option value="200000" selected>Xe Ga (Vision/AirBlade) - 200k</option>
                            <option value="350000">Xe Côn Tay (Winner/Exciter) - 350k</option>
                            <option value="180000">Xe Điện (VinFast) - 180k</option>
                        </select>
                    </div>
                    <div class="form-group">
                        <label for="calc-days">Số ngày thuê</label>
                        <input type="number" id="calc-days" value="1" min="1" max="365" required>
                    </div>
                    <div class="form-group">
                        <button type="button" id="btn-calculate" class="btn btn-primary w-100">Tính Tiền</button>
                    </div>
                    <div class="price-result-box">
                        <span class="price-label">Tổng tạm tính:</span>
                        <span class="price-value" id="price-total">200.000đ</span>
                    </div>
                </div>
            </form>
        </div>
    </section>

    <!-- === NỘI DUNG CHÍNH (TỐI ƯU SEO) === -->

    <!-- Section: Why Choose -->
    <section id="why-us" class="section content-block" aria-labelledby="why-us-title">
        <div class="container">
            <h2 id="why-us-title" class="section-title animate-on-scroll">Vì Sao Chọn Thuê Xe Máy Nguyễn Hào Tại Hoàn Kiếm?</h2>
            <div class="benefits-grid">
                <div class="benefit-item animate-on-scroll">
                    <span class="material-symbols-rounded icon" aria-hidden="true">help_center</span>
                    <div>
                        <h3>Thủ Tục Đơn Giản</h3>
                        <p>Chỉ cần CCCD gắn chip hoặc Hộ chiếu (với khách nước ngoài). Không giữ giấy tờ gốc nếu có cọc nhẹ.</p>
                    </div>
                </div>
                <div class="benefit-item animate-on-scroll" data-delay="100">
                    <span class="material-symbols-rounded icon" aria-hidden="true">verified</span>
                    <div>
                        <h3>Xe Mới Chất Lượng</h3>
                        <p>Dàn xe Wave, Vision, Air Blade đời mới 2023-2024. Bảo dưỡng định kỳ, đảm bảo an toàn tuyệt đối khi di chuyển.</p>
                    </div>
                </div>
                <div class="benefit-item animate-on-scroll" data-delay="200">
                    <span class="material-symbols-rounded icon" aria-hidden="true">safety_divider</span>
                    <div>
                        <h3>Cọc Nhẹ & Linh Hoạt</h3>
                        <p>Chính sách cọc chỉ từ 1 triệu đồng. Hoàn trả cọc ngay sau khi trả xe. Có hỗ trợ không cọc cho sinh viên.</p>
                    </div>
                </div>
                <div class="benefit-item animate-on-scroll" data-delay="300">
                    <span class="material-symbols-rounded icon" aria-hidden="true">location_on</span>
                    <div>
                        <h3>Giao Xe Tận Nơi</h3>
                        <p>Miễn phí hoặc phí thấp giao xe tại <strong>Hoàn Kiếm, Long Biên, Gia Lâm, Ba Đình</strong> và khu vực Phố Cổ.</p>
                    </div>
                </div>
                <div class="benefit-item animate-on-scroll" data-delay="400">
                    <span class="material-symbols-rounded icon" aria-hidden="true">headset_mic</span>
                    <div>
                        <h3>Hỗ Trợ 24/7</h3>
                        <p>Hotline 0942.467.674 luôn sẵn sàng hỗ trợ sự cố, đổi xe tận nơi nếu gặp trục trặc kỹ thuật.</p>
                    </div>
                </div>
                <div class="benefit-item animate-on-scroll" data-delay="500">
                    <span class="material-symbols-rounded icon" aria-hidden="true">workspace_premium</span>
                    <div>
                        <h3>Giá Rẻ & Minh Bạch</h3>
                        <p>Giá thuê xe số chỉ từ 100k - 150k/ngày. Xe ga từ 150k - 200k/ngày. Không phí ẩn.</p>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Section: Services & Bikes -->
    <section id="services" class="section" data-tilt="true" aria-labelledby="services-title">
        <div class="container">
            <h2 id="services-title" class="section-title animate-on-scroll">Bảng Giá Cho Thuê Xe Máy Hà Nội Mới Nhất</h2>
            <div class="services-grid">
                <!-- SỬA LINK 1: BẢNG GIÁ -->
                <div class="card service-card animate-on-scroll">
                    <img loading="lazy" decoding="async" src="https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0491.jpeg" alt="Cho thuê xe ga Vision Air Blade Hà Nội">
                    <h3>Thuê Xe Ga (Vision/AB)</h3>
                    <p>Xe ga cốp rộng, đi êm, thích hợp dạo phố cổ Hà Nội và Tây Hồ.</p>
                    <div class="price">Từ 200.000đ / ngày</div>
                    <br>
                    <a href="banggia.html" class="btn btn-secondary w-100">Chi tiết Bảng Giá</a>
                </div>
                <!-- SỬA LINK 2: THUÊ NGÀY -->
                <div class="card service-card animate-on-scroll" data-delay="100">
                    <img loading="lazy" decoding="async" src="https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0490.jpeg" alt="Cho thuê xe số Wave Hà Nội">
                    <h3>Thuê Xe Số (Wave/Sirius)</h3>
                    <p>Tiết kiệm xăng, động cơ khỏe. Lựa chọn số 1 để đi phượt Ba Vì.</p>
                    <div class="price">Từ 150.000đ / ngày</div>
                    <br>
                    <a href="ngay.html" class="btn btn-secondary w-100">Dịch vụ Thuê Ngày</a>
                </div>
                <!-- SỬA LINK 3: THUÊ TUẦN -->
                <div class="card service-card animate-on-scroll" data-delay="200">
                    <img loading="lazy" decoding="async" src="https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0493.jpeg" alt="Cho thuê xe côn tay Winner Hà Nội">
                    <h3>Thuê Xe Côn Tay (Winner)</h3>
                    <p>Winner X, Exciter 150cc mạnh mẽ dành cho các phượt thủ.</p>
                    <div class="price">Từ 350.000đ / ngày</div>
                    <br>
                    <a href="tuan.html" class="btn btn-secondary w-100">Dịch vụ Thuê Tuần</a>
                </div>
                <!-- SỬA LINK 4: THUÊ THÁNG -->
                <div class="card service-card animate-on-scroll" data-delay="300">
                    <img loading="lazy" decoding="async" src="https://raw.githubusercontent.com/motoopen/thuexemayohoankiem/refs/heads/main/IMG_0492.jpeg" alt="Cho thuê xe điện Hà Nội">
                    <h3>Thuê Xe Điện VinFast</h3>
                    <p>Xe điện xanh, bảo vệ môi trường, vận hành êm ái trong nội thành.</p>
                    <div class="price">Từ 180.000đ / ngày</div>
                    <br>
                    <a href="thang.html" class="btn btn-secondary w-100">Dịch vụ Thuê Tháng</a>
                </div>
            </div>
        </div>
    </section>

    <!-- Content SEO: Locations -->
    <!-- SỬA LAYOUT: LÀM ĐẸP GRID 3 CỘT NHƯNG GIỮ NGUYÊN NỘI DUNG HTML -->
    <section class="section content-block" style="background-color: var(--c-bg-card);">
        <div class="container animate-on-scroll">
            <h2>Địa Điểm Giao Xe Máy Tại Hà Nội – Nhanh Chóng & Tiện Lợi</h2>
            <p style="text-align: center; max-width: 800px; margin: 0 auto 2rem;">Nguyễn Hào tự hào là đơn vị cung cấp dịch vụ <strong>cho thuê xe máy Hoàn Kiếm, Hà Nội</strong> với mạng lưới giao xe rộng khắp. Chúng tôi hiểu rằng thời gian của quý khách là vàng bạc, vì vậy cam kết giao xe chỉ trong vòng 15-30 phút tùy khu vực.</p>

            <div class="benefits-grid">
                <div class="card" style="border: 1px solid var(--c-border); padding: 1.5rem;">
                    <h3>1. Thuê xe máy tại Phố Cổ và Hoàn Kiếm</h3>
                    <p>Khu vực trung tâm như Hồ Gươm, Nhà Thờ Lớn, hay các khách sạn trong khu Phố Cổ luôn được chúng tôi ưu tiên giao xe cực nhanh. Bạn chỉ cần đặt trước qua Zalo, xe sẽ có mặt tại sảnh khách sạn của bạn.</p>
                </div>

                <div class="card" style="border: 1px solid var(--c-border); padding: 1.5rem;">
                    <h3>2. Thuê xe máy Long Biên và Bến xe Gia Lâm</h3>
                    <p>Cơ sở chính của chúng tôi nằm tại <strong>112 Nguyễn Văn Cừ, Long Biên</strong>. Đây là vị trí đắc địa ngay gần cầu Chương Dương và Bến xe Gia Lâm. Khách hàng xuống xe khách có thể nhận xe máy ngay để di chuyển vào nội thành hoặc đi công tác.</p>
                </div>

                <div class="card" style="border: 1px solid var(--c-border); padding: 1.5rem;">
                    <h3>3. Giao xe tại Ga Hà Nội và các quận lân cận</h3>
                    <p>Ngoài ra, chúng tôi hỗ trợ giao xe tại <strong>Ga Hà Nội</strong> (đường Lê Duẩn), khu vực quận Ba Đình (Lăng Bác), Tây Hồ (Hồ Tây). Dù bạn đến Hà Nội bằng tàu hỏa hay máy bay (di chuyển về trung tâm), Nguyễn Hào luôn sẵn sàng phục vụ.</p>
                </div>
            </div>

            <p style="text-align: center; margin-top: 2rem;"><em>Xem thêm chi tiết về quy trình giao nhận tại trang <a href="quytrinh.html">Quy trình thuê xe</a>.</em></p>
        </div>
    </section>

    <!-- Section: Deal Highlight -->
    <section id="deals" class="section" aria-labelledby="deals-title">
        <div class="container">
            <div class="deal-highlight animate-on-scroll">
                <h2 id="deals-title">🔥 Ưu Đãi: Giảm 20% Khi Thuê Theo Tuần</h2>
                <p>Khách hàng thuê xe máy từ 5 ngày trở lên sẽ nhận ngay ưu đãi giảm giá hấp dẫn. Tặng kèm 2 mũ bảo hiểm, áo mưa và 1 lít xăng khi nhận xe.</p>
                <a href="uudai.html" class="btn">Nhận ưu đãi ngay</a>
            </div>
        </div>
    </section>

    <!-- Section: Gallery -->
    <section id="gallery" class="section" aria-labelledby="gallery-title">
        <div class="container">
            <h2 id="gallery-title" class="section-title animate-on-scroll">Hình Ảnh Xe Thực Tế Tại Nguyễn Hào</h2>
            <div class="gallery-grid" id="gallery-grid">
                <div class="gallery-item animate-on-scroll">
                    <img loading="lazy" decoding="async" src="https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Muon-xe-may-Ha-Noi.jpg" alt="Mượn xe máy Hà Nội tại Nguyễn Hào">
                </div>
                <div class="gallery-item animate-on-scroll" data-delay="100">
                    <img loading="lazy" decoding="async" src="https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Cho-thue-xe-may-Ba-Dinh.jpg" alt="Cho thuê xe máy Ba Đình uy tín">
                </div>
                <div class="gallery-item animate-on-scroll" data-delay="200">
                    <img loading="lazy" decoding="async" src="https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Cho-thue-xe-may-Dong-Da-Ha-Noi.jpg" alt="Cho thuê xe máy Đống Đa Hà Nội">
                </div>
                <div class="gallery-item animate-on-scroll" data-delay="300">
                    <img loading="lazy" decoding="async" src="https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Dia-chi-cho-thue-xe-may-ha-noi.jpg" alt="Địa chỉ cho thuê xe máy Hà Nội giá rẻ">
                </div>
            </div>
        </div>
    </section>

    <!-- Section: Testimonials -->
    <section id="testimonials" class="section" aria-labelledby="testimonials-title">
        <div class="container">
            <h2 id="testimonials-title" class="section-title animate-on-scroll">Đánh Giá Từ Khách Hàng</h2>
            <div class="testimonial-slider animate-on-scroll" tabindex="0" aria-label="Khu vực đánh giá khách hàng">
                <div class="slider-track" id="slider-track" aria-live="polite">
                    <div class="testimonial-card" role="group" aria-label="Đánh giá 1">
                        <div class="stars" aria-label="5 trên 5 sao">★★★★★</div>
                        <blockquote>"Dịch vụ tuyệt vời! Mình thuê xe ở Long Biên để đi phượt, xe Wave rất khỏe. Anh chủ nhiệt tình chỉ đường."</blockquote>
                        <cite class="author">Minh Tuấn - TP. HCM</cite>
                    </div>
                    <div class="testimonial-card" role="group" aria-label="Đánh giá 2">
                        <div class="stars" aria-label="5 trên 5 sao">★★★★★</div>
                        <blockquote>"Giao xe nhanh đúng như quảng cáo. Mình ở khách sạn trong Phố Cổ, 20 phút là có xe ngay. Giá thuê xe ga hợp lý."</blockquote>
                        <cite class="author">Thanh Hằng - Đà Nẵng</cite>
                    </div>
                    <div class="testimonial-card" role="group" aria-label="Đánh giá 3">
                        <div class="stars" aria-label="5 trên 5 sao">★★★★★</div>
                        <blockquote>"Very good motorbike rental in Hanoi. Easy procedure with passport. Highly recommended for tourists!"</blockquote>
                        <cite class="author">John Doe - Australia</cite>
                    </div>
                </div>
                <div class="slider-dots" id="slider-dots" role="tablist" aria-label="Điều hướng đánh giá"></div>
            </div>
        </div>
    </section>

    <!-- Section: AI Terminal (Giữ nguyên) -->
    <section id="locations" class="section" aria-labelledby="locations-title">
        <div class="container">
            <h2 id="locations-title" class="section-title animate-on-scroll">🤖 AI Travel: Gợi Ý Điểm Đến</h2>

            <div class="ai-terminal-window animate-on-scroll">
                <div class="terminal-header">
                    <div class="terminal-dots">
                        <span class="dot red"></span>
                        <span class="dot yellow"></span>
                        <span class="dot green"></span>
                    </div>
                    <div class="terminal-title">user@hanoi-travel-bot:~</div>
                </div>
                <div class="terminal-body" id="ai-loc-terminal">
                    <div class="scan-line"></div>
                    <div class="terminal-log">
                        <span class="cmd-line">> init_travel_protocol.exe</span>
                        <span class="cmd-line">> analyzing user location... OK</span>
                        <span class="cmd-line">> scanning database [hanoi_places]...</span>
                        <span id="ai-log-output"></span><span class="cmd-cursor"></span>
                    </div>

                    <!-- Dynamic Content will be injected here -->
                    <div class="ai-loc-grid" id="ai-loc-results">
                        <!-- Cards inserted via JS -->
                    </div>
                </div>
            </div>

            <div style="text-align: center; margin-top: 1.5rem;">
                <button class="btn btn-primary" id="ai-scan-btn">
                    <span class="material-symbols-rounded">radar</span> Quét lại dữ liệu
                </button>
                <a href="diadiem.html" class="btn btn-secondary" style="margin-left: 10px;">Xem toàn bộ</a>
            </div>
        </div>
    </section>

    <!-- Section: AI Chat FAQ (Giữ nguyên) -->
    <section id="faq" class="section" aria-labelledby="faq-title">
        <div class="container animate-on-scroll">
            <h2 id="faq-title" class="section-title">💬 Chat Với Trợ Lý Nguyễn Hào</h2>

            <div class="ai-chat-interface">
                <div class="chat-header">
                    <div class="bot-avatar"><i class="fa-solid fa-robot"></i></div>
                    <div>
                        <div style="font-weight:600;">CSKH Tự Động</div>
                        <div class="chat-status">Trực tuyến</div>
                    </div>
                </div>

                <div class="chat-window" id="chat-window">
                    <!-- Messages start here -->
                    <div class="chat-msg bot">
                        Xin chào! Tôi là trợ lý ảo của Nguyễn Hào. Bạn cần giải đáp thắc mắc gì về dịch vụ thuê xe không?
                    </div>
                </div>

                <div class="chat-controls">
                    <div class="suggestion-chips" id="suggestion-chips">
                        <button class="chip-btn" data-q="docs">Thuê xe máy cần giấy tờ gì?</button>
                        <button class="chip-btn" data-q="deposit">Có cần đặt cọc không?</button>
                        <button class="chip-btn" data-q="delivery">Có giao xe máy Long Biên không?</button>
                        <button class="chip-btn" data-q="breakdown">Xe máy hỏng thì sao?</button>
                        <button class="chip-btn" data-q="contact">Liên hệ trực tiếp</button>
                    </div>
                </div>
            </div>

        </div>
    </section>

</main>

<!-- === FOOTER (Giữ nguyên) === -->
<footer class="main-footer" aria-labelledby="footer-title">
    <div class="container">
        <h2 id="footer-title" class="sr-only">Thông tin liên hệ Nguyễn Hào</h2>
        <div class="footer-grid">
            <div class="footer-col">
                <h4>🏢 Về Nguyễn Hào</h4>
                <p>Nguyễn Hào chuyên cung cấp dịch vụ cho thuê xe máy uy tín hàng đầu tại Hà Nội. Cam kết xe chất lượng, thủ tục nhanh gọn và hỗ trợ khách hàng tận tâm.</p>
            </div>

            <div class="footer-col">
                <h4>📞 Liên Hệ</h4>
                <ul class="footer-contact">
                    <li>
                        <span class="material-symbols-rounded icon" aria-hidden="true">call</span>
                        <div>
                            <strong>Hotline/Zalo:</strong><br>
                            <a href="tel:0942467674">0942.467.674</a>
                        </div>
                    </li>
                    <li>
                        <span class="material-symbols-rounded icon" aria-hidden="true">map</span>
                        <div>
                            <strong>Cơ sở chính:</strong><br>
                            <a href="https://maps.app.goo.gl/SR1hcwnCQjPkAvDh7?g_st=ipc" target="_blank" rel="noopener noreferrer">112 Nguyễn Văn Cừ, Long Biên, Hà Nội</a>
                        </div>
                    </li>
                    <li>
                        <span class="material-symbols-rounded icon" aria-hidden="true">map</span>
                        <div>
                            <strong>Văn phòng Phố Cổ:</strong><br>
                            <span>Ngõ Hài Tượng, Hàng Buồm, Hoàn Kiếm, Hà Nội</span>
                        </div>
                    </li>
                    <li>
                        <span class="material-symbols-rounded icon" aria-hidden="true">mail</span>
                        <div>
                            <strong>Email:</strong><br>
                            <a href="mailto:taihanoi82@gmail.com">taihanoi82@gmail.com</a>
                        </div>
                    </li>
                </ul>
            </div>

            <div class="footer-col">
                <h4>🧭 Khám Phá</h4>
                <ul>
                    <li><a href="https://motoopen.github.io/thuexemayohoankiem/">🏠 Trang chủ</a></li>
                    <li><a href="gioithieu.html">📄 Giới thiệu</a></li>
                    <li><a href="banggia.html">🏷️ Bảng giá</a></li>
                    <li><a href="blog.html">📰 Tin tức</a></li>
                    <li><a href="kinhnghiem.html">💡 Kinh nghiệm</a></li>
                    <li><a href="diadiem.html">📍 Địa điểm</a></li>
                </ul>
            </div>

            <div class="footer-col">
                <h4>⚙️ Dịch Vụ</h4>
                <ul>
                    <li><a href="thutuc.html">📑 Thủ tục</a></li>
                    <li><a href="quytrinh.html">⚙️ Quy trình</a></li>
                    <li><a href="loaixe.html">🛵 Loại xe</a></li>
                    <li><a href="ngay.html">☀️ Thuê ngày</a></li>
                    <li><a href="tuan.html">🗓️ Thuê tuần</a></li>
                    <li><a href="thang.html">🌙 Thuê tháng</a></li>
                    <li><a href="uudai.html">🎁 Ưu đãi</a></li>
                    <li><a href="giamgia.html">💰 Giảm giá</a></li>
                </ul>
            </div>

            <div class="footer-col">
                <h4>🛡️ Chính Sách</h4>
                <ul>
                    <li><a href="faq.html">❓ FAQ - Hỏi đáp</a></li>
                    <li><a href="chinhsach.html">📜 Chính sách</a></li>
                    <li><a href="chinhsachbaomat.html">🔒 Chính sách bảo mật</a></li>
                    <li><a href="dieukhoansudung.html">⚖️ Điều khoản sử dụng</a></li>
                    <li><a href="lienhe.html">💬 Liên hệ</a></li>
                </ul>
            </div>

            <div class="footer-col">
                <h4>🌐 Mạng Xã Hội</h4>
                <div class="social-links">
                    <a href="https://m.facebook.com/thuexemayohoankiem/" target="_blank" rel="noopener noreferrer" aria-label="Facebook"><i class="fa-brands fa-facebook" aria-hidden="true"></i></a>
                    <a href="https://zalo.me/0942467674" target="_blank" rel="noopener noreferrer" aria-label="Chat Zalo">
                         <div style="display:inline-flex; align-items:center; border: 1px solid currentColor; padding: 0 4px; border-radius: 4px; font-size: 0.6em; font-weight: bold; font-family: sans-serif; height: 26px; vertical-align: middle;">
                            Zalo
                         </div>
                    </a>
                    <a href="https://wa.me/84942467674" target="_blank" rel="noopener noreferrer" aria-label="WhatsApp"><i class="fa-brands fa-whatsapp" aria-hidden="true"></i></a>
                    <a href="https://www.tripadvisor.com/Attraction_Review-g21333608-d9826317-Reviews-Nguyen_Tu_Motorbike_Rental-Long_Bien_Hanoi.html" target="_blank" rel="noopener noreferrer" aria-label="TripAdvisor"><i class="fa-brands fa-tripadvisor" aria-hidden="true"></i></a>

                    <!-- Added Links -->
                    <a href="https://www.pinterest.com/thuexemaynguyenhao/" target="_blank" rel="noopener noreferrer" aria-label="Pinterest"><i class="fa-brands fa-pinterest" aria-hidden="true"></i></a>
                    <a href="https://www.instagram.com/thuexemaynguyenhao" target="_blank" rel="noopener noreferrer" aria-label="Instagram"><i class="fa-brands fa-instagram" aria-hidden="true"></i></a>
                    <a href="https://about.me/thuexemayhoankiem" target="_blank" rel="noopener noreferrer" aria-label="About.me"><i class="fa-solid fa-address-card" aria-hidden="true"></i></a>

                    <a href="https://motoopen.github.io/chothuexemayhanoi" target="_blank" rel="noopener noreferrer" aria-label="Website"><i class="fa-solid fa-globe" aria-hidden="true"></i></a>
                </div>
            </div>
        </div>

        <div class="footer-bottom">
            <p>© <span id="current-year">2025</span> Cho thuê xe máy Hoàn Kiếm – Nguyễn Hào.</p>
            <a href="#top" id="back-to-top"><span aria-hidden="true">⬆️</span> Lên đầu trang</a>
        </div>
    </div>
</footer>

<!-- === QUICK CALL ULTRA APP (AI MODE) === -->
<div class="quick-call-ultra-wrapper" id="quick-call-ultra">

    <div class="ultra-ai-bubble" id="ultra-ai-bubble">
        <div class="ai-avatar">🤖</div>
        <div class="ai-text" id="ultra-ai-text">...</div>
    </div>

    <div class="ultra-menu">
        <a href="tel:0942467674" class="ultra-item call" data-label="Gọi ngay">
            <span class="material-symbols-rounded" aria-hidden="true">call</span>
            <span class="sr-only">Gọi ngay</span>
        </a>
         <a href="https://zalo.me/0942467674" target="_blank" rel="noopener noreferrer" class="ultra-item zalo" data-label="Chat Zalo">
            <svg viewBox="0 0 100 100" class="icon-zalo-svg">
                 <path d="M85.4 34.6c-1.5-6.6-6-12-12.4-14.8-19.4-8.5-44.5-2.7-56 14.6-9.1 13.8-6.1 33 6.9 43.1 3.5 2.7 7.5 4.6 11.7 5.6L32.2 92c-.3 1.2.9 2.1 1.9 1.4l14.2-9.6c4 .7 8.2.7 12.2-.1 13.2-2.6 23.3-12.5 24.9-25.9.6-5.1.5-10.2-.1-15.3l.1-7.9z" style="fill:white;"/>
            </svg>
            <span class="sr-only">Chat Zalo</span>
        </a>
        <a href="https://maps.app.goo.gl/SR1hcwnCQjPkAvDh7?g_st=ipc" target="_blank" rel="noopener noreferrer" class="ultra-item map" data-label="Chỉ đường">
            <span class="material-symbols-rounded" aria-hidden="true">location_on</span>
            <span class="sr-only">Chỉ đường</span>
        </a>
        <a href="https://m.me/chothuexemay0857255868" target="_blank" rel="noopener noreferrer" class="ultra-item messenger" data-label="Messenger">
            <i class="fa-brands fa-facebook-messenger" aria-hidden="true"></i>
            <span class="sr-only">Messenger</span>
        </a>
    </div>

    <button class="ultra-main-btn" id="ultra-toggle-btn" aria-label="Liên hệ nhanh" aria-expanded="false">
        <div class="ultra-ripple"></div>
        <span class="material-symbols-rounded main-icon" aria-hidden="true">add</span>
    </button>
</div>

<!-- Lightbox -->
<div class="lightbox" id="lightbox" role="dialog" aria-modal="true" aria-label="Trình xem ảnh phóng to" aria-hidden="true">
    <div class="lightbox-content">
        <img src="" alt="" class="lightbox-img" id="lightbox-img">
        <button class="lightbox-close" id="lightbox-close" aria-label="Đóng ảnh">
            <span class="material-symbols-rounded" aria-hidden="true">close</span>
        </button>
    </div>
</div>

<!-- SCRIPTS (Logic chức năng) -->
<script>
(function() {
    'use strict';

    document.addEventListener('DOMContentLoaded', () => {

        // --- 0. CACHE ELEMENTS ---
        const themeSwitcher = document.getElementById('theme-switcher');
        const mobileMenuToggle = document.getElementById('mobile-menu-toggle');
        const mobileNavPanel = document.getElementById('mobile-nav-panel');
        const mobileNavClose = document.getElementById('mobile-nav-close');
        const mobileNavOverlay = document.getElementById('mobile-nav-overlay');
        const backToTop = document.getElementById('back-to-top');
        const currentYearEl = document.getElementById('current-year');
        const sliderTrack = document.getElementById('slider-track');
        const sliderDotsContainer = document.getElementById('slider-dots');
        const galleryGrid = document.getElementById('gallery-grid');
        const lightbox = document.getElementById('lightbox');
        const lightboxImg = document.getElementById('lightbox-img');
        const lightboxClose = document.getElementById('lightbox-close');
        const ultraWrapper = document.getElementById('quick-call-ultra');
        const ultraToggleBtn = document.getElementById('ultra-toggle-btn');

        // --- NEW: CALCULATOR ELEMENTS ---
        const btnCalculate = document.getElementById('btn-calculate');
        const calcBikeType = document.getElementById('calc-bike-type');
        const calcDays = document.getElementById('calc-days');
        const priceTotalDisplay = document.getElementById('price-total');

        // --- 1. HERO CALCULATOR LOGIC ---
        if(btnCalculate && calcBikeType && calcDays && priceTotalDisplay) {
            const calculateTotal = () => {
                const pricePerDay = parseInt(calcBikeType.value, 10);
                let days = parseInt(calcDays.value, 10);

                if(isNaN(days) || days < 1) {
                    days = 1;
                    calcDays.value = 1; 
                }

                const total = pricePerDay * days;
                priceTotalDisplay.textContent = total.toLocaleString('vi-VN') + 'đ';
                priceTotalDisplay.style.transform = "scale(1.1)";
                setTimeout(() => priceTotalDisplay.style.transform = "scale(1)", 200);
            };

            btnCalculate.addEventListener('click', calculateTotal);
            calcBikeType.addEventListener('change', calculateTotal);
            calcDays.addEventListener('input', calculateTotal);
        }

        // --- 2. AI LOCATION TERMINAL LOGIC ---
        const locTerminal = document.getElementById('ai-loc-terminal');
        const locLogOutput = document.getElementById('ai-log-output');
        const locGrid = document.getElementById('ai-loc-results');
        const scanBtn = document.getElementById('ai-scan-btn');
        const terminalWindow = document.querySelector('.ai-terminal-window');
        let isScanning = false;

        const locationsDB = [
            {
                title: "Phố Cổ Hà Nội",
                img: "https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Cho-thue-xe-may-Ba-Dinh.jpg",
                dist: "0.5 km",
                desc: "Khu vực 36 phố phường sầm uất. Thích hợp đi xe máy lượn lách các ngõ nhỏ, thưởng thức ẩm thực."
            },
            {
                title: "Hồ Hoàn Kiếm",
                img: "https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Dia-chi-cho-thue-xe-may-ha-noi.jpg",
                dist: "1.2 km",
                desc: "Trái tim của thủ đô. Bạn có thể gửi xe bên ngoài và đi bộ vào cuối tuần để tận hưởng không khí."
            },
            {
                title: "Cầu Long Biên",
                img: "https://thuexemaynguyentu.com/wp-content/uploads/2025/09/Muon-xe-may-Ha-Noi.jpg",
                dist: "2.0 km",
                desc: "Chứng nhân lịch sử. Đi xe máy lên cầu vào buổi chiều tà để ngắm hoàng hôn sông Hồng cực đẹp."
            }
        ];

        const typeLog = (text, element, speed = 20) => {
            return new Promise(resolve => {
                let i = 0;
                element.innerHTML += '<br>> ';
                const timer = setInterval(() => {
                    if (i < text.length) {
                        element.innerHTML += text.charAt(i);
                        i++;
                        element.scrollTop = element.scrollHeight;
                    } else {
                        clearInterval(timer);
                        resolve();
                    }
                }, speed);
            });
        };

        const runTerminalScan = async () => {
            if (isScanning) return;
            isScanning = true;

            locGrid.innerHTML = '';
            locGrid.classList.remove('visible');
            locLogOutput.innerHTML = '';
            terminalWindow.classList.add('scanning');

            await typeLog("connect secure_server...", locLogOutput);
            await typeLog("downloading map data...", locLogOutput, 10);
            await typeLog("optimizing routes...", locLogOutput, 10);

            terminalWindow.classList.remove('scanning');
            locGrid.classList.add('visible');

            for (let i = 0; i < locationsDB.length; i++) {
                const loc = locationsDB[i];
                const card = document.createElement('div');
                card.className = 'ai-loc-card';
                card.innerHTML = `
                    <div class="ai-loc-img-wrap">
                        <img src="${loc.img}" alt="${loc.title}" class="ai-loc-img" loading="lazy">
                    </div>
                    <div class="ai-loc-info">
                        <div class="ai-loc-title">
                            ${loc.title}
                            <span class="ai-loc-dist">${loc.dist}</span>
                        </div>
                        <div class="ai-loc-desc" id="desc-${i}"></div>
                    </div>
                `;
                locGrid.appendChild(card);

                setTimeout(() => card.classList.add('revealed'), 50);

                const descEl = card.querySelector(`#desc-${i}`);
                let d = 0;
                const descTimer = setInterval(() => {
                    if(d < loc.desc.length) {
                        descEl.textContent += loc.desc.charAt(d);
                        d++;
                    } else clearInterval(descTimer);
                }, 10);

                await new Promise(r => setTimeout(r, 600)); 
            }

            await typeLog("scan complete. 3 top locations found.", locLogOutput);
            isScanning = false;
        };

        const termObserver = new IntersectionObserver((entries) => {
            entries.forEach(e => {
                if (e.isIntersecting && !locGrid.hasChildNodes()) {
                    runTerminalScan();
                }
            });
        }, { threshold: 0.3 });
        if(terminalWindow) termObserver.observe(terminalWindow);

        if(scanBtn) scanBtn.addEventListener('click', runTerminalScan);


        // --- 3. AI CHAT FAQ LOGIC ---
        const chatWindow = document.getElementById('chat-window');
        const chipsContainer = document.getElementById('suggestion-chips');

        const faqData = {
            'docs': "Bạn chỉ cần **CCCD** và **Tiền Cọc 1 Triệu đến 5 Triệu** . Chúng tôi sẽ chụp ảnh lại và có thể giữ giấy tờ tùy trường hợp.",
            'deposit': "Đa số trường hợp **CẦN ĐẶT CỌC** nếu bạn có đầy đủ giấy tờ. Nếu thiếu, khoản cọc nhẹ từ 1 đến 5 triệu đồng và thanh toán.",
            'delivery': "Có nha! Bên mình **giao xe tận nơi miễn phí** hoặc phí rất rẻ khu vực Long Biên, Hoàn Kiếm, Gia Lâm (khoảng 20 phút).",
            'breakdown': "Đừng lo! Hãy gọi hotline **0942.467.674**. Đội cứu hộ sẽ đến xử lý hoặc **đổi xe khác** cho bạn ngay lập tức.",
            'contact': "Bạn có thể gọi hotline **0942.467.674** hoặc chat Zalo qua nút bên dưới màn hình nhé."
        };

        const addMessage = (text, type) => {
            const msg = document.createElement('div');
            msg.className = `chat-msg ${type}`;
            msg.innerHTML = text.replace(/\*\*(.*?)\*\*/g, '<strong>$1</strong>');
            chatWindow.appendChild(msg);
            chatWindow.scrollTop = chatWindow.scrollHeight;
        };

        const showTyping = () => {
            const dots = document.createElement('div');
            dots.className = 'typing-dots';
            dots.id = 'ai-typing-indicator';
            dots.innerHTML = '<div class="typing-dot"></div><div class="typing-dot"></div><div class="typing-dot"></div>';
            chatWindow.appendChild(dots);
            chatWindow.scrollTop = chatWindow.scrollHeight;
        };

        const removeTyping = () => {
            const dots = document.getElementById('ai-typing-indicator');
            if(dots) dots.remove();
        };

        if(chipsContainer) {
            chipsContainer.addEventListener('click', (e) => {
                if(e.target.classList.contains('chip-btn')) {
                    const allChips = document.querySelectorAll('.chip-btn');
                    allChips.forEach(btn => btn.disabled = true);

                    const key = e.target.dataset.q;
                    const questionText = e.target.textContent;

                    addMessage(questionText, 'user');
                    showTyping();

                    setTimeout(() => {
                        removeTyping();
                        if(faqData[key]) {
                            addMessage(faqData[key], 'bot');
                        }
                        allChips.forEach(btn => btn.disabled = false);
                    }, 800 + Math.random() * 500); 
                }
            });
        }

        // --- 4. OTHER UI LOGIC ---

        // AI Greeting
        const initAISmartMenu = () => {
            const aiGreetingTime = document.getElementById('ai-greeting-time');
            const aiTypewriterText = document.getElementById('ai-typewriter-text');
            if (!aiGreetingTime || !aiTypewriterText) return;

            const now = new Date();
            const hour = now.getHours();
            let greeting = "Xin chào,";
            let suggestions = [];

            if (hour >= 5 && hour < 11) {
                greeting = "Chào buổi sáng!";
                suggestions = ["Bạn cần xe đi làm?", "Giao xe gấp trong 20p"];
            } else if (hour >= 11 && hour < 14) {
                greeting = "Chào buổi trưa!";
                suggestions = ["Bạn cần xe đi ăn?", "Giao xe tận nơi miễn phí"];
            } else if (hour >= 14 && hour < 18) {
                greeting = "Chiều mát mẻ!";
                suggestions = ["Lượn phố cổ chiều nay?", "Thuê xe đi ngắm hoàng hôn?"];
            } else {
                greeting = "Chào buổi tối!";
                suggestions = ["Vi vu lượn phố đêm?", "Cần xe sáng sớm mai?"];
            }

            aiGreetingTime.textContent = greeting;

            const textToType = suggestions[Math.floor(Math.random() * suggestions.length)];
            let i = 0;
            let typingTimer;

            const typeWriter = () => {
                if (i < textToType.length) {
                    aiTypewriterText.textContent += textToType.charAt(i);
                    i++;
                    typingTimer = setTimeout(typeWriter, 50);
                }
            };

            if (mobileMenuToggle) {
                mobileMenuToggle.addEventListener('click', () => {
                    clearTimeout(typingTimer);
                    i = 0;
                    aiTypewriterText.textContent = "";
                    setTimeout(typeWriter, 300);
                });
            }
        };
        initAISmartMenu();

        // Status Badge
        const updateShopStatus = () => {
            const now = new Date();
            const currentHour = now.getHours();
            const isOpen = currentHour >= 6 && currentHour < 23; 
            const desktopStatus = document.getElementById('shop-status-desktop');
            if (desktopStatus) {
                desktopStatus.textContent = isOpen ? "ĐANG MỞ CỬA" : "ĐÃ ĐÓNG CỬA";
                desktopStatus.className = `shop-status ${isOpen ? "status-open" : "status-closed"}`;
                desktopStatus.style.display = 'flex';
            }
        };
        updateShopStatus();
        setInterval(updateShopStatus, 60000);

        // Theme Switcher
        if (themeSwitcher) {
            const initTheme = () => {
                const savedTheme = localStorage.getItem('theme');
                const preferredTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
                document.documentElement.setAttribute('data-theme', savedTheme || preferredTheme);
            };

            themeSwitcher.addEventListener('click', () => {
                const currentTheme = document.documentElement.getAttribute('data-theme');
                const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
                document.documentElement.setAttribute('data-theme', newTheme);
                localStorage.setItem('theme', newTheme);
            });
            initTheme();
        }

        // Mobile Menu
        if (mobileMenuToggle && mobileNavPanel && mobileNavClose && mobileNavOverlay) {
            const toggleMobileNav = (show) => {
                mobileNavPanel.classList.toggle('active', show);
                mobileNavOverlay.classList.toggle('active', show);
                mobileMenuToggle.setAttribute('aria-expanded', show);
                document.body.style.overflow = show ? 'hidden' : '';

                if (show) mobileNavClose.focus();
                else mobileMenuToggle.focus();
            };
            mobileMenuToggle.addEventListener('click', () => toggleMobileNav(true));
            mobileNavClose.addEventListener('click', () => toggleMobileNav(false));
            mobileNavOverlay.addEventListener('click', () => toggleMobileNav(false));

            mobileNavPanel.addEventListener('click', (e) => {
                const toggleBtn = e.target.closest('.mobile-dropdown-toggle');
                if (toggleBtn) {
                    e.preventDefault();
                    const dropdown = toggleBtn.parentElement;
                    const submenu = dropdown.querySelector('.mobile-submenu');
                    dropdown.classList.toggle('active');
                    submenu.style.maxHeight = dropdown.classList.contains('active') ? submenu.scrollHeight + 'px' : null;
                }
            });
        }

        // Slider
        if (sliderTrack && sliderDotsContainer) {
            const slides = sliderTrack.children;
            const slideCount = slides.length;
            let currentIndex = 0;
            let intervalId;

            if (slideCount > 0) {
                for (let i = 0; i < slideCount; i++) {
                    const dot = document.createElement('button');
                    dot.className = `slider-dot ${i === 0 ? 'active' : ''}`;
                    dot.dataset.index = i;
                    sliderDotsContainer.appendChild(dot);
                }

                const updateSlider = (index) => {
                    sliderTrack.style.transform = `translateX(-${index * 100}%)`;
                    Array.from(sliderDotsContainer.children).forEach((dot, idx) => {
                        dot.classList.toggle('active', idx === index);
                    });
                    currentIndex = index;
                };

                const startAutoPlay = () => {
                    if (intervalId) return;
                    intervalId = setInterval(() => {
                        updateSlider((currentIndex + 1) % slideCount);
                    }, 5000);
                };
                startAutoPlay();

                sliderDotsContainer.addEventListener('click', (e) => {
                    const dot = e.target.closest('.slider-dot');
                    if (dot) updateSlider(parseInt(dot.dataset.index, 10));
                });
            }
        }

        // Lightbox
        if (galleryGrid && lightbox && lightboxImg) {
            const openLightbox = (src) => {
                lightboxImg.src = src;
                lightbox.classList.add('active');
                document.body.style.overflow = 'hidden';
            };
            const closeLightbox = () => {
                lightbox.classList.remove('active');
                document.body.style.overflow = '';
            };
            galleryGrid.addEventListener('click', (e) => {
                const img = e.target.closest('img');
                if (img) openLightbox(img.src);
            });
            lightboxClose.addEventListener('click', closeLightbox);
            lightbox.addEventListener('click', (e) => { if (e.target === lightbox) closeLightbox(); });
        }

        // Scroll Animation
        const animatedElements = document.querySelectorAll('.animate-on-scroll');
        if ('IntersectionObserver' in window) {
            const observer = new IntersectionObserver((entries, obs) => {
                entries.forEach(entry => {
                    if (entry.isIntersecting) {
                        setTimeout(() => {
                            entry.target.classList.add('is-visible');
                        }, parseInt(entry.target.dataset.delay || '0', 10));
                        obs.unobserve(entry.target);
                    }
                });
            }, { threshold: 0.1 });
            animatedElements.forEach(el => observer.observe(el));
        }

        // Footer Accordion (Mobile)
        const mediaQueryMobile = window.matchMedia('(max-width: 767px)');
        const initFooter = () => {
            const cols = document.querySelectorAll('.main-footer .footer-col');
            cols.forEach((col, index) => {
                const heading = col.querySelector('h4');
                if (!heading) return;
                if (!col.querySelector('.footer-toggle-icon')) {
                    const icon = document.createElement('span');
                    icon.className = 'material-symbols-rounded footer-toggle-icon';
                    icon.textContent = 'expand_more';
                    heading.appendChild(icon);
                }
                heading.onclick = () => {
                    const isOpen = col.classList.contains('is-open');
                    cols.forEach(c => c.classList.remove('is-open'));
                    if (!isOpen) col.classList.add('is-open');
                };
                if (index === 0) col.classList.add('is-open');
            });
        };
        if(mediaQueryMobile.matches) initFooter();
        mediaQueryMobile.addListener(e => { if(e.matches) initFooter(); });

        if(currentYearEl) currentYearEl.textContent = new Date().getFullYear();

        // Quick Call Ultra Toggle
        if (ultraToggleBtn && ultraWrapper) {
            ultraToggleBtn.addEventListener('click', () => {
                const isActive = ultraWrapper.classList.toggle('active');
                if(isActive) {
                     const aiText = document.getElementById('ultra-ai-text');
                     if(aiText && aiText.innerText === '...') {
                        aiText.innerText = "Cần xe gấp không?";
                     }
                }
            });
        }

    });
})();
</script>

Top comments (0)