/* tourShow.css - 旅游线路详情页样式 */

/* 基础样式 */
body { font-size:14px; line-height:1.6; -webkit-text-size-adjust:100%; }

/* 标题样式 */
.hd { font-size:20px!important; line-height:1.4; margin:15px 15px 10px; color:#333; }

/* 基础信息区域 */
.base_info { 
    padding:15px; 
    background:#f9f9f9; 
    border-radius:8px; 
    margin:0 15px 20px; 
}

.base_row { 
    display:flex; 
    margin-bottom:12px; 
    align-items:center; 
}

.base_row:last-child { margin-bottom:0; }

.base_item { 
    flex:1; 
    display:flex; 
    align-items:center; 
    padding-right:15px; 
}

.base_item_full { 
    flex:2; 
    display:flex; 
    align-items:center; 
}

.base_label { 
    font-weight:600; 
    color:#666; 
    font-size:14px; 
    min-width:70px; 
    margin-right:8px; 
    white-space:nowrap; 
}

.base_value { 
    font-size:14px; 
    color:#333; 
    flex:1; 
}

/* 价格样式 */
.price_row { 
    display:flex; 
    align-items:center; 
    padding-top:12px; 
    border-top:1px dashed #ddd; 
    margin-top:12px; 
}

.price_section { 
    display:flex; 
    align-items:center; 
    margin-right:20px; 
}

.price_now_label { 
    font-weight:600; 
    color:#666; 
    font-size:14px; 
    min-width:70px; 
    margin-right:8px; 
    white-space:nowrap; 
}

.price_now_value { 
    font-size:22px; 
    font-weight:700; 
    color:#e4393c; 
}

.price_now_unit { 
    font-size:14px; 
    color:#e4393c; 
    margin-left:2px; 
}

.price_old_label { 
    font-weight:600; 
    color:#666; 
    font-size:14px; 
    margin-right:8px; 
    white-space:nowrap; 
}

.price_old_value { 
    font-size:16px; 
    color:#999; 
    text-decoration:line-through; 
    margin-right:2px; 
}

.price_old_unit { 
    font-size:14px; 
    color:#999; 
}

/* 内容区域 */
.stroke p { 
    font-size:14px!important; 
    line-height:1.8!important; 
    color:#333; 
    margin-bottom:15px; 
}

/* 菜单项样式 */
.menu_detail .box .item label { 
    font-size:16px!important; 
    font-weight:600; 
}

/* 推荐产品样式 */
.product .hd.one { font-size:18px!important; }
.product .hd.one span { font-size:13px; }
.product .item .name { font-size:14px!important; font-weight:600; }
.product .item .price { font-size:18px!important; color:#e4393c; }

/* 底部导航样式 */
.fix_bot .nav .item { font-size:13px; font-weight:500; }

/* 页脚样式 */
.footer p { font-size:14px; }
.footer p span { font-size:16px; font-weight:600; }

/* 图片轮播样式 */
.focus2 { 
    position:relative; 
    overflow:hidden; 
    width:100%; 
    height:250px; 
    background-color:#f5f5f5; 
}

.focus2 .wrappic { 
    position:relative; 
    width:100%; 
    height:100%; 
}

.focus2 .wrappic ol { 
    list-style:none; 
    margin:0; 
    padding:0; 
    width:300%; 
    height:100%; 
    display:flex; 
    transition:transform 0.3s ease; 
}

.focus2 .wrappic ol li { 
    width:100vw; 
    height:100%; 
    flex-shrink:0; 
}

.focus2 .wrappic ol li img { 
    width:100%; 
    height:100%; 
    object-fit:cover; 
    display:block; 
}

.focus2 .anniu { 
    position:absolute; 
    bottom:15px; 
    left:0; 
    right:0; 
    text-align:center; 
    z-index:10; 
}

.focus2 .anniu ul { 
    list-style:none; 
    margin:0; 
    padding:0; 
    display:inline-flex; 
    gap:8px; 
}

.focus2 .anniu li { 
    width:10px; 
    height:10px; 
    border-radius:50%; 
    background:rgba(255,255,255,0.5); 
    cursor:pointer; 
    transition:background 0.3s; 
}

.focus2 .anniu li.current { 
    background:#fff; 
    transform:scale(1.2); 
}

/* 轮播按钮 */
.focus2 #btn_prev,
.focus2 #btn_next { 
    position:absolute; 
    top:50%; 
    transform:translateY(-50%); 
    width:44px; 
    height:44px; 
    background:rgba(0,0,0,0.4); 
    border-radius:50%; 
    cursor:pointer; 
    z-index:10; 
    display:flex; 
    align-items:center; 
    justify-content:center; 
    color:transparent; 
    font-size:0; 
    transition:background 0.3s; 
}

.focus2 #btn_prev:hover,
.focus2 #btn_next:hover { background:rgba(0,0,0,0.6); }

.focus2 #btn_prev { left:15px; }

.focus2 #btn_prev::before { 
    content:""; 
    display:block; 
    width:12px; 
    height:12px; 
    border-left:3px solid white; 
    border-bottom:3px solid white; 
    transform:rotate(45deg); 
    margin-right:4px; 
}

.focus2 #btn_next { right:15px; }

.focus2 #btn_next::before { 
    content:""; 
    display:block; 
    width:12px; 
    height:12px; 
    border-right:3px solid white; 
    border-top:3px solid white; 
    transform:rotate(45deg); 
    margin-left:4px; 
}

/* 浮动拨号按钮 */
.float-tel-btn {
    position:fixed; 
    right:0; 
    top:50%; 
    transform:translateY(-50%); 
    z-index:9999;
    background:linear-gradient(135deg, 
        rgba(218,165,32,0.85) 0%, 
        rgba(184,134,11,0.8) 30%,
        rgba(205,133,63,0.75) 70%,
        rgba(210,105,30,0.7) 100%);
    color:white; 
    text-align:center; 
    border-radius:25px 0 0 25px; 
    padding:12px 15px 12px 18px;
    min-width:160px; 
    font-weight:600; 
    cursor:pointer; 
    text-decoration:none; 
    transition:all 0.3s ease;
    box-shadow:-2px 0 10px rgba(0,0,0,0.1), 
               0 0 15px rgba(218,165,32,0.2), 
               inset 0 1px 0 rgba(255,255,255,0.25);
    backdrop-filter:blur(12px); 
    -webkit-backdrop-filter:blur(12px);
    border-left:2px solid rgba(255,215,0,0.3); 
    border-top:1px solid rgba(255,255,255,0.15); 
    border-bottom:1px solid rgba(255,255,255,0.1);
    display:flex; 
    align-items:center; 
    justify-content:center;
}

.float-tel-btn:hover {
    background:linear-gradient(135deg, 
        rgba(228,175,42,0.95) 0%, 
        rgba(194,144,21,0.9) 30%,
        rgba(215,143,73,0.85) 70%,
        rgba(220,115,40,0.8) 100%);
    transform:translateY(-50%) translateX(-5px); 
    min-width:165px;
    box-shadow:-3px 0 12px rgba(0,0,0,0.15), 
               0 0 18px rgba(218,165,32,0.3), 
               inset 0 1px 0 rgba(255,255,255,0.3);
}

.float-tel-btn .tel-icon { 
    width:24px; 
    height:24px; 
    margin-right:10px; 
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
    background-size:contain; 
    background-repeat:no-repeat; 
    background-position:center; 
}

.float-tel-btn .tel-text { 
    font-size:16px!important; 
    line-height:1.3; 
    font-weight:700; 
    letter-spacing:0.5px; 
    color:white; 
    text-shadow:1px 1px 3px rgba(0,0,0,0.5), 0 0 8px rgba(0,0,0,0.3); 
}

.float-tel-btn .tel-text span { 
    display:block; 
    font-size:12px!important; 
    margin-top:2px; 
    color:rgba(255,255,255,0.95); 
    font-weight:500; 
    text-shadow:0 1px 2px rgba(0,0,0,0.4), 0 0 6px rgba(0,0,0,0.2); 
}

/* 公司介绍样式 */
.company-intro h3 { 
    font-size:18px!important; 
    margin-bottom:15px; 
    color:#333; 
}

.company-intro p,
.company-intro li { 
    font-size:14px!important; 
    line-height:1.7; 
    margin-bottom:10px; 
}

.company-intro ul { padding-left:20px; }

.company-intro li { 
    margin-bottom:8px; 
    position:relative; 
}




.company-intro li:before { 
    content:"★";  /* 改为实心星号 */
    color:#ffc107; /* 黄色 */
    font-weight:bold; 
    position:absolute; 
    left:-15px; 
}





/* 菜单项样式 */
.menu_detail .box { 
    cursor:pointer; 
    position:relative; 
}

.menu_detail .box .item.current { 
    background-color:#f9f9f9; 
}

.menu_detail .box .item.current label { 
    color:#e4393c; 
}

.menu_detail .stroke { 
    padding:15px; 
    background-color:#fff; 
    border-top:1px solid #eee; 
}

.menu_detail .stroke p:last-child { 
    margin-bottom:0; 
}

/* 基础信息容器样式 */
.base_info {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border-radius: 14px;
    padding: 16px 14px;
    margin: 0 12px 16px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.05);
}

/* 基础行样式 */
.base_row {
    display: flex;
    margin-bottom: 14px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.base_row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

/* 基础项样式 */
.base_item {
    flex: 1;
    display: flex;
    align-items: center;
    padding-right: 10px;
}

.base_item_full {
    flex: 2;
    display: flex;
    align-items: center;
}

/* 基础标签样式 */
.base_label {
    font-weight: 600;
    color: #666;
    font-size: 15px;
    min-width: 76px;
    margin-right: 6px;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

/* 图标样式 */
.base_icon {
    width: 17px;
    height: 17px;
    margin-right: 5px;
    fill: #666;
    flex-shrink: 0;
}

/* 基础值样式 */
.base_value {
    font-size: 15px;
    color: #333;
    flex: 1;
    font-weight: 500;
}

/* 特殊值样式 */
.city_highlight,
.days_highlight {
    color: #e4393c;
    font-weight: 600;
    background: rgba(228, 57, 60, 0.08);
    padding: 3px 8px;
    border-radius: 12px;
    margin-left: -2px;
    display: inline-block;
    min-width: 0;
    max-width: 60px;
    text-align: center;
    font-size: 14px;
}

/* 集合地点样式 */


.meeting_place {
    color: #555;
    background: rgba(0, 150, 255, 0.06);
    padding: 5px 12px;
    border-radius: 8px;
    border-left: 2px solid #0096ff;
    border-right: 2px solid transparent;
    font-weight: 500;
    font-size: 14px;
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
}




/* 价格容器样式 */
.price_container {
    background: linear-gradient(135deg, #fff9f9 0%, #fff5f5 100%);
    border-radius: 10px;
    padding: 12px 14px;
    margin-top: 16px;
    border: 1px solid rgba(228, 57, 60, 0.12);
}

/* 主要价格样式 */
.price_main {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}

.price_label {
    font-weight: 600;
    color: #666;
    font-size: 14px;
    min-width: 70px;
    margin-right: 8px;
}

.price_amount {
    display: flex;
    align-items: baseline;
    flex: 1;
}

.price_now_value {
    font-size: 24px;
    font-weight: 700;
    color: #e4393c;
    line-height: 1;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.08);
}

.price_unit {
    font-size: 13px;
    color: #999;
    margin-left: 4px;
    font-weight: 500;
}

/* 对比价格样式 */
.price_compare {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    padding: 6px 10px;
    border-radius: 8px;
    border-left: 2px solid #e0e0e0;
}

.original_price_label {
    font-weight: 500;
    color: #888;
    font-size: 13px;
    min-width: 55px;
    margin-right: 6px;
}

.original_price_amount {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 10px;
}

.price_old_value {
    font-size: 15px;
    color: #999;
    text-decoration: line-through;
    font-weight: 500;
}

.price_save {
    font-size: 12px;
    color: #ffffff;
    background: linear-gradient(135deg, #ff6b6b 0%, #e4393c 100%);
    padding: 3px 8px;
    border-radius: 10px;
    font-weight: 600;
    box-shadow: 0 1px 4px rgba(228, 57, 60, 0.2);
}

/* 增大行程安排、线路特色等框架内字体 */
.menu_detail .stroke p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #333;
    margin-bottom: 15px;
}

/* 增大标题字体 */
.menu_detail .box .item label {
    font-size: 18px !important;
    font-weight: 600;
    color: #333;
}

/* 增大公司介绍部分字体 */
.company-intro h3 {
    font-size: 20px !important;
    margin-bottom: 15px;
    color: #333;
}

.company-intro p,
.company-intro li {
    font-size: 16px !important;
    line-height: 1.8;
    margin-bottom: 12px;
}

/* 增大"门市报名"等子标题字体 */
.stroke .title span {
    font-size: 17px !important;
    font-weight: 600;
    color: #333;
    display: block;
    margin-bottom: 10px;
}

/* 增大"湖北省中国国际旅行社"等强调文本 */
.stroke p strong {
    font-size: 17px !important;
    color: #333;
    display: block;
    margin-bottom: 10px;
}

/* 响应式设计 */
@media screen and (max-width:768px) {
    body { font-size:13px; }
    
    .hd { 
        font-size:18px!important; 
        margin:12px 12px 8px; 
    }
    
    .focus2 { height:220px; }
    
    .float-tel-btn { 
        min-width:140px; 
        padding:10px 12px 10px 15px; 
    }
    
    .float-tel-btn .tel-text { font-size:15px!important; }
    .float-tel-btn .tel-text span { font-size:11px!important; }
    
    .focus2 #btn_prev,
    .focus2 #btn_next { 
        width:40px; 
        height:40px; 
    }
    
    .price_now_value { font-size:20px; }
    .price_old_value { font-size:14px; }
    
    .base_info { 
        padding:12px; 
        margin:0 12px 15px; 
    }
    
    .base_row { margin-bottom:10px; }
    .base_label { min-width:65px; font-size:13px; }
    .base_value { font-size:13px; }
    
    /* 768px响应式调整 */
    .base_info {
        padding: 14px 12px;
        margin: 0 10px 14px;
        border-radius: 12px;
    }

    .base_row {
        margin-bottom: 12px;
        padding-bottom: 12px;
    }

    .base_label {
        font-size: 14px;
        min-width: 72px;
    }

    .base_icon {
        width: 16px;
        height: 16px;
        margin-right: 4px;
    }

    .base_value {
        font-size: 14px;
    }

    .city_highlight,
    .days_highlight {
        padding: 3px 7px;
        font-size: 13px;
        max-width: 55px;
        border-radius: 10px;
    }
    
    .meeting_place {
        padding: 5px 10px;
        font-size: 13px;
        border-radius: 8px;
    }

    .price_container {
        padding: 10px 12px;
        margin-top: 14px;
    }

    .price_label {
        font-size: 13px;
        min-width: 65px;
    }

    .price_now_value {
        font-size: 22px;
    }

    .price_save {
        font-size: 11px;
        padding: 2px 7px;
    }
    
    .menu_detail .stroke p {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }
    
    .menu_detail .box .item label {
        font-size: 17px !important;
    }
    
    .company-intro h3 {
        font-size: 18px !important;
    }
    
    .company-intro p,
    .company-intro li {
        font-size: 15px !important;
    }
    
    .stroke .title span {
        font-size: 16px !important;
    }
    
    .stroke p strong {
        font-size: 16px !important;
    }
}

@media screen and (max-width:480px) {
    body { font-size:12px; }
    
    .hd { 
        font-size:16px!important; 
        margin:10px 10px 6px; 
    }
    
    .focus2 { height:200px; }
    
    .float-tel-btn { 
        min-width:130px; 
        padding:8px 10px 8px 13px; 
    }
    
    .float-tel-btn .tel-text { font-size:14px!important; }
    .float-tel-btn .tel-text span { font-size:10px!important; }
    
    .focus2 #btn_prev,
    .focus2 #btn_next { 
        width:36px; 
        height:36px; 
    }
    
    .focus2 #btn_prev::before,
    .focus2 #btn_next::before { 
        width:10px; 
        height:10px; 
        border-width:2.5px; 
    }
    
    .base_info { 
        padding:10px; 
        margin:0 10px 12px; 
    }
    
    .base_row { 
        flex-direction:column; 
        align-items:flex-start; 
        margin-bottom:8px; 
    }
    
    .base_item,
    .base_item_full { 
        width:100%; 
        padding-right:0; 
        margin-bottom:6px; 
    }
    
    .price_row { 
        flex-direction:column; 
        align-items:flex-start; 
    }
    
    .price_section { 
        margin-right:0; 
        margin-bottom:8px; 
        width:100%; 
    }
    
    .price_now_value { font-size:18px; }
    .price_old_value { font-size:13px; }
    
    .base_label { min-width:60px; font-size:12px; }
    .base_value { font-size:12px; }
    
    /* 480px响应式调整 */
    .base_info {
        padding: 12px 10px;
        margin: 0 8px 12px;
        border-radius: 10px;
    }

    .base_row {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .base_item {
        width: 100%;
        padding-right: 0;
        margin-bottom: 6px;
    }

    .base_item:last-child {
        margin-bottom: 0;
    }

    .base_label {
        min-width: 70px;
        font-size: 13px;
    }

    .base_icon {
        width: 15px;
        height: 15px;
        margin-right: 4px;
    }

    .base_value {
        font-size: 13px;
    }

    .city_highlight,
    .days_highlight {
        padding: 3px 6px;
        font-size: 12px;
        max-width: 50px;
        border-radius: 8px;
    }
    
    .meeting_place {
        padding: 4px 8px;
        font-size: 12px;
        border-radius: 6px;
    }

    .price_container {
        padding: 9px 10px;
        margin-top: 12px;
    }

    .price_main {
        margin-bottom: 5px;
    }

    .price_label {
        font-size: 12px;
        min-width: 60px;
    }

    .price_now_value {
        font-size: 20px;
    }

    .price_compare {
        padding: 5px 8px;
    }

    .original_price_label {
        font-size: 12px;
        min-width: 50px;
    }

    .price_old_value {
        font-size: 13px;
    }

    .price_save {
        font-size: 11px;
        padding: 2px 6px;
    }
    
    .menu_detail .stroke p {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    .menu_detail .box .item label {
        font-size: 16px !important;
    }
    
    .company-intro h3 {
        font-size: 17px !important;
    }
    
    .company-intro p,
    .company-intro li {
        font-size: 14px !important;
    }
    
    .stroke .title span {
        font-size: 15px !important;
    }
    
    .stroke p strong {
        font-size: 15px !important;
    }
}

@media screen and (max-width:360px) {
    .base_info {
        padding: 10px 8px;
        margin: 0 6px 10px;
    }

    .base_label {
        min-width: 65px;
        font-size: 12px;
    }

    .base_value {
        font-size: 12px;
    }

    .city_highlight,
    .days_highlight {
        max-width: 45px;
        font-size: 11px;
    }
    
    .meeting_place {
        padding: 3px 6px;
        font-size: 11px;
        border-radius: 5px;
    }

    .price_now_value {
        font-size: 18px;
    }
    
    .menu_detail .stroke p {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    
    .menu_detail .box .item label {
        font-size: 15px !important;
    }
    
    .company-intro h3 {
        font-size: 16px !important;
    }
    
    .company-intro p,
    .company-intro li {
        font-size: 13px !important;
    }
    
    .stroke .title span {
        font-size: 14px !important;
    }
    
    .stroke p strong {
        font-size: 14px !important;
    }
}