:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}html,body{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}#root{width:100%;height:100%;max-width:none!important;margin:0!important;padding:0!important;text-align:left}body,html{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.site-header{background:#2c3e50;color:#fff;padding:15px 20px;text-align:center;box-shadow:0 2px 5px #0003;z-index:20}.site-header h1{margin:0;font-size:1.5rem;display:flex;align-items:center;justify-content:center;gap:10px}.subheading{font-size:.9rem;color:#ecf0f1;font-style:italic;max-width:800px;margin:8px auto 0}.main-content{display:flex;flex:1;overflow:hidden}.sidebar{width:350px;min-width:350px;background:#fff;border-right:1px solid #ddd;display:flex;flex-direction:column;z-index:10}.controls{padding:20px;border-bottom:1px solid #eee;background:#f8f9fa;display:flex;flex-direction:column;gap:12px}.controls input{padding:12px;font-size:16px;border:1px solid #ccc;border-radius:6px}.button-group{display:flex;gap:10px}.btn-loc{flex:1;padding:10px;background:#e2e6ea;border:1px solid #ced4da;border-radius:6px;cursor:pointer;font-weight:600}.btn-search{flex:1;padding:10px;background:#0070f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.results-list{flex:1;overflow-y:auto;min-height:0}.card{padding:16px;border-bottom:1px solid #eaeaea;background:#fff;color:#333}.card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.card h3{margin:0;font-size:1.1rem;font-weight:600;color:#111}.price{color:#10b981;font-weight:700;font-size:.9rem;background:#ecfdf5;padding:2px 6px;border-radius:4px}.rating-row{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:.9rem;color:#555}.stars{color:#f59e0b;font-weight:700}.summary{font-size:.85rem;line-height:1.4;color:#444;background:#f9fafb;padding:8px 10px;border-radius:6px;margin:8px 0;border-left:3px solid #ddd}.address{font-size:.8rem;color:#666;margin-bottom:12px}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.card-footer a{text-decoration:none;color:#0070f3;font-weight:600;font-size:.9rem}.card-footer a:hover{text-decoration:underline}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700}.badge.open{background:#d4edda;color:#155724}.badge.closed{background:#f8d7da;color:#721c24}.map-container-relative{position:relative;flex:1;height:100%;width:100%}.search-area-btn{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:50;background-color:#fff;color:#333;font-weight:700;border:1px solid #ddd;padding:10px 20px;border-radius:30px;box-shadow:0 2px 6px #0000004d;cursor:pointer;transition:all .2s ease}.search-area-btn:hover{background-color:#f9f9f9;transform:translate(-50%) scale(1.05)}.map-wrapper{height:100%;width:100%;background-color:#eee}@media(max-width:768px){.main-content{flex-direction:column}.sidebar{width:100%;min-width:100%;height:40vh;border-right:none;border-bottom:1px solid #ddd;order:1}.map-container-relative{height:60vh;width:100%;order:2}}.card.selected{background-color:#f0f9ff;border-left:5px solid #0070f3;box-shadow:inset 0 0 10px #0000000d}.photo-badge{font-size:.8rem;color:#666;background:#eee;padding:2px 6px;border-radius:4px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box}.modal-content{background:#fff;width:100%;max-width:600px;border-radius:12px;padding:20px;box-shadow:0 10px 30px #00000080;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-header h2{margin:0;font-size:1.4rem}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;line-height:1;color:#666}.photos-grid{display:flex;flex-direction:column;gap:15px}.photo-item img{width:100%;height:300px;object-fit:cover;border-radius:8px}.filter-bar{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px}.filter-chip{padding:6px 12px;border-radius:20px;border:1px solid #ddd;background:#fff;color:#555;font-size:.85rem;cursor:pointer;white-space:nowrap;transition:all .2s ease}.filter-chip:hover{background:#f0f0f0}.filter-chip.active{background:#2c3e50;color:#fff;border-color:#2c3e50;font-weight:700}
