@charset "utf-8";
/* ============================================================
   思途CMS · 酒店模块 列表页样式补全
   文件：plugins/hotel/public/css/hotel_list.css   （新建，思途原包缺失此文件）
   适用模板：plugins/hotel/views/default/hotel/list.php

   背景：该模板使用的 .results-item-block / .hotel-list-group / .hotel-list-wrapper /
        .title-bar / .ads-bar / .cfg-bar / .type-bar / .sel-day 等类，
        在思途整个 hotel 插件（含 hotel.css / hotel_index.css / hotel_detail.css）
        以及全站 res/css 中【均无定义】，导致列表页图片撑满、没有卡片框。
        （对照：线路模块有 plugins/line/public/css/line_list.css）
   本文件按站点主色 #0ABAB5、价格色 #fc6000 补齐卡片与筛选区缺失部分；
   已被 base.css / skin.css 覆盖的（.item-hd / .item-bd / .date-text /
   .date-icon / .st-sort-menu / .search-console-btn / .seo-content-box）不重复定义。

   回滚：① 删除本文件；② 移除 list.php 中 {Common::css_plugin('hotel.css,hotel_list.css','hotel')} 里的 hotel_list.css
   ============================================================ */

/* ---------- 页面骨架：主栏 905 + 侧栏 280 + 15 间距 = 1200（与 base.css 的 905 对齐） ---------- */
.hotel-container { float: left; width: 905px; margin-right: 15px; }

/* ---------- 筛选条件区外壳 ---------- */
.search-type-block {
    background: #fff; border: 1px solid #ececec; border-radius: 4px;
    padding: 2px 16px 10px; margin: 12px 0 0; overflow: hidden;
}
.search-type-item { padding: 9px 0; border-bottom: 1px dashed #ededed; min-height: 30px; }
.search-type-item:last-of-type { border-bottom: 0; }
.search-type-item .item-child { position: relative; }

/* 选项胶囊（tongyong.css 未在本页加载，需自带） */
.child-list { overflow: hidden; }
.child-list > li.item { float: left; margin: 2px 8px 4px 0; }
.child-list > li.item > a {
    display: inline-block; height: 26px; line-height: 24px; padding: 0 12px;
    border: 1px solid #e3e3e3; border-radius: 13px; background: #fff;
    color: #555; font-size: 13px; transition: all .15s;
}
.child-list > li.item > a:hover { border-color: #0ABAB5; color: #0ABAB5; }
.child-list > li.item > a.active { background: #0ABAB5; border-color: #0ABAB5; color: #fff; }

/* 无选项的条件行自动隐藏（如空的目的地 / 属性分组） */
.search-type-item:has(.child-list):not(:has(.child-list li)) { display: none; }

/* 入离日期：并排（base.css 给了尺寸，但缺 float） */
.search-type-item .choose-start-date { float: left; }
.search-type-item .choose-start-date + .choose-start-date { margin-left: 22px; }

/* 展开 / 收起 */
.search-type-item .arrow { display: inline-block; margin: 2px 0 2px; color: #0ABAB5; font-size: 13px; cursor: pointer; }
.search-type-item .arrow:hover { text-decoration: underline; }

/* 已选条件 */
.item-check { overflow: hidden; }
.item-check .chick-child {
    position: relative; display: inline-block; height: 24px; line-height: 24px;
    padding: 0 22px 0 11px; margin: 2px 8px 4px 0; font-size: 13px;
    background: #eafaf9; border: 1px solid #0ABAB5; border-radius: 12px; color: #0ABAB5;
}
.item-check .chick-child .closed {
    position: absolute; right: 8px; top: 50%; width: 9px; height: 9px; margin-top: -4px; cursor: pointer;
}
.item-check .chick-child .closed:before,
.item-check .chick-child .closed:after {
    content: ""; position: absolute; left: 0; top: 4px; width: 9px; height: 1px; background: #0ABAB5;
}
.item-check .chick-child .closed:before { transform: rotate(45deg); }
.item-check .chick-child .closed:after { transform: rotate(-45deg); }
.item-check .clear-item { display: inline-block; margin: 2px 0 4px; font-size: 13px; color: #999; }
.item-check .clear-item:hover { color: #0ABAB5; }

/* ---------- 排序栏里的两个下拉（全站无定义，补齐） ---------- */
.st-sort-menu select.sel-day {
    float: right; height: 28px; line-height: 28px; margin: 9px 0 0 10px; padding: 0 6px;
    border: 1px solid #e3e3e3; border-radius: 4px; font-size: 13px; color: #555;
    background: #fff; cursor: pointer; outline: none;
}
.st-sort-menu select.sel-day:hover { border-color: #0ABAB5; }

/* ---------- 酒店列表：卡片 ---------- */
.hotel-list-wrapper { overflow: hidden; }
.hotel-list-group { list-style: none; margin: 0; padding: 0; }
.hotel-list-group > li {
    float: left; width: 100%; margin-bottom: 14px; background: #fff;
    border: 1px solid #ececec; border-radius: 6px; box-sizing: border-box;
    transition: box-shadow .18s, border-color .18s;
}
.hotel-list-group > li:hover { border-color: #0ABAB5; box-shadow: 0 4px 14px rgba(10, 186, 181, .13); }

.results-item-block {
    display: flex; align-items: flex-start; gap: 18px;
    padding: 16px; color: #333; box-sizing: border-box;
}
.results-item-block:hover { color: #333; }
.results-item-block:after { content: none !important; }

/* 左：主图 */
.results-item-block .hd {
    flex: 0 0 250px; width: 250px; height: 165px; overflow: hidden;
    border-radius: 4px; background: #f6f6f6;
}
.results-item-block .hd .pic { width: 100%; height: 100%; }
.results-item-block .hd .pic img {
    display: block; width: 100%; height: 165px; object-fit: cover; transition: transform .35s;
}
.hotel-list-group > li:hover .results-item-block .hd .pic img { transform: scale(1.05); }

/* 中：酒店信息 */
.results-item-block .info { flex: 1 1 auto; min-width: 0; }
.results-item-block .info .title-bar {
    margin: 0 0 10px; font-size: 17px; font-weight: 700; color: #222; line-height: 24px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.hotel-list-group > li:hover .results-item-block .info .title-bar { color: #0ABAB5; }
.results-item-block .info .type-bar { margin-bottom: 8px; }
.results-item-block .info .type-bar .label {
    display: inline-block; height: 20px; line-height: 18px; padding: 0 7px; margin: 0 6px 6px 0;
    border: 1px solid #0ABAB5; border-radius: 3px; color: #0ABAB5; font-size: 12px;
}
.results-item-block .info .cfg-bar { margin-bottom: 8px; }
.results-item-block .info .cfg-bar .item {
    display: inline-block; margin: 0 12px 6px 0; color: #777; font-size: 12px; line-height: 16px;
}
.results-item-block .info .cfg-bar .item .icon {
    display: inline-block; width: 4px; height: 4px; margin-right: 5px; vertical-align: middle;
    background: #0ABAB5; border-radius: 50%;
}
.results-item-block .info .ads-bar {
    margin-bottom: 6px; color: #888; font-size: 13px; line-height: 20px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.results-item-block .info .ads-bar .icon {
    display: inline-block; width: 11px; height: 11px; margin-right: 5px; vertical-align: -1px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23999999'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.results-item-block .info .gys-bar { color: #aaa; font-size: 12px; }

/* 右：价格 / 销量 */
.results-item-block .booking { flex: 0 0 175px; width: 175px; padding-top: 26px; text-align: right; box-sizing: border-box; }
.results-item-block .booking .pri { display: block; color: #999; font-size: 13px; line-height: 1; }
.results-item-block .booking .pri .num { color: #fc6000; font-size: 14px; }
.results-item-block .booking .pri .num em {
    font-family: Arial, Helvetica, sans-serif; font-style: normal;
    font-size: 26px; font-weight: 700; letter-spacing: -.5px;
}
.results-item-block .booking .pri .dx { color: #fc6000; font-size: 20px; font-weight: 700; }
.results-item-block .booking .jf { display: block; margin-top: 6px; color: #fc6000; font-size: 12px; }
.results-item-block .booking .jf .ts { display: inline-block; padding: 0 4px; margin-right: 4px; background: #fdece3; border-radius: 2px; }
.results-item-block .booking .data { margin-top: 14px; }
.results-item-block .booking .data p { color: #999; font-size: 12px; line-height: 20px; }
.results-item-block .booking .data p span { display: block; }
.results-item-block .booking .data .sati .num { color: #fc6000; font-weight: 700; }

/* ---------- 空结果 / 分页 ---------- */
.hotel-list-group .no-content { padding: 60px 0; text-align: center; color: #999; }
.hotel-list-group .no-content a { color: #0ABAB5; }
.hotel-list-group .main_mod_page { float: left; width: 100%; margin: 6px 0 20px; text-align: center; }

/* ---------- 窄屏兜底 ---------- */
@media (max-width: 1240px) {
    .hotel-container { width: 100%; margin-right: 0; }
    .results-item-block { gap: 14px; }
    .results-item-block .hd { flex: 0 0 210px; width: 210px; height: 140px; }
    .results-item-block .hd .pic img { height: 140px; }
    .results-item-block .booking { flex: 0 0 160px; width: 160px; padding-top: 18px; }
}
