/*!* 基础重置与变量 *!*/
/*:root {*/
/*    --bg-dark: #070B14;*/
/*    --card-bg: #111827;*/
/*    --primary-blue: #3B82F6;*/
/*    --text-main: #F9FAFB;*/
/*    --text-muted: #9CA3AF;*/
/*    --border-color: #1F2937;*/
/*}*/

/*body {*/
/*    background-color: var(--bg-dark);*/
/*    color: var(--text-main);*/
/*    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;*/
/*    margin: 0;*/
/*    touch-action: manipulation;*/
/*}*/

/*!* 导航栏样式 (对应html里的nav) *!*/
/*.top-nav {*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*    padding: 20px 40px;*/
/*    background-color: rgba(7, 11, 20, 0.9);*/
/*    border-bottom: 1px solid var(--border-color);*/
/*}*/
/*.nav-links a { color: var(--text-muted); text-decoration: none; margin-left: 20px; }*/
/*.nav-links a.active { color: var(--text-main); font-weight: bold; }*/

/*!* Booking 主容器 *!*/
/*.booking-container {*/
/*    max-width: 800px;*/
/*    margin: 40px auto;*/
/*    padding: 20px;*/
/*}*/

/*!* 顶部进度条 *!*/
/*.stepper {*/
/*    display: flex;*/
/*    justify-content: center;*/
/*    gap: 20px;*/
/*    margin-bottom: 50px;*/
/*    border: 1px solid var(--border-color);*/
/*    padding: 20px;*/
/*    border-radius: 50px;*/
/*    background-color: var(--card-bg);*/
/*}*/
/*.step-circle {*/
/*    width: 35px;*/
/*    height: 35px;*/
/*    border-radius: 50%;*/
/*    background-color: var(--bg-dark);*/
/*    border: 1px solid var(--text-muted);*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    color: var(--text-muted);*/
/*}*/
/*.step-circle.active {*/
/*    background-color: var(--primary-blue);*/
/*    color: white;*/
/*    border-color: var(--primary-blue);*/
/*    box-shadow: 0 0 15px rgba(59, 130, 246, 0.5);*/
/*}*/

/*!* 步骤内容通用样式 *!*/
/*.step-content { text-align: center; }*/
/*.step-title { font-size: 2rem; margin-bottom: 10px; }*/
/*.step-subtitle { color: var(--text-muted); margin-bottom: 40px; }*/

/*!* Step 1: 房间卡片 *!*/
/*.rooms-grid {*/
/*    display: grid;*/
/*    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));*/
/*    gap: 20px;*/
/*    margin-top: 20px;*/
/*}*/
/*.room-card {*/
/*    background-color: var(--card-bg);*/
/*    border: 2px solid var(--border-color);*/
/*    border-radius: 12px;*/
/*    padding: 20px;*/
/*    cursor: pointer;*/
/*    text-align: left;*/
/*    transition: all 0.2s;*/
/*}*/
/*.room-card.selected {*/
/*    border-color: var(--primary-blue);*/
/*    box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);*/
/*}*/
/*.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;}*/
/*.card-header h3 { margin: 0; font-size: 1.2rem; }*/
/*.card-header .price { color: var(--primary-blue); font-weight: bold; }*/
/*.features { list-style: none; padding: 0; color: var(--text-muted); font-size: 0.9rem; }*/
/*.features li { margin-bottom: 8px; }*/

/*!* 人数计数器 *!*/
/*.party-size-selector { margin: 30px auto; max-width: 300px; }*/
/*.counter { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 10px; }*/
/*.counter button { width: 40px; height: 40px; border-radius: 50%; background: var(--card-bg); border: 1px solid var(--primary-blue); color: var(--primary-blue); font-size: 1.2rem; cursor: pointer; }*/

/*!* 按钮群组 *!*/
/*.actions { margin-top: 40px; display: flex; justify-content: center; gap: 20px; }*/
/*.next-btn, .confirm-btn { background-color: var(--primary-blue); color: white; border: none; padding: 12px 30px; border-radius: 25px; font-size: 1.1rem; cursor: pointer; }*/
/*.next-btn:disabled { background-color: #374151; cursor: not-allowed; color: #6B7280; }*/
/*.back-btn { background: transparent; border: 1px solid var(--text-muted); color: var(--text-main); padding: 12px 30px; border-radius: 25px; cursor: pointer; }*/

/*!* 抽屉 & 表单 & 其他 (简化版) *!*/
/*.duration-input { background: var(--card-bg); border: 1px solid var(--border-color); padding: 15px; border-radius: 8px; cursor: pointer; max-width: 400px; margin: 0 auto; }*/
/*.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.8); display: flex; align-items: flex-end; z-index: 100;}*/
/*.drawer-content { background: var(--card-bg); width: 100%; padding: 30px; border-radius: 20px 20px 0 0; display: flex; flex-direction: column; gap: 10px; }*/
/*.drawer-btn { background: transparent; border: 1px solid var(--border-color); color: white; padding: 15px; border-radius: 8px; cursor: pointer; }*/

/*.days-grid, .time-grid { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 20px; }*/
/*.day-box, .time-btn { background: var(--card-bg); border: 1px solid var(--border-color); padding: 15px 20px; border-radius: 8px; cursor: pointer; color: white;}*/
/*.day-box.selected, .time-btn.selected { border-color: var(--primary-blue); background: rgba(59, 130, 246, 0.2); }*/

/*.form-group input { display: block; width: 100%; max-width: 400px; margin: 0 auto 15px; padding: 15px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; color: white; }*/
/*.summary-box p { font-size: 1.2rem; border-bottom: 1px solid var(--border-color); padding-bottom: 10px;}*/

/*!* 把这些加到你原来的 booking.css 底部 *!*/

/*.room-card.selected {*/
/*    border-color: #3B82F6;*/
/*    box-shadow: 0 0 15px rgba(59, 130, 246, 0.4);*/
/*}*/

/*.day-box.selected, .time-btn.selected {*/
/*    border-color: #3B82F6;*/
/*    background-color: rgba(59, 130, 246, 0.2);*/
/*}*/

/*button:disabled {*/
/*    opacity: 0.5;*/
/*    cursor: not-allowed;*/
/*}*/

/*!* 抽屉样式 *!*/
/*.drawer-overlay {*/
/*    position: fixed;*/
/*    top: 0; left: 0; right: 0; bottom: 0;*/
/*    background: rgba(0,0,0,0.7);*/
/*    z-index: 1000;*/
/*    justify-content: center;*/
/*    align-items: flex-end; !* 让内容在底部 *!*/
/*}*/
/*!* =========================================*/
/*   📱 移动端适配 (手机专用样式)*/
/*   ========================================= *!*/
/*@media (max-width: 768px) {*/
/*    !* 1. 让原本并排的容器变成上下排列 *!*/
/*    .rooms-grid, .features-grid, .menu-grid-container {*/
/*        display: flex;*/
/*        flex-direction: column; !* 垂直排列 *!*/
/*        gap: 20px;*/
/*    }*/

/*    !* 2. 让表格支持左右滑动 (关键！手机放不下长表格) *!*/
/*    .admin-table {*/
/*        display: block;*/
/*        overflow-x: auto; !* 允许横向滚动 *!*/
/*        white-space: nowrap; !* 防止内容折行 *!*/
/*    }*/

/*    !* 3. 调整文字大小和边距 *!*/
/*    .hero-title {*/
/*        font-size: 1.8rem; !* 电脑端可能很大，手机端要调小 *!*/
/*    }*/

/*    .navbar {*/
/*        padding: 10px 20px;*/
/*        flex-direction: column; !* 导航栏 Logo 和 菜单上下排 *!*/
/*    }*/

/*    .nav-links {*/
/*        margin-top: 10px;*/
/*        gap: 10px;*/
/*    }*/

/*    !* 4. 调整弹窗宽度 *!*/
/*    .modal-content {*/
/*        width: 90%; !* 手机端弹窗占满 90% 宽度 *!*/
/*        padding: 20px;*/
/*    }*/

/*    !* 5. 让按钮更容易被手指点击 *!*/
/*    .btn-primary, .btn-secondary {*/
/*        width: 100%; !* 按钮占满一行 *!*/
/*        padding: 15px;*/
/*        font-size: 1.1rem;*/
/*    }*/
/*}*/

/*!* =========================================*/
/*   📱 移动端导航栏修复*/
/*   ========================================= *!*/
/*@media (max-width: 600px) {*/
/*    !* 1. 让导航栏容器支持垂直布局 *!*/
/*    .navbar, .top-nav {*/
/*        flex-direction: column; !* Logo 和 菜单上下排 *!*/
/*        padding: 15px 10px !important;*/
/*        height: auto !important; !* 取消固定高度 *!*/
/*    }*/

/*    !* 2. 让 Logo 居中并增加间距 *!*/
/*    .logo {*/
/*        margin-bottom: 15px;*/
/*        font-size: 1.2rem;*/
/*        text-align: center;*/
/*    }*/

/*    !* 3. 核心：让三个按钮均匀分布，不拥挤 *!*/
/*    nav ul, .nav-links {*/
/*        display: flex;*/
/*        justify-content: center;*/
/*        flex-wrap: wrap; !* 空间不够自动换行 *!*/
/*        gap: 15px;      !* 链接之间的间距 *!*/
/*        padding: 0;*/
/*        margin: 0;*/
/*        list-style: none;*/
/*    }*/

/*    !* 4. 调整链接文字大小，适合手指点击 *!*/
/*    nav ul li a, .nav-links a {*/
/*        font-size: 0.9rem !important; !* 稍微调小一点点 *!*/
/*        padding: 5px 10px;*/
/*        margin: 0 !important;*/
/*        white-space: nowrap; !* 防止文字内部换行 *!*/
/*    }*/

/*    !* 5. 顺便修复一下你截图里搜索框的宽度 *!*/
/*    .search-box {*/
/*        flex-direction: column; !* 输入框和按钮在手机上上下排 *!*/
/*        width: 100%;*/
/*        padding: 0 20px;*/
/*    }*/

/*    .neon-input, .search-box .btn-primary {*/
/*        width: 100% !important; !* 宽度占满手机屏幕 *!*/
/*        margin-bottom: 10px;*/
/*    }*/
/*}*/

/*!* =========================================*/
/*   🍔 汉堡菜单按钮样式 (基础隐藏)*/
/*   ========================================= *!*/
/*.hamburger {*/
/*    display: none; !* 电脑端默认隐藏 *!*/
/*    flex-direction: column;*/
/*    justify-content: space-between;*/
/*    width: 30px;*/
/*    height: 20px;*/
/*    cursor: pointer;*/
/*    z-index: 1001; !* 确保在最上层 *!*/
/*}*/

/*.hamburger span {*/
/*    display: block;*/
/*    width: 100%;*/
/*    height: 3px;*/
/*    background-color: #fff;*/
/*    border-radius: 3px;*/
/*    transition: all 0.3s ease;*/
/*}*/

/*!* 汉堡按钮变成 X 的动画 *!*/
/*.hamburger.active span:nth-child(1) {*/
/*    transform: translateY(8px) rotate(45deg);*/
/*}*/
/*.hamburger.active span:nth-child(2) {*/
/*    opacity: 0; !* 中间的线消失 *!*/
/*}*/
/*.hamburger.active span:nth-child(3) {*/
/*    transform: translateY(-9px) rotate(-45deg);*/
/*}*/

/* =========================================
   1. 基础重置与变量
   ========================================= */
:root {
    --bg-dark: #070B14;
    --card-bg: #111827;
    --primary-blue: #3B82F6;
    --text-main: #F9FAFB;
    --text-muted: #9CA3AF;
    --border-color: #1F2937;
}

body {
    background-color: var(--bg-dark);
    color: var(--text-main);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    margin: 0;
    touch-action: manipulation;
}

/* =========================================
   2. 导航栏样式 (顶部)
   ========================================= */
.top-nav {
    display: flex;
    justify-content: space-between;
    align-items: center; /* 确保垂直居中 */
    padding: 20px 40px;
    background-color: rgba(7, 11, 20, 0.9);
    border-bottom: 1px solid var(--border-color);
    position: relative; /* 为手机端绝对定位做准备 */
}
.logo { font-size: 1.5rem; font-weight: bold; color: #fff; letter-spacing: 1px; }
.nav-links a { color: var(--text-muted); text-decoration: none; margin-left: 20px; font-weight: 600; letter-spacing: 1px; transition: 0.3s;}
.nav-links a.active, .nav-links a:hover { color: var(--primary-blue); }

/* =========================================
   3. Booking 主容器 & 进度条
   ========================================= */
.booking-container {
    max-width: 800px;
    margin: 40px auto;
    padding: 20px;
}

.stepper {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 50px;
    border: 1px solid var(--border-color);
    padding: 20px;
    border-radius: 50px;
    background-color: var(--card-bg);
}
.step-circle {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: var(--bg-dark);
    border: 1px solid var(--text-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
}
.step-circle.active {
    background-color: var(--primary-blue);
    color: white;
    border-color: var(--primary-blue);
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.5);
}

/* 步骤内容通用样式 */
.step-content { text-align: center; }
.step-title { font-size: 2rem; margin-bottom: 10px; }
.step-subtitle { color: var(--text-muted); margin-bottom: 40px; }

/* =========================================
   4. Step 1: 房间卡片
   ========================================= */
.rooms-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}
.room-card {
    background-color: var(--card-bg);
    border: 2px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    cursor: pointer;
    text-align: left;
    transition: all 0.2s;
}
.room-card.selected {
    border-color: var(--primary-blue);
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.3);
}
.card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;}
.card-header h3 { margin: 0; font-size: 1.2rem; }
.card-header .price { color: var(--primary-blue); font-weight: bold; }
.features { list-style: none; padding: 0; color: var(--text-muted); font-size: 0.9rem; }
.features li { margin-bottom: 8px; }

/* =========================================
   5. Step 2: 人数计数器
   ========================================= */
.party-size-selector { margin: 30px auto; max-width: 300px; }
.counter { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 10px; }
.counter button { width: 40px; height: 40px; border-radius: 50%; background: var(--card-bg); border: 1px solid var(--primary-blue); color: var(--primary-blue); font-size: 1.2rem; cursor: pointer; }

/* =========================================
   6. 按钮群组
   ========================================= */
.actions { margin-top: 40px; display: flex; justify-content: center; gap: 20px; }
.next-btn, .confirm-btn { background-color: var(--primary-blue); color: white; border: none; padding: 12px 30px; border-radius: 25px; font-size: 1.1rem; cursor: pointer; transition: 0.2s;}
.next-btn:disabled, button:disabled { background-color: #374151; cursor: not-allowed; color: #6B7280; opacity: 0.5;}
.back-btn { background: transparent; border: 1px solid var(--text-muted); color: var(--text-main); padding: 12px 30px; border-radius: 25px; cursor: pointer; }

/* =========================================
   7. 表单与抽屉 (简化版)
   ========================================= */
.duration-input { background: var(--card-bg); border: 1px solid var(--border-color); padding: 15px; border-radius: 8px; cursor: pointer; max-width: 400px; margin: 0 auto; }
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.8); display: flex; align-items: flex-end; z-index: 100;}
.drawer-content { background: var(--card-bg); width: 100%; padding: 30px; border-radius: 20px 20px 0 0; display: flex; flex-direction: column; gap: 10px; }
.drawer-btn { background: transparent; border: 1px solid var(--border-color); color: white; padding: 15px; border-radius: 8px; cursor: pointer; }

.days-grid, .time-grid { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 20px; }
.day-box, .time-btn { background: var(--card-bg); border: 1px solid var(--border-color); padding: 15px 20px; border-radius: 8px; cursor: pointer; color: white;}
.day-box.selected, .time-btn.selected { border-color: var(--primary-blue); background: rgba(59, 130, 246, 0.2); }

.form-group input { display: block; width: 100%; max-width: 400px; margin: 0 auto 15px; padding: 15px; background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; color: white; }
.summary-box p { font-size: 1.2rem; border-bottom: 1px solid var(--border-color); padding-bottom: 10px;}

/* 抽屉样式 */
.drawer-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.7);
    z-index: 1000;
    justify-content: center;
    align-items: flex-end;
}

/* =========================================
   🍔 8. 汉堡菜单按钮样式 (基础设置)
   ========================================= */
.hamburger {
    display: none; /* 电脑端默认隐藏 */
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    cursor: pointer;
    z-index: 2000; /* 必须极高，盖过抽屉菜单 */
}

.hamburger span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 3px;
    transition: all 0.3s ease;
}

/* 汉堡按钮变成 X 的动画 */
.hamburger.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* =========================================
   📱 9. 移动端适配 (左侧滑出式汉堡菜单)
   ========================================= */
@media (max-width: 768px) {
    /* --- 导航栏重排 --- */
    .top-nav {
        flex-direction: row !important;
        justify-content: flex-start !important;
        padding: 15px 20px !important;
        height: 70px;
    }

    .logo {
        margin-bottom: 0 !important;
        order: 2;
    }

    /* 强制显示汉堡按钮 */
    .hamburger {
        display: flex !important;
        order: 1;
        margin-right: 14px;
    }

    /* --- 🌟 核心：左侧抽屉式菜单 --- */
    .nav-links {
        position: fixed;
        top: 0;
        left: -100%; /* 默认完全隐藏在屏幕左侧之外 */
        width: 70%; /* 菜单拉出时占屏幕 70% 宽度 */
        height: 100vh; /* 撑满全高 */
        background-color: rgba(7, 11, 20, 0.98); /* 不透明深色底 */
        backdrop-filter: blur(15px);
        flex-direction: column !important;
        justify-content: flex-start !important;
        padding-top: 100px !important; /* 顶部留白避开汉堡按钮 */
        margin: 0 !important;
        gap: 0 !important;
        transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1); /* 丝滑的滑动动画 */
        z-index: 1000;
        border-right: 1px solid var(--border-color); /* 给右边加个边框立体感 */
        box-shadow: 20px 0 50px rgba(0,0,0,0.5); /* 滑出时的阴影 */
    }

    /* 当 JS 添加 show 类时，菜单从左边滑入到 0 位置 */
    .nav-links.show {
        left: 0;
    }

    /* 菜单内部链接排版：左对齐，加大点击区域 */
    .nav-links a {
        display: block;
        width: 100%;
        padding: 20px 30px !important;
        margin: 0 !important;
        text-align: left;
        font-size: 1.2rem !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    .nav-links a:hover, .nav-links a.active {
        background-color: rgba(59, 130, 246, 0.1);
        color: var(--primary-blue);
        border-left: 4px solid var(--primary-blue); /* 侧边高亮条 */
        padding-left: 26px !important; /* 减去border宽度保持文字不动 */
    }

    /* --- 表单内容在手机上的优化 --- */
    .stepper {
        padding: 15px 10px;
        gap: 10px;
    }
    .step-circle { width: 30px; height: 30px; font-size: 0.9rem;}

    .rooms-grid {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .form-group input, .neon-input {
        max-width: 100%; /* 手机端输入框占满屏幕 */
    }

    /* 手机端操作按钮上下排列更顺手 */
    .actions {
        flex-direction: column-reverse; /* Next在上面，Back在下面 */
        gap: 15px;
    }
    .next-btn, .back-btn {
        width: 100%;
        padding: 15px;
        font-size: 1.1rem;
    }
}
