@charset "utf-8";

body.ai-detail-page { background: #fff; font-family: "Microsoft YaHei", sans-serif; }
.tour_route_summary { width: 1200px; padding: 20px; margin: 10px auto 20px; border: 1px solid #e1e1e1; background: #fff; border-radius: 2px; box-sizing: border-box; color: #333333 !important; }
.tr_info { width: 1158px; height: 376px; display: flex; justify-content: space-between; }
.tr_pic { width: 564px; height: 344px; position: relative; overflow: hidden; }
.tr_slide { width: 564px; height: 344px; position: relative; overflow: hidden; margin: 0; padding: 0; }
.tr_slide li { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: none; list-style: none; }
.tr_slide li:first-child { display: block; }
.tr_slide img { width: 100%; height: 100%; object-fit: cover; }
.tr_turn { display: none; }
.tr_ctrl { display: flex; justify-content: space-between; margin: 10px 0 0 0; padding: 0; position: absolute; bottom: 10px; left: 7px; width: 550px; z-index: 10; }
.tr_ctrl li { width: 88px; height: 58px; opacity: 0.4; cursor: pointer; border: 1px solid #fafafa; box-sizing: border-box; list-style: none; }
.tr_ctrl li.active, .tr_ctrl li:hover { opacity: 1; border-color: #333; }
.tr_ctrl img { width: 100%; height: 100%; display: block; }
.tr_intro { width: 574px; position: relative; z-index: 4; }
.tr_type { position: absolute; right: -20px; top: -20px; width: 100px; height: 100px; overflow: hidden; z-index: 9; }
.tr_type em { display: block; width: 140px; height: 32px; line-height: 32px; font-size: 13px; font-weight: bold; color: #fff; text-align: center; background: #cc3300; position: absolute; transform: rotate(45deg); right: -32px; top: 15px; font-style: normal; box-shadow: 0 2px 4px rgba(204, 51, 0, 0.3); }
.tr_intro h1 { font-size: 20px; color: #333; line-height: 30px; border-left: 2px solid #cc3300; padding-left: 18px; width: 535px; padding-right: 20px; margin: 0; font-weight: normal; }
.tr_trait { margin: 15px 0; padding-left: 20px; height: 30px; line-height: 30px; color: #cc3300; font-size: 14px; position: relative; }
.tr_trait i { display: block; width: 15px; height: 15px; position: absolute; left: 0; top: 7px; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ff6600"><path d="M12 2L9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2z"/></svg>') no-repeat center center / contain; }
.tr_ip { width: 574px; padding: 10px 0; height: 70px; border-top: 1px dashed #ffc299; border-bottom: 1px dashed #ffc299; display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; box-sizing: border-box; }
.tr_inter ul { display: flex; width: 370px; margin: 0; padding: 0; }
.tr_inter li { width: 70px; height: 50px; margin: 0 10px; text-align: center; list-style: none; }
.tr_inter p { font-size: 20px; color: #555; font-weight: bold; line-height: 24px; margin: 0 0 5px 0; }
.tr_inter span { display: block; padding-left: 16px; font-size: 12px; color: #555; font-weight: bold; position: relative; width: 44px; margin: 0 auto; }
.tr_inter p b { font-size: 12px; font-weight: normal; }
.tr_inter span i { display: block; width: 14px; height: 14px; position: absolute; top: 1px; left: 0; background-size: contain; background-repeat: no-repeat; }
.tr_want span i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23bbbbbb"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>'); }
.tr_fav span i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23bbbbbb"><path d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z"/></svg>'); }
.tr_comment span i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23bbbbbb"><path d="M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z"/></svg>'); }
.tr_price { display: flex; height: 60px; align-items: center; border-left: 1px solid #e1e1e1; padding-left: 20px; }
.tr_price p { color: #666; font-size: 14px; margin: 0; }
.tr_price em { color: #cc3300; font-size: 30px; font-weight: bold; font-family: Arial; padding: 0 5px; font-style: normal; }
.tr_price em i { font-size: 14px; font-style: normal; margin-right: 2px; font-weight: normal; }
.tr_price dl { margin: 0; padding: 0; position: relative; }
.tr_price dl dt { background: #cc3300; color: #fff; width: 70px; height: 24px; line-height: 24px; text-align: center; cursor: pointer; margin-left: 15px; font-size: 12px; border-radius: 2px; }
.tr_price dl dd { display: none; position: absolute; top: 36px; right: 0; width: 280px; background: #fff; border: 1px dashed #ffaa01; padding: 12px 15px; z-index: 100; box-shadow: 0 4px 10px rgba(0,0,0,0.05); cursor: default; }
.tr_price dl:hover dd { display: block; }
.tr_price dl dd::before { content: ''; position: absolute; top: -6px; right: 28px; width: 10px; height: 10px; background: #fff; border-top: 1px dashed #ffaa01; border-left: 1px dashed #ffaa01; transform: rotate(45deg); }
.tr_price dl dd .dd-tit { display: flex; justify-content: space-between; border-bottom: 1px dashed #e1e1e1; padding-bottom: 8px; margin-bottom: 8px; }
.tr_price dl dd .dd-tit span { color: #ffaa01; font-size: 14px; font-weight: bold; }
.tr_price dl dd .dd-tit a { color: #00b5be; font-size: 13px; text-decoration: none; }
.tr_price dl dd .dd-tit a:hover { text-decoration: underline; }
.tr_price dl dd .dd-con { color: #555; font-size: 13px; line-height: 1.6; text-align: left; margin: 0; }
.tr_explain ul { display: flex; font-size: 14px; padding: 0; }
.tr_explain li { width: 180px; height: 30px; line-height: 30px; color: #555555; padding-left: 20px; position: relative; list-style: none; }
.tr_explain em { color: #333333; font-style: normal; }
.tr_explain li i, .gothrough p i, .tags p i { position: absolute; left: 0; width: 14px; height: 14px; background-size: contain; background-repeat: no-repeat; }
.tr_explain li i { top: 8px; }
.tr_city i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23cccccc" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>'); }
.tr_days i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23cccccc" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>'); }
.tr_transport i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23cccccc" stroke-width="2"><rect x="3" y="3" width="18" height="16" rx="2"></rect><circle cx="8" cy="16" r="2"></circle><circle cx="16" cy="16" r="2"></circle></svg>'); }
.gothrough p { padding-left: 20px; color: #555555; font-size: 14px; position: relative; line-height: 26px; margin: 0; }
.gothrough p i { top: 6px; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23cccccc" stroke-width="2"><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line></svg>'); }
.gothrough em { color: #666; font-style: normal; }
.tags { margin-top: 5px; }
.tags p { padding-left: 20px; color: #007a7a; font-size: 14px; position: relative; line-height: 30px; margin: 0; }
.tags p i { top: 8px; background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2300b6be" stroke-width="2"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>'); }
.tags span { margin: 0 8px 0 0; padding: 0 6px; color: #fff; background: #00706c; }
.tr_order { display: flex; justify-content: space-between;}
.tr_calendar {
    width: 564px;
    border: 1px solid #f0f0f0 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.02) !important;
    border-radius: 8px !important;
}
.cal_tit { text-align: center; position: relative; height: 36px; line-height: 36px; margin-bottom: 10px; }
.cal_tit p { margin: 0; padding: 0; }
.cal_tit em { font-size: 14px; font-weight: bold; color: #666; font-style: normal; }
.cal_tit span { position: absolute; right: 75px; top: 6px; border: 1px solid #d3d3d3; padding: 0 10px; font-size: 12px; border-radius: 4px; cursor: pointer; height: 24px; line-height: 22px; box-sizing: border-box; }
.cal_tit span:hover { border-color: #ffaa01; color: #ffaa01; background: #fffcf5; }
.cal_prev, .cal_next { position: absolute; top: 0; height: 36px; line-height: 36px; color: #555555; font-weight: bold; font-size: 13px; text-decoration: none; }
.cal_prev { left: 10px; }
.cal_next { right: 10px; }
.cal_table table { width: 100%; border-collapse: collapse; margin: 0; padding: 0; }
.cal_table th { background: #7fdade; color: #333333; padding: 4px 0; font-weight: bold; border: 1px solid #eee; }
.cal_table th:first-child, .cal_table th:last-child { background: #ffb27f; }
.cal_table td { border: 1px solid #eee; height: 50px; text-align: right; padding-right: 20px; color: #444444; font-family: Verdana; font-weight: bold; }
.cal_table td:hover { background: #fffcf5; cursor: pointer; }
.cal_table td span { 
    float: left; 
    font-weight: normal; 
    color: #555555; 
    font-size: 12px; 
    padding-left: 5px; /* 👈 老中医给你加的“内左5” */
}
.cal_table td .jg { color: #cc3300; font-size: 14px; font-weight: bold; margin-top: 2px; }
.tr_ofcs { width: 574px; }
.tr_orderform {
    background: #ffffff !important; /* 变成纯白 */
    border: 1px solid #f0f0f0 !important;
        height: 327px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.04) !important; /* 高级柔和阴影 */
    border-radius: 8px !important;
    padding: 15px !important; /* 确保有足够的内边距 */
}
.cylx { display: flex; margin-bottom: 10px; }
.cylx-tit { width: 70px; font-size: 14px; color: #666; line-height: 24px; }
.cylx-fl { display: flex; flex-wrap: wrap; }
.cylx-fl p { border: 1px solid #ccc; background: #fff; padding: 0 5px; height: 24px; line-height: 24px; font-size: 12px; color: #666; margin: 0 5px 5px 0; cursor: pointer; position: relative; }
.cylx-fl p.act { border-color: #cc3300; color: #cc3300; font-weight: bold; }
.cylx-fl p.act i { position: absolute; right: 0; bottom: 0; width: 0; height: 0; background: none; border-bottom: 14px solid #cc3300; border-left: 14px solid transparent; }
.cylx-fl p.act i::after { content: ''; position: absolute; right: 1px; bottom: -11px; width: 3px; height: 6px; border: solid #fff; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.div_date_adult dl, .tour_num_wrap { display: flex; margin: 0 0 15px 0; padding: 0; align-items: center; }
.div_date_adult dt, .tour_num_wrap dt { width: 70px; font-size: 14px; color: #666; font-weight: normal; }
.dl_date dd p, .tour_adult p, .tour_children p { border: 1px solid #ccc; background: #fff; height: 24px; line-height: 22px; cursor: pointer; position: relative; margin: 0; }
.dl_date dd p { padding-left: 8px; font-size: 12px; color: #555; }
.tour_adult p, .tour_children p { width: 60px; text-indent: 12px; }
.dl_date dd p::after, .tour_adult p::after, .tour_children p::after { content: ''; position: absolute; top: 50%; right: 8px; margin-top: -2px; border-top: 5px solid #999; border-left: 4px solid transparent; border-right: 4px solid transparent; }
.dl_date ul { display: none; position: absolute; top: 24px; left: 0; border: 1px solid #ccc; background: #fff; max-height: 130px; overflow-y: auto; z-index: 20; margin: 0; padding: 0; }
.dl_date ul li { padding: 4px 12px; font-size: 12px; cursor: pointer; border-bottom: 1px dashed #eee; list-style: none; }
.dl_date ul li:hover { background: #dcf4f5; }
.tour_num { display: flex; gap: 40px; margin: 0; padding: 0; }
.tour_adult, .tour_children { display: flex; align-items: center; position: relative; }
.tour_adult span, .tour_children span { margin-right: 10px; color: #666; font-size: 14px; }
.tour_adult ul, .tour_children ul { display: none; position: absolute; top: 24px; left: 38px; width: 60px; border: 1px solid #ccc; background: #fff; max-height: 96px; overflow-y: auto; z-index: 104; margin: 0; padding: 0; }
.tour_adult ul li, .tour_children ul li { padding-left: 12px; line-height: 20px; font-size: 12px; cursor: pointer; list-style: none; }
.tour_adult ul li:hover, .tour_children ul li:hover { background: #dcf4f5; }
.tour_btn { display: flex; padding-left: 70px; margin-top: 15px; }
.tour_btn button { width: 130px; height: 40px; background: #cc3300; border: 1px solid #992600; color: #fff; font-size: 18px; font-weight: bold; cursor: pointer; transition: background 0.2s; }
.tour_btn button:hover { background: #aa2a00; }
.btn_group { display: flex; margin-left: 20px; align-items: center; }
.btn_group p { padding-left: 20px; font-size: 14px; position: relative; margin: 0 20px 0 0; }
.btn_group p i { position: absolute; left: 0; top: 2px; width: 14px; height: 14px; background-size: contain; background-repeat: no-repeat; }
.tour_collect i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23999999" stroke-width="2"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>'); }
.tour_dl i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23999999" stroke-width="2"><polyline points="6 9 6 2 18 2 18 9"></polyline><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><rect x="6" y="14" width="12" height="8"></rect></svg>'); }
.btn_group a { color: #555555; text-decoration: none; }
.btn_group a:hover { color: #cc3300; text-decoration: underline; }
.ai-detail-layout { display: flex; gap: 20px; align-items: flex-start; width: 1200px; margin: 0 auto; }
.rd_nav { background: #f5f5f5; border-bottom: 2px solid #00b5be; width: 1200px; margin: 0 auto; height: 40px; display: flex; justify-content: space-between; box-sizing: border-box; position: -webkit-sticky; position: sticky; top: 0; z-index: 999; }
.rd_nav.n_fix { box-shadow: 0 2px 15px rgba(0,0,0,0.08); }
.rd_nav ul { display: flex; height: 100%; margin: 0; padding: 0; }
.rd_nav li { text-align: center; list-style: none; }
.rd_nav li a { display: block; font-size: 16px; color: #666; padding: 0 25px; line-height: 38px; text-decoration: none; border-right: 1px solid #e1e1e1; transition: color 0.3s; }
.rd_nav li.n_cur { background: #00706c; }
.rd_nav li.n_cur a { color: #fff; border-right-color: #00706c; }
.rd_nav li:hover a { color: #00706c; }
.rd_nav li.n_cur:hover a { color: #fff; }
.rd_tel { font-size: 20px; color: #00706c; font-weight: bold; line-height: 38px; margin: 0; padding-right: 15px; display: flex; align-items: center; font-family: Arial; }
.rd_tel i { display: inline-block; width: 20px; height: 20px; margin-right: 8px; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%2300b5be" stroke-width="2"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"></path></svg>') no-repeat center center / contain; }
.ai-detail-layout .ai-list-main { flex: 1; background: #fff; border-radius: 2px; border: 1px solid #e1e1e1; border-top: none; border-right: none; padding-bottom: 40px; box-sizing: border-box; }
.rd_wrap { padding: 30px 0 30px 30px; }
.rd_item { margin-bottom: 40px; }
.ai-detail-h2::after { content: ''; flex: 1; border-top: 1px dashed #c2c2c2; margin-left: 15px; }
.ai-detail-h2 { font-size: 20px; color: #333; display: flex; align-items: center; margin-bottom: 20px; padding-bottom: 0; border-bottom: none; position: relative; font-weight: normal; margin-top: 0; }
.ai-detail-h2 svg { width: 24px; height: 24px; color: #cc3300; margin-right: 10px; flex-shrink: 0; }
.mt-40 { margin-top: 40px; }
.mt-20 { margin-top: 20px; }
.detail-rich-text { font-size: 16px; color: #666; line-height: 1.8; padding-left: 34px; }
.detail-rich-text img { max-width: 100%; height: auto; border-radius: 4px; display: block; margin: 10px 0; }
.detail-rich-text h3 { font-size: 16px; color: #00706c; font-weight: bold; border-left: 3px solid #00706c; padding-left: 10px; margin-bottom: 15px; margin-top: 20px; }
.detail-rich-text p { margin: 0 0 10px 0; }
.ex_wrap { display: flex; align-items: flex-start; }
.ex_bar { width: 90px; flex-shrink: 0; position: -webkit-sticky; position: sticky; top: 60px; align-self: flex-start; }
.ex_bar ul { margin: 0; padding: 0; }
.ex_bar ul li { margin-bottom: 10px; text-align: center; list-style: none; }
.ex_bar ul li a { display: block; width: 56px; height: 30px; line-height: 30px; background: #666666; color: #fff; border-radius: 2px; text-decoration: none; transition: all 0.3s; margin: 0 auto; }
.ex_bar ul li.cur a, .ex_bar ul li:hover a { background: #00706c; }
.ex_daylist { flex: 1; border-left: 1px dashed #00b5be; padding-left: 30px; margin-left: 10px; }
.d_item { margin-bottom: 40px; position: relative; }
.i_title { margin-bottom: 15px; position: relative; }
.i_title dt { position: absolute; left: -46px; top: 0; width: 32px; height: 32px; background: #00706c; color: #fff; text-align: center; line-height: 32px; border-radius: 50%; font-weight: bold; box-shadow: 0 0 0 4px #fff; text-transform: uppercase; }
.i_title dd b { color: #00706c; margin-right: 10px; font-weight: bold; font-size: 22px; }
.i_title dd { font-size: 20px; color: #333; line-height: 32px; border-bottom: 1px solid #f0f0f0; padding-bottom: 10px; margin: 0; }
.i_item { padding: 15px 0; margin-bottom: 0; border-bottom: 1px dashed #eee; background: none; }
.i_item dd { margin: 0; padding: 0; }
.i_item dt { font-weight: bold; color: #00706c; margin-bottom: 12px; }
.i_item dt i, .i_always dt i { display: inline-flex; align-items: center; height: 26px; padding: 0 10px 0 0; background: #fff; color: #00706c; border: 1px solid #00706c; font-size: 14px; font-style: normal; border-radius: 2px; font-weight: normal; letter-spacing: 1px; overflow: hidden; }
.i_item dt i::before, .i_always dt i::before { content: ''; display: inline-block; width: 26px; height: 26px; margin-right: 6px; background-color: #00706c; background-position: center; background-repeat: no-repeat; background-size: 16px 16px; }
.i_explain dt i::before { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polygon points="16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76"></polygon></svg>'); }
.i_view dt i::before { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>'); }
.i_meal dt i::before { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2"><path d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"></path><path d="M7 2v20"></path><path d="M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3zm0 0v7"></path></svg>'); }
.i_stay dt i::before { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23fff" stroke-width="2"><path d="M2 4v16"></path><path d="M2 8h18a2 2 0 0 1 2 2v10"></path><path d="M2 17h20"></path><path d="M6 8v9"></path></svg>'); }
.i_explain dd p { margin: 0; font-size: 16px; color: #666; line-height: 1.8; font-weight: normal; font-family: "Microsoft YaHei", "微软雅黑"; }
.i_view ul { margin: 0; padding: 0; display: block; }
.sightFull { display: flex; width: 100%; height: 152px; padding: 10px; margin-top: 10px; background: #F5F7FA; border: 1px solid #E5E5E5; border-radius: 4px; box-sizing: border-box; text-decoration: none; transition: box-shadow 0.2s; }
.sightFull:hover { box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.sightFull .pic { width: 190px; height: 130px; flex-shrink: 0; overflow: hidden; margin-right: 20px; border-radius: 2px; }
.sightFull .pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s; }
.sightFull:hover .pic img { transform: scale(1.05); }
.sightFull .txt { flex: 1; overflow: hidden; display: flex; flex-direction: column; }
.sightFull .txt a { text-decoration: none; }
.sightFull .txt a:first-child { display: block; font-size: 16px; color: #333; font-weight: bold; margin-bottom: 8px; margin-top: 5px; transition: color 0.2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sightFull .txt a:first-child:hover { color: #00706c; }
.sightFull .txt p { font-size: 15px; color: #444; line-height: 1.8; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.i_always { display: flex; flex-wrap: wrap; gap: 15px 30px; margin-top: 15px; padding: 15px; background: #fff8f4; border-radius: 6px; }
.i_always dl { display: flex; align-items: center; margin: 0; padding: 0; }
.i_always dt { display: flex; align-items: center; margin: 0; padding: 0; }
.i_always dd { margin: 0 0 0 15px; color: #555; font-size: 16px !important; font-weight: normal !important; line-height: 1; display: flex; align-items: center; height: 26px; }
.ex_end { text-align: center; color: #cc3300; font-size: 14px; padding-top: 20px; border-top: 1px dashed #eee; margin-top: 20px; }
.qa_form { border-bottom: 1px solid #f1f1f1; padding-bottom: 20px; margin-bottom: 20px; }
.form-row { margin-bottom: 15px; align-items: flex-start; display: flex; }
.form-row label { width: 90px; font-size: 14px; color: #333; font-weight: bold; flex-shrink: 0; line-height: 30px; }
.txt-input { flex: 1; border: 1px solid #ccc; height: 30px; padding: 0 8px; font-size: 14px; outline: none; box-sizing: border-box; }
.txt-input:focus { border-color: #ffaa01; }
.txt-input.w200 { flex: none; width: 250px; }
.txt-input.w100 { flex: none; width: 100px; }
textarea#content { flex: 1; height: 100px; border: 1px solid #ccc; padding: 8px; font-size: 14px; resize: none; font-family: inherit; outline: none; box-sizing: border-box; }
textarea#content:focus { border-color: #ffaa01; }
.btn-submit-qa { display: inline-block; background-color: #cc3300; color: #ffffff !important; padding: 8px 25px; border-radius: 3px; font-size: 14px; text-align: center; text-decoration: none; transition: background-color 0.3s ease; }
.btn-submit-qa:hover { background-color: #aa2a00; color: #ffffff !important; text-decoration: none; }
.qa_sort { padding-bottom: 15px; align-items: center; display: flex; }
.qa_sort label { font-size: 14px; font-weight: bold; color: #333; width: 80px; flex-shrink: 0; margin: 0; }
.sort-links { display: flex; }
.sort-links a { display: block; padding: 0 15px; height: 28px; line-height: 28px; color: #666; font-size: 14px; text-decoration: none; margin-right: 5px; transition: all 0.2s; }
.sort-links a.cur, .sort-links a:hover { background: #00b5be; color: #fff; }
#sidebar-contact.sidebar-fixed-look { background: #fff; border-radius: 4px; border: 1px solid #eee; overflow: hidden; margin-top: 20px; }
#sidebar-contact.sidebar-fixed-look .ai-side-tit { background: #cc3300; color: #fff; display: flex; align-items: center; justify-content: space-between; border-bottom: none; padding-right: 10px; }
#sidebar-contact.sidebar-fixed-look .ai-side-tit .tit-text-white { color: #fff; display: flex; align-items: center; padding: 10px 0 10px 15px; font-size: 16px; font-family: "Microsoft YaHei", "微软雅黑"; font-weight: 900; }
#sidebar-contact.sidebar-fixed-look .ai-side-tit .tit-text-white svg { color: #fff; }
#sidebar-contact.sidebar-fixed-look .ai-side-tit .qr-icon-old svg { color: #fff; }
#sidebar-contact.sidebar-fixed-look .ai-side-con { padding: 0; background: #fff; }
.old-share-wrap { display: flex; background: #fff; text-align: left; }
.share-qr-img { 
    width: 140px; 
    height: 140px; 
    padding: 5px;
    background: #fff;
    box-sizing: border-box;
}
.old-share-wrap .txt { flex: 1; text-align: left; display: flex; flex-direction: column; justify-content: center; }
.old-share-wrap .txt .share-title { color: #cc3300; font-size: 14px; font-weight: bold; margin: 0 0 8px 0; }
.old-share-wrap .txt p { color: #333; font-size: 12px; line-height: 24px; margin: 0; }
.old-dashed-sep { border-top: 1px dashed #c8c8c8; }
.old-cs-details { padding: 10px; text-align: center; }
.old-cs-details .company-title { color: #333; font-size: 15px; font-weight: normal; margin: 0 0 10px 0; font-family: "Microsoft YaHei", "微软雅黑"; display: block; }
.old-cs-details .old-numbers { color: #cc3300; font-family: Arial; font-size: 14px; line-height: 26px; }
#f60#f60 { color: #ff5000; font-weight: bold; }
.old-cs-details .old-numbers span + span { margin-left: 20px; }
.lazy-js.old-cs-person-qr { width: 200px !important; margin: 10px auto; border-radius: 4px; display: block; }
.old-cs-details p.old-iconed-info { position: relative; padding-left: 20px; line-height: 24px; margin: 0 0 5px 0; text-align: left; font-size: 12px; color: #555555; }
.old-cs-details p.old-iconed-info span { color: #cc3300; font-weight: bold; }
.old-cs-details p.old-iconed-info i { display: block; width: 14px; height: 14px; position: absolute; left: 0; top: 5px; background-size: contain; background-repeat: no-repeat; }
.old-cs-details .email i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2"><path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline></svg>'); }
.old-cs-details .addr i { background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23ffffff" stroke-width="2"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>'); }
.route_guess { width: 1200px;  background: #fff; border-radius: 2px; padding: 20px 0; box-sizing: border-box; position: relative; }
.route_guess .ai-detail-h2 { margin: 0 30px 20px; padding-bottom: 15px; }
.re_list { position: relative; width: 1200px; height: 255px; margin: 0 auto; overflow: hidden; }
.re_list .silder { position: relative; margin: 0 auto; overflow: hidden; height: 100%; }
.re_list ul { margin: 0; padding: 0; width: 100%; display: flex; justify-content: space-between; }
.re_list ul li { width: 224px; height: 255px; list-style: none; background: #fff; transition: background 0.2s; }
.re_list ul li:hover { background: #faffff; }
.re_list ul li img { width: 239px; height: 150px; object-fit: cover; display: block; margin: 0; padding: 0; }
.re_list ul li .re-title { font-size: 14px; font-weight: normal; margin: 8px 10px; line-height: 24px; height: 48px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.re_list ul li .re-title a { color: #333; text-decoration: none; transition: color 0.2s; }
.re_list ul li:hover .re-title a { color: #cc3300; }
.re_list ul li .re-info { font-size: 12px; color: #555555; margin: 0 10px; font-weight: normal; position: relative; height: 24px; line-height: 24px; }
.re_list ul li .re-info span { position: absolute; right: 0; bottom: 0; }
.re_list ul li .re-info span i { color: #cc3300; font-style: normal; font-size: 12px; }
.re_list ul li .re-info span i em { font-size: 20px; font-weight: bold; font-family: Arial; padding-right: 2px; }

.pro_page { text-align: center; padding: 20px 0; font-size: 13px; }
.pro_page a, .pro_page b { display: inline-block; padding: 4px 12px; margin: 0 3px; border: 1px solid #eee; color: #666; background: #fff; text-decoration: none; }
.pro_page a:hover { background: #f5f5f5; border-color: #ddd; }
.pro_page b { background: #00b5be; color: #fff; border-color: #00b5be; font-weight: normal; }
.flex { display: flex; }
.flex-wrap { flex-wrap: wrap; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.clear::after { content: ""; display: block; clear: both; }
.qa_form .form-row img { width: 70px !important; height: 30px !important; object-fit: fill; flex-shrink: 0; }
.ai-detail-layout .ai-list-side { width: 260px; flex-shrink: 0; position: -webkit-sticky; position: sticky; top: 19px; align-self: flex-start; z-index: 100; }
.a_con span { color: #00706c !important; }
/* 修复 Lighthouse 必须依赖颜色才能辨识链接的报错 */
.i_explain dd p a.infotextkey {
    text-decoration: underline !important;
    text-underline-offset: 3px; /* 让下划线稍微往下挪一点，更好看 */
    color: #00706c; /* 顺手统一成咱们的深墨绿色 */
    font-weight: bold;
}
/* ==========================================
   定制师横向手风琴：宽版紧凑型 (按钮右置)
   ========================================== */
.tr_cs { margin-top: 20px; padding-top: 20px; border-top: 1px dashed #e5e7eb; }
.tr_cs ul { display: flex; justify-content: center !important; align-items: flex-start; margin: 0; padding: 0; list-style: none !important; min-height: 110px; } 

/* 外壳整体变矮：95px，拉开间距：40px */
.kefu-item { position: relative; width: 60px; height: 95px; margin-right: 40px; border-radius: 8px; background: transparent; transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s; flex-shrink: 0; }

.kefu-avatar { position: absolute; left: 0; top: 10px; width: 60px; display: flex; flex-direction: column; align-items: center; cursor: pointer; transition: opacity 0.3s, visibility 0.3s; }
.kefu-avatar > svg { width: 45px; height: 45px; border-radius: 50%; border: 2px solid #ddd; padding: 5px; color: #999; background: #fff; transition: all 0.3s; }
.kefu-avatar p { margin: 6px 0 0 0; font-size: 13px; color: #666; text-align: center; white-space: nowrap; }

/* 展开的白框变宽：290px，高度自适应100% */
.kefu-detail { position: absolute; left: 0; top: 0; width: 290px; height: 100%; padding: 12px 15px; box-sizing: border-box; opacity: 0; visibility: hidden; transition: opacity 0.3s, visibility 0.3s; background: #fff; border-radius: 8px; border: 1px solid #eee; }

.kefu-item.kefu-active { width: 290px; z-index: 3; }
.kefu-item.kefu-active .kefu-avatar { opacity: 0; visibility: hidden; }
.kefu-item.kefu-active .kefu-detail { opacity: 1; visibility: visible; box-shadow: 0 4px 15px rgba(0,0,0,0.08); border-color: #ffe0cc; }

/* --- 内部排版：名字虚线分割 --- */
.kf-name { margin: 0 0 10px 0; font-size: 13px; color: #555; display: flex; align-items: center; border-bottom: 1px dashed #eee; padding-bottom: 8px; white-space: nowrap; }
.kf-name svg { margin-right: 8px; flex-shrink: 0; }

/* --- 内部排版：电话和按钮左右布局 --- */
.kf-contact-row { display: flex; align-items: center; justify-content: space-between; position: static; }
.kf-phones p { margin: 0 0 8px 0; font-size: 13px; color: #555; display: flex; align-items: center; white-space: nowrap; }
.kf-phones p:last-child { margin: 0; }
.kf-phones p svg { margin-right: 8px; flex-shrink: 0; }

/* 绿色的微信沟通按钮 */
.wx-hover-btn { background: #07c160; color: #fff !important; padding: 6px 12px; border-radius: 4px; text-decoration: none !important; display: inline-flex; align-items: center; transition: background-color 0.2s ease; font-weight: bold; position: static !important; }
.wx-hover-btn:hover { background: #06ad56; }

/* 破框而出的二维码弹窗 */
.wx-qr-code { position: absolute; left: -1px; bottom: -1px; background: #fff; border-radius: 8px; opacity: 0; visibility: hidden; transition: all 0.3s ease; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 999; padding: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); border: 1px solid #ffe0cc; }
.wx-qr-code::before, .wx-qr-code::after { display: none; }
.wx-qr-code img { display: block; margin: 0 auto 6px auto; max-width: 280px; height: auto; }
.wx-qr-code p { font-size: 13px !important; color: #07c160 !important; margin: 0 !important; font-weight: bold; }
.wx-qr-code.show-qr { opacity: 1; visibility: visible; }
/* ==========================================
   预订框左下方：服务保障 (信任背书)
   ========================================== */
.tr_left_wrap { flex-shrink: 0; float: left; }

/* 下面是你刚才已经加过的服务保障 CSS，保留不动 */
.tr_guarantee { margin-top: 20px; padding: 15px; background: #fafafa; border-radius: 8px; border: 1px dashed #e5e7eb; width: 100%; box-sizing: border-box; }
/* ... (后面的保持原样) ... */
.tr_guarantee { margin-top: 20px; padding: 15px; background: #fafafa; border-radius: 8px; border: 1px dashed #e5e7eb; width: 100%; box-sizing: border-box; }
.guarantee-tit { font-size: 14px; color: #555; margin-bottom: 15px; text-align: center; font-weight: bold; display: flex; align-items: center; justify-content: center; }
.guarantee-tit::before, .guarantee-tit::after { content: ''; width: 30px; height: 1px; background: #ddd; margin: 0 10px; }
.guarantee-tit span { color: #ff6600; margin-right: 5px; }

.tr_guarantee ul { display: flex; justify-content: space-between; margin: 0; padding: 0; list-style: none !important; }
.tr_guarantee li { text-align: center; flex: 1; }
.tr_guarantee li i { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0 auto 8px auto; background: #fff; border-radius: 50%; color: #ff6600; box-shadow: 0 3px 8px rgba(255,102,0,0.1); border: 1px solid #ffe8d9; transition: transform 0.3s ease; }
.tr_guarantee li i svg { width: 18px; height: 18px; }
.tr_guarantee li:hover i { transform: translateY(-3px); box-shadow: 0 5px 12px rgba(255,102,0,0.2); }

.tr_guarantee li p { font-size: 13px; color: #333; line-height: 1.5; margin: 0; font-weight: bold; }
.tr_guarantee li p span { display: block; font-size: 11px; color: #999; font-weight: normal; margin-top: 2px; }
/* ==========================================
   底部双子星卡片：服务保障 & 专属客服 (情侣装)
   ========================================== */
/* 强制让左边(保障)和右边(客服)拥有完全一致的背景、边框和内边距 */
.tr_guarantee, .tr_cs {
    background: #ffffff !important; /* 变成纯白 */
    border: 1px solid #f0f0f0 !important; /* 去掉虚线，改成极淡的实线 */
    box-shadow: 0 8px 24px rgba(0,0,0,0.04) !important; /* 统一的高级柔和阴影 */
}

/* 调整客服框内部的间距，给上面的新标题留出呼吸空间 */
.tr_cs ul { 
    margin-top: 15px !important; 
}

/* 确保标题居中对齐，不管在左边还是右边都完美显示 */
.guarantee-tit { 
    margin-bottom: 0; /* 抵消原有margin，统一由下面控制间距 */
}/* ==========================================
   终极强迫症对齐：解决高低不平与内部拥挤
   ========================================== */

/* 2. 强制左右两个双子星卡片的高度一模一样！ */
.tr_guarantee, .tr_cs { 
    height: 190px !important; 
}

/* 3. 解决左边空洞：让“纯玩无套路”的四个图标往下沉一点，垂直居中，显得更饱满 */
.tr_guarantee {
    display: flex !important;
    flex-direction: column;
}
.tr_guarantee ul { 
    margin-top: auto !important; 
    margin-bottom: 25px !important;
}

/* 4. 解决右边拥挤：右边客服白色详情框内容太挤了，给它加高释放呼吸空间 */
.kefu-item { 
    height: 115px !important; /* 原来只有125px，加高防止底部的“微信沟通”贴边 */
}
/* ==========================================
   底部双子星卡片：专属客服 (居中拉开距离版)
   ========================================== */
/* 1. 把整个客服头像组在灰色框里强制水平居中 */
.tr_cs ul {
    justify-content: center !important; /* THIS IS THE CENTERING PART */
    align-items: flex-start; /* 保留之前的顶部对齐，防止展开框错位 */
    margin: 0;
    padding: 0;
    list-style: none !important;
    min-height: 125px; /* 强制垂直高度，让左边扁扁的卡片往下沉一点实现视觉平衡 */
}

/* 2. 把头像之间的距离大大拉开 */
.kefu-item {
    position: relative;
    width: 60px;
    margin-right: 40px; /* THIS IS THE PULLING APART PART */
    transition: width 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    flex-shrink: 0;
}
/* ==========================================
   治愈字间距：文字与文字之间的左右距离
   ========================================== */
/* ==========================================
   行程详情：治愈“眼花”，拉开段落间距
   ========================================== */
.ex_daylist p, 
.detail-rich-text p {
    color: #333 !important; /* 把偏灰的字体稍微加深一点点，提高阅读对比度 */
    margin-bottom: 15px !important; /* 👈 核心特效药：强制每一个段落下面空出 15 像素的距离！ */
    text-align: justify !important; 
    letter-spacing: 1px !important; 
}

/* 顺手把里面加粗的文字稍微放大突出一点 */
.ex_daylist p strong, 
.detail-rich-text p strong {
    color: #000;
    font-weight: bold;
}
/* ==========================================
   终极无障碍色彩修复（全量整合版：专治各种对比度不服）
   ========================================== */

/* 1. 狙击：纯玩无套路、专属客服 (深焦糖色) */
.tr_guarantee .guarantee-tit span,
.tr_cs .guarantee-tit span,
.guarantee-tit span {
    color: #9E4A00 !important; 
    font-weight: bold !important;
    opacity: 1 !important;
}

/* 2. 狙击：微信沟通按钮 (深墨绿色) */
a.wx-hover-btn {
    background-color: #007036 !important; 
    color: #ffffff !important;
    border: none !important;
    opacity: 1 !important;
}

/* 3. 狙击：服务保障里的 4 个小灰字 (加深深灰色) */
.tr_guarantee ul li span,
.tr_guarantee ul li p span {
    color: #444444 !important; 
    opacity: 1 !important;     
}

/* 4. 狙击：客服卡片里的“定制师”亮黄字 (深焦糖色) */
.kefu-detail span,
.kefu-detail p span {
    color: #9E4A00 !important; 
    font-weight: bold !important;
    opacity: 1 !important;     
}
/* ==========================================
   视觉真空区填补：高级热销标签 (Lighthouse 满分 + 防挤压版)
   ========================================== */
.hot-book-tag {
    display: inline-block !important;
    background-color: #FFF0E5 !important; 
    
    /* 👇 核心解药 1：颜色大幅加深到“深焦糖/红棕色”，Lighthouse 绝对闭嘴！ */
    color: #9E4A00 !important;            
    
    padding: 3px 12px !important;
    border-radius: 20px !important;       
    font-size: 12px !important;
    margin-left: 10px !important;         
    vertical-align: middle !important;    
    
    /* 👇 核心解药 2：打死不许换行！彻底告别“小肉饼” */
    white-space: nowrap !important;  
    word-break: keep-all !important; 
}

/* 里面的数字样式 */
.hot-book-tag span {
    font-weight: bold !important;         
    font-size: 14px !important;
    font-family: Arial, sans-serif !important; 
}
/* 上下篇 */
.page-context-nav {
    display: flex;
    justify-content: space-between;
    margin: 30px 0 40px;
    gap: 20px;
}
.page-context-nav .context-card {
    flex: 1;
    background: #fdfdfd;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    padding: 16px 20px;
    transition: all 0.3s ease;
    overflow: hidden;
    width: 48%; /* 兼容处理 */
    box-sizing: border-box;
}
/* 鼠标悬停时的微橙色浮起特效 */
.page-context-nav .context-card:hover {
    background: #fffaf5;
    border-color: #ffc4a3;
    box-shadow: 0 4px 12px rgba(255,104,0,0.08);
    transform: translateY(-2px);
}
.page-context-nav .context-card span.c-label {
    font-size: 13px;
    color: #999;
    margin-bottom: 8px;
    display: block;
}
.page-context-nav .context-card.next span.c-label {
    text-align: right;
}
/* 强制统一帝国CMS输出的链接文字样式 */
.page-context-nav .context-card a, 
.page-context-nav .context-card {
    font-size: 15px;
    color: #333;
    font-weight: bold;
    text-decoration: none;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
}
.page-context-nav .context-card a:hover {
    color: #FF6800;
}
.page-context-nav .context-card.next a,
.page-context-nav .context-card.next {
    text-align: right;
}
/* =================================================================
   💊 老中医外部 CSS：电脑端专属行程图（绝对居中）
   ================================================================= */
.pc-itinerary-box {
    width: 100%;
    text-align: center; /* 兜底：让容器内的所有内容居中 */
}

img.pc-route-img {
    display: block !important;           /* 强制变为块级元素 */
    margin: 0 auto 15px auto !important; /* 🌟 核心绝杀：左右 auto，强行绝对居中！底部留 15px 间距 */
    max-width: 100% !important;          /* 确保图片最大不会撑爆外框 */
}
/* =================================================================
   💊 老中医外部 CSS：修复主内容与右侧边栏重叠、虚线穿透问题
   ================================================================= */
.ai-detail-layout {
    display: flex !important;             /* 开启弹性布局大闸 */
    justify-content: space-between;       /* 左右两端对齐 */
    align-items: flex-start;              /* 顶部对齐 */
    width: 100%;
}

.ai-list-main {
    flex: 1;                              /* 自动占满左侧剩余空间 */
    min-width: 0;                         /* 防止被内部超大图片撑爆 */
    margin-right: 25px;                   /* 给右边栏留出 25px 的呼吸空间 */
    overflow: hidden;                     /* 🌟 核心绝杀：触发 BFC，彻底斩断虚线向右侧穿透！ */
}

.ai-list-side {
    width: 280px;                         /* 锁定右侧边栏的宽度（根据你的设计图微调） */
    flex-shrink: 0;                       /* 宁死不屈，绝不被左侧挤压变形 */
}