:root{ --primary:#2d5a27; --primary-light:#4a8c42; --primary-dark:#1e3d1a; --accent:#ff6b35; --accent-light:#ff8c5a; --gold:#ffc107; --gold-light:#ffca28; --success:#10b981; --warning:#f59e0b; --danger:#ef4444; --info:#3b82f6; --text-primary:#1a1a1a; --text-secondary:#666666; --text-muted:#999999; --bg-primary:#ffffff; --bg-secondary:#f8faf8; --bg-tertiary:#f0f4f0; --border-color:#e8e8e8; --shadow-sm:0 2px 8px rgba(0,0,0,0.06); --shadow-md:0 4px 16px rgba(0,0,0,0.08); --shadow-lg:0 8px 32px rgba(0,0,0,0.12); --shadow-xl:0 16px 48px rgba(0,0,0,0.16); --radius-sm:8px; --radius-md:12px; --radius-lg:16px; --radius-xl:24px; --transition-fast:0.2s ease; --transition-normal:0.3s ease; --transition-slow:0.5s ease}.package-detail-page{ padding-top:60px; padding-bottom:120px; background:linear-gradient(180deg,#f0f4f0 0%,#f8faf8 50%,#f5f7f5 100%); min-height:100vh}.breadcrumb-wrapper{ max-width:1200px; margin:0 auto; padding:8px 24px}.package-breadcrumb{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--text-muted); flex-wrap:wrap; line-height:1.5}.package-breadcrumb a{ color:var(--text-secondary); text-decoration:none; transition:color var(--transition-fast)}.package-breadcrumb a:hover{ color:var(--primary)}.package-breadcrumb i{ font-size:11px; opacity:0.6; margin:0 2px}.package-breadcrumb span:last-child{ color:var(--text-primary); font-weight:500}.package-hero-banner{ position:relative; height:200px; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:0}.hero-banner-bg{ position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(135deg,#1a4d1a 0%,#2d5a27 50%,#3d7a35 100%); background-size:cover; background-position:center}.hero-banner-bg::before{ content:''; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(180deg,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0.5) 100%)}.hero-banner-bg::after{ content:''; position:absolute; top:0; left:0; right:0; bottom:0; background-image:url('https://img.mflink.cn/jns/pics/ty-focus.jpg'); background-size:cover; background-position:center; opacity:0.4; mix-blend-mode:overlay}.hero-banner-content{ position:relative; z-index:2; text-align:center; padding:0 24px; max-width:1000px}.hero-banner-title{ font-size:30px; font-weight:700; color:#fff; margin:0 0 12px 0; text-shadow:0 2px 8px rgba(0,0,0,0.3); letter-spacing:1px}.hero-banner-subtitle{ display:inline-flex; align-items:center; gap:6px; font-size:14px; color:rgba(255,255,255,0.9); background:rgba(255,255,255,0.15); backdrop-filter:blur(8px); padding:6px 16px; border-radius:30px; border:1px solid rgba(255,255,255,0.2)}.hero-banner-subtitle i{ color:#ff6b35; font-size:14px}.package-hero-card{ padding:16px 16px 32px; max-width:1200px; margin:48px auto 0}.package-hero-card,.package-content-wrapper{ max-width:1200px; margin-left:auto; margin-right:auto; padding-left:16px; padding-right:16px}.hero-card-wrapper{ display:flex; background:var(--bg-primary); border-radius:var(--radius-xl); overflow:hidden; box-shadow:var(--shadow-lg); position:relative}.hero-carousel-section{ flex:0 0 55%; position:relative; background:#1a1a1a}.package-carousel{ position:relative; width:100%; height:380px; overflow:hidden}.carousel-slides{ position:relative; width:100%; height:100%}.carousel-slide{ position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transition:opacity 0.8s ease-in-out}.carousel-slide.active{ opacity:1}.carousel-slide img{ width:100%; height:100%; object-fit:cover; transition:transform 8s ease}.carousel-slide.active img{ transform:scale(1.05)}.carousel-indicators{ position:absolute; bottom:16px; left:16px; display:flex; gap:6px; z-index:10}.indicator{ width:32px; height:4px; border-radius:2px; background:rgba(255,255,255,0.4); border:none; cursor:pointer; transition:all var(--transition-normal); padding:0}.indicator.active{ width:48px; background:rgba(255,255,255,0.95); box-shadow:0 2px 8px rgba(0,0,0,0.2)}.indicator:hover{ background:rgba(255,255,255,0.7)}.carousel-badge{ position:absolute; top:16px; left:16px; display:flex; gap:8px; z-index:10}.carousel-badge-item{ display:inline-flex; align-items:center; gap:4px; padding:6px 12px; background:rgba(0,0,0,0.6); backdrop-filter:blur(8px); color:#fff; font-size:11px; font-weight:500; border-radius:20px}.carousel-badge-item i{ font-size:10px}.hero-info-section{ flex:1; display:flex; flex-direction:column; padding:20px 24px; min-width:0; background:linear-gradient(180deg,#fefefe 0%,#f8f8f8 100%)}.product-header{ margin-bottom:20px}.package-title-wrap{ margin-bottom:16px}.package-title-badges{ display:flex; gap:8px; margin-bottom:12px}.title-badge{ display:inline-flex; align-items:center; padding:4px 10px; border-radius:12px; font-size:12px; font-weight:500}.title-badge.line{ background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff}.title-badge.type{ background:rgba(255,107,53,0.1); color:var(--accent); border:1px solid rgba(255,107,53,0.2)}.package-title{ font-size:20px; font-weight:700; color:var(--text-primary); margin:0 0 6px 0; line-height:1.4}.package-subtitle{ font-size:13px; color:var(--text-muted); margin:0; line-height:1.5}.product-badge{ display:inline-flex; align-items:center; gap:4px; padding:5px 12px; background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%); color:#fff; font-size:11px; font-weight:600; border-radius:20px; margin-bottom:12px; box-shadow:0 4px 12px rgba(255,107,53,0.3)}.product-badge i{ font-size:10px}.product-title{ font-size:22px; font-weight:700; color:var(--text-primary); line-height:1.4; margin:0 0 8px 0; letter-spacing:-0.02em}.product-subtitle{ font-size:14px; color:var(--text-secondary); margin:0; display:flex; align-items:center; gap:12px; flex-wrap:wrap}.product-subtitle span{ display:inline-flex; align-items:center; gap:4px}.product-subtitle span::before{ content:''; width:4px; height:4px; background:var(--primary); border-radius:50%}.product-attrs{ flex:1; display:flex; flex-direction:column; gap:10px; margin-bottom:20px; padding-top:0; border-bottom:1px solid var(--border-color)}.attr-row{ display:flex; align-items:center; gap:16px}.attr-label{ width:72px; flex-shrink:0; font-size:13px; color:var(--text-muted)}.attr-value{ font-size:14px; color:var(--text-primary); font-weight:500}.attr-link{ font-size:14px; color:var(--primary); text-decoration:none; font-weight:500; transition:all var(--transition-fast)}.attr-link:hover{ text-decoration:underline}.attr-link.route-link{ display:inline-flex; align-items:center; gap:6px; padding:6px 14px; background:rgba(45,90,39,0.08); border-radius:20px; border:1px solid rgba(45,90,39,0.15); transition:all var(--transition-fast)}.attr-link.route-link:hover{ background:rgba(45,90,39,0.15); border-color:rgba(45,90,39,0.3); text-decoration:none}.attr-link.route-link::after{ content:'\f105'; font-family:'Font Awesome 6 Free'; font-weight:900; font-size:12px; color:var(--primary)}.attr-tags{ display:flex; gap:8px; flex-wrap:wrap}.attr-tag{ display:inline-flex; align-items:center; gap:4px; padding:5px 12px; background:linear-gradient(135deg,rgba(16,185,129,0.1) 0%,rgba(16,185,129,0.05) 100%); color:var(--success); font-size:12px; font-weight:500; border-radius:6px; border:1px solid rgba(16,185,129,0.2)}.attr-tag i{ font-size:10px}.product-footer{ display:flex; justify-content:space-between; align-items:center; margin-bottom:20px}.price-box{ display:flex; align-items:baseline; gap:4px}.price-label{ font-size:12px; color:var(--text-muted); margin-right:4px}.price-currency{ font-size:20px; font-weight:700; color:var(--danger)}.price-value{ font-size:36px; font-weight:700; color:var(--danger); line-height:1; letter-spacing:-0.02em}.price-unit{ font-size:13px; color:var(--text-secondary); margin-left:4px}.btn-book-now{ display:inline-flex; align-items:center; gap:8px; padding:14px 28px; background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%); color:#333; font-size:15px; font-weight:600; text-decoration:none; border:none; border-radius:var(--radius-md); cursor:pointer; transition:all var(--transition-normal); box-shadow:0 4px 16px rgba(255,193,7,0.35); position:relative; overflow:hidden}.btn-book-now::before{ content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent); transition:left 0.5s ease}.btn-book-now:hover::before{ left:100%}.btn-book-now:hover{ transform:translateY(-3px); box-shadow:0 10px 30px rgba(255,193,7,0.5)}.btn-book-now:active{ transform:translateY(-1px)}.btn-book-now i{ font-size:14px}.product-tags-list{ display:flex; flex-wrap:wrap; gap:10px}.pt-tag{ display:inline-flex; align-items:center; gap:6px; padding:8px 16px; background:var(--bg-primary); color:var(--text-secondary); font-size:13px; border-radius:20px}.hero-info-section .product-card{ background:#fff; border-radius:16px; padding:20px; box-shadow:0 4px 20px rgba(0,0,0,0.08)}.hero-info-section .product-title{ font-size:22px; font-weight:700; color:var(--text-primary); margin:0 0 12px 0; line-height:1.4}.hero-info-section .product-subtitle{ display:flex; align-items:center; gap:12px; font-size:13px; color:var(--text-secondary); margin-bottom:16px; flex-wrap:wrap}.hero-info-section .product-subtitle span{ display:inline-flex; align-items:center; gap:4px}.hero-info-section .product-subtitle span::before{ content:''; width:4px; height:4px; background:var(--primary); border-radius:50%}.hero-info-section .product-subtitle span:first-child::before{ display:none}.hero-info-section .product-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px}.hero-info-section .product-tag{ display:inline-flex; align-items:center; gap:4px; padding:6px 12px; background:rgba(45,90,39,0.06); color:var(--text-secondary); font-size:12px; border-radius:6px; border:1px solid rgba(45,90,39,0.1)}.hero-info-section .product-tag.hot{ background:linear-gradient(135deg,rgba(255,107,53,0.1) 0%,rgba(255,107,53,0.05) 100%); color:var(--accent); border-color:rgba(255,107,53,0.2)}.hero-info-section .product-tag i{ font-size:10px}.hero-info-section .product-attrs{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; padding:16px; background:var(--bg-secondary); border-radius:12px; border:none}.hero-info-section .attr-item{ display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center}.hero-info-section .attr-item i{ font-size:18px; color:var(--primary); margin-bottom:4px}.hero-info-section .attr-item span{ font-size:12px; color:var(--text-muted)}.hero-info-section .attr-item .value{ font-size:14px; font-weight:600; color:var(--text-primary)}.hero-info-section .price-row{ display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:16px; border-top:1px solid var(--border-color)}.hero-info-section .price-info{ display:flex; align-items:baseline; gap:2px}.hero-info-section .price-currency{ font-size:18px; font-weight:700; color:var(--danger)}.hero-info-section .price-value{ font-size:32px; font-weight:700; color:var(--danger)}.hero-info-section .price-unit{ font-size:13px; color:var(--text-muted); margin-left:4px}.hero-info-section .btn-book-now{ padding:14px 32px; font-size:15px}.promo-section{ background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%); border-radius:var(--radius-xl); padding:16px 20px; margin-bottom:20px; color:#fff; position:relative; overflow:hidden}.promo-section::before{ content:''; position:absolute; top:-50%; right:-20%; width:200px; height:200px; background:radial-gradient(circle,rgba(255,255,255,0.15) 0%,transparent 70%)}.promo-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; position:relative}.promo-title{ display:flex; align-items:center; gap:8px; font-size:18px; font-weight:700}.promo-title i{ font-size:20px}.promo-countdown{ display:flex; align-items:center; gap:6px; font-size:13px; background:rgba(255,255,255,0.2); padding:6px 12px; border-radius:20px}.countdown-time{ font-weight:700; font-variant-numeric:tabular-nums}.promo-tags{ display:flex; gap:10px; flex-wrap:wrap; position:relative}.promo-tag{ font-size:13px; padding:6px 14px; background:rgba(255,255,255,0.2); border-radius:20px; display:flex; align-items:center; gap:6px}.stats-section{ background:var(--bg-primary); border-radius:var(--radius-xl); padding:16px 20px; margin-bottom:20px; box-shadow:var(--shadow-md)}.booking-stats{ display:flex; gap:16px}.stat-item{ flex:1; display:flex; align-items:center; gap:10px; padding:14px; background:var(--bg-secondary); border-radius:12px}.stat-icon{ width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px}.stat-icon.users{ background:rgba(16,185,129,0.1); color:var(--success)}.stat-icon.calendar{ background:rgba(59,130,246,0.1); color:var(--info)}.stat-info{ display:flex; flex-direction:column}.stat-value{ font-size:18px; font-weight:700; color:var(--text-primary)}.stat-label{ font-size:13px; color:var(--text-muted)}.reviews-section{ background:var(--bg-primary); border-radius:var(--radius-xl); padding:20px; margin-bottom:20px; box-shadow:var(--shadow-md)}.reviews-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}.reviews-stats{ display:flex; align-items:center; gap:20px}.reviews-score{ display:flex; align-items:baseline; gap:4px}.reviews-score .num{ font-size:36px; font-weight:700; color:var(--danger)}.reviews-score .total{ font-size:14px; color:var(--text-muted)}.reviews-bars{ display:flex; flex-direction:column; gap:4px}.reviews-bar-item{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--text-muted)}.reviews-bar{ width:80px; height:4px; background:var(--bg-tertiary); border-radius:2px; overflow:hidden}.reviews-bar-fill{ height:100%; background:var(--warning); border-radius:2px}.reviews-more{ font-size:14px; color:var(--primary); display:flex; align-items:center; gap:4px; cursor:pointer}.reviews-more:hover{ text-decoration:underline}.reviews-list{ display:flex; flex-direction:column; gap:16px}.review-item{ padding:16px; background:var(--bg-secondary); border-radius:12px}.review-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:12px}.review-user{ display:flex; align-items:center; gap:10px}.review-avatar{ width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:600}.review-name{ font-size:14px; font-weight:600; color:var(--text-primary)}.review-date{ font-size:12px; color:var(--text-muted)}.review-stars{ color:var(--warning); font-size:14px; letter-spacing:2px}.review-content{ font-size:14px; color:var(--text-secondary); line-height:1.7; margin-bottom:12px}.review-tags{ display:flex; gap:8px; flex-wrap:wrap}.review-tag{ font-size:12px; padding:4px 10px; background:rgba(45,90,39,0.08); color:var(--primary); border-radius:12px}.coupon-section{ background:var(--bg-primary); border-radius:var(--radius-xl); padding:16px 20px; margin-bottom:20px; box-shadow:var(--shadow-md)}.coupon-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}.coupon-title{ font-size:16px; font-weight:700; display:flex; align-items:center; gap:8px}.coupon-title i{ color:var(--warning)}.coupon-list{ display:flex; gap:12px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none}.coupon-list::-webkit-scrollbar{ display:none}.coupon-item{ flex-shrink:0; width:150px; background:linear-gradient(135deg,#fff5f5 0%,#fff0f0 100%); border:1px dashed var(--danger); border-radius:12px; padding:14px; position:relative; cursor:pointer; transition:transform 0.2s}.coupon-item:hover{ transform:translateY(-2px)}.coupon-item.used{ background:var(--bg-tertiary); border-color:var(--text-muted); opacity:0.6}.coupon-value{ font-size:28px; font-weight:700; color:var(--danger); margin-bottom:4px}.coupon-value small{ font-size:14px; font-weight:400}.coupon-desc{ font-size:12px; color:var(--text-muted); margin-bottom:12px}.coupon-btn{ width:100%; padding:8px 0; background:var(--danger); color:#fff; font-size:13px; font-weight:500; border:none; border-radius:16px; cursor:pointer; transition:all 0.2s}.coupon-btn:hover{ background:#dc2626}.coupon-item.used .coupon-btn{ background:var(--text-muted); cursor:not-allowed}.faq-section{ background:var(--bg-primary); border-radius:var(--radius-xl); padding:20px; margin-bottom:20px; box-shadow:var(--shadow-md)}.faq-list{ display:flex; flex-direction:column; gap:12px}.faq-item{ border:1px solid var(--border-color); border-radius:12px; overflow:hidden; transition:all 0.3s ease}.faq-item:hover{ border-color:rgba(45,90,39,0.3); box-shadow:0 2px 8px rgba(45,90,39,0.08)}.faq-item.open{ border-color:rgba(45,90,39,0.4); box-shadow:0 4px 16px rgba(45,90,39,0.12)}.faq-question{ display:flex; justify-content:space-between; align-items:center; padding:14px 16px; background:var(--bg-secondary); cursor:pointer; font-size:14px; font-weight:600; color:var(--text-primary); border:none; width:100%; text-align:left; transition:all 0.3s ease; position:relative}.faq-question:hover{ background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.faq-item.open .faq-question{ background:linear-gradient(135deg,rgba(45,90,39,0.08) 0%,rgba(45,90,39,0.04) 100%); color:var(--primary)}.faq-question span{ flex:1; padding-right:12px}.faq-question i{ color:var(--primary); transition:transform 0.3s cubic-bezier(0.4,0,0.2,1); font-size:14px; width:24px; height:24px; display:flex; align-items:center; justify-content:center; background:rgba(45,90,39,0.1); border-radius:50%; flex-shrink:0}.faq-item.open .faq-question i{ transform:rotate(180deg); background:var(--primary); color:#fff}.faq-answer{ max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); background:var(--bg-primary)}.faq-answer-content{ padding:0 16px 16px; font-size:13px; color:var(--text-secondary); line-height:1.7; border-top:1px solid transparent; transition:border-color 0.3s ease}.faq-item.open .faq-answer-content{ border-top-color:var(--border-color); padding-top:16px}.recommend-section{ background:var(--bg-primary); border-radius:var(--radius-xl); padding:20px; margin-bottom:20px; box-shadow:var(--shadow-md)}.recommend-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}.recommend-title{ font-size:16px; font-weight:700; display:flex; align-items:center; gap:8px}.recommend-title i{ color:var(--accent)}.recommend-list{ display:flex; gap:16px; overflow-x:auto; padding-bottom:8px; scrollbar-width:none}.recommend-list::-webkit-scrollbar{ display:none}.recommend-item{ flex-shrink:0; width:180px; text-decoration:none; transition:transform 0.2s}.recommend-item:hover{ transform:translateY(-4px)}.recommend-img{ width:100%; height:110px; border-radius:12px; overflow:hidden; margin-bottom:10px}.recommend-img img{ width:100%; height:100%; object-fit:cover; transition:transform 0.3s}.recommend-item:hover .recommend-img img{ transform:scale(1.05)}.recommend-name{ font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.4}.recommend-price{ font-size:16px; font-weight:700; color:var(--danger)}.recommend-price small{ font-size:12px; font-weight:400; color:var(--text-muted)}.pt-tag:hover{ border-color:var(--primary); color:var(--primary); background:rgba(45,90,39,0.05); transform:translateY(-2px)}.pt-tag.pt-hot{ background:linear-gradient(135deg,#fff5f0 0%,#ffebe0 100%); color:var(--accent); border-color:rgba(255,107,53,0.3)}.pt-tag.pt-hot:hover{ background:linear-gradient(135deg,#ffebe0 0%,#ffe0d0 100%); border-color:var(--accent)}.pt-tag i{ font-size:12px}.package-tabs-section{ background:rgba(255,255,255,0.98); backdrop-filter:blur(12px); position:sticky; top:60px; z-index:100; border-bottom:1px solid var(--border-color); transition:box-shadow var(--transition-normal); padding:4px 0}html{ scroll-padding-top:120px}.content-section{ scroll-margin-top:140px}.package-hero-card{ scroll-margin-top:100px}.package-tabs-section.scrolled{ box-shadow:var(--shadow-md)}.package-tabs-container{ max-width:1200px; margin:0 auto; padding:0 24px}.package-tabs{ display:flex; gap:8px; overflow-x:auto; padding:0; scrollbar-width:none; -ms-overflow-style:none}.package-tabs::-webkit-scrollbar{ display:none}.tab-item{ display:inline-flex; align-items:center; gap:8px; padding:8px 18px; color:var(--text-secondary); text-decoration:none; font-size:15px; font-weight:500; border-radius:20px; white-space:nowrap; transition:all var(--transition-fast); background:transparent; border:1px solid transparent}.tab-item:hover{ color:var(--primary); background:rgba(45,90,39,0.05)}.tab-item.active{ color:var(--primary); background:rgba(45,90,39,0.1); border-color:rgba(45,90,39,0.2); font-weight:600}.tab-item i{ font-size:15px; width:18px; text-align:center}.package-content-wrapper{ padding-top:20px}.content-section{ background:var(--bg-primary); border-radius:var(--radius-xl); padding:16px; margin-bottom:16px; box-shadow:var(--shadow-md); transition:all var(--transition-normal); opacity:0; transform:translateY(20px); animation:fadeInUp 0.6s ease forwards}.content-section:nth-child(1){animation-delay:0.1s}.content-section:nth-child(2){animation-delay:0.2s}.content-section:nth-child(3){animation-delay:0.3s}.content-section:nth-child(4){animation-delay:0.4s}.content-section:nth-child(5){animation-delay:0.5s}.content-section:nth-child(6){animation-delay:0.6s}.content-section:hover{ box-shadow:var(--shadow-lg)}.section-header{ margin-bottom:8px; padding-bottom:10px; border-bottom:2px solid var(--bg-tertiary)}.section-title{ display:flex; align-items:center; gap:12px; font-size:20px; font-weight:700; color:var(--text-primary); margin:0}.section-title i{ width:40px; height:40px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 4px 16px rgba(45,90,39,0.3)}.section-subtitle{ font-size:13px; color:var(--text-muted); margin-top:6px; font-weight:400; padding-left:52px}.subsection-title{ display:flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:var(--text-primary); margin-bottom:12px; padding-left:12px; border-left:3px solid var(--primary)}.subsection-title i{ color:var(--primary); font-size:16px}.route-card{ display:flex; background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%); border-radius:var(--radius-lg); overflow:hidden; cursor:pointer; transition:all var(--transition-normal); border:1px solid var(--border-color); margin-top:0}.route-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:var(--primary)}.route-card-image{ flex:0 0 200px; position:relative; overflow:hidden}.route-card-image img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow)}.route-card:hover .route-card-image img{ transform:scale(1.1)}.route-card-badge{ position:absolute; top:12px; left:12px; padding:6px 12px; background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%); color:#fff; font-size:12px; font-weight:600; border-radius:16px; box-shadow:0 4px 12px rgba(255,107,53,0.3)}.route-card-info{ flex:1; padding:20px; display:flex; flex-direction:column; justify-content:center}.route-card-title{ font-size:18px; font-weight:700; color:var(--text-primary); margin:0 0 10px 0; display:flex; align-items:center; gap:10px}.route-card-title::before{ content:'B'; width:32px; height:32px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff; font-size:16px; font-weight:700; border-radius:8px; display:flex; align-items:center; justify-content:center}.route-card-location{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-secondary); margin-bottom:14px}.route-card-location i{ color:var(--primary); font-size:12px}.route-card-attrs{ display:flex; flex-wrap:wrap; gap:12px}.route-attr{ display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--text-secondary); padding:6px 12px; background:var(--bg-primary); border-radius:20px; border:1px solid var(--border-color)}.route-attr i{ color:var(--primary); font-size:12px}.route-card-more{ display:flex; align-items:center; justify-content:center; gap:8px; padding:20px; color:var(--primary); font-size:14px; font-weight:500; transition:all var(--transition-fast)}.route-card:hover .route-card-more{ gap:12px}.route-card-more i{ transition:transform var(--transition-fast)}.route-card:hover .route-card-more i{ transform:translateX(4px)}.route-selector{ margin-top:16px; padding:16px; background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%); border-radius:var(--radius-lg); border:1px solid var(--border-color)}.route-selector-title{ font-size:14px; font-weight:600; color:var(--text-secondary); margin:0 0 16px 0; text-align:center}.route-selector-list{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center}.route-selector-item{ display:flex; align-items:center; gap:8px; padding:10px 16px; background:var(--bg-primary); border:2px solid var(--border-color); border-radius:var(--radius-md); cursor:pointer; transition:all var(--transition-fast); font-family:inherit}.route-selector-item:hover{ border-color:var(--route-color,var(--primary)); transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,0.08)}.route-selector-item.active{ border-color:var(--route-color,var(--primary)); background:linear-gradient(135deg,rgba(45,90,39,0.08) 0%,rgba(45,90,39,0.04) 100%)}.route-selector-letter{ width:28px; height:28px; display:flex; align-items:center; justify-content:center; background:var(--route-color,var(--primary)); color:#fff; font-size:14px; font-weight:700; border-radius:6px}.route-selector-name{ font-size:13px; font-weight:500; color:var(--text-primary)}.features-horizontal{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:12px}.feature-h-item{ background:var(--bg-secondary); border-radius:12px; padding:14px; text-align:center; transition:all var(--transition-fast); border:1px solid transparent}.feature-h-item:hover{ border-color:var(--border-color); box-shadow:var(--shadow-sm)}.feature-h-icon{ width:100%; aspect-ratio:3 / 2; margin:0 0 8px 0; overflow:hidden; border-radius:10px}.feature-h-icon img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow)}.feature-h-item:hover .feature-h-icon img{ transform:scale(1.05)}.feature-h-title{ font-size:14px; font-weight:600; color:var(--text-primary); margin:0 0 4px 0}.feature-h-desc{ font-size:13px; color:var(--text-muted); margin:0; line-height:1.5}.feature-detail-gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px}.feature-detail-item{ position:relative; border-radius:16px; overflow:hidden; height:320px; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.08)}.feature-detail-item img{ width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow)}.feature-detail-item:hover img{ transform:scale(1.05)}.feature-detail-item::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,0.2) 0%,transparent 50%); pointer-events:none; opacity:0; transition:opacity var(--transition-normal)}.feature-detail-item:hover::after{ opacity:1}.itinerary-content{ position:relative}.schedule-overview{ background:linear-gradient(135deg,#ffffff 0%,#f8faf8 100%); border-radius:var(--radius-xl); padding:16px 20px; margin-bottom:20px; border:1px solid rgba(45,90,39,0.12); box-shadow:0 4px 24px rgba(45,90,39,0.06); position:relative; overflow:hidden}.schedule-overview::before{ content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 50%,#7cb342 100%)}.schedule-overview .subsection-title{ font-size:16px; font-weight:700; color:var(--text-primary); margin:0 0 14px 0; display:flex; align-items:center; gap:10px}.schedule-overview .subsection-title i{ color:var(--primary); font-size:18px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(45,90,39,0.12) 0%,rgba(74,140,66,0.08) 100%); border-radius:10px}.schedule-timeline{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-top:0}.schedule-item{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:16px 10px; background:linear-gradient(180deg,#ffffff 0%,#fafafa 100%); border-radius:var(--radius-lg); transition:all 0.3s cubic-bezier(0.4,0,0.2,1); border:2px solid transparent; position:relative; cursor:pointer}.schedule-item::before{ content:''; position:absolute; top:-2px; left:50%; transform:translateX(-50%); width:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--primary-light)); border-radius:0 0 4px 4px; transition:width 0.3s ease}.schedule-item:hover{ border-color:var(--primary); transform:translateY(-4px); box-shadow:0 8px 24px rgba(45,90,39,0.15)}.schedule-item:hover::before{ width:60%}.schedule-item::after{ content:''; position:absolute; right:-8px; top:50%; transform:translateY(-50%); width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232d5a27'%3E%3Cpath d='M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z'/%3E%3C/svg%3E") center/contain no-repeat; opacity:0.3; transition:opacity 0.3s ease}.schedule-item:last-child::after{ display:none}.schedule-item:hover::after{ opacity:0.8}.schedule-time{ font-weight:800; color:var(--primary); font-size:14px; padding:6px 12px; background:linear-gradient(135deg,rgba(45,90,39,0.1) 0%,rgba(74,140,66,0.06) 100%); border-radius:8px; white-space:nowrap; margin-bottom:10px; letter-spacing:0.5px; border:1px solid rgba(45,90,39,0.1)}.schedule-content{ flex:1; display:flex; flex-direction:column; align-items:center}.schedule-title{ font-weight:700; color:var(--text-primary); margin-bottom:6px; font-size:15px}.schedule-desc{ font-size:12px; color:var(--text-muted); line-height:1.5; max-width:140px}.itinerary-timeline{ position:relative; padding-left:40px; margin-top:6px}.itinerary-timeline::before{ content:''; position:absolute; left:18px; top:24px; bottom:24px; width:4px; background:linear-gradient(to bottom, var(--primary) 0%, var(--primary-light) 25%, rgba(45,90,39,0.4) 50%, rgba(45,90,39,0.2) 75%, rgba(200,200,200,0.3) 100%); border-radius:4px; box-shadow:0 0 12px rgba(45,90,39,0.15)}.itinerary-node{ position:relative; padding-bottom:32px}.itinerary-node:last-child{ padding-bottom:0}.itinerary-node::before{ content:''; position:absolute; left:-36px; top:12px; width:20px; height:20px; border-radius:50%; background:var(--bg-primary); border:4px solid rgba(45,90,39,0.3); z-index:2; transition:all 0.4s cubic-bezier(0.4,0,0.2,1); box-shadow:0 2px 8px rgba(0,0,0,0.08)}.itinerary-node::after{ content:''; position:absolute; left:-32px; top:16px; width:12px; height:12px; border-radius:50%; background:transparent; z-index:3; transition:all 0.3s ease}.itinerary-node.highlight::before{ background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); border-color:var(--primary); box-shadow:0 0 0 6px rgba(45,90,39,0.15),0 4px 12px rgba(45,90,39,0.25)}.itinerary-node.highlight::after{ background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") center/8px no-repeat}.itinerary-node:hover::before{ transform:scale(1.25); border-color:var(--primary)}.itinerary-node:hover::after{ transform:scale(1.25)}.node-time{ display:flex; align-items:center; gap:12px; margin-bottom:12px}.node-time .time{ font-size:24px; font-weight:800; color:var(--primary); letter-spacing:-0.03em; text-shadow:0 2px 4px rgba(45,90,39,0.1)}.node-time .type{ font-size:11px; color:#fff; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); padding:5px 14px; border-radius:16px; font-weight:600; letter-spacing:0.8px; text-transform:uppercase; box-shadow:0 2px 8px rgba(45,90,39,0.25)}.node-content{ background:linear-gradient(145deg,#ffffff 0%,#fafafa 100%); border-radius:var(--radius-xl); padding:22px; border:1px solid rgba(45,90,39,0.08); transition:all 0.4s cubic-bezier(0.4,0,0.2,1); box-shadow:0 2px 12px rgba(0,0,0,0.04); position:relative; overflow:hidden}.node-content::before{ content:''; position:absolute; top:0; left:0; width:4px; height:100%; background:linear-gradient(180deg,var(--primary),var(--primary-light)); opacity:0; transition:opacity 0.3s ease}.itinerary-node:hover .node-content{ border-color:rgba(45,90,39,0.2); box-shadow:0 8px 32px rgba(45,90,39,0.1); transform:translateX(4px)}.itinerary-node:hover .node-content::before{ opacity:1}.node-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid rgba(45,90,39,0.08)}.node-title{ font-size:17px; font-weight:700; color:var(--text-primary); margin:0; display:flex; align-items:center; gap:10px}.node-title i{ color:var(--primary); font-size:18px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,rgba(45,90,39,0.1) 0%,rgba(74,140,66,0.06) 100%); border-radius:10px}.node-badge{ font-size:11px; color:var(--info); background:linear-gradient(135deg,rgba(59,130,246,0.12) 0%,rgba(59,130,246,0.06) 100%); padding:6px 14px; border-radius:16px; font-weight:600; border:1px solid rgba(59,130,246,0.15)}.node-duration{ font-size:12px; color:var(--text-muted); background:var(--bg-primary); padding:6px 12px; border-radius:8px; border:1px solid var(--border-color); font-weight:500}.node-body p{ font-size:14px; color:var(--text-secondary); line-height:1.9; margin:0 0 14px 0}.node-image{ border-radius:var(--radius-lg); overflow:hidden; margin-bottom:14px; position:relative}.node-image::after{ content:''; position:absolute; bottom:0; left:0; right:0; height:40%; background:linear-gradient(to top,rgba(0,0,0,0.3),transparent); pointer-events:none}.node-image img{ width:100%; height:220px; object-fit:cover; transition:transform 0.6s cubic-bezier(0.4,0,0.2,1)}.itinerary-node:hover .node-image img{ transform:scale(1.05)}.node-gallery{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-bottom:14px}.node-gallery img{ width:100%; height:150px; object-fit:cover; border-radius:var(--radius-md); transition:all 0.4s cubic-bezier(0.4,0,0.2,1); box-shadow:0 2px 8px rgba(0,0,0,0.08)}.node-gallery img:hover{ transform:scale(1.03) rotate(0.5deg); box-shadow:0 8px 24px rgba(0,0,0,0.15)}.node-tags{ display:flex; flex-wrap:wrap; gap:8px}.node-tag{ display:inline-flex; align-items:center; gap:6px; font-size:12px; color:var(--text-secondary); padding:6px 12px; background:linear-gradient(135deg,#ffffff 0%,#f8f8f8 100%); border-radius:24px; border:1px solid var(--border-color); transition:all 0.3s ease; font-weight:500}.node-tag:hover{ border-color:var(--primary); color:var(--primary); background:linear-gradient(135deg,rgba(45,90,39,0.06) 0%,rgba(74,140,66,0.03) 100%); transform:translateY(-2px)}.node-tag i{ color:var(--primary); font-size:12px}.node-tips{ display:flex; align-items:flex-start; gap:12px; padding:16px 20px; background:linear-gradient(135deg,rgba(59,130,246,0.08) 0%,rgba(59,130,246,0.03) 100%); border-radius:var(--radius-lg); border:1px solid rgba(59,130,246,0.12)}.node-tips.warning{ background:linear-gradient(135deg,rgba(245,158,11,0.08) 0%,rgba(245,158,11,0.03) 100%); border-color:rgba(245,158,11,0.15)}.node-tips i{ color:var(--info); font-size:18px; margin-top:1px; flex-shrink:0}.node-tips.warning i{ color:var(--warning)}.node-tips span{ font-size:13px; color:var(--text-secondary); line-height:1.7}.spot-features{ background:linear-gradient(135deg,rgba(45,90,39,0.06) 0%,rgba(74,140,66,0.02) 100%); border-radius:var(--radius-lg); padding:18px 20px; margin-bottom:16px; border:1px solid rgba(45,90,39,0.08); position:relative; overflow:hidden}.spot-features::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--primary-light)); opacity:0.6}.spot-features h5{ font-size:14px; font-weight:700; color:var(--primary); margin:0 0 12px 0; display:flex; align-items:center; gap:8px}.spot-features h5 i{ font-size:16px}.spot-features ul{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:8px}.spot-features li{ font-size:13px; color:var(--text-secondary); padding:8px 12px; line-height:1.6; background:rgba(255,255,255,0.7); border-radius:var(--radius-md); transition:all 0.3s ease; border:1px solid transparent}.spot-features li:hover{ background:rgba(255,255,255,1); border-color:rgba(45,90,39,0.15); transform:translateX(4px)}.spot-features li strong{ color:var(--text-primary); font-weight:600}.food-menu{ display:flex; gap:20px; flex-wrap:wrap; padding:4px 0}.food-item{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:12px; background:linear-gradient(135deg,#ffffff 0%,#fafafa 100%); border-radius:var(--radius-lg); transition:all 0.3s ease; border:1px solid transparent}.food-item:hover{ transform:translateY(-4px); border-color:rgba(45,90,39,0.15); box-shadow:0 8px 20px rgba(45,90,39,0.1)}.food-item img{ width:72px; height:72px; border-radius:50%; object-fit:cover; border:3px solid var(--border-color); transition:all var(--transition-fast)}.food-item:hover img{ border-color:var(--primary); transform:scale(1.08)}.food-item span{ font-size:12px; color:var(--text-secondary); font-weight:500}.activity-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px}.activity-item{ display:flex; align-items:center; gap:10px; padding:12px 16px; background:var(--bg-primary); border-radius:var(--radius-md); border:1px solid var(--border-color); font-size:13px; color:var(--text-secondary); transition:all var(--transition-fast)}.activity-item:hover{ border-color:var(--primary); color:var(--primary)}.activity-item i{ color:var(--primary); font-size:14px; width:20px; text-align:center}.price-detail-content{ display:flex; flex-direction:column; gap:14px}.price-include-box,.transfer-range-box,.other-area-box{ padding:16px; border-radius:var(--radius-lg); background:linear-gradient(135deg,#fafafa 0%,#f5f5f5 100%); border:1px solid var(--border-color)}.include-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px}.include-item{ display:flex; align-items:center; gap:10px; padding:12px 14px; background:var(--bg-primary); border-radius:var(--radius-md); border:1px solid var(--border-color); transition:all var(--transition-fast)}.include-item:hover{ border-color:var(--success); transform:translateY(-2px); box-shadow:var(--shadow-sm)}.include-item i{ color:var(--success); font-size:18px; width:24px; text-align:center}.include-item span{ font-size:14px; color:var(--text-primary); font-weight:500}.transfer-info{ margin-top:12px}.transfer-normal{ display:flex; align-items:center; gap:14px; padding:14px 16px; background:linear-gradient(135deg,rgba(59,130,246,0.08) 0%,rgba(59,130,246,0.03) 100%); border-radius:var(--radius-md); border:1px solid rgba(59,130,246,0.15)}.transfer-normal > div{ display:flex; flex-direction:column; gap:4px}.transfer-label{ font-size:12px; color:var(--text-muted)}.transfer-value{ font-size:15px; font-weight:600; color:var(--text-primary)}.other-area-desc{ font-size:14px; color:var(--text-secondary); line-height:1.7; margin:12px 0 0; padding:14px 16px; background:rgba(245,158,11,0.08); border-radius:var(--radius-md); border:1px solid rgba(245,158,11,0.15); display:flex; align-items:center}.booking-notice-content{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px}.notice-item{ display:flex; align-items:flex-start; gap:12px; padding:14px; background:var(--bg-primary); border-radius:var(--radius-md); border:1px solid var(--border-color); transition:all var(--transition-fast)}.notice-item:hover{ border-color:var(--primary); box-shadow:var(--shadow-sm)}.notice-item.highlight{ background:linear-gradient(135deg,rgba(245,158,11,0.06) 0%,rgba(245,158,11,0.02) 100%); border-color:rgba(245,158,11,0.4)}.notice-num{ width:26px; height:26px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; flex-shrink:0}.notice-item.highlight .notice-num{ background:linear-gradient(135deg,var(--warning) 0%,#fbbf24 100%)}.notice-text{ flex:1; font-size:13px; color:var(--text-secondary); line-height:1.6}.notice-text strong{ display:block; font-size:14px; font-weight:600; color:var(--text-primary); margin-bottom:4px}.notice-link{ color:var(--primary); font-weight:500; cursor:pointer; border-bottom:1px dashed var(--primary)}.notice-link:hover{ border-bottom-style:solid}.refund-policy-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:14px}.refund-policy-column{ display:flex; flex-direction:column; gap:12px}.refund-policy-title{ display:flex; align-items:center; gap:10px; font-size:16px; font-weight:600; color:var(--text-primary); margin:0 0 4px 0; padding-bottom:12px; border-bottom:2px solid var(--border-color)}.refund-policy-title i{ width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:14px}.refund-policy-column:first-child .refund-policy-title{ border-color:var(--danger)}.refund-policy-column:first-child .refund-policy-title i{ background:rgba(239,68,68,0.1); color:var(--danger)}.refund-policy-column:last-child .refund-policy-title{ border-color:var(--info)}.refund-policy-column:last-child .refund-policy-title i{ background:rgba(59,130,246,0.1); color:var(--info)}.refund-policy-list{ display:flex; flex-direction:column; gap:12px}.refund-card{ padding:16px; border-radius:var(--radius-lg); transition:all var(--transition-fast); border:1px solid var(--border-color); background:var(--bg-primary)}.refund-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px)}.refund-free{ background:linear-gradient(135deg,rgba(16,185,129,0.08) 0%,rgba(16,185,129,0.03) 100%); border-color:rgba(16,185,129,0.2)}.refund-partial{ background:linear-gradient(135deg,rgba(245,158,11,0.08) 0%,rgba(245,158,11,0.03) 100%); border-color:rgba(245,158,11,0.2)}.reschedule-free{ background:linear-gradient(135deg,rgba(59,130,246,0.08) 0%,rgba(59,130,246,0.03) 100%); border-color:rgba(59,130,246,0.2)}.reschedule-partial{ background:linear-gradient(135deg,rgba(139,92,246,0.08) 0%,rgba(139,92,246,0.03) 100%); border-color:rgba(139,92,246,0.2)}.refund-full{ background:linear-gradient(135deg,rgba(239,68,68,0.08) 0%,rgba(239,68,68,0.03) 100%); border-color:rgba(239,68,68,0.2)}.reschedule-full{ background:linear-gradient(135deg,rgba(107,114,128,0.08) 0%,rgba(107,114,128,0.03) 100%); border-color:rgba(107,114,128,0.2)}.refund-card-header{ display:flex; align-items:center; gap:10px; margin-bottom:10px; font-size:14px; font-weight:600; color:var(--text-primary)}.refund-card-header i{ font-size:18px; width:32px; height:32px; border-radius:8px; display:flex; align-items:center; justify-content:center}.refund-free .refund-card-header i{ color:var(--success); background:rgba(16,185,129,0.1)}.refund-partial .refund-card-header i{ color:var(--warning); background:rgba(245,158,11,0.1)}.refund-full .refund-card-header i{ color:var(--danger); background:rgba(239,68,68,0.1)}.reschedule-free .refund-card-header i{ color:var(--info); background:rgba(59,130,246,0.1)}.reschedule-partial .refund-card-header i{ color:#8b5cf6; background:rgba(139,92,246,0.1)}.reschedule-full .refund-card-header i{ color:#6b7280; background:rgba(107,114,128,0.1)}.refund-card-body{ display:flex; flex-direction:column; gap:6px}.refund-badge{ display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:16px; font-size:14px; font-weight:600; width:fit-content}.refund-badge.free{ background:rgba(16,185,129,0.15); color:var(--success)}.refund-badge.partial{ background:rgba(245,158,11,0.15); color:var(--warning)}.refund-badge.full{ background:rgba(239,68,68,0.15); color:var(--danger)}.refund-desc{ font-size:13px; color:var(--text-secondary); margin:0}.refund-badge.free{ background:var(--success); color:#fff}.refund-badge.partial{ background:var(--warning); color:#fff}.refund-badge.full{ background:var(--danger); color:#fff}.refund-desc{ font-size:13px; color:var(--text-secondary)}.booking-bar{ position:fixed; bottom:0; left:0; right:0; background:rgba(255,255,255,0.95); backdrop-filter:blur(20px); border-top:1px solid var(--border-color); z-index:1000; padding:12px 0; box-shadow:0 -4px 20px rgba(0,0,0,0.08)}.booking-bar-container{ max-width:1200px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between}.price-info{ display:flex; align-items:baseline; gap:4px}.price-info .price-label{ font-size:14px; color:var(--text-muted)}.price-info .price-value{ font-size:28px; font-weight:700; color:var(--danger); display:flex; align-items:baseline}.price-info .price-value span{ font-size:36px}.price-info .price-unit{ font-size:14px; color:var(--text-secondary)}.booking-actions{ display:flex; gap:12px}.btn-consult{ display:inline-flex; align-items:center; gap:8px; padding:14px 28px; background:var(--bg-primary); color:var(--primary); font-size:15px; font-weight:600; border:2px solid var(--primary); border-radius:var(--radius-md); cursor:pointer; transition:all var(--transition-fast)}.btn-consult:hover{ background:var(--primary); color:#fff}.btn-book{ display:inline-flex; align-items:center; gap:10px; padding:14px 36px; background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%); color:#333; font-size:15px; font-weight:600; border:none; border-radius:var(--radius-md); cursor:pointer; transition:all var(--transition-normal); box-shadow:0 6px 20px rgba(255,193,7,0.4)}.btn-book:hover{ transform:translateY(-2px); box-shadow:0 8px 28px rgba(255,193,7,0.5)}.btn-book:active{ transform:translateY(0)}.skeleton{ background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%); background-size:200% 100%; animation:shimmer 1.5s infinite}img{ opacity:1; transition:opacity var(--transition-normal)}img[data-loading="true"]{ opacity:0}.booking-modal{ position:fixed; top:0; left:0; right:0; bottom:0; z-index:100001; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transition:all 0.3s ease}.booking-modal.active{ opacity:1; visibility:visible}.booking-modal-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(8px); z-index:1}.booking-modal-content{ position:relative; background:var(--bg-primary); border-radius:var(--radius-xl); padding:36px; max-width:420px; width:90%; box-shadow:var(--shadow-xl); transform:scale(0.9) translateY(20px); transition:transform 0.3s ease; z-index:2}.booking-modal.active .booking-modal-content{ transform:scale(1) translateY(0)}.booking-modal-close{ position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; background:rgba(0,0,0,0.08); border:2px solid rgba(0,0,0,0.15); color:#333; font-size:20px; font-weight:bold; line-height:1; cursor:pointer; transition:all var(--transition-fast); display:flex !important; align-items:center !important; justify-content:center !important; z-index:100 !important; outline:none; box-shadow:0 2px 8px rgba(0,0,0,0.1); pointer-events:auto !important}.booking-modal-close:hover,.booking-modal-close:focus{ background:rgba(220,53,69,0.1); border-color:rgba(220,53,69,0.3); color:#dc3545; transform:scale(1.15); outline:2px solid rgba(220,53,69,0.3); outline-offset:2px; box-shadow:0 4px 12px rgba(220,53,69,0.2)}.booking-modal-close:active{ transform:scale(1.05); background:rgba(220,53,69,0.15)}.booking-modal-header{ text-align:center; margin-bottom:28px}.booking-modal-header h3{ font-size:24px; font-weight:700; color:var(--text-primary); margin:0 0 8px 0}.booking-modal-header p{ font-size:14px; color:var(--text-secondary); margin:0}.booking-modal-qrcode{ display:flex; justify-content:center; margin-bottom:28px}.qrcode-img{ width:200px; height:200px; border-radius:var(--radius-md); border:2px solid var(--border-color); box-shadow:var(--shadow-sm)}.booking-modal-link{ margin-bottom:24px}.link-label{ font-size:13px; color:var(--text-secondary); margin-bottom:10px}.link-box{ display:flex; gap:10px}.link-box input{ flex:1; padding:14px 16px; border:1px solid var(--border-color); border-radius:var(--radius-md); font-size:13px; color:var(--text-primary); background:var(--bg-secondary)}.link-box input:focus{ outline:none; border-color:var(--primary)}.link-tip{ display:flex; align-items:flex-start; gap:10px; margin-top:12px; padding:12px 14px; background:rgba(45,90,39,0.05); border-radius:var(--radius-md); font-size:12px; color:var(--text-secondary); line-height:1.6}.link-tip i{ color:var(--primary); margin-top:2px; flex-shrink:0}.copy-btn{ display:flex; align-items:center; gap:6px; padding:14px 20px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff; border:none; border-radius:var(--radius-md); font-size:13px; font-weight:500; cursor:pointer; transition:all var(--transition-fast); white-space:nowrap}.copy-btn:hover{ transform:translateY(-1px); box-shadow:0 4px 12px rgba(45,90,39,0.3)}.copy-btn.copied{ background:var(--success)}.booking-modal-phone{ margin-bottom:8px}.phone-label{ font-size:13px; color:var(--text-secondary); margin-bottom:10px}.phone-link{ display:flex; align-items:center; justify-content:center; gap:12px; padding:16px 24px; background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%); color:#fff; text-decoration:none; border-radius:var(--radius-md); font-size:16px; font-weight:600; transition:all var(--transition-fast); box-shadow:0 4px 16px rgba(255,107,53,0.3)}.phone-link:hover{ transform:translateY(-2px); box-shadow:0 6px 20px rgba(255,107,53,0.4)}.phone-link i{ font-size:18px}::-webkit-scrollbar{ width:8px; height:8px}::-webkit-scrollbar-track{ background:#f1f1f1; border-radius:4px}::-webkit-scrollbar-thumb{ background:#c1c1c1; border-radius:4px}::-webkit-scrollbar-thumb:hover{ background:#a1a1a1}.route-modal{ position:fixed; top:0; left:0; right:0; bottom:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; visibility:hidden; transition:all var(--transition-normal)}.route-modal.active{ opacity:1; visibility:visible}.route-modal-overlay{ position:absolute; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(8px); z-index:1}.route-modal-content{ position:relative; background:var(--bg-primary); border-radius:var(--radius-xl); max-width:800px; width:92%; max-height:85vh; overflow-y:auto; box-shadow:0 25px 80px rgba(0,0,0,0.35); transform:scale(0.92) translateY(30px); transition:all var(--transition-normal); z-index:2}.route-modal.active .route-modal-content{ transform:scale(1) translateY(0)}.route-modal-close{ position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; background:rgba(0,0,0,0.08); border:2px solid rgba(0,0,0,0.15); color:#333; font-size:20px; font-weight:bold; line-height:1; cursor:pointer; z-index:100 !important; display:flex !important; align-items:center !important; justify-content:center !important; transition:all var(--transition-fast); outline:none; box-shadow:0 2px 8px rgba(0,0,0,0.1); pointer-events:auto !important}.route-modal-close:hover,.route-modal-close:focus{ background:rgba(220,53,69,0.1); border-color:rgba(220,53,69,0.3); color:#dc3545; transform:scale(1.15); outline:2px solid rgba(220,53,69,0.3); outline-offset:2px; box-shadow:0 4px 12px rgba(220,53,69,0.2)}.route-modal-close:active{ transform:scale(1.05); background:rgba(220,53,69,0.15)}.route-modal-header{ display:flex; justify-content:space-between; align-items:center; padding:20px 24px; border-bottom:1px solid var(--border-color); background:linear-gradient(135deg,#f8faf8 0%,#f0f5f0 100%); border-radius:var(--radius-xl) var(--radius-xl) 0 0}.route-modal-title-wrap{ display:flex; align-items:center; gap:16px}.route-modal-header .route-badge-letter{ width:52px; height:52px; border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:24px; color:#fff; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); box-shadow:0 4px 16px rgba(45,90,39,0.3)}.route-modal-title-area h3{ font-size:20px; font-weight:700; color:var(--text-primary); margin:0 0 4px 0}.route-modal-title-area p{ font-size:13px; color:var(--text-muted); margin:0}.route-modal-header .route-modal-badge{ position:static; padding:8px 16px; border-radius:20px; font-size:12px; font-weight:600; background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 100%); color:#fff; box-shadow:0 4px 12px rgba(255,107,53,0.3)}.route-modal-header .route-modal-badge.gold{ background:linear-gradient(135deg,#ffc107 0%,#ffca28 100%); color:#333; box-shadow:0 4px 12px rgba(255,193,7,0.3)}.route-modal-body{ display:flex; gap:20px; padding:20px; align-items:flex-start}.route-modal-left{ flex:1; min-width:240px; display:flex; flex-direction:column}.route-modal-right{ flex:0 0 auto; display:flex; flex-direction:column}.route-modal-info-list{ display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--border-color)}.modal-info-row{ display:flex; align-items:center; gap:16px}.modal-info-row .info-label{ width:80px; font-size:13px; color:var(--text-muted); flex-shrink:0}.modal-info-row .info-value{ font-size:14px; color:var(--text-primary); font-weight:500}.route-modal-section{ margin-bottom:16px}.route-modal-section:last-child{ margin-bottom:0}.route-modal-section h4{ font-size:14px; font-weight:600; color:var(--text-primary); margin:0 0 10px 0; padding-left:10px; border-left:3px solid var(--primary)}.route-modal-section p{ font-size:13px; color:var(--text-secondary); line-height:1.7; margin:0}.route-modal-highlights{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px}.route-modal-highlights li{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-secondary); padding:6px 12px; background:rgba(45,90,39,0.06); border-radius:6px; border:1px solid rgba(45,90,39,0.12)}.route-modal-highlights .check{ color:var(--success); font-weight:700}.route-carousel{ position:relative; border-radius:var(--radius-lg); overflow:hidden; background:#f5f5f5; width:280px; height:420px; flex-shrink:0; box-shadow:0 4px 20px rgba(0,0,0,0.1)}.route-carousel .carousel-slides{ position:relative; width:100%; height:100%}.route-carousel .carousel-slide{ position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transition:opacity 0.5s ease}.route-carousel .carousel-slide.active{ opacity:1}.route-carousel .carousel-slide img{ width:100%; height:100%; object-fit:cover}.route-carousel .carousel-indicators{ position:absolute; bottom:12px; right:12px; left:auto; display:flex; gap:6px}.route-carousel .indicator{ width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.5); border:1px solid rgba(255,255,255,0.8); cursor:pointer; transition:all var(--transition-fast)}.route-carousel .indicator.active{ background:var(--primary); border-color:var(--primary)}.route-modal-footer{ display:flex; gap:12px; padding:16px 24px; background:linear-gradient(135deg,#f8faf8 0%,#f0f5f0 100%); border-top:1px solid var(--border-color); border-radius:0 0 var(--radius-xl) var(--radius-xl)}.btn-modal-primary{ flex:1; display:flex; align-items:center; justify-content:center; gap:8px; padding:12px 20px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); color:#fff; border-radius:var(--radius-md); font-size:14px; font-weight:600; text-decoration:none; transition:all var(--transition-normal); box-shadow:0 4px 16px rgba(45,90,39,0.3)}.btn-modal-primary:hover{ transform:translateY(-2px); box-shadow:0 6px 24px rgba(45,90,39,0.4)}.btn-modal-secondary{ padding:12px 20px; background:var(--bg-primary); color:var(--text-secondary); border:1px solid var(--border-color); border-radius:var(--radius-md); font-size:14px; font-weight:500; cursor:pointer; transition:all var(--transition-fast)}.btn-modal-secondary:hover{ background:var(--bg-tertiary); border-color:var(--text-muted)}.btn-share{ display:flex; align-items:center; justify-content:center; gap:4px; padding:10px 14px; background:#fff; border:1px solid var(--border-color); border-radius:var(--radius-lg); color:var(--text-secondary); font-size:13px; font-weight:500; cursor:pointer; transition:all var(--transition-fast)}.btn-share:hover{ background:var(--bg-secondary); color:var(--primary); border-color:var(--primary)}.btn-share i{ font-size:16px}.back-to-top{ position:fixed; bottom:100px; right:24px; width:48px; height:48px; background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); border:none; border-radius:50%; color:#fff; font-size:18px; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(20px); transition:all 0.3s ease; box-shadow:0 4px 20px rgba(45,90,39,0.3); z-index:999; display:flex; align-items:center; justify-content:center}.back-to-top.visible{ opacity:1; visibility:visible; transform:translateY(0)}.back-to-top:hover{ transform:translateY(-4px); box-shadow:0 6px 24px rgba(45,90,39,0.4)}.back-to-top:active{ transform:translateY(-2px)}.share-panel{ position:fixed; bottom:0; left:0; right:0; background:#fff; border-radius:20px 20px 0 0; padding:24px 20px 40px; transform:translateY(100%); transition:transform 0.3s ease; z-index:10001; box-shadow:0 -4px 20px rgba(0,0,0,0.1)}.share-panel.active{ transform:translateY(0)}.share-panel-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:24px}.share-panel-title{ font-size:18px; font-weight:600; color:var(--text-primary)}.share-panel-close{ width:36px; height:36px; background:var(--bg-secondary); border:none; border-radius:50%; color:var(--text-secondary); font-size:16px; cursor:pointer; transition:all 0.2s ease; display:flex; align-items:center; justify-content:center}.share-panel-close:hover{ background:var(--border-color)}.share-options{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px}.share-option{ display:flex; flex-direction:column; align-items:center; gap:10px; padding:16px 8px; background:var(--bg-secondary); border-radius:var(--radius-lg); cursor:pointer; transition:all 0.2s ease; border:none}.share-option:hover{ background:var(--border-color); transform:translateY(-2px)}.share-option-icon{ width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:24px}.share-option-icon.wechat{ background:#07C160; color:#fff}.share-option-icon.moments{ background:#07C160; color:#fff}.share-option-icon.weibo{ background:#E6162D; color:#fff}.share-option-icon.copy{ background:var(--primary); color:#fff}.share-option-label{ font-size:12px; color:var(--text-secondary)}.share-panel-overlay{ position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); z-index:10000; opacity:0; visibility:hidden; transition:all 0.3s ease}.share-panel-overlay.active{ opacity:1; visibility:visible}::-webkit-scrollbar{ width:8px; height:8px}::-webkit-scrollbar-track{ background:#f1f1f1; border-radius:4px}::-webkit-scrollbar-thumb{ background:#c1c1c1; border-radius:4px}::-webkit-scrollbar-thumb:hover{ background:#a1a1a1}.pk-detail-header{ position:fixed; top:0; left:0; right:0; height:56px; display:flex; align-items:center; justify-content:space-between; padding:0 16px; background:linear-gradient(180deg,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%); z-index:100}.pk-back-btn{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.9); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,0.15)}.pk-back-btn i{ font-size:16px; color:#333}.pk-header-title{ font-size:17px; font-weight:600; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,0.3)}.pk-header-actions{ display:flex; gap:8px}.pk-action-btn{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.9); border:none; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,0.15)}.pk-action-btn i{ font-size:16px; color:#333}.pk-hero-carousel{ position:relative; width:100%; height:280px; overflow:hidden}.pk-hero-carousel .carousel-slides{ position:relative; width:100%; height:100%}.pk-hero-carousel .carousel-slide{ position:absolute; top:0; left:0; width:100%; height:100%; opacity:0; transition:opacity 0.5s ease}.pk-hero-carousel .carousel-slide.active{ opacity:1}.pk-hero-carousel .carousel-slide img{ width:100%; height:100%; object-fit:cover}.pk-hero-carousel .carousel-indicators{ position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:6px; z-index:10}.pk-hero-carousel .indicator{ width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.5); border:none; cursor:pointer}.pk-hero-carousel .indicator.active{ background:#fff; width:18px; border-radius:3px}.pk-hero-carousel .carousel-badges{ position:absolute; top:12px; left:12px; display:flex; gap:8px}.pk-hero-carousel .carousel-badge{ padding:6px 12px; background:rgba(255,107,53,0.9); color:#fff; border-radius:16px; font-size:12px; font-weight:500}.pk-hero-carousel .carousel-badge i{ margin-right:4px}.pk-product-card{ margin:-24px 16px 16px; padding:20px; background:#fff; border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,0.08); position:relative; z-index:10}.pk-product-header{ display:flex; gap:8px; margin-bottom:12px}.pk-route-badge{ padding:4px 10px; background:linear-gradient(135deg,#2d5a27 0%,#4a8c42 100%); color:#fff; border-radius:12px; font-size:12px; font-weight:500}.pk-days-badge{ padding:4px 10px; background:#f0f4f0; color:#2d5a27; border-radius:12px; font-size:12px; font-weight:500}.pk-days-badge i{ margin-right:4px}.pk-product-title{ font-size:20px; font-weight:700; color:#1a1a1a; margin:0 0 12px; line-height:1.4}.pk-product-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px}.pk-tag{ padding:6px 12px; background:#f5f7f5; color:#666; border-radius:8px; font-size:13px}.pk-product-price{ display:flex; align-items:baseline; gap:2px}.pk-price-symbol{ font-size:16px; color:#ff6b35; font-weight:600}.pk-price-value{ font-size:32px; color:#ff6b35; font-weight:700}.pk-price-unit{ font-size:14px; color:#999; margin-left:4px}.pk-deposit{ font-size:13px; color:#999; margin-left:8px}.pk-date-section{ padding:0 16px; margin-bottom:24px}.pk-section-title{ font-size:17px; font-weight:600; color:#1a1a1a; margin:0 0 16px; display:flex; align-items:center; gap:8px}.pk-section-title i{ color:#2d5a27}.pk-date-scroll{ display:flex; gap:10px; overflow-x:auto; padding-bottom:8px; -webkit-overflow-scrolling:touch}.pk-date-scroll::-webkit-scrollbar{ display:none}.pk-date-card{ flex-shrink:0; width:100px; padding:14px 8px; background:#fff; border-radius:12px; display:flex; flex-direction:column; align-items:center; gap:8px; border:2px solid transparent; cursor:pointer; transition:all 0.2s ease}.pk-date-card.available{ border-color:#e8e8e8}.pk-date-card.available.selected{ border-color:#2d5a27; background:#f0f9f0}.pk-date-card.low-stock{ border-color:#ffc107; background:#fffbf0}.pk-date-card.unavailable{ background:#f5f5f5; opacity:0.6}.pk-date-day{ font-size:12px; color:#666}.pk-date-price{ font-size:15px; font-weight:600; color:#1a1a1a}.pk-date-status{ font-size:11px; padding:3px 8px; border-radius:8px}.pk-date-card.available .pk-date-status{ background:#e8f5e8; color:#2d5a27}.pk-date-card.low-stock .pk-date-status{ background:#fff3cd; color:#856404}.pk-date-card.unavailable .pk-date-status{ background:#e9e9e9; color:#999}.pk-features-section{ padding:0 16px; margin-bottom:24px}.pk-features-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px}.pk-feature-item{ background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,0.05)}.pk-feature-item img{ width:100%; height:100px; object-fit:cover}.pk-feature-item h4{ font-size:14px; font-weight:600; color:#1a1a1a; margin:12px 12px 4px}.pk-feature-item p{ font-size:12px; color:#999; margin:0 12px 12px}.pk-itinerary-section{ padding:0 16px; margin-bottom:24px}.pk-schedule-list{ background:#fff; border-radius:12px; padding:16px}.pk-schedule-item{ display:flex; gap:16px; padding:12px 0; border-bottom:1px dashed #eee}.pk-schedule-item:last-child{ border-bottom:none}.pk-schedule-time{ width:50px; font-size:14px; font-weight:600; color:#2d5a27}.pk-schedule-content h4{ font-size:15px; font-weight:600; color:#1a1a1a; margin:0 0 4px}.pk-schedule-content p{ font-size:13px; color:#999; margin:0}.pk-price-section{ padding:0 16px; margin-bottom:24px}.pk-price-list{ background:#fff; border-radius:12px; padding:16px}.pk-price-item{ margin-bottom:16px}.pk-price-item:last-child{ margin-bottom:0}.pk-price-label{ font-size:14px; font-weight:600; color:#1a1a1a; margin-bottom:8px; display:block}.pk-price-item ul{ margin:0; padding-left:20px}.pk-price-item li{ font-size:13px; color:#666; margin-bottom:6px}.pk-notice-section{ padding:0 16px; margin-bottom:24px}.pk-notice-list{ background:#fff; border-radius:12px; padding:16px}.pk-notice-item{ display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #f0f0f0}.pk-notice-item:last-child{ border-bottom:none}.pk-notice-item i{ color:#2d5a27; font-size:16px}.pk-notice-item span{ font-size:14px; color:#666}.pk-refund-section{ padding:0 16px; margin-bottom:24px}.pk-refund-list{ background:#fff; border-radius:12px; padding:16px; display:flex; gap:12px}.pk-refund-item{ flex:1; text-align:center; padding:12px; background:#f8faf8; border-radius:8px}.pk-refund-time{ display:block; font-size:12px; color:#999; margin-bottom:4px}.pk-refund-amount{ font-size:14px; font-weight:600; color:#1a1a1a}.pk-bottom-space{ height:80px}.pk-fixed-bottom{ position:fixed; bottom:0; left:0; right:0; height:70px; background:#fff; box-shadow:0 -2px 12px rgba(0,0,0,0.08); display:flex; align-items:center; padding:0 16px; padding-bottom:env(safe-area-inset-bottom); z-index:100}.pk-bottom-nav{ display:flex; gap:8px; margin-right:16px}.pk-nav-item{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 12px; text-decoration:none; color:#666}.pk-nav-item i{ font-size:20px}.pk-nav-item span{ font-size:11px}.pk-book-btn{ flex:1; height:48px; background:linear-gradient(135deg,#ff6b35 0%,#ff8c5a 100%); border:none; border-radius:24px; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; box-shadow:0 4px 16px rgba(255,107,53,0.3)}.pk-book-label{ font-size:16px; font-weight:600; color:#fff}.pk-book-price{ font-size:13px; color:rgba(255,255,255,0.9); padding-left:8px; border-left:1px solid rgba(255,255,255,0.3)}.package-detail-page{ padding-top:0 !important; padding-bottom:0 !important; background:#f5f7f5 !important; min-height:100vh}
/* mobile package detail safety */
@media (max-width:1023px){body{overflow-x:hidden}.package-detail-page{padding-top:54px;padding-bottom:calc(156px + env(safe-area-inset-bottom,0px));background:#f6f8f4}.breadcrumb-wrapper{display:none}.package-hero-card,.package-content-wrapper,.package-tabs-container,.booking-bar-container{width:min(100% - 24px,760px);max-width:none;margin-left:auto;margin-right:auto}.hero-card-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.hero-carousel-section,.hero-info-section,.package-carousel,.product-card,.content-section{min-width:0!important}.package-carousel{border-radius:20px;overflow:hidden}.carousel-slide img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.product-card,.content-section{border-radius:20px!important}.product-title{font-size:clamp(1.45rem,6vw,2rem)!important;line-height:1.25!important}.product-subtitle,.product-tags,.product-attrs,.price-row,.booking-actions{flex-wrap:wrap}.price-row{gap:12px}.price-row .btn-book-now{width:100%;justify-content:center}.package-tabs-section{top:0!important;z-index:900}.package-tabs-container{overflow:hidden}.package-tabs{display:flex!important;width:100%;max-width:100%;min-width:0;gap:10px;overflow-x:hidden;flex-wrap:wrap;justify-content:center;padding:8px 0;scrollbar-width:none}.package-tabs::-webkit-scrollbar{display:none}.package-tabs .tab-item{flex:1 1 calc(50% - 10px);min-height:44px;justify-content:center;white-space:nowrap}.features-horizontal,.recommend-grid,.reviews-list,.schedule-timeline{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.schedule-item,.schedule-time,.schedule-content{min-width:0!important;width:100%!important}.booking-bar{left:0!important;right:0!important;bottom:0!important;z-index:1200!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px))!important}.booking-bar-container{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;align-items:center}.booking-actions{display:flex!important;justify-content:flex-end;gap:8px!important}.booking-actions button{min-height:44px}.btn-share .share-text{display:none}.navbar{overflow:hidden}.nav-container{width:100%;max-width:none;padding:0 14px}.nav-links{display:none!important}.nav-toggle{display:flex!important}.nav-links.active{display:flex!important;position:fixed;top:60px;left:0;right:0;height:auto;max-height:calc(100vh - 60px);overflow-y:auto;flex-direction:column;align-items:stretch;background:rgba(0,0,0,.96);padding:10px 0;z-index:99998}.nav-links.active>li{height:auto;display:block}.nav-links.active>li>a{height:auto;min-height:44px;padding:12px 20px}.nav-links.active .megamenu{display:none!important}}
@media (max-width:1023px){.recommend-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;overflow:visible!important}.recommend-item,.recommend-img,.recommend-name,.recommend-price{width:100%!important;max-width:100%!important;min-width:0!important}.route-card,.route-card-more{max-width:100%;min-width:0}.route-card-more{white-space:normal;flex-wrap:wrap}}
@media (max-width:1023px){.footer .container{width:min(100% - 24px,760px)!important;max-width:none!important;padding:0!important}.footer-content{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:18px!important}.footer-brand,.footer-links,.footer-contact{min-width:0!important;width:100%!important}.footer-contact .contact-item{max-width:100%;min-width:0;overflow-wrap:anywhere}}
@media (max-width:1023px){.route-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}.route-card-image,.route-card-info,.route-card-more{width:100%!important;max-width:100%!important}.route-card-more{justify-content:center!important}}
