*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#f5f6fa;color:#333;line-height:1.6}
a{text-decoration:none}

/* Header */
.header{background:#fff;border-bottom:2px solid #7cb342;position:sticky;top:0;z-index:1000}
.header-inner{max-width:1000px;margin:0 auto;padding:0 10px;display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font-size:18px;font-weight:700;color:#7cb342}
.nav{display:flex;gap:18px;align-items:center}
.nav a{color:#555;font-size:14px;transition:color .2s;line-height:56px}
.nav a:hover{color:#7cb342}
.nav-right{display:flex;gap:8px;align-items:center}

.btn{display:inline-block;padding:6px 14px;border-radius:2px;font-size:13px;border:none;cursor:pointer;transition:all .2s}
.btn-primary{background:#7cb342;color:#fff}.btn-primary:hover{background:#689f38}
.btn-outline{background:transparent;border:1px solid #7cb342;color:#7cb342}.btn-outline:hover{background:#7cb342;color:#fff}
.btn-sm{padding:4px 10px;font-size:12px}
.btn-lg{padding:10px 28px;font-size:15px;border-radius:24px}
.btn-white{background:#fff;color:#7cb342}

/* ===== Hero + 轮播 ===== */
.hero{background:linear-gradient(135deg,#7cb342,#8bc34a);padding:60px 20px 50px;text-align:center;color:#fff;position:relative}
.hero-tagline{font-size:13px;letter-spacing:2px;text-transform:uppercase;opacity:.7;margin-bottom:6px}
.hero h1{font-size:40px;font-weight:800;margin-bottom:10px}
.hero p{font-size:15px;opacity:.9;margin-bottom:20px;max-width:600px;margin-left:auto;margin-right:auto}

/* 轮播 */
.hero-slider{position:relative}
.hero-slide{display:none;padding:40px 20px 20px}
.hero-slide.active{display:block}
.hero-inner{max-width:700px;margin:0 auto}
.slider-dots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer}
.dot.active{background:#fff}
.slider-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);color:#fff;border:none;font-size:24px;width:36px;height:36px;border-radius:50%;cursor:pointer;z-index:5;transition:.2s}
.slider-btn:hover{background:rgba(255,255,255,.3)}
.slider-prev{left:10px}.slider-next{right:10px}

/* 搜索栏 */
.hero-search-box{max-width:600px;margin:0 auto 16px;background:rgba(255,255,255,.2);border-radius:6px;padding:12px 16px;backdrop-filter:blur(4px)}
.hero-search-row{display:flex;gap:8px;align-items:stretch}
.hero-search-input-wrap{flex:1;position:relative;background:#fff;border-radius:4px;display:flex;align-items:center}
.hero-search-icon{padding:0 8px 0 12px;font-size:16px}
.hero-search-input-wrap input{flex:1;border:none;padding:10px 0;font-size:14px;outline:none;background:none;color:#333}
.hero-search-input-wrap input::placeholder{color:#aaa}
.hero-search-select select{padding:10px 12px;border:none;border-radius:4px;font-size:13px;outline:none;background:#fff;color:#333;cursor:pointer;min-width:80px}
.hero-search-btn{padding:10px 20px;background:#7cb342;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;white-space:nowrap}
.hero-search-btn:hover{background:#689f38}

.goal-list{position:absolute;top:100%;left:0;right:0;background:#fff;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;display:none;z-index:999;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.goal-list-item{padding:10px 16px;font-size:13px;color:#333;cursor:pointer;border-bottom:1px solid #f5f5f5}
.goal-list-item:hover{background:#f1f8e9;color:#7cb342}

/* 热门目的地 */
.hot-cities{font-size:13px;opacity:.85;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:10px}
.hot-cities span{white-space:nowrap}
.hot-cities a{color:#fff;padding:2px 10px;background:rgba(255,255,255,.15);border-radius:12px;font-size:12px;transition:.2s}
.hot-cities a:hover{background:rgba(255,255,255,.3)}

/* 特色卡片 */
.features{max-width:1000px;margin:-30px auto 0;padding:0 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative;z-index:10}
.feature-card{background:#fff;border-radius:4px;padding:32px 24px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.06);transition:.2s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.feature-icon{width:60px;height:60px;border-radius:50%;background:#f1f8e9;color:#7cb342;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px}
.feature-card h3{font-size:18px;margin-bottom:8px}
.feature-card p{font-size:14px;color:#888;line-height:1.5}
.feature-tags{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.feature-tag{padding:3px 12px;background:#f1f8e9;color:#7cb342;border-radius:12px;font-size:12px;font-weight:500}

/* 统计 */
.stats-bar{max-width:1000px;margin:20px auto;padding:0 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat-item{background:#fff;border-radius:4px;padding:24px 16px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.stat-num{font-size:32px;font-weight:800;color:#7cb342;margin-bottom:4px}
.stat-label{font-size:14px;color:#888}

/* 分类区块 */
.section{max-width:1000px;margin:20px auto;padding:0 10px}
.section-title{font-size:20px;font-weight:700;margin-bottom:16px;padding-left:10px;border-left:3px solid #7cb342}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.card{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.06);transition:.2s;text-decoration:none;color:inherit}
.card:hover{transform:translateY(-4px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.card-img{width:100%;height:180px;object-fit:cover;display:block;background:#f0f0f0}
.card-body{padding:16px}
.card-title{font-size:15px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-info{display:flex;justify-content:space-between;font-size:13px;color:#888}

/* CTA */
.cta-section{background:linear-gradient(135deg,#7cb342,#8bc34a);padding:60px 20px;text-align:center;color:#fff}
.cta-section h2{font-size:32px;margin-bottom:12px}
.cta-section p{font-size:16px;opacity:.9;margin-bottom:24px}

/* Footer */
.footer{background:#333;color:#999;padding:40px 20px 20px}
.footer-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:20px}
.footer h4{color:#ccc;margin-bottom:12px;font-size:14px}
.footer p{font-size:14px;line-height:1.8}
.footer a{color:#a0a0b0;font-size:14px;display:block;margin-bottom:6px}
.footer a:hover{color:#f1f8e9}
.footer-bottom{max-width:1000px;margin:20px auto 0;padding-top:16px;border-top:1px solid #2a2a3e;text-align:center;font-size:13px}

@media(max-width:768px){
  .hero h1{font-size:26px}
  .hero-search-row{flex-wrap:wrap}
  .hero-search-select select{min-width:70px}
  .features{grid-template-columns:1fr;margin-top:20px}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .slider-btn{width:28px;height:28px;font-size:18px}
}

/* search bar */
.hero-search-bar{background:#fff;border-bottom:1px solid #eee;padding:20px 0}
.hero-search-inner{max-width:1200px;margin:0 auto;padding:0 20px}
.hero-search-inner .hot-cities{margin-top:12px;font-size:13px;color:#555}
.hero-search-inner .hot-cities a{background:#f5f5f5;color:#666;border:1px solid #eee;border-radius:4px;padding:3px 12px;display:inline-block;margin:2px}
.hero-search-inner .hot-cities a:hover{border-color:#7cb342;color:#7cb342}

/* hero search */
.hero-search-box{max-width:540px;width:100%}
.hero-search-row{display:flex;border-radius:8px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.15)}
.hero-search-input-wrap{flex:1;background:#fff;display:flex;align-items:center;padding:0 14px}
.hero-search-input-wrap input{flex:1;border:none;outline:none;padding:12px 0;font-size:14px}
.hero-search-select select{border:none;background:#f8f8f8;padding:12px 14px;font-size:13px;outline:none;cursor:pointer}
.hero-search-btn{background:#7cb342;color:#fff;border:none;padding:12px 24px;font-size:14px;cursor:pointer}
.hero-search-btn:hover{background:#689f38}

/* stats bar */
.stats-bar{background:#7cb342;padding:30px 0;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;color:#fff}
.stat-num{font-size:32px;font-weight:800}
.stat-label{font-size:14px;opacity:.85;margin-top:4px}

/* cta */
.cta-section{background:linear-gradient(135deg,#7cb342,#8bc34a);text-align:center;padding:60px 20px;color:#fff}
.cta-section h2{font-size:24px;margin-bottom:12px;color:#fff}
.cta-section p{opacity:.85;margin-bottom:24px;color:#fff}
.hero-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}

/* footer */
.footer{background:#2c2c2c;color:#999;padding:40px 20px 20px}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:32px;margin-bottom:30px}
.footer h4{color:#fff;font-size:14px;font-weight:600;margin-bottom:12px}
.footer a{display:block;color:#888;font-size:13px;padding:3px 0}
.footer a:hover{color:#7cb342}
.footer p{font-size:13px;line-height:1.8}
.footer-bottom{border-top:1px solid #444;padding-top:16px;text-align:center;font-size:12px;color:#666}

/* section */
.section{max-width:1200px;margin:0 auto;padding:30px 20px}

/* cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card:hover{transform:translateY(-3px);box-shadow:0 4px 16px rgba(0,0,0,.1)}

/* layout helpers */
.features-inner{max-width:1200px;margin:0 auto;padding:0 20px;width:100%}
.stats-inner{max-width:1200px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%}
.hero-search-inner .hot-cities span{font-size:13px;color:#888}

/* category page */
.category-header{background:linear-gradient(135deg,#7cb342,#689f38);padding:24px 0;margin-bottom:24px;color:#fff}
.category-header h1{font-size:24px;font-weight:700;margin:0}
.pagination a{background:#fff}


/* ====== 移动端适配 ====== */
@media (max-width: 768px) {
  .header-inner{height:auto;padding:8px 10px;flex-wrap:wrap}
  .nav{order:3;width:100%;gap:0;overflow-x:auto;padding:6px 0}
  .nav a{line-height:32px;font-size:13px;padding:0 10px;flex-shrink:0;border-radius:4px}
  .nav a:hover{background:#f1f8e9}
  .nav-right{gap:4px}
  .nav-right .btn{font-size:11px;padding:3px 8px}
  .hero{padding:40px 20px!important}
  .hero h1{font-size:24px!important}
  .hero-search-row{flex-direction:column;gap:8px}
  .hero-search-input-wrap{width:100%}
  .hero-search-select{width:100%}
  .hero-search-btn{width:100%}
  .hot-cities{flex-wrap:wrap;gap:4px}
  .hot-cities a{font-size:12px;padding:2px 8px}
  .stats-inner{grid-template-columns:repeat(2,1fr)!important;gap:8px}
  .features-grid{grid-template-columns:1fr!important;gap:12px}
  .card-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px}
  .card-title{font-size:13px}
  .d-wrap{grid-template-columns:1fr!important}
  .hero-slide{height:300px!important}
  .uc-wrap{grid-template-columns:1fr!important}
  .stats{grid-template-columns:repeat(3,1fr)!important;gap:8px}
  .stat-card{padding:12px}
  .stat-card .num{font-size:20px}
  .amt-grid{grid-template-columns:repeat(2,1fr)!important}
  .footer-inner{grid-template-columns:1fr!important;gap:16px}
  .widget-grid{grid-template-columns:repeat(2,1fr)!important}
  .related-grid{grid-template-columns:1fr!important}
  .about-hero{padding:40px 20px!important}
  .about-hero h1{font-size:24px!important}
  .stats-row,.values{grid-template-columns:repeat(2,1fr)!important}
  .filter-bar{overflow-x:auto;white-space:nowrap;padding-bottom:8px}
  .filter-bar a{display:inline-block;font-size:12px;padding:4px 12px}
  .recharge-table{font-size:12px}
  .recharge-table th,.recharge-table td{padding:6px 4px}
  .cart-item{flex-direction:column}
  .cart-img{width:100%;height:160px}
  .modal-box{width:95%}
  .table-wrap{overflow-x:auto}
  table{font-size:12px}
}
@media (max-width: 480px) {
  .hero h1{font-size:20px!important}
  .hero{padding:30px 16px!important}
  .card-grid{grid-template-columns:1fr!important}
  .stats-inner{grid-template-columns:repeat(2,1fr)!important;gap:6px}
  .stats-row,.values{grid-template-columns:1fr!important}
  .widget-grid{grid-template-columns:1fr!important}
  .btn{padding:4px 8px;font-size:11px}
}