/* 专属样式：景点详情页 */
.attractions-detail{margin-top:20px;margin-bottom:40px;}
.page-title{font-size:28px;line-height:1.3;margin:0; font-weight: bold;}
.action-icons i{font-size:20px;color:#999}
.action-icons a:hover i{color:#ff6611}

/* 画廊（三列布局：左侧竖图、中间大横图、右侧两个小横图） */
.gallery{width:100%;display:flex;gap:10px;align-items:stretch;height:400px}
.gallery-carousel{display:none}
.gallery .placeholder{background:#ffd400;border:#f2f2f2 solid 1px;border-radius:6px;background-repeat:no-repeat;background-size:cover;background-position:center}
.gallery-left{flex:0 0 225px;min-width:0;display:flex;flex-direction:column}
.gallery-left .tile{width:100%;height:100%}
.gallery-middle{flex:0 0 650px;min-width:0;display:flex;flex-direction:column}
.gallery-middle .tile{width:100%;height:100%}
.gallery-right{flex:0 0 319px;min-width:0;display:flex;flex-direction:column;gap:10px;position:relative}
.gallery-right .tile{width:100%;height:calc(50% - 5px)}
.tile{border-radius:6px;display:block;background-position:center;background-size:cover;background-repeat:no-repeat;overflow:hidden}
.ratio-left,.ratio-middle,.ratio-right{position:relative;width:100%;height:100%}
.badge-more{position:absolute;right:6px;bottom:6px;background:#333;color:#fff;font-size:12px;border-radius:20px;padding:2px 8px;z-index:10}

/* 横视频相册布局（top_style=3）：左大 + 右 4 小（2x2） */
.gallery.gallery-style-3{
    display:grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr;
    gap:10px;
    height:400px;
    align-items:stretch;
}
.gallery.gallery-style-3 .gallery-left,
.gallery.gallery-style-3 .gallery-right{
    flex:none;
    min-width:0;
}
.gallery.gallery-style-3 .gallery-left{
    width:auto;
    height:100%;
    display:block;
}
.gallery.gallery-style-3 .gallery-left .tile{width:100%;height:100%}
.gallery.gallery-style-3 .gallery-right{
    width:auto;
    height:100%;
    display:grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap:10px;
    position:relative;
}
.gallery.gallery-style-3 .gallery-right .tile{
    width:100%;
    height:100%;
}

/* 画廊视频预览 */
.gallery-video-tile{position:relative}
.gallery-video-preview{width:100%;height:100%;object-fit:cover;display:block}
.gallery-video-poster{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}
.gallery-play-icon{
    position:absolute;
    left:50%;
    top:50%;
    width:54px;
    height:54px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:rgba(0,0,0,0.55);
    z-index:2;
}
.gallery-play-icon:before{
    content:'';
    position:absolute;
    left:22px;
    top:16px;
    width:0;
    height:0;
    border-left:16px solid #fff;
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
}

/* Why visit */
.why-visit{background:#fff}
.why-visit-inner{display:flex;gap:15px;border-bottom:1px solid #e6e6e6;padding-bottom:15px;}
.why-visit .avatar{width:60px;height:60px;border-radius:6px;background:#d9d9d9;flex-shrink:0}
.section-title{margin:0 0 6px 0; font-weight: bold;}
.why-author{font-size:13px;color:#666;margin:4px 0 8px 0}
.rating-section{margin:8px 0}
.expert-rating{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.expert-rating .label{font-weight:600}
.stars{color:#f25c05}
.stars-lg i{font-size:18px}
.stars-sm i{font-size:14px}
.score{color:#333}
.sub-ratings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:4px 0 10px 0}
.sub-rating-item{display:flex;align-items:center;gap:6px}
.sub-label{color:#666;font-size:12px;font-weight:600;}
.why-desc{margin-top:8px;line-height:1.5}
.expert-rating-label{color:#f25c05;}

/* Pros & Cons */
.pros-cons ul{margin:10px 0 0 0;padding-left:18px}
.pros-cons li{margin:10px 0}
.pros-cons i{margin-right:6px}

/* 推荐卡片 */
.tour-card{display:block;color:inherit;margin-bottom:15px;transition:transform .2s}
.tour-card:hover{box-shadow: 0 0 8px rgba(252, 219, 200, 1);}
.tour-cover{height:200px;background:#6e6e6e;border-top-left-radius:6px;border-top-right-radius:6px;position:relative;overflow:hidden}
.tour-cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:45%;background:linear-gradient(to top,rgba(0,0,0,.45),rgba(0,0,0,0));z-index:1}
.tour-cover .tour-title{position:absolute;left:12px;bottom:12px;color:#fff;margin:0;font-size:16px;font-weight:600;z-index:2}
.tour-icon-top{position:absolute;top:12px;right:12px;color:#fff;display:flex;align-items:center;z-index:2}
.tour-icon-top i{color:#fff;font-size:24px}
.tour-body{padding:10px; background-color: #f9f9f9;}
.tour-title{font-weight:600;margin-bottom:6px}
.tour-meta{color:#333}
.tour-length{margin-bottom:4px;font-weight:600}
.tour-features{display:flex;gap:8px;align-items:center}
.tour-features::before{content:"Features: ";font-weight:600;color:#333;margin-right:2px;}
.tour-features i{color:#eb6100;font-size:14px}

/* Quote Box 询价框 */
.quote-box{background:#fff;border:1px solid #e6e6e6;border-radius:8px;overflow:hidden}
.quote-price{display:flex;align-items:baseline;gap:8px;padding:15px 20px;background:#f9f9f9;border-bottom:1px solid #e6e6e6; justify-content: space-between;}
.price-label{font-size:15px;color:#666}
.price-value{font-size:28px;font-weight:700;color:#f25c05}
.price-unit{font-size:13px;color:#666}
.quote-currency{padding:8px 20px;text-align:center}
.currency-link{color:#4169e1;font-size:14px;text-decoration:underline}
.currency-link:hover{color:#2a4cb8;text-decoration:underline}
.quote_currency_selector{position:relative;display:inline-block}
.quote_currency_toggle_btn{background:transparent;border:none;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer}
.quote_currency_toggle_btn i{font-size:14px;color:#666}
.quote_currency_dropdown{display:none;position:absolute;left:50%;transform:translateX(-50%);top:100%;margin-top:6px;min-width:180px;background:#fff;border:1px solid #e6e6e6;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,0.08);z-index:50;max-height:260px;overflow:auto;text-align:left}
.quote_currency_dropdown.active{display:block}
.quote_currency_option{display:block;padding:8px 10px;color:#333;text-decoration:none;font-size:14px}
.quote_currency_option:hover{background:#f5f5f5;text-decoration:none}
.quote_currency_option.active{background:#fff3ea;color:#f25c05;font-weight:600}
.quote-content{padding:20px}
.quote-title{font-size:16px;font-weight:700;color:#333;margin:0 0 20px 0;line-height:1.4}

/* Traveler Counter */
.traveler-group{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.traveler-label{display:flex;align-items:baseline;gap:4px}
.label-required{color:#f25c05;font-size:16px;font-weight:700}
.label-text{color:#f25c05;font-size:15px;font-weight:600}
.label-age{color:#999;font-size:13px}
.traveler-counter{display:flex;align-items:center;gap:0;border:1px solid #ddd;border-radius:4px;overflow:hidden;height:40px;width:160px;flex-shrink:0}
.counter-btn{width:40px;height:40px;border:none;background:#fff;color:#666;font-size:20px;cursor:pointer;transition:all 0.3s;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.counter-btn:hover{background:#f5f5f5;color:#f25c05}
.counter-btn:active{background:#e6e6e6}
.counter-minus{border-right:1px solid #ddd}
.counter-plus{border-left:1px solid #ddd;color:#f25c05}
.counter-input{flex:1;height:40px;border:none;text-align:center;font-size:16px;font-weight:600;color:#333;background:#fff;-moz-appearance:textfield;appearance:textfield;outline:none}
.counter-input::-webkit-outer-spin-button,
.counter-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}

/* Quote Button */
.btn-quote{width:100%;padding:12px 20px;background:#389d9d;color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;margin-top:8px;margin-bottom:20px}
.btn-quote:hover{background:#2d8585}
.btn-quote:active{background:#247070}

/* Quote Features */
.quote-features{list-style:none;padding:0;margin:0}
.quote-features li{display:flex;align-items:flex-start;gap:10px;color:#666;font-size:13px;line-height:1.5;margin-bottom:12px}
.quote-features li:last-child{margin-bottom:0}
.quote-features i{color:#389d9d;font-size:16px;flex-shrink:0;margin-top:1px}

/* 顾问优势 */
.adv-card{padding:12px;margin-bottom:12px;background:#fff;border:1px solid #ececec;border-radius:8px;display:flex;flex-direction:column;min-height:174.5px}
.adv-card>div:nth-child(1){display:flex;align-items:center;gap:10px;margin-bottom:10px}
.adv-icon{font-size:22px;color:#f25c05;flex-shrink:0}
.adv-title{font-weight:600;flex:1}
.adv-txt{font-size:13px;color:#666;flex:1;display:block !important;}

/* 访客采访 */
.interview-list .interview-item{margin-bottom:15px}
.interview-cover{height:160px;background:#ffd400}
.interview-text{font-size:12px;color:#666;margin-top:8px}

/* 选项卡条样式 */
.tab-bar-container{border-bottom:2px solid #e6e6e6;margin-bottom:0;background:#fff;transition:box-shadow 0.3s}
.tab-bar-container.tab-bar-fixed{position:fixed;top:0;left:0;right:0;z-index:998;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.tab-bar-container.tab-bar-fixed .tab-bar{max-width:1200px;margin:0 auto;padding:0 15px}
.tab-bar-placeholder{width:100%}
.tab-bar{border-bottom:none;margin-bottom:0}
.tab-bar > li{margin-bottom:0}
.tab-bar > li > a{border:none;border-radius:0;color:#666;font-weight:600;font-size:16px;padding:12px 20px;margin-right:0;background:transparent;border-bottom:3px solid transparent;transition:all 0.3s}
.tab-bar > li > a:hover{background:transparent;color:#f25c05;border-color:transparent}
.tab-bar > li.active > a,
.tab-bar > li.active > a:hover,
.tab-bar > li.active > a:focus{background:transparent;color:#f25c05;border:none;border-bottom:3px solid #f25c05;border-radius:0}
.tab-bar-container .tab-bar-quote{display:none}
/* 吸顶时：让按钮出现在 Inclusions 右侧且不超出 1200px（跟随 .tab-bar 的 max-width） */
.tab-bar-container.tab-bar-fixed .tab-bar{display:flex;align-items:center;flex-wrap:nowrap}
.tab-bar-container.tab-bar-fixed .tab-bar > li{float:none}
.tab-bar-container.tab-bar-fixed .tab-bar-quote{display:block;margin-left:auto}
.tab-bar-container.tab-bar-fixed .tab-bar-quote > a{background:#389d9d;color:#fff;border-radius:18px;padding:8px 14px;font-size:14px;line-height:1;white-space:nowrap}
.tab-bar-container.tab-bar-fixed .tab-bar-quote > a:hover{background:#2d8585;color:#fff}
.tab-bar-container.tab-bar-fixed .tab-bar-quote > a:focus{color:#fff}
/* 当右侧表单按钮可见时：即使吸顶，也强制隐藏顶部按钮 */
.tab-bar-container.tab-bar-quote-force-hide .tab-bar-quote{display:none !important}
.tab-content-wrapper{position:relative}
.tab-pane-custom{display:none}
.tab-pane-custom.active{display:block;}

/* Accommodation & Meals 样式 */
.accommodation-meals .am-description{color:#666;line-height:1.6;margin-bottom:20px}
.am-table-wrapper{overflow-x:auto}
.am-table{background:#fff;margin-bottom:0}
.am-table thead th{background:#f9f9f9;color:#333;font-weight:600;padding:12px;border:1px solid #e6e6e6;text-align:center;vertical-align:middle}
.am-table tbody td{padding:15px;border:1px solid #e6e6e6;vertical-align:top}
.am-table tbody td.am-hotel{width:46%;}
.am-day{text-align:center;background:#f9f9f9}
.day-num{font-size:18px;font-weight:700;margin-bottom:4px}
.day-city{font-size:14px;color:#333;font-weight:600;color:#389d9d;}
.hotel-name{font-weight:600;margin-bottom:10px;font-size:15px}
.hotel-stars{margin-left:6px}
.hotel-stars i{color:#f25c05;font-size:14px;margin-right:2px}
.hotel-gallery{display:flex;gap:6px;flex-wrap:wrap}
.hotel-img{width:113px;height:75px;background-size:cover;background-position:center;border-radius:4px;border:1px solid #e6e6e6;flex-shrink:0;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden}
.hotel-img:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.2);z-index:1}
.hotel-img::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0);transition:background 0.3s}
.hotel-img:hover::after{background:rgba(0,0,0,.1)}
.hotel-more{width:113px;height:75px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#666;font-size:13px;font-weight:600;border-radius:4px;border:1px solid #e6e6e6;cursor:pointer;transition:all 0.3s;flex-shrink:0}
.hotel-more:hover{background:#f25c05;color:#fff;border-color:#f25c05}
.meal-item{padding:6px 0;color:#666;font-size:14px;line-height:1.4}
.meal-item:not(:last-child){border-bottom:1px dashed #e6e6e6}

/* Reference Prices（Important to Know + Prices Table） */
.important-know{background:#fff;border:1px solid #e6e6e6;border-radius:8px;padding:16px 18px;margin-bottom:18px}
.important-know-title{margin:0 0 10px 0;font-weight:800;font-size:18px;color:#333}
.important-know-list{margin:0;padding:0;list-style:none}
.important-know-list li{position:relative;padding-left:18px;margin:8px 0;color:#555;line-height:1.6}
.important-know-list li:before{content:'\25B6'; /* ▶ */ position:absolute;left:0;top:2px;color:#f25c05;font-size:12px}
.important-know-link{color:#389d9d;text-decoration:underline;font-weight:700}
.important-know-link:hover{color:#2d8a8a}
.prices-title{margin:0 0 10px 0;font-weight:800;font-size:18px;color:#333}
.prices-table .prices-left-title{font-weight:800;text-align:center;vertical-align:middle}
.prices-table .prices-currency{font-weight:800;white-space:nowrap;text-align:center}
.prices-table .prices-quote{vertical-align:middle;text-align:center}
.prices-quote-link{display:inline-block;background:#fff3ea;color:#f25c05;font-weight:800;padding:10px 14px;border-radius:6px;text-decoration:underline}
.prices-quote-link:hover{background:#ffe6d6;color:#d84f00}
.prices-note{margin-top:12px;color:#666;line-height:1.6}

/* Included / Excluded（静态文案） */
.inc-exc{border-radius:8px;padding:10px 0}
.inc-exc-title{margin:0 0 14px 0;font-weight:800;font-size:24px;letter-spacing:.2px}
.inc-exc-title.inc{color:#f25c05}
.inc-exc-title.exc{color:#f25c05}
.inc-exc-list{list-style:none;margin:0;padding:0}
.inc-exc-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 0}
.inc-exc-icon{
    width:26px;height:26px;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    font-weight:900;font-size:18px;line-height:1;
    margin-top:2px;flex:0 0 26px;
    border:2px solid currentColor;
}
.inc-exc-icon.inc{color:#2ecc71}
.inc-exc-icon.exc{color:#ff3b30}
.inc-exc-main{font-size:18px;font-weight:600;color:#555;line-height:1.25}
.inc-exc-sub{font-size:14px;color:#9a9a9a;margin-top:6px;line-height:1.2}
@media (max-width: 992px){
    .inc-exc-title{font-size:22px;margin-top:14px}
    .inc-exc-main{font-size:17px}
    .inc-exc-sub{font-size:13px}
}

/* Tour Features 特性模块 */
.tour-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}
.feature-item{display:flex;align-items:center;gap:12px;border:1px solid #ddd;padding:12px;border-radius:4px;transition:all 0.3s}
.feature-item:hover{border-color:#f25c05;box-shadow:0 2px 6px rgba(242,92,5,.1)}
.feature-item i{color:#f25c05;font-size:24px;flex-shrink:0}
.feature-item span{font-size:14px;color:#333;line-height:1.4}

/* Day Content 内容区域 */
.day-content img{max-width:100%;height:auto;display:block}

/* Day Media 缩略图 */
.day-media{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.media-thumb{width:110px;height:80px;border-radius:6px;background:#f3f3f3;background-size:cover;background-position:center;border:1px solid #e6e6e6;box-shadow:0 2px 6px rgba(0,0,0,.08);transition:transform .2s,box-shadow .2s}
.media-thumb-link{display:block}
.media-thumb:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 14px rgba(0,0,0,.12)}
.day-media-card{display:block;width:110px;color:inherit;text-decoration:none}
.day-media-card:hover,.day-media-card:focus{text-decoration:none}
.day-media-card .media-thumb{width:110px;height:80px}
.media-caption{
    display:-webkit-box;
    line-clamp: 2;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-top:6px;
    font-size:12px;
    line-height:1.2;
    color:#555;
    text-align: center;
}
.day-divider{height:2px;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,0.16),rgba(0,0,0,0));margin:24px 0;border-radius:2px}

/* Day by Day 标签间距（避免 label 重叠） */
.day-accordion .label{display:inline-block;margin:0 6px 6px 0}

/* Route 模块（Day by Day 顶部：左地图 + 右列表） */
.route-module{background:#f4f0f2;border-radius:8px;padding:18px 18px 10px 18px}
.route-title{margin:0 0 14px 0;font-size:28px;font-weight:700;color:#f25c05}
.route-layout{display:flex;flex-wrap:wrap}
.route-map-box{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06);min-height:260px}
.route-map-img{width:100%;height:auto;display:block}
.route-map-placeholder{height:260px;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}
.route-table{padding:4px 0 0 0}
.route-head{display:flex;gap:12px;font-weight:700;color:#333;margin:4px 0 10px 0}
.rh-day{width:52px;flex:0 0 52px}
.rh-aa{flex:1 1 auto}
.rh-overnight{width:92px;flex:0 0 92px;text-align:left}
.route-rows{position:relative;padding-right:24px}
.route-rows:after{content:'';position:absolute;right:10px;top:6px;bottom:6px;width:2px;background:#f25c05;opacity:.85}
.route-row{display:flex;gap:12px;padding:12px 0;border-top:1px solid rgba(0,0,0,.06);position:relative}
.route-row:first-child{border-top:none}
.route-row:after{content:'';position:absolute;right:5px;top:24px;width:10px;height:10px;border-radius:50%;background:#f25c05}
.rr-day{width:52px;flex:0 0 52px;color:#666;font-weight:700}
.rr-aa{
    flex:1 1 auto;
    color:#333;
    line-height:1.45;
    display:-webkit-box;
    line-clamp: 2;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    max-height:2.9em;
}
.rr-overnight{width:92px;flex:0 0 92px;color:#333;font-weight:700}
.rr-overnight.is-none{color:#999;font-weight:600}
.route-empty{padding:14px 0;color:#999}

/* Route 展开/收起（默认折叠，避免过高） */
.route-expand-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:10px;
    padding:10px 14px;
    border-radius:20px;
    background:#fff;
    border:1px solid rgba(0,0,0,.08);
    color:#389d9d;
    font-weight:700;
    cursor:pointer;
    user-select:none;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}
.route-expand-btn:hover{border-color:rgba(56,157,157,.35);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.route-expand-btn .txt-less{display:none}

/* 折叠状态：限制高度 + 底部渐隐提示 */
.route-table.is-collapsed .route-rows{
    max-height: var(--route-collapsed-height, 220px);
    overflow:hidden;
}
.route-table.is-collapsed .route-rows:before{
    content:'';
    position:absolute;
    left:0; right:24px; bottom:0;
    height:48px;
    background:linear-gradient(to bottom, rgba(244,240,242,0), rgba(244,240,242,1));
    pointer-events:none;
}

/* 展开状态：显示全部 */
.route-table.is-expanded .route-rows{
    max-height:none;
    overflow:visible;
}
.route-table.is-expanded .route-expand-btn .txt-more{display:none}
.route-table.is-expanded .route-expand-btn .txt-less{display:inline}
@media (max-width: 992px){
    .route-module{padding:16px}
    .route-title{font-size:24px}
    .route-map-box{margin-bottom:14px}
}
@media (max-width: 480px){
    .route-title{font-size:22px}
    .rh-overnight,.rr-overnight{width:80px;flex-basis:80px}
    .route-rows{padding-right:18px}
    .route-rows:after{right:7px}
    .route-row:after{right:2px}
}

/* Day by Day Accordion（美化 + 扩大可点击区域） */
.day-accordion{margin-top:10px}
.day-accordion .panel{border:none;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.06);overflow:hidden;margin-bottom:12px}
.day-accordion .panel-heading{padding:0;background:#fff;border:none}
.day-accordion .day-acc-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    padding:16px 18px;
    color:#333;
    text-decoration:none;
    background:linear-gradient(180deg,#ffffff,#fbfbfb);
}
.day-accordion .day-acc-toggle:hover,
.day-accordion .day-acc-toggle:focus{color:#f25c05;text-decoration:none;outline:none}
.day-accordion .day-acc-title{font-weight:700;font-size:16px;line-height:1.3}
.day-accordion .day-acc-caret{font-size:22px;color:#999;transition:transform .2s ease, color .2s ease}
.day-accordion .day-acc-toggle:hover .day-acc-caret{color:#f25c05}
.day-accordion .day-acc-toggle.collapsed .day-acc-caret{transform:rotate(-90deg)}
.day-accordion .panel-body{padding:16px 18px;background:#fff}
.day-accordion .panel-collapse{border-top:1px solid #f0f0f0}

/* 联系顾问整行模块 */
.contact-specialist-bg{background-color: #f9f9f9;}
.contact-specialist{padding:15px;}
.contact-specialist .section-title{margin-bottom:15px; font-weight: bold;}

/* ==================== Contact a Travel Specialist（与 des.html 同款） ==================== */
.bottom_mod_bg {
    background-color: #f9f9f9;
    width: 100%;
    padding: 0;
}
.travel_specialist_section {
    padding: 60px 0;
    background: transparent;
}
.specialist_section_title {
    font-size: 2rem;
    font-weight: 600;
    color: #333;
    text-align: center;
    margin: 0 0 50px 0;
}
.specialist_features_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}
.specialist_feature_item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    padding: 20px 18px;
}
.specialist_feature_header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
    width: 100%;
}
.specialist_feature_icon {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.specialist_feature_icon img{
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.specialist_feature_title {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
    margin: 0;
    line-height: 1.4;
    flex: 1;
}
.specialist_feature_text {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.6;
    margin: 0;
    width: 100%;
}
.specialist_cta_wrapper {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}
.specialist_inquiry_btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #389d9d;
    color: #fff !important;
    padding: 15px 40px;
    font-size: 1.1rem;
    font-weight: 600;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.specialist_inquiry_btn:hover {
    background: #2d8a8a;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    color: #fff !important;
    text-decoration: none;
}
@media (max-width: 992px) {
    .specialist_features_grid { grid-template-columns: repeat(2, 1fr); gap: 25px; }
}
@media (max-width: 768px) {
    .specialist_section_title { font-size: 1.6rem; }
    .specialist_features_grid { grid-template-columns: 1fr; gap: 30px; }
    .specialist_feature_icon { width: 55px; height: 55px; }
    .specialist_feature_header { gap: 12px; }
}
@media (max-width: 480px) {
    .travel_specialist_section { padding: 40px 0; }
    .specialist_section_title { font-size: 1.4rem; margin-bottom: 30px; }
    .specialist_features_grid { gap: 25px; }
    .specialist_feature_icon { width: 50px; height: 50px; }
    .specialist_feature_header { gap: 10px; margin-bottom: 12px; }
    .specialist_feature_title { font-size: 0.95rem; }
    .specialist_feature_text { font-size: 0.85rem; }
    .specialist_inquiry_btn { padding: 12px 30px; font-size: 1rem; }
}

/* 响应式（宽度 < 1024 时，顶部相册改为竖排） */
@media (max-width: 1023px) {
    .gallery{flex-direction:column;height:auto}
    .gallery-left,.gallery-middle,.gallery-right{flex:0 0 auto;width:100%;height:300px}
    .gallery-right{height:auto;min-height:300px}
    .gallery-left .tile,.gallery-middle .tile{width:100%;height:100%}
    .gallery-right .tile{height:145px}
}
@media (max-width: 992px) {
    .page-title{font-size:24px}
}
@media (max-width: 768px) {
    /* PC图集在手机端隐藏，使用 Carousel */
    .gallery{display:none}
    .gallery-carousel{display:block}
    .why-visit-inner{flex-direction:column}
    
    /* 手机端图集浏览器样式 */
    .go-header{justify-content:flex-end;padding:10px 15px}
    .go-close{position:absolute;left:15px;top:10px}
    .go-counter-top{position:static;transform:none;left:auto;top:auto;margin:0}
    .go-stage{padding:0}
    .go-media-box{
        width:100vw;
        height:calc(100vh - 80px);
        max-width:100vw;
        border-radius:0;
        box-shadow:none;
    }
    .go-nav{display:none}
}
@media (max-width: 480px) {
    .page-title{font-size:20px}
    .action-icons{margin-top:6px}
}


@media (max-width: 1200px) {
    .tour-features-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 768px) {
    .tab-bar > li > a{font-size:14px;padding:10px 12px}
    .tab-bar-container.tab-bar-fixed .tab-bar{padding:0 15px}
    .hotel-gallery{justify-content:flex-start}
    .hotel-img,.hotel-more{width:calc(50% - 3px)}
}
@media (max-width: 480px) {
    .tab-bar > li > a{font-size:13px;padding:8px 10px}
    .tour-features-grid{grid-template-columns:1fr}
    .am-table thead th{font-size:13px;padding:8px}
    .am-table tbody td{padding:10px;font-size:13px}
    .day-num{font-size:16px}
    .day-city{font-size:13px}
    .hotel-name{font-size:14px}
    .hotel-img,.hotel-more{width:100%;height:120px}
    .price-value{font-size:24px}
    .quote-title{font-size:15px}
    .quote-content{padding:15px}
    .quote-features li{font-size:12px}
    .traveler-counter{width:140px}
    .counter-btn{width:35px;height:35px}
    .label-text{font-size:14px}
    .label-age{font-size:12px}
}

/* 遮罩层与浏览器 */
.gallery-overlay{position:fixed;left:0;top:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:1050;display:none}
.gallery-overlay.active{display:block}
.gallery-overlay,
.gallery-overlay *{
    -webkit-user-select:none;
    user-select:none;
    -webkit-touch-callout:none;
}
.go-inner{position:relative;width:100%;height:100%;display:flex;flex-direction:column}
.go-header{height:54px;display:flex;align-items:center;justify-content:flex-start;padding:0 20px;color:#fff;font-weight:600}
.go-close{width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.3s}
.go-close:hover{background:rgba(0,0,0,0.7)}
.go-close i{font-size:18px;color:#fff}
.go-counter-top{position:absolute;top:20px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,0.5);color:#fff;padding:6px 12px;border-radius:15px;font-size:14px;font-weight:500;z-index:10}
.go-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;position:relative}
.go-media-box{
    width:90vw;
    height:78vh;
    max-width:1100px;
    border-radius:6px;
    box-shadow:0 8px 30px rgba(0,0,0,.2);
    overflow:hidden;
    background:transparent;
}
.go-image,
.go-video,
.go-iframe{
    width:100%;
    height:100%;
    display:block;
}
.go-image{
    object-fit:cover;            /* 等比不变形，填满画框（不出现黑边，但会裁切） */
    -webkit-user-drag:none;
}
.go-video{
    object-fit:cover;
    background:#000;
}
.go-iframe{
    background:#000;
}
.go-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.9);box-shadow:0 2px 10px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.3s}
.go-nav:hover{background:#fff}
.go-prev{left:20px}
.go-next{right:20px}

/* public.js 的 imageViewer（酒店图片等）默认会让图片铺满舞台，观感偏大；这里覆写成更接近本页图集的展示方式 */
.image-viewer-overlay .go-stage{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px;
}
.image-viewer-overlay .go-image{
    width:auto;
    height:auto;
    max-width:90vw;
    max-height:78vh;
    object-fit:contain;
    border-radius:6px;
    box-shadow:0 8px 30px rgba(0,0,0,.2);
    background:#000;
}
@media (max-width: 768px) {
    .image-viewer-overlay .go-image{
        max-width:100vw;
        max-height:calc(100vh - 80px);
        border-radius:0;
        box-shadow:none;
    }
}