.stars{display:inline-flex;gap:4px}.star.filled{background:gold;border-color:#e0b000}:root{--bg:#f7f7fb;--card:#fff;--line:#e6e6ef;--text:#222;--muted:#666}*{box-sizing:border-box}html,body{width:100%;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Arial;overflow-y:auto;-webkit-overflow-scrolling:touch}.container{max-width:980px;margin:24px auto;padding:0 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:0 1px 3px #0000000f;margin:12px 0}.card.form{display:grid;grid-template-columns:1fr;gap:12px 16px}@media (min-width: 700px){.card.form{grid-template-columns:1fr 1fr}}.card.form>label{display:flex;flex-direction:column;gap:6px}.card.form .full{grid-column:1 / -1}.card.form .row-rating{grid-column:1 / -1;display:flex;align-items:center;gap:8px}input,textarea,select{width:100%;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}textarea{resize:vertical;min-height:70px}.price-row{display:flex;gap:8px}.price-row>input{flex:1 1 0;min-width:0}.actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}button{border:1px solid var(--line);background:#111;color:#fff;padding:8px 12px;border-radius:10px;cursor:pointer}button.secondary{background:#fff;color:#111}.card.apt{position:relative;background-color:#678eba}.expandBtn{position:absolute;top:8px;right:8px;background:transparent;border:none;margin:0;padding:0;line-height:0}.expandBtn .icon{width:20px;display:block;object-fit:contain}.overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;overflow:auto}.expandedCard{background:var(--card);color:var(--text);border-radius:12px;padding:24px;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 4px 20px #0000004d;animation:zoomIn .2s ease}.closeBtn{position:absolute;top:12px;right:12px;background:transparent;border:none;cursor:pointer}.closeBtn .icon{width:24px;height:24px}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.photoCarousel{position:relative;display:grid;place-items:center;gap:8px;outline:none}.photoCarousel.sm{width:100%;max-width:100%;margin:8px 0}.photoCarousel.lg{max-width:95%;margin:12px auto}.photoCarousel .photo{width:100%;height:260px;object-fit:cover;border-radius:12px;-webkit-user-select:none;user-select:none;pointer-events:none;box-shadow:0 4px 16px #00000026}.photoCarousel.lg .photo{max-width:90%;height:auto;max-height:600px;display:block;margin:0 auto}.navBtn{position:absolute;top:50%;transform:translateY(-50%);border:none;background:#00000059;color:#fff;font-size:28px;width:40px;height:40px;border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:opacity .2s ease}.navBtn:hover{background:#00000080}.navBtn.prev{left:8px}.navBtn.next{right:8px}@media (min-width: 700px){.navBtn.prev{left:-15px}.navBtn.next{right:-15px}}.dots{position:absolute;bottom:0;left:0;right:0;display:flex;gap:6px;overflow-x:auto;padding:6px 8px;border-radius:9999px;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:100%;max-width:100%;scrollbar-width:none;margin-left:auto;margin-right:auto}.photoCarousel.lg .dots{max-width:90%}.dots::-webkit-scrollbar{display:none}.dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:#ffffffe6;opacity:.6;transition:transform .2s,opacity .2s;margin-left:auto;margin-right:auto}.dot.active{opacity:1;transform:scale(1.2)}.titleRow{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.address{color:#fff}.stars{display:inline-flex;gap:4px;-webkit-user-select:none;user-select:none}.starBtn{background:transparent;border:none;font-size:22px;line-height:1;cursor:pointer;padding:0 2px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:#f3f4f8;padding:4px 8px;border-radius:999px;font-size:.85rem;display:inline-flex;gap:6px;align-items:center}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.muted{color:var(--muted)}.price-range{font-size:1rem}
