/* CODE BY JYF */
/* =========================================================
   手机版（≤720px）：底部标签栏、筛选抽屉、详情页底部操作栏、表格变卡片
   ========================================================= */
.tabbar,.mtools,.stchips,.sheet-head,.sheet-foot,.mbar{display:none}
@media (max-width:720px){
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}
  body.has-mbar{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  body.sheet-open{overflow:hidden}
  /* iOS 聚焦输入框时字号小于 16px 会自动放大页面 */
  input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],input[type=tel],input[type=time],input[type=search],select,textarea{font-size:16px;min-height:42px}
  td select,td input[type=date],.pitem select{min-height:36px}
  /* 顶部：一行，导航移到底部标签栏 */
  .bar{flex-wrap:nowrap;gap:8px;height:52px;padding-block:0}
  #nav{display:none}
  .logo{flex:1;min-width:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .who{flex-wrap:nowrap;gap:6px}
  .who .wname,.who .wbadge{display:none}
  .who .p-login .hl,.who .admin-entry .hl{display:none}   /* 手机上中介登录、管理后台只显示图标 */
  .who .hbtn{padding:6px 9px}
  main{padding-block:14px 24px}
  h1{font-size:21px}
  h2{font-size:17px;margin:22px 0 8px}
  .sub{font-size:14px;margin-bottom:14px}
  /* 触控目标至少 36–44px */
  .btn{min-height:40px;padding:8px 14px}
  .btn.small{min-height:34px;padding:6px 12px}
  .btn.link{min-height:0}
  .act,.cbtn{min-height:36px;padding:6px 12px}
  .tbtn{min-height:46px;min-width:68px}
  .chip span{padding:6px 12px}
  .seg2 button{padding:9px 8px}
  .chk{min-height:36px}
  .tabs button{padding:7px 14px}
  /* 底部标签栏 */
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--surface);border-top:1px solid var(--line);padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
  .tabbar a{display:grid;justify-items:center;align-content:center;gap:2px;height:58px;font-size:11px;color:var(--muted);text-decoration:none;position:relative}
  .tabbar svg{width:23px;height:23px}
  .tabbar a.on{color:var(--accent);font-weight:600;background:none}
  .tabbar a{padding:0;border-radius:0}
  .tabbar .tb-dot{position:absolute;top:5px;left:calc(50% + 7px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--warn);color:#fff;font-size:10.5px;line-height:17px;text-align:center;font-weight:600}
  body.has-mbar .tabbar{display:none}
  .toast{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  /* 找房：简介两行、工具条吸顶、筛选放进抽屉 */
  .home-intro{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;margin-bottom:10px}
  .mtools{display:flex;gap:8px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 52px);z-index:4;background:var(--bg);padding:8px 16px;margin:0 -16px 6px;border-bottom:1px solid transparent}
  .mtools input{flex:1;min-width:0}
  .fbtn{display:inline-flex;align-items:center;gap:6px;flex:none;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:6px;padding:0 14px;font-weight:600;cursor:pointer}
  .fbtn.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
  .fbtn b{min-width:18px;height:18px;border-radius:9px;background:var(--accent);color:var(--on-accent);font-size:11px;line-height:18px;text-align:center;padding:0 5px}
  .homegrid{display:block}
  .side{display:none}
  .side.open{display:block;position:fixed;inset:0;z-index:25;background:var(--surface);max-height:none;overflow-y:auto;overscroll-behavior:contain;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px)}
  .side.open .filters{border:0;border-radius:0;padding:4px 16px 16px;margin:0}
  .side .f-head{display:none}
  .sheet-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1;background:var(--surface);padding:6px 8px 6px 16px;border-bottom:1px solid var(--line);height:54px}
  .sheet-head b{font-size:17px}
  .sheet-x{width:44px;height:44px;border:0;background:none;color:var(--fg);font-size:20px;cursor:pointer;border-radius:50%}
  .sheet-foot{display:flex;gap:10px;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}
  .sheet-foot .primary{flex:1}
  .fg>summary{min-height:40px}
  .stbar{display:none}
  .stchips{display:flex;gap:6px;overflow-x:auto;margin:0 -16px 10px;padding:2px 16px;scrollbar-width:none}
  .stchips::-webkit-scrollbar{display:none}
  .stchips button{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:0 13px;min-height:36px;font-size:13px;cursor:pointer;white-space:nowrap}
  .stchips button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
  .stchips .n{color:var(--muted);font-weight:400;margin-left:3px}
  .achips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 10px;padding:0 16px;scrollbar-width:none}
  .achip{flex:none;min-height:32px}
  .resbar .vmode [data-vm="list"]{display:none}   /* 手机上只保留网格和地图 */
  .resbar .vmode button{padding:5px 10px}
  .sttoggles{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 10px;padding:2px 16px;scrollbar-width:none}
  .sttoggles::-webkit-scrollbar{display:none}
  .sttog{min-height:36px;font-size:13px}
  .resbar .sortl{font-size:0;gap:0}
  .resbar .sortl select{font-size:14px;min-height:34px;padding:4px 8px}
  .grid,.grid.listv{grid-template-columns:minmax(0,1fr);gap:12px}
  .grid.listv .card{flex-direction:column}
  .listv .media{max-width:none;flex:none}
  .listv .ph{aspect-ratio:16/10;min-height:0}
  .listv .body{padding:12px 14px;gap:8px}
  .listv .foot{padding:8px 14px}
  .listv h3,.listv .price{font-size:inherit}
  .listv .card .prov{display:none}
  .card h3{font-size:15.5px}
  .card .price{font-size:17px}
  .foot.acts{padding:8px 12px}
  .foot .act{flex:1;justify-content:center}
  .qv{padding:7px 12px}
  /* 详情：手机上把操作面板放到出租状态后面，底部固定价格和主按钮 */
  .detail{display:flex;flex-direction:column;gap:14px;align-items:stretch}
  .detail>.col{display:contents}
  .p-media,.p-info{order:1}.p-trust{order:2}.p-act{order:3}.p-book{order:4}.p-pair{order:5}.p-pair>.panel{order:0}.p-amen{order:6}.p-desc{order:7}
  .p-media>.mtabs{top:22px;left:22px;right:22px}
  .pi-row{flex-wrap:wrap}
  .pi-act{width:100%;margin-left:0;justify-content:flex-start}
  .pi-share .lbl{display:none}
  .pi-share{padding-left:10px;padding-right:10px}
  .pi-share svg{width:17px;height:17px}
  .p-media>.mtabs{gap:4px}
  .garr{width:34px;height:34px;font-size:24px}.gprev{left:6px}.gnext{right:6px}
  .p-media>.mtabs button{padding:4px 9px;font-size:12.5px}
  .detail .panel{padding:14px;scroll-margin-top:calc(env(safe-area-inset-top,0px) + 64px)}
  .mbar{display:flex;align-items:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--surface);border-top:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));box-shadow:0 -4px 14px rgba(0,0,0,.08)}
  .mbar .mp{flex:1;min-width:0;line-height:1.25}
  .mbar .mp b{font-size:18px;font-variant-numeric:tabular-nums}
  .mbar .mp small{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mbar .mfav{width:44px;height:44px;flex:none;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-size:19px;color:var(--fav);cursor:pointer}
  .mbar .btn.primary{min-height:44px;padding:0 18px;font-weight:600}
  .times{gap:8px}
  /* 后台：菜单变成吸顶的横向标签 */
  .dnav{position:sticky;top:calc(env(safe-area-inset-top,0px) + 52px);z-index:4;margin:0 -16px;border-radius:0;border-left:0;border-right:0;padding:6px 10px;scrollbar-width:none}
  .dnav::-webkit-scrollbar{display:none}
  .dnav a{padding:8px 12px}
  .dmain h1{font-size:20px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stat{padding:10px 12px}
  .stat b{font-size:20px}
  .savebar{bottom:calc(60px + env(safe-area-inset-bottom,0px));margin-inline:-4px}
  /* 表格变成卡片：每行一张卡，左边是列名 */
  .tablewrap{overflow:visible;background:none;border:0;border-radius:0}
  .tablewrap table{min-width:0!important;display:block}
  .tablewrap thead{display:none}
  .tablewrap tbody{display:grid;gap:10px}
  .tablewrap tr{display:grid;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px}
  .tablewrap td{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:10px;align-items:start;padding:0;border:0;min-width:0!important}
  .tablewrap td::before{content:attr(data-label);color:var(--muted);font-size:12.5px;padding-top:1px}
  .tablewrap td[data-label=""]{grid-template-columns:minmax(0,1fr)}
  .tablewrap td[data-label=""]::before{display:none}
  .tablewrap td:first-child{grid-template-columns:minmax(0,1fr);font-weight:600}
  .tablewrap td:first-child::before{display:none}
  .tablewrap td:first-child .meta{font-weight:400}
  .tlinks{gap:4px 18px}
  .tlinks .btn.link,.tlinks a{display:inline-flex;align-items:center;min-height:36px}
  /* 弹窗从底部弹出 */
  .modal{place-items:end stretch;padding:0}
  .modal .box{max-width:none;border-radius:14px 14px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));max-height:88vh;overflow-y:auto}
  .modal .box .row>.btn{flex:1 1 auto;text-align:center}
  /* 其他 */
  .auth .panel{padding:16px}
  .prov{width:100%}
  .lrow{padding:10px 12px}
  .ptools label{min-width:0;flex:1 1 140px}
}
