
.freestays-tabs { display:flex; gap:12px; margin-bottom:12px; }
.freestays-tab { padding:8px 12px; border:1px solid #ddd; border-radius:8px; cursor:pointer; }
.freestays-tab.active { background:#111; color:#fff; }
.freestays-form { display:grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap:12px; align-items:end; margin-bottom:16px; position:relative; }
.freestays-form label { display:block; font-weight:600; font-size:12px; margin-bottom:4px; }
.freestays-col-2 { grid-column: span 2 / span 2; }
.freestays-col-3 { grid-column: span 3 / span 3; }
.freestays-col-6 { grid-column: span 6 / span 6; }
.freestays-btn { padding:8px 12px; border-radius:6px; border:1px solid #ddd; cursor:pointer; }
.freestays-btn.primary { background:#111; color:#fff; }
.freestays-results { display:grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
.freestays-card { border:1px solid #e5e7eb; border-radius:12px; padding:12px; }
.freestays-card h4 { margin:0 0 8px 0; }
.freestays-notice { padding:12px; border-radius:8px; margin:12px 0; }
.freestays-warning { background:#fff7ed; border:1px solid #fed7aa; }
.freestays-input-help { font-size:11px; color:#6b7280; }
.freestays-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#hotel_suggestions { list-style:none; margin:0; width:100%; }
#hotel_suggestions li { padding:6px 8px; cursor:pointer; }
#hotel_suggestions li:hover { background:#f3f4f6; }
