﻿*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'Noto Sans',sans-serif;background:#f6f7fb;color:#111}
a{color:inherit;text-decoration:none}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 16px;background:#fff;border-bottom:1px solid #eee}
.nav .logo{font-weight:700;font-size:20px;color:#5b6cff}
.nav nav{display:flex;gap:16px}
.nav nav a.active{color:#5b6cff}
.hero{background:linear-gradient(135deg,#f0f2ff 0%,#e8ecff 100%);padding:40px 16px;text-align:center;border-bottom:1px solid #dfe3ff}
.hero h1{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 8px}
.hero p{font-size:16px;color:#666;margin:0}
.filter-section{background:#fff;padding:20px 16px;text-align:center;border-bottom:1px solid #eee}
.filter-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #5b6cff;background:#fff;color:#5b6cff;border-radius:12px;padding:10px 20px;font-size:16px;font-weight:500}
.filter-icon{font-size:18px}
.arrow{font-size:12px;transition:transform 0.2s}
.filters{background:#eef1ff;border-bottom:1px solid #dfe3ff;padding:12px 12px 6px}
.filters.hidden{display:none}
.filters .grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:480px){.filters .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:768px){.filters .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.filters .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
label{display:flex;flex-direction:column;gap:6px;font-size:14px}
input,select{padding:8px 10px;border:1px solid #cfd4ea;border-radius:8px;background:#fff}
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}
@media(min-width:480px){.services{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.services{grid-template-columns:repeat(4,1fr)}}
.services label{flex-direction:row;align-items:center;gap:4px;font-size:12px;padding:4px 0}
.actions{display:flex;gap:10px;justify-content:center;padding:10px 4px 12px;flex-wrap:wrap}
@media(min-width:480px){.actions{justify-content:flex-end}}
.actions .primary{background:#5b6cff;color:#fff;border:0;border-radius:8px;padding:8px 14px}
.actions button{border:1px solid #cfd4ea;background:#fff;border-radius:8px;padding:8px 14px}
.tabs{display:flex;gap:16px;padding:12px 16px}
.tabs .tab{background:transparent;border:0;border-bottom:2px solid transparent;padding:8px 2px}
.tabs .tab.active{border-color:#5b6cff;color:#5b6cff}
.cards{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:14px;padding:0 12px 18px}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #eee;display:flex;flex-direction:column}
.card .media{  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3; /* ✅ 新推荐方式，替代 padding-top */
  overflow: hidden;    /* ✅ 防止 Safari 圆角溢出 */
  background: #000;}
.card .media img{display: block; /* ✅ 去除 Safari 图片底部间隙 */
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-object-fit: cover; /* ✅ Safari 兼容 */
  border-radius: inherit;
  transform: translateZ(0); /* ✅ 旧版Safari强制GPU渲染修复错位 */
  filter: brightness(0.92);}
.card .overlay-top{position:absolute;top:12px;left:12px;z-index:2}
.card .price-overlay{font-size:20px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.5)}
.card .days-overlay{font-size:12px;color:#fff;margin-top:4px;text-shadow:0 1px 2px rgba(0,0,0,0.5)}
.card .overlay-middle{position:absolute;bottom:60px;left:12px;right:12px;z-index:2}
.card .info-overlay{font-size:14px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,0.7)}
.card .overlay-bottom{position:absolute;bottom:12px;left:12px;right:12px;z-index:2}
.card .services-overlay{display:flex;flex-wrap:wrap;gap:6px}
.card .service-chip{background:rgba(255,255,255,0.9);color:#333;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:500}
.card .service-可飞{background:#4a90e2;color:#fff}
.card .service-可过夜{background:#87ceeb;color:#fff}
.card .service-可口{background:#ffb6c1;color:#fff}
.card .service-可sm{background:#9370db;color:#fff}
.card .service-无套{background:#ffa500;color:#fff}
.card .service-可同居{background:#90ee90;color:#fff}
.card .body{padding:12px;display:flex;flex-direction:column;gap:8px}
.card .location-chip{background:#f0f0f0;color:#666;border-radius:12px;padding:4px 8px;font-size:12px}
.card .available-chip{background:#e8f5e8;color:#4caf50;border-radius:12px;padding:4px 8px;font-size:12px}
.card .detail-btn{background:#5b6cff;color:#fff;border:0;border-radius:8px;padding:10px;font-size:14px;font-weight:500;width:100%}
.chip{display:inline-flex;align-items:center;gap:6px;background:#eef1ff;color:#4a57d1;border-radius:999px;padding:2px 8px;font-size:12px}
.pager button{min-width:44px;min-height:44px;padding:8px 12px;font-size:16px;font-weight:500;border-radius:8px;border:1px solid #ddd;background:#fff;color:#333;cursor:pointer;transition:all 0.2s}
.pager button:hover{background:#f5f5f5;border-color:#5b6cff}
.pager button:disabled{opacity:0.5;cursor:not-allowed}
.row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.price{font-size:20px;font-weight:700}
.meta{color:#555;font-size:13px}
