*{margin:0;padding:0;box-sizing:border-box}
:root{--primary:#E4393C;--accent:#E4393C;--ink:#333;--sub:#999;--bg:#F5F5F5;--line:#F0F0F0}
body.site-www{--primary:#1F2A44;--accent:#B9975B}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;color:var(--ink);background:var(--bg);max-width:640px;margin:0 auto;padding-bottom:20px}
a{color:inherit;text-decoration:none}
img{display:block}
header{background:#fff;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.logo{font-size:20px;font-weight:800}
.logo b{color:var(--primary)}
body.site-www .logo{color:var(--primary)}
header .hlink{font-size:15px}
main{padding:10px}
.section{background:#fff;border-radius:12px;padding:14px;margin-bottom:10px}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sec-title{font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px}
.sec-title::before{content:'';display:block;width:4px;height:16px;border-radius:2px;background:var(--primary)}
body.site-www .sec-title::before{background:var(--accent)}
.more{font-size:13px;color:var(--sub)}
.meta{font-size:12px;color:var(--sub)}
.pubmeta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.price{color:#E4393C;font-weight:700}
.btn{display:inline-block;background:var(--primary);color:#fff;padding:10px 22px;border-radius:8px;border:0;font-size:15px;text-align:center;cursor:pointer}
body.site-www .btn{background:var(--accent)}
.tag{display:inline-block;background:#F5F6F8;color:#666;font-size:11px;padding:2px 7px;border-radius:4px;margin-right:6px}
.tag-red{background:#FDEBEC;color:#E4393C;border:1px solid #F5C2C4}
.input{padding:10px;border:1px solid #ddd;border-radius:8px;font-size:14px}
.pagination{text-align:center;padding:12px;font-size:14px}
.pagination a{color:var(--primary);margin:0 8px}
.service-float{position:fixed;right:14px;bottom:80px;width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;box-shadow:0 3px 10px rgba(0,0,0,.25);z-index:50}
body.site-www .service-float{background:var(--accent)}
.service-float svg{width:18px;height:18px;margin-bottom:1px}
footer{padding:20px;text-align:center;font-size:12px;color:var(--sub);line-height:1.8}
footer p{margin:0}
footer a{color:var(--sub)}
.foot-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px}
.content{line-height:1.8}
.content img{max-width:100%;border-radius:8px}
.search-row{display:flex;gap:8px}
.search-row .input{flex:1;min-width:0}
.hs{display:flex;overflow-x:auto;gap:10px;-webkit-overflow-scrolling:touch}
.hs::-webkit-scrollbar{display:none}
.menu-btn{background:none;border:0;padding:6px;display:flex;flex-direction:column;gap:5px;cursor:pointer}
.menu-btn span{display:block;width:24px;height:2.5px;background:var(--primary);border-radius:2px;transition:.2s}
.menu-btn.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn.open span:nth-child(2){opacity:0}
.menu-btn.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.drawer{display:none;position:fixed;top:49px;left:0;right:0;bottom:0;z-index:40;max-width:640px;margin:0 auto}
.drawer.open{display:block}
.drawer-menu{background:#fff;border-radius:0 0 14px 14px;overflow:hidden}
.drawer-menu a{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);font-size:16px}
.drawer-menu a::after{content:'›';margin-left:auto;color:#bbb;font-size:18px}
.drawer-menu svg{width:22px;height:22px;stroke:var(--primary);fill:none;stroke-width:1.6}
.drawer-mask{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);z-index:-1}

/* 工具类：替代模板里原来的 style 属性 */
.b{font-weight:700}
.tc{text-align:center}
.flex1{flex:1;min-width:0}
.chev{flex:0;color:#bbb;font-weight:400}
.fs12{font-size:12px}
.fs13{font-size:13px}
.fs16{font-size:16px}
.fs18{font-size:18px}
.fs20{font-size:20px}
.fs22{font-size:22px}
.fs24{font-size:24px}
.mt4{margin-top:4px}
.mt6{margin-top:6px}
.mt8{margin-top:8px}
.mt10{margin-top:10px}
.mt14{margin-top:14px}
.mb10{margin-bottom:10px}
.ml8{margin-left:8px}
.my4{margin:4px 0}
.my6{margin:6px 0}
.my16{margin:16px 0}
.h-title{font-size:20px;font-weight:800}
.h-title h1{display:inline;font:inherit}
.tag-lg{font-size:13px;padding:5px 12px}
.btn-outline{background:#fff;color:var(--primary);border:1px solid var(--primary);padding:10px 12px}
.btn-block{display:block;padding:14px}
.row-link{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
/* 页头城市切换 + 城市选择页 */
.hright{display:flex;align-items:center;gap:14px}
.city{display:flex;align-items:center;gap:2px;font-size:14px}
.city svg{width:15px;height:15px;fill:var(--primary)}
.city-grid{display:flex;flex-wrap:wrap;gap:8px}
.city-grid a{padding:6px 14px;background:#F5F6F8;border-radius:6px;font-size:14px}
.city-group{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.city-group b{flex:none;width:18px;color:var(--primary)}
.city-group div{display:flex;flex-wrap:wrap;gap:6px 14px}
.city-grid a.on,.city-group a.on{color:var(--primary);font-weight:700}
/* 面包屑 */
/* 贴在页头下面的通栏白条(抵消 main 的 10px 内边距); 单行不换行, 当前页标题吃掉剩余宽度后省略 */
.crumb{display:flex;align-items:center;gap:7px;margin:-10px -10px 10px;padding:10px 14px;background:#fff;box-shadow:0 1px 0 var(--line);font-size:13px;line-height:18px;white-space:nowrap}
.crumb a{flex:none;color:#767676}
.crumb a:active{color:var(--primary)}
/* 首页前的小房子图标, 跟品牌色走(官网自动变藏青) */
.crumb a:first-child{display:flex;align-items:center;gap:4px}
.crumb a:first-child::before{content:'';width:14px;height:14px;background:var(--primary);-webkit-mask:var(--crumb-home) center/contain no-repeat;mask:var(--crumb-home) center/contain no-repeat}
:root{--crumb-home:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.2 2.5 11.4l1.3 1.5L5 11.9V20a1 1 0 0 0 1 1h4.5v-5.5h3V21H18a1 1 0 0 0 1-1v-8.1l1.2 1 1.3-1.5z'/%3E%3C/svg%3E")}
/* 分隔符: 源码里仍是 > 字符, 视觉上换成细箭头 */
.crumb i{flex:none;width:5px;height:5px;font-size:0;border:solid #C4C4C4;border-width:1px 1px 0 0;transform:rotate(45deg)}
/* 下边距 10px 正好抵掉详情页大图的 margin-top:-10px, 大图贴着白条而不是压上来(原来文字被图盖住就是这个) */
.crumb b{flex:1;min-width:0;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.map-links{display:flex;flex-wrap:wrap;gap:8px}
.map-links a{font-size:13px;color:#333;background:#F6F6F6;border-radius:6px;padding:6px 10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
