@charset "utf-8";
/* 旅游定制 */
       * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; margin: 0; padding: 0; }
:root { --primary: #009688; --bg: #F5F7F9; --radius: 12px; --primary-color: #009688; --text-dark:#333; --text-light:#666; --white:#ffffff; --max-width:640px; --header-height:50px; }
body { font-family: -apple-system, "PingFang SC", sans-serif; background: var(--bg); padding-bottom: calc(85px + env(safe-area-inset-bottom)); max-width: 640px; margin: 0 auto; }
.card { background: #fff; border-radius: var(--radius); padding: 15px 12px; margin: 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.03); }
.card-hd { font-size: 16px; font-weight: 700; margin-bottom: 15px; display: flex; align-items: center; }
.card-hd span { 
    color: #00695C !important;
    margin-right: 8px; 
    font-style: italic; 
    font-size: 18px; 
    font-weight: bold; 
}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.label { display: block; font-size: 12px; color: #666; margin-bottom: 6px; }
.field { background: #F8F9FA; border: 1px solid #F0F0F0; border-radius: 8px; padding: 0 10px; height: 42px; display: flex; align-items: center; }
.field input { width: 100%; border: none; background: transparent; font-size: 14px; outline: none; }
.tags { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; }
.tag { width: calc((100% - 16px) / 3); padding: 10px 2px; background: #F8F9FA; border-radius: 6px; font-size: 12px; text-align: center; border: 1.5px solid transparent; margin-bottom: 2px; cursor: pointer; }
.tag.active { border-color: #00695C; color: #00695C; background: #E0F2F1; font-weight: bold; box-shadow: 0 2px 6px rgba(0,150,136,0.1); }
.stepper { display: flex; align-items: center; background: #F8F9FA; border-radius: 8px; padding: 3px; justify-content: space-between; width: 100%; }
.s-btn { width: 32px; height: 32px; background: #fff; border-radius: 6px; border: none; color: #00695C; font-weight: bold; font-size: 18px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.s-input { width: 30px; text-align: center; border: none; background: transparent; font-weight: bold; font-size: 14px; }
.header {
    position: fixed;
    top: 0;
    z-index: 5100;
    height: var(--header-height);
    width: 100%;
    max-width: var(--max-width);
    left: 0;
    right: 0;
    margin: 0 auto;
    background: #00695C;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header-spacer{height:var(--header-height);width:100%}
.header-left{display:flex;align-items:center;z-index:20}
.header-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;cursor:pointer}
.header-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:18px;color:#fff;font-weight:bold;z-index:10;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,0.6)}
.hero-banner{position:relative;width:100%;height:0;padding-bottom:50%;background:#ddd;overflow:hidden}
.hero-slides-wrapper{position:absolute;top:0;left:0;width:100%;height:100%}
.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 0.8s ease-in-out;z-index:1}
.hero-slide.active{opacity:1;z-index:2}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block}
.hero-indicators{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);z-index:11;display:flex;gap:6px}
.indicator{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.6);cursor:pointer;transition:background-color 0.3s ease, opacity 0.3s ease}
.indicator.active{background:var(--primary-color);width:14px;border-radius:4px}
.m_header_search{position:fixed;top:var(--header-height);left:0;right:0;margin:0 auto;width:100%;height:100%;max-width:var(--max-width);background-color:#f7f8fa;z-index:5000;display:none;overflow-y:auto;overflow-x:hidden;border-top:1px solid #eee}
.m_header_search .gundong { padding-bottom: 100px; }
.m_header_search .search_bar{display:flex !important;align-items:center !important;box-sizing:border-box !important;width:100% !important;padding:8px 15px !important;background-color:#fff;border-bottom:1px solid #f0f0f0;height:var(--header-height);position:relative}
.m_header_search .search_cancel{font-size:15px;color:#666;margin-right:12px !important;cursor:pointer;white-space:nowrap !important;float:none !important;padding:0 !important;}
.m_header_search .search_main{flex:1 !important;margin:0 !important;display:flex !important;align-items:center !important;width:auto !important;box-sizing:border-box !important;background-color:#f0f2f5;border-radius:20px;padding:0 12px;height:36px;position:relative}
.m_header_search .search_lanmu{font-size:14px;color:#333;padding-right:10px;border-right:1px solid #ddd;margin-right:10px;white-space:nowrap;font-weight:500}
.m_header_search .J_hs-input{flex:1 !important;width:100% !important;float:none !important;padding-right:10px !important;border:none;background:transparent;outline:none;font-size:14px;color:#333;height:24px;min-width:0}
.m_header_search .search_button button{position:static !important;margin-left:5px !important;border:none;background:none;font-size:18px;color:#00695C;padding:0;display:flex;align-items:center}
.search-suggestions { position: fixed; top: 100px; left: 0; right: 0; bottom: 0; background: #ffffff; z-index: 6000; display: block; overflow-y: auto; max-width: 640px; margin: 0 auto; border-top: 1px solid #eee; }
.search-suggestions.hide { display: none; }
.suggestion-item { width: 100%; height: 48px; padding: 0 15px; background: #fff; border-bottom: 1px solid #f5f5f5; font-size: 15px; color: #333; cursor: pointer; display: flex; align-items: center; justify-content: space-between; }
.sugg-left { display: flex; align-items: center; overflow: hidden; flex: 1; }
.sugg-icon { margin-right: 12px; color: #666; display: flex; align-items: center; }
.sugg-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }
.search_lanmu_area{background:#fff;padding:15px;margin-bottom:10px}
.search_lanmu_area .title{font-size:15px;font-weight:bold;color:#333;margin-top:5px;margin-bottom:12px;padding-left:8px;border-left:4px solid var(--primary-color);line-height:1}
.search_lanmu_list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:5px;list-style: none; padding:0;}
.search_lanmu_list li{background:#fff;text-align:center;padding:8px 0;border-radius:6px;font-size:13px;color:#555;cursor:pointer;border:1px solid #f0f0f0}
.search_lanmu_list li.active{background:#E0F2F1;color:#00695C;border-color:#00695C;font-weight:bold}
.site-footer{text-align:center;font-size:12px;color:#666;padding:20px 0;line-height:1.8;background-color:#f8f8f8}
.site-footer p{margin:0}
.gongan-link{display:inline-flex;align-items:center;justify-content:center;color:#666;text-decoration:none}
.gongan-link img{width:20px;height:20px;margin-right:5px;object-fit:contain}
.search-result .list { padding: 0 10px; list-style: none; }
.m-product-item{background:#fff;border-radius:8px;overflow:hidden;margin-bottom:15px;box-shadow:0 2px 8px rgba(0,0,0,0.04);display:flex;flex-direction:column;position:relative}
.m-product-item>a{display:block;width:100%; text-decoration: none;}
.item-top{position:relative;width:100%;height:0;padding-bottom:56.25%;overflow:hidden}
.item-top img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.item-top::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:40%;background:linear-gradient(to top,rgba(0,0,0,0.6),transparent);pointer-events:none;z-index:1}
.sati-peo{position:absolute;top:10px;left:10px;z-index:2;display:flex;gap:5px}
.sati-peo div{background:rgba(0,0,0,0.5);color:#fff;font-size:10px;padding:2px 6px;border-radius:4px;backdrop-filter:blur(2px)}
.product-extra{position:absolute;bottom:45px;left:10px;z-index:2;color:#fff;font-size:11px;display:flex;align-items:center;text-shadow:0 1px 2px rgba(0,0,0,0.5)}
.item-bottom{padding:12px;background:#fff}
.m-product-item .product-title{font-size:16px;color:#333;font-weight:700;line-height:1.4;margin:0 0 6px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-describe{font-size:12px;color:#666;line-height:1.5;margin:0 0 8px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m-product-item .product-tags .label{font-size:10px;color:#00695C;border:1px solid #00695C;padding:1px 5px;border-radius:3px;margin-right:4px;display:inline-block}
.product-price{position:absolute;bottom:8px;left:10px;z-index:2}
.product-price-now{font-size:12px;color:#fff;font-weight:bold;background:#ff5722;padding:2px 10px;border-radius:12px;display:inline-block}
.product-price-now em{font-size:18px;font-style:normal;margin:0 2px}
.search-load-btn{display:none;margin:15px 10px 25px 10px;padding:10px;background-color:#fff;color:#666;text-align:center;border-radius:6px;font-size:14px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
.search_pop.hide { display: none; }
.back-to-top-btn{position:fixed;bottom:150px;right:15px;width:45px;height:45px;background-color:rgba(255,255,255,0.95);border-radius:50%;box-shadow:0 4px 15px rgba(0,0,0,0.25);text-align:center;line-height:45px;z-index:2147483647;cursor:pointer;border:1px solid #ddd;display:none}
#category-popup{position:fixed;top:var(--header-height);left:50%;transform:translateX(-50%) translateY(-150%);width:100%;max-width:640px;background:#fff;z-index:42000;box-shadow:0 5px 15px rgba(0,0,0,0.1);transition:transform 0.4s ease-in-out;max-height:80vh;overflow-y:auto}
#category-popup.show{transform:translateX(-50%) translateY(0)}
#category-mask{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:41000;display:none}
.menu-list{padding:15px 10px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center;list-style:none; margin:0;}
.menu-list li{ padding: 0; margin: 0; list-style: none;}
.menu-list li a{display:block;background:#f8f8f8;border-radius:4px;padding:8px 0;color:#333;text-decoration:none}
.menu-list li a h3{margin:0;font-size:14px;font-weight:normal; color:#333;}
.bottom-nav { position: fixed; bottom: 0; width: 100%; max-width: 640px; left: 0; right: 0; margin: 0 auto; background: #fff; height: 60px; border-top: 1px solid #eee; display: flex; align-items: center; z-index: 40000; padding-bottom: env(safe-area-inset-bottom); box-sizing: content-box; }
.tab-item { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #666; font-size: 10px; height: 100%; text-decoration: none; }
.tab-icon { height: 24px; width: 24px; display: flex; align-items: center; justify-content: center; margin-bottom: 2px; }
.tab-icon svg { width: 22px; height: 22px; } 
.action-btn { flex: 1.5; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; font-weight: bold; text-decoration: none; padding: 0 5px; }
.btn-orange {background-color:#F4D03F !important;color:#5C3A21 !important;font-weight:bold;}
.btn-red { background-color: #d32f2f; }
.chat-mask { position: fixed; top: 0; left: 0; right: 0; bottom: calc(60px + env(safe-area-inset-bottom)); background: rgba(0,0,0,0.6); z-index: 50000; display: none; align-items: center; justify-content: center; backdrop-filter: blur(2px); }
.chat-card { background: #ffffff; width: 85%; max-width: 360px; border-radius: 16px; box-shadow: 0 10px 25px rgba(0,0,0,0.2); position: relative; padding-bottom: 20px; animation: popIn 0.3s ease forwards; }
.chat-header { text-align: center; padding: 15px 5px 10px 5px; }
.chat-logo { max-width: 120px; height: auto; display: block; margin: 0 auto; }
.popup-company-name { font-size: 16px; font-weight: bold; color: #333; margin-top: 10px; text-align: center; }
.chat-body { padding: 0 15px; max-height: 70vh; overflow-y: auto; }
.group-label { font-size: 12px; color: #666; margin: 10px 0 8px 5px; font-weight: 600; text-align: left; }
.contact-btn { display: flex; justify-content: space-between; align-items: center; background-color: #f7f8fa; padding: 8px 10px; border-radius: 10px; margin-bottom: 10px; text-decoration: none; color: #333; transition: all 0.2s; }
.contact-btn.highlight { background-color: #ebf5ff; border: 1px solid #d1e9ff; }
.btn-left { display: flex; align-items: center; font-size: 14px; color: #555; white-space: nowrap; flex-shrink: 0; }
.btn-left svg { margin-right: 6px; width: 18px; height: 18px; flex-shrink: 0; }
.phone-num { font-size: 15px; font-weight: 600; color: #333; white-space: nowrap; flex-shrink: 0; margin-left: 5px; }
#action-sheet-mask { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 60000; display: none; }
.action-sheet { position: absolute; bottom: 0; left: 0; width: 100%; background: #f0f0f0; border-top-left-radius: 12px; border-top-right-radius: 12px; overflow: hidden; animation: slideUp 0.3s; padding-bottom: env(safe-area-inset-bottom); }
.action-title { padding: 15px; text-align: center; font-size: 14px; color: #666; background: #fff; border-bottom: 1px solid #eee; }
.action-btn-sheet { display: block; width: 100%; padding: 15px; text-align: center; background: #fff; font-size: 18px; border: none; border-bottom: 1px solid #eee; color: #333; outline: none; }
.action-cancel { margin-top: 6px; border-bottom: none; }
#toast { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.8); color: white; padding: 12px 25px; border-radius: 8px; font-size: 14px; z-index: 70000; display: none; text-align: center; white-space: nowrap; }
@keyframes popIn { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
.dp-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 50000; display: none; backdrop-filter: blur(2px); }
.dp-panel { position: absolute; bottom: calc(60px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: 95%; max-width: 500px; background: #fff; padding: 20px 15px; border-radius: 16px; box-shadow: 0 -5px 25px rgba(0,0,0,0.1); }
.dp-hd { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; font-weight: bold; }
.dp-grid { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; gap: 5px; }
.dp-day { height: 40px; display: flex; align-items: center; justify-content: center; font-size: 14px; border-radius: 8px; }
.dp-day.disabled { color: #DDD; text-decoration: line-through; }
.dp-day.selected { background: var(--primary); color: #fff; font-weight: bold; }
#lim_mobile_chat{display: none !important;}
#InviteWindow{display: none !important;}