/* ============================================================
   韦依美途·包车 — 全局样式表（完整版）
   设计规范基于 CSS Custom Properties
   断点: 1920px / 1366px / 768px (mobile)
   ============================================================ */

/* ---------- 1. CSS 变量 ---------- */
:root {
  --brand-green: #4a7c59;
  --brand-dark: #2d5016;
  --brand-light: #7aa87e;
  --brand-pale: #dce8db;
  --ocean-blue: #3a7b9e;
  --sand-beige: #f5efe6;
  --rice-paper: #faf6f0;
  --text-main: #2d2d2d;
  --text-light: #6b6b6b;
  --gold: #b8914d;
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Noto Sans SC', sans-serif;
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 9999px;
  --shadow-card: 0 2px 12px rgba(45,45,45,0.08);
  --shadow-card-hover: 0 8px 28px rgba(45,45,45,0.12);
  --shadow-nav: 0 2px 20px rgba(45,45,45,0.06);
  --shadow-btn: 0 4px 12px rgba(74,124,89,0.3);
  --shadow-btn-hover: 0 6px 20px rgba(74,124,89,0.35);
  --transition-base: 0.3s cubic-bezier(0.4,0,0.2,1);
  --transition-bounce: 0.4s cubic-bezier(0.34,1.56,0.64,1);
  --glass-bg: rgba(250,246,240,0.82);
  --glass-blur: 16px;
  --glass-border: rgba(74,124,89,0.12);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:var(--font-body); font-size:16px; line-height:1.6; color:var(--text-main); background:var(--rice-paper); -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; transition:color var(--transition-base); }
ul,ol { list-style:none; }

/* ---------- 3. 容器 ---------- */
.container { width:100%; max-width:1200px; margin:0 auto; padding:0 var(--space-lg); }
.container-narrow { max-width:900px; }

/* ---------- 4. 导航栏 ---------- */
.site-header {
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  background:var(--glass-bg); backdrop-filter:blur(var(--glass-blur));
  -webkit-backdrop-filter:blur(var(--glass-blur));
  border-bottom:1px solid var(--glass-border);
  transition:background var(--transition-base), box-shadow var(--transition-base);
}
.site-header.scrolled { box-shadow:var(--shadow-nav); }
.header-inner { display:flex; align-items:center; justify-content:space-between; height:72px; }
.logo { display:flex; align-items:center; gap:var(--space-sm); font-size:22px; font-weight:700; color:var(--brand-dark); }
.logo i { font-size:24px; color:var(--brand-green); }
.logo-sub { font-weight:400; color:var(--brand-light); font-size:18px; }
.main-nav { display:flex; align-items:center; gap:var(--space-xl); }
.main-nav a { font-size:15px; font-weight:500; color:var(--text-main); padding:6px 0; position:relative; transition:color var(--transition-base); }
.main-nav a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--brand-green); transition:width var(--transition-base); }
.main-nav a:hover, .main-nav a.active { color:var(--brand-green); }
.main-nav a:hover::after, .main-nav a.active::after { width:100%; }
.header-actions { display:flex; align-items:center; gap:var(--space-md); }
.header-phone { font-size:15px; font-weight:600; color:var(--brand-green) !important; display:flex; align-items:center; gap:6px; }
.header-phone i { font-size:16px; }
.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:24px; height:2px; background:var(--text-main); border-radius:2px; transition:var(--transition-base); }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ---------- 5. 轮播 ---------- */
.hero-carousel { position:relative; height:85vh; min-height:500px; max-height:800px; overflow:hidden; margin-top:72px; }
.carousel-track { display:flex; height:100%; transition:transform 0.6s cubic-bezier(0.4,0,0.2,1); }
.carousel-slide { flex:0 0 100%; height:100%; background-size:cover; background-position:center; position:relative; }
.carousel-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(45,45,45,0.65) 0%,rgba(45,45,45,0.3) 100%); }
.carousel-content { position:absolute; bottom:20%; left:50%; transform:translateX(-50%); text-align:center; color:#fff; max-width:800px; width:100%; padding:0 var(--space-lg); z-index:2; }
.carousel-title { font-family:var(--font-heading); font-size:clamp(28px,4.5vw,56px); font-weight:700; margin-bottom:var(--space-md); text-shadow:0 2px 10px rgba(0,0,0,0.3); }
.carousel-subtitle { font-size:clamp(16px,1.8vw,22px); font-weight:300; margin-bottom:var(--space-xl); opacity:0.9; }
.carousel-actions { display:flex; gap:var(--space-md); justify-content:center; flex-wrap:wrap; }
.carousel-btn { position:absolute; top:50%; transform:translateY(-50%); z-index:3; background:rgba(255,255,255,0.15); border:none; width:50px; height:50px; border-radius:50%; color:#fff; font-size:20px; cursor:pointer; backdrop-filter:blur(4px); transition:background var(--transition-base); display:flex; align-items:center; justify-content:center; }
.carousel-btn:hover { background:rgba(255,255,255,0.3); }
.carousel-prev { left:24px; }
.carousel-next { right:24px; }
.carousel-dots { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:3; }
.carousel-dots span { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.4); cursor:pointer; transition:all var(--transition-base); }
.carousel-dots span.active { width:28px; border-radius:5px; background:var(--brand-green); }

/* ---------- 6. 通用区块 ---------- */
.section { padding:clamp(40px,6vw,80px) 0; }
.section-header { text-align:center; margin-bottom:var(--space-2xl); }
.section-tag { display:inline-block; font-size:13px; font-weight:600; color:var(--brand-green); background:var(--brand-pale); padding:4px 16px; border-radius:var(--radius-full); letter-spacing:1px; margin-bottom:var(--space-sm); text-transform:uppercase; }
.section-title { font-family:var(--font-heading); font-size:clamp(24px,3vw,36px); font-weight:700; color:var(--brand-dark); margin-bottom:var(--space-sm); }
.section-subtitle { color:var(--text-light); font-size:16px; max-width:600px; margin:0 auto; }
.section-footer-btn { text-align:center; margin-top:var(--space-xl); }

/* ---------- 7. 品牌简介 ---------- */
.intro-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:var(--space-2xl); align-items:center; }
.intro-content .section-tag { margin-bottom:var(--space-md); display:inline-block; }
.intro-text { font-size:16px; line-height:1.8; color:var(--text-light); margin-bottom:var(--space-md); }
.intro-text strong { color:var(--brand-green); }
.intro-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md); margin-top:var(--space-xl); }
.stat-item { text-align:center; padding:var(--space-md); background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.stat-num { display:block; font-family:var(--font-heading); font-size:32px; font-weight:700; color:var(--brand-green); }
.stat-unit { font-size:14px; color:var(--text-light); }
.stat-label { display:block; font-size:13px; color:var(--text-light); margin-top:4px; }
.intro-image img { border-radius:var(--radius-md); width:100%; height:400px; object-fit:cover; }

/* ---------- 8. 核心优势 ---------- */
.advantages-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-lg); }
.advantage-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-xl); text-align:center; box-shadow:var(--shadow-card); transition:all var(--transition-base); }
.advantage-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.advantage-icon { width:64px; height:64px; background:var(--brand-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-md); font-size:26px; color:var(--brand-green); }
.advantage-card h3 { font-size:18px; font-weight:600; margin-bottom:var(--space-sm); color:var(--brand-dark); }
.advantage-card p { font-size:14px; color:var(--text-light); line-height:1.7; }

/* ---------- 9. 车型快速入口 ---------- */
.fleet-preview-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:var(--space-md); }
.fleet-type-card { display:flex; flex-direction:column; align-items:center; gap:var(--space-sm); background:#fff; padding:var(--space-lg) var(--space-md); border-radius:var(--radius-md); box-shadow:var(--shadow-card); transition:all var(--transition-base); text-align:center; }
.fleet-type-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.fleet-type-card i { font-size:32px; color:var(--brand-green); }
.fleet-type-card.premium i { color:var(--gold); }
.fleet-type-name { font-size:14px; font-weight:600; color:var(--text-main); }
.fleet-type-sub { font-size:12px; color:var(--text-light); }

/* ---------- 10. 热门线路 ---------- */
.routes-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); }
.route-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); transition:all var(--transition-base); display:flex; flex-direction:column; }
.route-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.route-img { height:220px; overflow:hidden; }
.route-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.route-card:hover .route-img img { transform:scale(1.05); }
.route-info { padding:var(--space-lg); flex:1; display:flex; flex-direction:column; }
.route-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:var(--space-sm); }
.route-tags .tag { font-size:11px; padding:2px 10px; border-radius:var(--radius-full); background:var(--brand-pale); color:var(--brand-green); }
.route-card h3 { font-size:18px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-sm); }
.route-meta { display:flex; gap:var(--space-md); font-size:13px; color:var(--text-light); margin-bottom:var(--space-md); }
.route-meta i { color:var(--brand-green); margin-right:4px; }
.route-price { font-family:var(--font-heading); font-size:24px; font-weight:700; color:var(--gold); margin-top:auto; }
.price-unit { font-size:14px; font-weight:400; color:var(--text-light); }

/* ---------- 11. 安全保障 ---------- */
.security-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-md); }
.security-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); text-align:center; box-shadow:var(--shadow-card); transition:all var(--transition-base); }
.security-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-card-hover); }
.security-icon { width:52px; height:52px; background:linear-gradient(135deg,var(--brand-pale),var(--brand-light)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); font-size:22px; color:var(--brand-dark); }
.security-card h3 { font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:6px; }
.security-card p { font-size:13px; color:var(--text-light); line-height:1.6; }

/* ---------- 12. 目的地卡片 ---------- */
.destinations-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }
.destination-card { border-radius:var(--radius-md); overflow:hidden; position:relative; height:280px; box-shadow:var(--shadow-card); transition:all var(--transition-base); }
.destination-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.dest-img { height:100%; }
.dest-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.destination-card:hover .dest-img img { transform:scale(1.08); }
.dest-info { position:absolute; bottom:0; left:0; right:0; padding:var(--space-lg); background:linear-gradient(transparent,rgba(0,0,0,0.7)); color:#fff; }
.dest-info h3 { font-size:20px; font-weight:600; margin-bottom:4px; }
.dest-info p { font-size:14px; opacity:0.85; }

/* ---------- 13. 预订流程 ---------- */
.booking-steps { display:flex; align-items:center; justify-content:center; gap:var(--space-lg); flex-wrap:wrap; }
.step-item { text-align:center; flex:1; min-width:160px; max-width:220px; }
.step-num { font-family:var(--font-heading); font-size:28px; font-weight:700; color:var(--brand-pale); margin-bottom:var(--space-sm); }
.step-icon { width:60px; height:60px; background:var(--brand-green); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); color:#fff; font-size:24px; }
.step-item h4 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.step-item p { font-size:13px; color:var(--text-light); }
.step-arrow { font-size:24px; color:var(--brand-light); flex-shrink:0; }

/* ---------- 14. CTA区块 ---------- */
.cta-box { background:linear-gradient(135deg,var(--brand-dark),var(--brand-green)); border-radius:var(--radius-lg); padding:var(--space-3xl); text-align:center; color:#fff; }
.cta-box h2 { font-family:var(--font-heading); font-size:clamp(22px,2.5vw,32px); font-weight:600; margin-bottom:var(--space-sm); }
.cta-box p { font-size:16px; opacity:0.85; margin-bottom:var(--space-lg); }
.cta-actions { display:flex; gap:var(--space-md); justify-content:center; flex-wrap:wrap; }

/* ---------- 15. 按钮 ---------- */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 28px; font-size:15px; font-weight:600; border-radius:var(--radius-full); border:2px solid transparent; cursor:pointer; transition:all var(--transition-base); text-decoration:none; }
.btn-primary { background:var(--brand-green); color:#fff !important; border-color:var(--brand-green); box-shadow:var(--shadow-btn); }
.btn-primary:hover { background:var(--brand-dark); border-color:var(--brand-dark); box-shadow:var(--shadow-btn-hover); transform:translateY(-2px); }
.btn-outline { background:transparent; color:var(--brand-green) !important; border-color:var(--brand-green); }
.btn-outline:hover { background:var(--brand-green); color:#fff !important; }
.btn-lg { padding:14px 36px; font-size:17px; }
.btn-sm { padding:8px 20px; font-size:13px; }

/* ---------- 16. 面包屑 ---------- */
.breadcrumb { padding:var(--space-md) 0; font-size:14px; color:var(--text-light); margin-top:72px; background:var(--sand-beige); }
.breadcrumb a { color:var(--brand-green); margin:0 4px; }
.breadcrumb span { margin:0 4px; }
.breadcrumb .current { color:var(--text-light); font-weight:500; }

/* ---------- 17. 页脚 ---------- */
.site-footer { background:var(--brand-dark); color:rgba(255,255,255,0.85); padding:var(--space-3xl) 0 0; }
.footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-xl); }
.footer-logo { font-size:20px; font-weight:700; color:#fff; margin-bottom:var(--space-sm); }
.footer-logo i { color:var(--brand-light); margin-right:6px; }
.footer-brand p { font-size:14px; line-height:1.7; margin-bottom:8px; }
.footer-phone a { color:var(--brand-light) !important; text-decoration:underline; }
.footer-addr { font-size:13px; opacity:0.7; }
.footer-col h4 { font-size:16px; font-weight:600; color:#fff; margin-bottom:var(--space-md); }
.footer-col a { display:block; font-size:14px; padding:4px 0; color:rgba(255,255,255,0.65); transition:color var(--transition-base); }
.footer-col a:hover { color:var(--brand-light); }
.footer-bottom { margin-top:var(--space-xl); border-top:1px solid rgba(255,255,255,0.1); padding:var(--space-md) 0; }
.footer-bottom p { font-size:13px; text-align:center; opacity:0.5; }

/* ---------- 18. 车轮评论 ---------- */
.reviews-header { display:grid; grid-template-columns:280px 1fr; gap:var(--space-xl); align-items:start; background:#fff; border-radius:var(--radius-md); padding:var(--space-xl); box-shadow:var(--shadow-card); margin-bottom:var(--space-xl); }
.review-score { text-align:center; }
.review-score .score-num { font-family:var(--font-heading); font-size:56px; font-weight:700; color:var(--gold); }
.review-score .score-label { font-size:14px; color:var(--text-light); margin-bottom:var(--space-sm); }
.stars { color:var(--gold); font-size:18px; }
.stars .empty { opacity:0.25; }
.distribution { flex:1; }
.dist-row { display:flex; align-items:center; gap:var(--space-sm); margin-bottom:6px; font-size:13px; color:var(--text-light); }
.dist-bar { flex:1; height:8px; background:var(--brand-pale); border-radius:4px; overflow:hidden; }
.dist-fill { height:100%; background:var(--gold); border-radius:4px; transition:width 0.5s; }
.review-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); box-shadow:var(--shadow-card); margin-bottom:var(--space-md); }
.review-card .review-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:var(--space-sm); }
.review-card .reviewer { font-weight:600; color:var(--brand-dark); }
.review-card .review-date { font-size:13px; color:var(--text-light); }
.review-card .review-tag { display:inline-block; font-size:11px; padding:2px 10px; border-radius:var(--radius-full); background:var(--brand-pale); color:var(--brand-green); margin-bottom:var(--space-sm); }
.review-card .review-text { font-size:15px; line-height:1.7; color:var(--text-light); }
.review-form { background:#fff; border-radius:var(--radius-md); padding:var(--space-xl); box-shadow:var(--shadow-card); max-width:600px; margin-top:var(--space-xl); }
.review-form h3 { font-size:18px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-lg); }

/* ---------- 19. 表单 ---------- */
.form-group { margin-bottom:var(--space-md); }
.form-group label { display:block; font-size:14px; font-weight:500; color:var(--text-main); margin-bottom:6px; }
.form-group label .required { color:#e74c3c; margin-left:2px; }
.form-control { width:100%; padding:12px 16px; font-size:15px; font-family:var(--font-body); border:2px solid rgba(45,45,45,0.12); border-radius:var(--radius-md); background:#fff; transition:border-color var(--transition-base); outline:none; }
.form-control:focus { border-color:var(--brand-green); }
textarea.form-control { min-height:120px; resize:vertical; }
select.form-control { appearance:auto; }

/* ---------- 20. FAQ手风琴 ---------- */
.faq-search { max-width:500px; margin:0 auto var(--space-lg); position:relative; }
.faq-search input { width:100%; padding:14px 20px 14px 48px; font-size:15px; border:2px solid rgba(45,45,45,0.12); border-radius:var(--radius-full); outline:none; transition:border-color var(--transition-base); background:#fff; }
.faq-search input:focus { border-color:var(--brand-green); }
.faq-search i { position:absolute; left:18px; top:50%; transform:translateY(-50%); color:var(--text-light); }
.faq-filters { display:flex; gap:var(--space-sm); flex-wrap:wrap; justify-content:center; margin-bottom:var(--space-xl); }
.faq-filter { padding:8px 20px; font-size:14px; border-radius:var(--radius-full); border:2px solid rgba(45,45,45,0.12); background:#fff; cursor:pointer; transition:all var(--transition-base); }
.faq-filter:hover { border-color:var(--brand-green); color:var(--brand-green); }
.faq-filter.active { background:var(--brand-green); color:#fff; border-color:var(--brand-green); }
.faq-item { background:#fff; border-radius:var(--radius-md); margin-bottom:var(--space-sm); box-shadow:var(--shadow-card); overflow:hidden; }
.faq-question { padding:var(--space-lg); display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:500; color:var(--text-main); transition:color var(--transition-base); }
.faq-question:hover { color:var(--brand-green); }
.faq-question i { transition:transform var(--transition-base); color:var(--text-light); }
.faq-item.active .faq-question { color:var(--brand-green); }
.faq-item.active .faq-question i { transform:rotate(180deg); color:var(--brand-green); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s, padding 0.4s; }
.faq-item.active .faq-answer { max-height:500px; }
.faq-answer-inner { padding:0 var(--space-lg) var(--space-lg); font-size:15px; line-height:1.8; color:var(--text-light); }

/* ---------- 21. 车型列表筛选 ---------- */
.filter-bar { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); box-shadow:var(--shadow-card); margin-bottom:var(--space-xl); }
.filter-row { display:flex; flex-wrap:wrap; gap:var(--space-md); margin-bottom:var(--space-md); align-items:center; }
.filter-row:last-child { margin-bottom:0; }
.filter-label { font-size:13px; font-weight:600; color:var(--text-light); min-width:60px; }
.filter-chips { display:flex; gap:6px; flex-wrap:wrap; }
.filter-chip { padding:6px 16px; font-size:13px; border-radius:var(--radius-full); border:1.5px solid rgba(45,45,45,0.12); background:#fff; cursor:pointer; transition:all var(--transition-base); }
.filter-chip:hover { border-color:var(--brand-green); color:var(--brand-green); }
.filter-chip.active { background:var(--brand-green); color:#fff; border-color:var(--brand-green); }
.filter-reset { margin-left:auto; font-size:13px; color:var(--text-light); cursor:pointer; padding:6px 12px; border-radius:var(--radius-full); transition:all var(--transition-base); }
.filter-reset:hover { background:var(--brand-pale); color:var(--brand-green); }
.filter-count { font-size:14px; color:var(--text-light); margin-bottom:var(--space-md); }

/* ---------- 22. 车型卡片网格 ---------- */
.vehicles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }
.vehicle-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); transition:all var(--transition-base); display:flex; flex-direction:column; }
.vehicle-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.vehicle-img { height:200px; overflow:hidden; }
.vehicle-img img { width:100%; height:100%; object-fit:cover; }
.vehicle-info { padding:var(--space-lg); flex:1; display:flex; flex-direction:column; }
.vehicle-info h3 { font-size:18px; font-weight:600; color:var(--brand-dark); margin-bottom:6px; }
.vehicle-meta { display:flex; gap:var(--space-md); font-size:13px; color:var(--text-light); margin-bottom:var(--space-sm); }
.vehicle-features { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:var(--space-sm); }
.vehicle-features .feature-tag { font-size:11px; padding:3px 10px; border-radius:var(--radius-full); background:var(--sand-beige); color:var(--text-light); }
.vehicle-price-row { display:flex; align-items:baseline; gap:var(--space-sm); margin-top:auto; padding-top:var(--space-sm); border-top:1px solid rgba(0,0,0,0.05); }
.vehicle-price { font-family:var(--font-heading); font-size:22px; font-weight:700; color:var(--gold); }
.vehicle-price-sub { font-size:13px; color:var(--text-light); }

/* ---------- 23. 详情页 ---------- */
.detail-hero { position:relative; height:400px; overflow:hidden; margin-top:72px; }
.detail-hero img { width:100%; height:100%; object-fit:cover; }
.detail-hero-overlay { position:absolute; inset:0; background:linear-gradient(transparent 40%,rgba(0,0,0,0.7)); }
.detail-hero-content { position:absolute; bottom:var(--space-xl); left:50%; transform:translateX(-50%); text-align:center; color:#fff; width:100%; max-width:800px; padding:0 var(--space-lg); }
.detail-hero-content h1 { font-family:var(--font-heading); font-size:32px; font-weight:700; margin-bottom:var(--space-sm); }
.detail-hero-content .detail-tags { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.detail-hero-content .detail-tag { font-size:12px; padding:4px 14px; border-radius:var(--radius-full); background:rgba(255,255,255,0.2); backdrop-filter:blur(4px); }
.detail-layout { display:grid; grid-template-columns:1fr 380px; gap:var(--space-xl); padding:var(--space-xl) 0; }
.detail-main { min-width:0; }
.detail-sidebar { position:sticky; top:96px; }
.price-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-xl); box-shadow:var(--shadow-card); }
.price-card .price { font-family:var(--font-heading); font-size:36px; font-weight:700; color:var(--gold); }
.price-card .price-sub { font-size:14px; color:var(--text-light); margin-bottom:var(--space-md); }
.price-row { display:flex; justify-content:space-between; padding:8px 0; font-size:14px; border-bottom:1px solid rgba(0,0,0,0.05); }
.price-row:last-child { border-bottom:none; }
.price-row .label { color:var(--text-light); }
.price-row .value { font-weight:500; }
.section-block { background:#fff; border-radius:var(--radius-md); padding:var(--space-xl); box-shadow:var(--shadow-card); margin-bottom:var(--space-md); }
.section-block h2 { font-size:22px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-lg); padding-bottom:var(--space-sm); border-bottom:2px solid var(--brand-pale); }
.section-block h3 { font-size:17px; font-weight:600; color:var(--brand-dark); margin:var(--space-md) 0 var(--space-sm); }
.section-block p, .section-block li { font-size:15px; line-height:1.8; color:var(--text-light); }
.section-block ul { padding-left:var(--space-lg); }
.section-block ul li { list-style:disc; margin-bottom:4px; }
.section-block ol { padding-left:var(--space-lg); }
.section-block ol li { list-style:decimal; margin-bottom:4px; }
.param-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-md); }
.param-item { display:flex; justify-content:space-between; padding:var(--space-sm) var(--space-md); background:var(--rice-paper); border-radius:var(--radius-sm); font-size:14px; }
.param-item .param-label { color:var(--text-light); }
.param-item .param-value { font-weight:500; }
.service-modes { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md); }
.service-mode-card { padding:var(--space-md); border:2px solid var(--brand-pale); border-radius:var(--radius-md); text-align:center; }
.service-mode-card h4 { font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.service-mode-card p { font-size:13px; color:var(--text-light); }

/* ---------- 24. 线路详情——每日行程 ---------- */
.timeline { position:relative; padding-left:var(--space-xl); }
.timeline::before { content:''; position:absolute; left:10px; top:0; bottom:0; width:2px; background:var(--brand-pale); }
.timeline-day { position:relative; margin-bottom:var(--space-lg); }
.timeline-day::before { content:''; position:absolute; left:calc(-1 * var(--space-xl) + 4px); top:6px; width:14px; height:14px; border-radius:50%; background:var(--brand-green); border:3px solid #fff; box-shadow:0 0 0 2px var(--brand-green); }
.timeline-day h3 { font-size:18px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-sm); }
.timeline-day h3 .day-num { color:var(--brand-green); }
.timeline-items { padding-left:0; }
.timeline-items li { font-size:14px; padding:6px 0; color:var(--text-light); display:flex; align-items:flex-start; gap:8px; }
.timeline-items li i { color:var(--brand-green); margin-top:3px; flex-shrink:0; width:16px; }

/* ---------- 25. 关于车队 ---------- */
.fleet-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-lg); margin-bottom:var(--space-2xl); }
.fleet-stat { text-align:center; padding:var(--space-xl); background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.fleet-stat .num { font-family:var(--font-heading); font-size:42px; font-weight:700; color:var(--brand-green); display:block; }
.fleet-stat .label { font-size:14px; color:var(--text-light); margin-top:4px; }
.driver-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }
.driver-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); text-align:center; box-shadow:var(--shadow-card); }
.driver-avatar { width:80px; height:80px; background:var(--brand-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); font-size:36px; color:var(--brand-green); }
.driver-card h4 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.driver-badges { display:flex; gap:6px; justify-content:center; margin-bottom:6px; flex-wrap:wrap; }
.driver-badge { font-size:11px; padding:2px 10px; border-radius:var(--radius-full); background:var(--brand-pale); color:var(--brand-green); }
.driver-badge.veteran { background:#fff3e0; color:#e65100; }
.driver-badge.party { background:#fce4ec; color:#c62828; }
.driver-info { font-size:13px; color:var(--text-light); }
.timeline-axis { position:relative; padding:var(--space-2xl) 0; }
.timeline-axis::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:3px; background:var(--brand-pale); transform:translateX(-50%); }
.timeline-node { display:flex; align-items:center; margin-bottom:var(--space-xl); position:relative; }
.timeline-node:nth-child(odd) { flex-direction:row-reverse; }
.timeline-node-content { width:45%; padding:var(--space-lg); background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.timeline-node-dot { position:absolute; left:50%; transform:translateX(-50%); width:20px; height:20px; border-radius:50%; background:var(--brand-green); border:4px solid var(--rice-paper); box-shadow:0 0 0 2px var(--brand-green); z-index:2; }
.timeline-node-year { font-family:var(--font-heading); font-size:24px; font-weight:700; color:var(--brand-green); }
.timeline-node-title { font-size:16px; font-weight:600; color:var(--brand-dark); margin:4px 0; }
.timeline-node-desc { font-size:14px; color:var(--text-light); }

/* ---------- 26. 联系我们 ---------- */
.contact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); margin-bottom:var(--space-xl); }
.contact-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); box-shadow:var(--shadow-card); display:flex; gap:var(--space-md); align-items:flex-start; }
.contact-icon { width:48px; height:48px; background:var(--brand-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; color:var(--brand-green); flex-shrink:0; }
.contact-card h4 { font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.contact-card p { font-size:14px; color:var(--text-light); }
.contact-card a { color:var(--brand-green) !important; text-decoration:underline; }
.map-placeholder { height:350px; background:var(--sand-beige); border-radius:var(--radius-md); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--text-light); font-size:16px; margin-bottom:var(--space-xl); }
.map-placeholder i { font-size:48px; color:var(--brand-light); margin-bottom:var(--space-md); }

/* ---------- 27. 联系方式卡片 ---------- */
.contact-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-xl); }
.contact-info-cards { display:flex; flex-direction:column; gap:var(--space-md); }
.contact-map-area { display:flex; flex-direction:column; gap:var(--space-md); }

/* ---------- 28. 提交成功 ---------- */
.submit-success { text-align:center; padding:var(--space-3xl) var(--space-lg); }
.submit-icon { width:80px; height:80px; border-radius:50%; background:var(--brand-green); display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-lg); font-size:36px; color:#fff; animation:submitPulse 0.6s ease-out; }
@keyframes submitPulse { 0%{transform:scale(0);opacity:0} 50%{transform:scale(1.2)} 100%{transform:scale(1);opacity:1} }
.submit-success h1 { font-family:var(--font-heading); font-size:32px; font-weight:700; color:var(--brand-dark); margin-bottom:var(--space-sm); }
.submit-success p { font-size:16px; color:var(--text-light); margin-bottom:var(--space-xl); }
.submit-card { max-width:450px; margin:0 auto var(--space-xl); padding:var(--space-xl); background:#fff; border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.submit-card h3 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-md); }
.submit-card .info-row { display:flex; justify-content:space-between; padding:8px 0; font-size:14px; border-bottom:1px solid rgba(0,0,0,0.05); }
.submit-card .info-row:last-child { border-bottom:none; }
.submit-links { display:flex; gap:var(--space-md); justify-content:center; flex-wrap:wrap; margin-top:var(--space-lg); }

/* ---------- 29. 弹窗 ---------- */
.booking-modal { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:2000; align-items:center; justify-content:center; padding:var(--space-lg); }
.booking-modal.show { display:flex; }
.booking-modal-content { background:#fff; border-radius:var(--radius-md); max-width:500px; width:100%; max-height:90vh; overflow-y:auto; position:relative; box-shadow:0 20px 60px rgba(0,0,0,0.2); animation:modalIn 0.3s ease-out; }
@keyframes modalIn { from{transform:translateY(20px);opacity:0} to{transform:translateY(0);opacity:1} }
.booking-modal-close { position:absolute; top:var(--space-md); right:var(--space-md); background:none; border:none; font-size:20px; color:var(--text-light); cursor:pointer; z-index:2; }
.booking-modal-body { padding:var(--space-xl); }
.flow-progress { display:flex; gap:8px; margin-bottom:var(--space-lg); }
.flow-step { flex:1; text-align:center; padding:8px; border-radius:var(--radius-sm); font-size:12px; background:var(--brand-pale); color:var(--text-light); }
.flow-step.active { background:var(--brand-green); color:#fff; }
.flow-step.done { background:var(--brand-light); color:#fff; }
.ai-matching { text-align:center; padding:var(--space-xl); }
.ai-matching .ai-icon { width:64px; height:64px; border-radius:50%; background:var(--brand-pale); display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-md); font-size:28px; color:var(--brand-green); animation:aiPulse 1.5s infinite; }
@keyframes aiPulse { 0%,100%{box-shadow:0 0 0 0 rgba(74,124,89,0.3)} 50%{box-shadow:0 0 0 16px rgba(74,124,89,0)} }
.ai-matching p { font-size:14px; color:var(--text-light); }
.booking-result { text-align:center; }
.booking-result h3 { font-size:18px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-sm); }
.booking-result .result-phone { font-size:24px; font-weight:700; color:var(--brand-green); display:block; margin:var(--space-md) 0; }

/* ---------- 30. 滚动回顶 ---------- */
.scroll-top { position:fixed; bottom:32px; right:32px; width:44px; height:44px; border-radius:50%; background:var(--brand-green); color:#fff; border:none; font-size:18px; cursor:pointer; box-shadow:var(--shadow-btn); display:none; align-items:center; justify-content:center; z-index:999; transition:all var(--transition-base); }
.scroll-top.show { display:flex; }
.scroll-top:hover { background:var(--brand-dark); transform:translateY(-3px); }

/* ---------- 31. 目的地专题页 ---------- */
.dest-hero { height:450px; position:relative; overflow:hidden; margin-top:72px; }
.dest-hero-bg { width:100%; height:100%; object-fit:cover; }
.dest-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(45,45,45,0.6) 0%,transparent 100%); display:flex; align-items:center; padding:0 var(--space-2xl); }
.dest-hero-text { color:#fff; }
.dest-hero-text h1 { font-family:var(--font-heading); font-size:clamp(28px,3.5vw,48px); font-weight:700; margin-bottom:4px; }
.dest-hero-text .dest-en { font-size:16px; opacity:0.7; margin-bottom:var(--space-sm); }
.dest-hero-text p { font-size:18px; opacity:0.9; max-width:600px; }
.dest-subnav { background:#fff; border-bottom:1px solid rgba(0,0,0,0.06); position:sticky; top:72px; z-index:100; }
.dest-subnav-inner { display:flex; gap:var(--space-md); overflow-x:auto; padding:var(--space-md) 0; }
.dest-subnav a { font-size:14px; font-weight:500; color:var(--text-light); padding:6px 0; white-space:nowrap; position:relative; transition:color var(--transition-base); }
.dest-subnav a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--brand-green); transition:width var(--transition-base); }
.dest-subnav a:hover, .dest-subnav a.active { color:var(--brand-green); }
.dest-subnav a:hover::after, .dest-subnav a.active::after { width:100%; }
.highlights-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); }
.highlight-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); transition:all var(--transition-base); }
.highlight-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-card-hover); }
.highlight-img { height:200px; overflow:hidden; }
.highlight-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.highlight-card:hover .highlight-img img { transform:scale(1.05); }
.highlight-info { padding:var(--space-lg); }
.highlight-info h3 { font-size:17px; font-weight:600; color:var(--brand-dark); margin-bottom:6px; }
.highlight-info p { font-size:14px; color:var(--text-light); line-height:1.7; }
.dest-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); }
.dest-info-box { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); box-shadow:var(--shadow-card); }
.dest-info-box h3 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-sm); display:flex; align-items:center; gap:8px; }
.dest-info-box h3 i { color:var(--brand-green); }
.dest-info-box p, .dest-info-box li { font-size:14px; color:var(--text-light); line-height:1.8; }
.dest-info-box ul { padding-left:var(--space-lg); }
.dest-info-box ul li { list-style:disc; }

/* ---------- 32. 响应式 ---------- */

/* 1366px */
@media (max-width:1366px) {
  .advantages-grid { grid-template-columns:repeat(2,1fr); }
  .fleet-preview-grid { grid-template-columns:repeat(4,1fr); }
  .security-grid { grid-template-columns:repeat(3,1fr); }
  .vehicles-grid { grid-template-columns:repeat(2,1fr); }
  .destinations-grid { grid-template-columns:repeat(2,1fr); }
  .footer-inner { grid-template-columns:repeat(2,1fr); }
  .fleet-stats-grid { grid-template-columns:repeat(2,1fr); }
  .driver-grid { grid-template-columns:repeat(2,1fr); }
  .contact-page-grid { grid-template-columns:1fr; }
  .dest-info-grid { grid-template-columns:1fr; }
}

/* 1024px */
@media (max-width:1024px) {
  .intro-grid { grid-template-columns:1fr; }
  .reviews-header { grid-template-columns:1fr; }
  .detail-layout { grid-template-columns:1fr; }
  .detail-sidebar { position:static; }
  .service-modes { grid-template-columns:1fr; }
  .timeline-axis::before { left:20px; }
  .timeline-node { flex-direction:row !important; }
  .timeline-node-content { width:calc(100% - 50px); margin-left:50px; }
  .timeline-node-dot { left:20px; }
  .contact-grid { grid-template-columns:1fr; }
}

/* 768px (mobile) */
@media (max-width:768px) {
  .site-header.scrolled { background:var(--glass-bg); }
  .main-nav { display:none; position:fixed; top:72px; left:0; width:100%; background:var(--glass-bg); backdrop-filter:blur(var(--glass-blur)); flex-direction:column; padding:var(--space-md); gap:0; box-shadow:var(--shadow-nav); border-bottom:1px solid var(--glass-border); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px 0; width:100%; border-bottom:1px solid rgba(0,0,0,0.04); }
  .hamburger { display:flex; }
  .header-phone span { display:none; }

  .hero-carousel { height:60vh; min-height:350px; }
  .carousel-title { font-size:24px; }
  .carousel-subtitle { font-size:14px; }
  .carousel-btn { width:36px; height:36px; font-size:14px; }
  .carousel-prev { left:12px; }
  .carousel-next { right:12px; }

  .advantages-grid { grid-template-columns:1fr; }
  .fleet-preview-grid { grid-template-columns:repeat(3,1fr); gap:var(--space-sm); }
  .routes-grid { grid-template-columns:1fr; }
  .security-grid { grid-template-columns:1fr; }
  .destinations-grid { grid-template-columns:1fr; }
  .booking-steps { flex-direction:column; }
  .step-arrow { transform:rotate(90deg); }
  .footer-inner { grid-template-columns:1fr; }
  .vehicles-grid { grid-template-columns:1fr; }
  .intro-stats { grid-template-columns:repeat(2,1fr); }
  .fleet-stats-grid { grid-template-columns:repeat(2,1fr); }
  .driver-grid { grid-template-columns:1fr; }
  .highlights-grid { grid-template-columns:1fr; }

  .filter-row { flex-direction:column; align-items:flex-start; }
  .filter-chips { flex-wrap:wrap; }

  .section { padding:clamp(32px,5vw,48px) 0; }
  .container { padding:0 var(--space-md); }
  .cta-box { padding:var(--space-xl); }
  .param-grid { grid-template-columns:1fr; }
  .contact-page-grid { grid-template-columns:1fr; }

  .timeline-day h3 { font-size:16px; }
  .dest-hero { height:300px; }
  .dest-hero-overlay { padding:0 var(--space-md); }
  .dest-hero-text h1 { font-size:24px; }
}

/* 480px (small mobile) */
@media (max-width:480px) {
  .fleet-preview-grid { grid-template-columns:repeat(2,1fr); }
  .fleet-stat .num { font-size:32px; }
  .intro-stats { grid-template-columns:repeat(2,1fr); gap:var(--space-sm); }
  .stat-num { font-size:28px; }
}

/* ============================================================
   附录：HTML兼容样式（适配各子页面使用的类名）
   ============================================================ */

/* 导航兼容 */
#site-header { position:fixed; top:0; left:0; width:100%; z-index:1000; background:var(--glass-bg); backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur)); border-bottom:1px solid var(--glass-border); }
#site-header.scrolled { box-shadow:var(--shadow-nav); }
#main-nav ul { display:flex; align-items:center; gap:var(--space-xl); list-style:none; }
#main-nav .nav-link { font-size:15px; font-weight:500; color:var(--text-main); padding:6px 0; position:relative; transition:color var(--transition-base); }
#main-nav .nav-link::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--brand-green); transition:width var(--transition-base); }
#main-nav .nav-link:hover, #main-nav .nav-link.active { color:var(--brand-green); }
#main-nav .nav-link:hover::after, #main-nav .nav-link.active::after { width:100%; }
.logo-icon { font-size:24px; color:var(--brand-green); margin-right:var(--space-sm); }
.logo-text { font-size:22px; font-weight:700; color:var(--brand-dark); }
.header-phone { font-size:15px; font-weight:600; color:var(--brand-green); display:flex; align-items:center; gap:6px; }
.header-phone i { font-size:16px; }

/* 汉堡菜单（兼容 mobile-menu-toggle） */
.mobile-menu-toggle { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.mobile-menu-toggle span { display:block; width:24px; height:2px; background:var(--text-main); border-radius:2px; transition:var(--transition-base); }
.mobile-menu-toggle.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.mobile-menu-toggle.active span:nth-child(2) { opacity:0; }
.mobile-menu-toggle.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* 轮播兼容 */
#carousel-slides { display:flex; height:100%; transition:transform 0.6s cubic-bezier(0.4,0,0.2,1); }
#carousel-prev, #carousel-next { position:absolute; top:50%; transform:translateY(-50%); z-index:3; background:rgba(255,255,255,0.15); border:none; width:50px; height:50px; border-radius:50%; color:#fff; font-size:20px; cursor:pointer; backdrop-filter:blur(4px); transition:background var(--transition-base); display:flex; align-items:center; justify-content:center; }
#carousel-prev { left:24px; } #carousel-next { right:24px; }
#carousel-prev:hover, #carousel-next:hover { background:rgba(255,255,255,0.3); }
#carousel-dots { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:3; }
#carousel-dots .dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,0.4); cursor:pointer; transition:all var(--transition-base); }
#carousel-dots .dot.active { width:28px; border-radius:5px; background:var(--brand-green); }

/* 轮播搜索框 */
.carousel-search { position:absolute; bottom:80px; left:50%; transform:translateX(-50%); z-index:3; width:100%; max-width:500px; padding:0 var(--space-lg); }
.search-form { display:flex; align-items:center; background:#fff; border-radius:var(--radius-full); box-shadow:0 4px 20px rgba(0,0,0,0.15); overflow:hidden; }
.search-icon { padding:0 0 0 16px; color:var(--text-light); }
.search-input { flex:1; border:none; padding:14px 12px; font-size:15px; font-family:var(--font-body); outline:none; }
.search-submit { border-radius:0 var(--radius-full) var(--radius-full) 0 !important; }

/* 品牌介绍区 */
.brand-intro-content { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-2xl); align-items:center; }
.brand-intro-image { position:relative; }
.brand-intro-image img { border-radius:var(--radius-md); width:100%; height:400px; object-fit:cover; }
.brand-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-sm); margin-top:var(--space-md); background:#fff; border-radius:var(--radius-md); padding:var(--space-md); box-shadow:var(--shadow-card); }
.brand-stats .stat-item { text-align:center; }
.brand-stats .stat-number { display:block; font-family:var(--font-heading); font-size:28px; font-weight:700; color:var(--brand-green); }
.brand-stats .stat-label { font-size:12px; color:var(--text-light); }
.brand-intro-text p { font-size:16px; line-height:1.8; color:var(--text-light); margin-bottom:var(--space-md); }
.brand-features-list { display:flex; flex-direction:column; gap:var(--space-sm); margin-bottom:var(--space-lg); }
.brand-features-list span { font-size:14px; color:var(--text-main); display:flex; align-items:center; gap:8px; }
.brand-features-list i { color:var(--brand-green); }

/* 优势区 */
.advantage-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-lg); }
.advantage-icon { width:64px; height:64px; background:var(--brand-pale); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-md); font-size:26px; color:var(--brand-green); }

/* 区块头部通用 */
.section-subtitle { display:inline-block; font-size:13px; font-weight:600; color:var(--brand-green); background:var(--brand-pale); padding:4px 16px; border-radius:var(--radius-full); letter-spacing:1px; margin-bottom:var(--space-sm); text-transform:uppercase; }
.section-desc { color:var(--text-light); font-size:16px; max-width:600px; margin:0 auto; }

/* 保障区 */
.guarantee-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-md); }
.guarantee-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); text-align:center; box-shadow:var(--shadow-card); transition:all var(--transition-base); }
.guarantee-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-card-hover); }
.guarantee-icon { width:52px; height:52px; background:linear-gradient(135deg,var(--brand-pale),var(--brand-light)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); font-size:22px; color:var(--brand-dark); }
.guarantee-card h3 { font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:6px; }
.guarantee-card p { font-size:13px; color:var(--text-light); line-height:1.6; }

/* 预订流程 */
.booking-flow-grid { display:flex; align-items:center; justify-content:center; gap:var(--space-lg); flex-wrap:wrap; }
.booking-step { text-align:center; flex:1; min-width:160px; max-width:220px; }
.step-number { font-family:var(--font-heading); font-size:28px; font-weight:700; color:var(--brand-pale); margin-bottom:var(--space-sm); }
.booking-step .step-icon { width:60px; height:60px; background:var(--brand-green); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); color:#fff; font-size:24px; }
.booking-step h4 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.booking-step p { font-size:13px; color:var(--text-light); }

/* CTA 兼容 */
.cta-banner { background:linear-gradient(135deg,var(--brand-dark),var(--brand-green)); border-radius:var(--radius-lg); padding:var(--space-3xl); text-align:center; color:#fff; }
.cta-banner h2 { font-family:var(--font-heading); font-size:clamp(22px,2.5vw,32px); font-weight:600; margin-bottom:var(--space-sm); }

/* 联系区 */
.contact-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-xl); }
.contact-info { display:flex; flex-direction:column; gap:var(--space-md); }
.contact-item { display:flex; gap:var(--space-md); align-items:flex-start; background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); box-shadow:var(--shadow-card); }
.contact-item i { font-size:20px; color:var(--brand-green); margin-top:2px; }
.contact-item h4 { font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.contact-item p { font-size:14px; color:var(--text-light); }
.contact-form { background:#fff; border-radius:var(--radius-md); padding:var(--space-xl); box-shadow:var(--shadow-card); }

/* 目的地卡片 */
.destination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }
.destination-card { border-radius:var(--radius-md); overflow:hidden; position:relative; height:280px; box-shadow:var(--shadow-card); transition:all var(--transition-base); cursor:pointer; }
.destination-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.destination-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.destination-card:hover img { transform:scale(1.08); }
.destination-overlay { position:absolute; bottom:0; left:0; right:0; padding:var(--space-lg); background:linear-gradient(transparent,rgba(0,0,0,0.7)); color:#fff; }
.destination-overlay h3 { font-size:20px; font-weight:600; margin-bottom:4px; }
.destination-overlay p { font-size:14px; opacity:0.85; }

/* FAQ区块（首页） */
.faq-grid { max-width:800px; margin:0 auto; }
.faq-item { background:#fff; border-radius:var(--radius-md); margin-bottom:var(--space-sm); box-shadow:var(--shadow-card); overflow:hidden; }
.faq-question { padding:var(--space-lg); display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:500; color:var(--text-main); transition:color var(--transition-base); }
.faq-question:hover { color:var(--brand-green); }
.faq-question i { transition:transform var(--transition-base); color:var(--text-light); }
.faq-item.active .faq-question { color:var(--brand-green); }
.faq-item.active .faq-question i { transform:rotate(180deg); color:var(--brand-green); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s, padding 0.4s; }
.faq-item.active .faq-answer { max-height:500px; padding:0 var(--space-lg) var(--space-lg); }
.faq-answer p { font-size:15px; line-height:1.8; color:var(--text-light); }

/* 页脚兼容 */
.footer-links h4 { font-size:16px; font-weight:600; color:#fff; margin-bottom:var(--space-md); }
.footer-links ul { list-style:none; }
.footer-links li { margin-bottom:8px; }
.footer-links a { font-size:14px; color:rgba(255,255,255,0.65); transition:color var(--transition-base); }
.footer-links a:hover { color:var(--brand-light); }

/* 滚动回顶 */
  .fleet-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .page-banner { padding:var(--space-xl) 0; }
  .page-banner h1 { font-size:22px; }
  .filter-group { margin-bottom:var(--space-sm); }
  .filter-options { gap:4px; }
  .filter-btn { padding:6px 14px; font-size:12px; }
  .filter-result-count { flex-direction:column; gap:8px; align-items:stretch; }
  .vehicle-card-pricing { flex-direction:column; gap:6px; }
  .vehicle-card-actions { flex-direction:column; }
  .vehicle-type-grid { grid-template-columns:repeat(2,1fr); }
  .route-grid { grid-template-columns:1fr; }
  .review-grid { grid-template-columns:1fr; }
  .process-steps { flex-direction:column; }
  .process-arrow { transform:rotate(90deg); }
}

@media (max-width:1366px) {
  .vehicle-type-grid { grid-template-columns:repeat(3,1fr); }
}

/* ============================================================
   车型详情页样式
   ============================================================ */
.fee-note-inner { background:var(--sand-beige); border-radius:var(--radius-md); padding:var(--space-lg); margin-top:var(--space-md); }
.fee-note-inner h4 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:var(--space-md); display:flex; align-items:center; gap:8px; }
.fee-note-inner h4 i { color:var(--brand-green); }
.fee-note-inner h5 { font-size:14px; font-weight:600; color:var(--brand-green); margin-bottom:4px; display:flex; align-items:center; gap:6px; }
.fee-note-inner p { font-size:14px; color:var(--text-light); line-height:1.7; }
.accomm-rules { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-md); margin-bottom:var(--space-md); }
.accomm-rule { background:#fff; border-radius:var(--radius-sm); padding:var(--space-md); }
.rule-header { font-size:15px; margin-bottom:6px; color:var(--brand-dark); display:flex; align-items:center; gap:6px; }
.rule-header i { color:var(--brand-green); }
.accomm-rule p { font-size:13px; color:var(--text-light); margin-bottom:6px; }
.accomm-rule ul { padding-left:var(--space-lg); }
.accomm-rule ul li { font-size:13px; color:var(--text-light); line-height:1.8; list-style:disc; }
.fee-note-tip { font-size:13px !important; color:var(--text-light); padding-top:var(--space-sm); border-top:1px solid rgba(0,0,0,0.06); display:flex; align-items:center; gap:6px; }
.fee-note-tip i { color:var(--gold); }

/* 多日优惠横幅 */
.discount-banner { display:flex; align-items:center; gap:var(--space-md); background:linear-gradient(135deg,var(--brand-pale),var(--brand-light)); border-radius:var(--radius-md); padding:var(--space-md) var(--space-lg); margin-top:var(--space-md); }
.discount-icon { width:44px; height:44px; background:var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; flex-shrink:0; }
.discount-text { flex:1; }
.discount-text strong { display:block; font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:2px; }
.discount-text p { font-size:13px; color:var(--text-light); margin:0; }
.discount-banner .btn { flex-shrink:0; white-space:nowrap; }

@media (max-width:768px) {
  .accomm-rules { grid-template-columns:1fr; }
  .discount-banner { flex-direction:column; text-align:center; }
  .discount-banner .btn { width:100%; justify-content:center; }
}

/* 768px (mobile) */
@media (max-width:768px) {
  #main-nav { display:none; position:fixed; top:72px; left:0; width:100%; background:var(--glass-bg); backdrop-filter:blur(var(--glass-blur)); flex-direction:column; padding:var(--space-md); box-shadow:var(--shadow-nav); border-bottom:1px solid var(--glass-border); }
  #main-nav.open { display:flex; }
  #main-nav ul { flex-direction:column; gap:0; }
  #main-nav .nav-link { padding:12px 0; width:100%; border-bottom:1px solid rgba(0,0,0,0.04); }
  .mobile-menu-toggle { display:flex; }
  .header-phone span { display:none; }

  #carousel-prev { left:12px; width:36px; height:36px; font-size:14px; }
  #carousel-next { right:12px; width:36px; height:36px; font-size:14px; }

  .advantage-grid { grid-template-columns:1fr; }
  .guarantee-grid { grid-template-columns:1fr; }
  .brand-stats { grid-template-columns:repeat(2,1fr); }
  .booking-flow-grid { flex-direction:column; }
  .carousel-search { bottom:70px; }
  .search-form { max-width:90%; margin:0 auto; }
  .contact-wrapper { grid-template-columns:1fr; }
  .destination-grid { grid-template-columns:1fr; }
  .vehicle-type-grid { grid-template-columns:repeat(2,1fr); }
  .route-grid { grid-template-columns:1fr; }
  .review-grid { grid-template-columns:1fr; }
  .process-steps { flex-direction:column; }
  .process-arrow { transform:rotate(90deg); }
}

/* ============================================================
   车型页面专用样式（fleet.html 兼容）
   ============================================================ */

/* 页面Banner */
.page-banner { margin-top:72px; background:linear-gradient(135deg,var(--brand-dark),var(--brand-green)); padding:var(--space-2xl) 0; text-align:center; color:#fff; }
.page-banner h1 { font-family:var(--font-heading); font-size:clamp(26px,3vw,36px); font-weight:700; margin-bottom:var(--space-sm); }
.page-banner p { font-size:15px; opacity:0.85; margin-top:var(--space-sm); }
.breadcrumb-sep { margin:0 8px; color:rgba(255,255,255,0.5); }
.breadcrumb-current { color:rgba(255,255,255,0.7); }
.page-banner .breadcrumb a { color:rgba(255,255,255,0.8); }
.page-banner .breadcrumb a:hover { color:#fff; }

/* 导航列表兼容 */
.nav-list { display:flex; align-items:center; gap:var(--space-xl); list-style:none; }
.nav-link { font-size:15px; font-weight:500; color:var(--text-main); padding:6px 0; position:relative; transition:color var(--transition-base); }
.nav-link::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--brand-green); transition:width var(--transition-base); }
.nav-link:hover, .nav-link.active { color:var(--brand-green); }
.nav-link:hover::after, .nav-link.active::after { width:100%; }

/* 轮播徽标 */
.carousel-badge { display:inline-block; font-size:12px; font-weight:600; padding:5px 18px; border-radius:var(--radius-full); background:rgba(255,255,255,0.2); backdrop-filter:blur(8px); margin-bottom:var(--space-md); letter-spacing:1px; }

/* 车型类别入口 */
.vehicle-types { background:var(--sand-beige); }
.vehicle-type-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-lg); }
.vehicle-type-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); transition:all var(--transition-base); }
.vehicle-type-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.vehicle-type-img { height:180px; overflow:hidden; }
.vehicle-type-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.vehicle-type-card:hover .vehicle-type-img img { transform:scale(1.05); }
.vehicle-type-info { padding:var(--space-md); text-align:center; }
.vehicle-type-info h3 { font-size:16px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.vehicle-type-info p { font-size:12px; color:var(--text-light); }

/* 热门线路 */
.popular-routes { background:#fff; }
.route-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); }
.route-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); transition:all var(--transition-base); border:1px solid rgba(0,0,0,0.04); }
.route-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.route-card-img { height:200px; overflow:hidden; position:relative; }
.route-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.route-card:hover .route-card-img img { transform:scale(1.05); }
.route-badge { position:absolute; top:12px; left:12px; padding:4px 14px; font-size:11px; font-weight:600; border-radius:var(--radius-full); background:var(--brand-green); color:#fff; }
.route-card-body { padding:var(--space-lg); }
.route-card-body h3 { font-size:17px; font-weight:600; color:var(--brand-dark); margin-bottom:8px; }
.route-card-body p { font-size:14px; color:var(--text-light); line-height:1.6; margin-bottom:12px; }
.route-meta-info { display:flex; gap:var(--space-md); font-size:13px; color:var(--text-light); margin-bottom:12px; }
.route-meta-info i { color:var(--brand-green); margin-right:4px; }
.route-price-tag { font-family:var(--font-heading); font-size:22px; font-weight:700; color:var(--gold); }
.route-price-tag small { font-size:13px; font-weight:400; color:var(--text-light); }
.route-card-footer { padding:var(--space-md) var(--space-lg); border-top:1px solid rgba(0,0,0,0.04); display:flex; justify-content:space-between; align-items:center; }
.section-footer-link { text-align:center; margin-top:var(--space-xl); }

/* 用户评价 */
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }
.review-card { background:#fff; border-radius:var(--radius-md); padding:var(--space-lg); box-shadow:var(--shadow-card); }
.review-stars { color:var(--gold); font-size:16px; margin-bottom:var(--space-sm); }
.review-stars .far { color:rgba(184,145,77,0.3); }
.review-card p { font-size:14px; color:var(--text-light); line-height:1.7; margin-bottom:var(--space-md); font-style:italic; }
.review-author { font-size:13px; font-weight:600; color:var(--brand-dark); }

/* 预订流程 */
.booking-process { padding:var(--space-3xl) 0; background:linear-gradient(135deg,var(--brand-pale),#fff); }
.process-steps { display:flex; align-items:center; justify-content:center; gap:var(--space-lg); }
.process-step { text-align:center; flex:1; max-width:200px; }
.process-step .step-num { font-family:var(--font-heading); font-size:32px; font-weight:700; color:var(--brand-green); opacity:0.3; margin-bottom:4px; }
.process-step .step-icon { width:60px; height:60px; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-sm); font-size:24px; color:var(--brand-green); box-shadow:0 4px 16px rgba(74,124,89,0.15); }
.process-step h4 { font-size:15px; font-weight:600; color:var(--brand-dark); margin-bottom:4px; }
.process-step p { font-size:13px; color:var(--text-light); }
.process-arrow { font-size:28px; color:var(--brand-light); flex-shrink:0; }
.process-cta { text-align:center; margin-top:var(--space-xl); }

/* FAQ微型网格 */
.faq-mini-grid { max-width:900px; margin:0 auto; }
.faq-item-mini { background:#fff; border-radius:var(--radius-md); margin-bottom:10px; box-shadow:var(--shadow-card); overflow:hidden; }
.faq-item-mini .faq-question { padding:16px 24px; display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-weight:500; }
.faq-item-mini .faq-question h3 { font-size:15px; font-weight:500; color:var(--text-main); }
.faq-item-mini .faq-question i { transition:transform 0.3s; color:var(--text-light); }
.faq-item-mini.active .faq-question i { transform:rotate(180deg); }
.faq-item-mini .faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s; }
.faq-item-mini.active .faq-answer { max-height:300px; padding:0 24px 16px; }

/* 筛选栏 */
.filter-section { padding-bottom:0; }
.filter-group { margin-bottom:var(--space-md); }
.filter-group label { font-size:14px; font-weight:600; color:var(--text-main); margin-bottom:8px; display:flex; align-items:center; gap:6px; }
.filter-group label i { color:var(--brand-green); }
.filter-options { display:flex; gap:6px; flex-wrap:wrap; }
.filter-btn { padding:7px 18px; font-size:13px; border-radius:var(--radius-full); border:1.5px solid rgba(45,45,45,0.12); background:#fff; cursor:pointer; transition:all var(--transition-base); }
.filter-btn:hover { border-color:var(--brand-green); color:var(--brand-green); }
.filter-btn.active { background:var(--brand-green); color:#fff; border-color:var(--brand-green); }
.filter-result-count { display:flex; justify-content:space-between; align-items:center; padding:var(--space-md) 0 var(--space-sm); border-top:1px solid rgba(0,0,0,0.05); margin-top:var(--space-md); }

/* 车型网格 */
.fleet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-lg); }

/* 车型卡片 */
.vehicle-card { background:#fff; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); transition:all var(--transition-base); display:flex; flex-direction:column; }
.vehicle-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-card-hover); }
.vehicle-card-img { position:relative; height:200px; overflow:hidden; }
.vehicle-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.vehicle-card:hover .vehicle-card-img img { transform:scale(1.05); }
.vehicle-card-badge { position:absolute; top:12px; left:12px; padding:4px 14px; font-size:12px; font-weight:600; border-radius:var(--radius-full); background:rgba(255,255,255,0.9); color:var(--brand-green); backdrop-filter:blur(4px); }
.vehicle-card-body { padding:var(--space-lg); flex:1; display:flex; flex-direction:column; }
.vehicle-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.vehicle-card-header h3 { font-size:18px; font-weight:600; color:var(--brand-dark); }
.vehicle-seats { font-size:13px; color:var(--text-light); display:flex; align-items:center; gap:4px; }
.vehicle-seats i { color:var(--brand-green); }
.vehicle-specs { display:flex; gap:var(--space-md); font-size:13px; color:var(--text-light); margin-bottom:10px; }
.vehicle-specs i { color:var(--brand-green); margin-right:4px; }
.vehicle-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.vehicle-tag { font-size:11px; padding:3px 10px; border-radius:var(--radius-full); background:var(--brand-pale); color:var(--brand-green); }
.vehicle-card-pricing { display:flex; gap:var(--space-md); margin-bottom:12px; padding-top:12px; border-top:1px solid rgba(0,0,0,0.05); margin-top:auto; }
.price-item { flex:1; text-align:center; padding:8px; background:var(--rice-paper); border-radius:var(--radius-sm); }
.price-label { display:block; font-size:11px; color:var(--text-light); margin-bottom:2px; }
.price-value { font-family:var(--font-heading); font-size:20px; font-weight:700; color:var(--gold); }
.price-value small { font-size:12px; font-weight:400; color:var(--text-light); }
.vehicle-card-actions { display:flex; gap:8px; }
.vehicle-card-actions .btn { flex:1; justify-content:center; }

/* 页脚兼容 */
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-xl); }

@media (max-width:1024px) {
  .fleet-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .fleet-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .page-banner { padding:var(--space-xl) 0; }
  .page-banner h1 { font-size:22px; }
  .filter-group { margin-bottom:var(--space-sm); }
  .filter-options { gap:4px; }
  .filter-btn { padding:6px 14px; font-size:12px; }
  .filter-result-count { flex-direction:column; gap:8px; align-items:stretch; }
  .vehicle-card-pricing { flex-direction:column; gap:6px; }
  .vehicle-card-actions { flex-direction:column; }
}
