*{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}
