.hs-places-hero { color:#fff; background:linear-gradient(135deg,#0f766e,#0891b2); }
.hs-places-nav a { font-weight:600; }
.kizmio-homestay-page .hs-filter { border-radius:12px!important; overflow:hidden; }
.kizmio-homestay-page .hs-filter .form-control,
.kizmio-homestay-page .hs-filter .form-select { width:100%; min-height:38px; border-radius:8px; }
.kizmio-homestay-page .hs-places-toolbar { gap:16px; }
.kizmio-homestay-page .hs-places-toolbar > span { font-size:.92rem; font-weight:600; }
.kizmio-homestay-page .hs-places-results { display:flex; flex-direction:column; gap:12px; }
.kizmio-homestay-page .hs-place-result { display:flex; align-items:center; gap:16px; padding:12px; background:#fff; border:1px solid #e5e8ec; border-radius:14px; box-shadow:0 2px 9px rgba(20,35,55,.06); transition:box-shadow .2s,transform .2s; }
.kizmio-homestay-page .hs-place-result:hover { transform:translateY(-1px); box-shadow:0 7px 20px rgba(20,35,55,.11); }
.kizmio-homestay-page .hs-place-result-photo { position:relative; flex:0 0 164px; width:164px; height:164px; border-radius:11px; overflow:hidden; background:linear-gradient(135deg,#0f766e,#0891b2); }
.kizmio-homestay-page .homestay-card-cover { display:block; width:100%; height:100%; object-fit:cover; }
.kizmio-homestay-page .hs-cover-placeholder { display:flex; width:100%; height:100%; align-items:center; justify-content:center; color:rgba(255,255,255,.72); font-size:40px; }
.kizmio-homestay-page .hs-place-result-body { flex:1; min-width:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.kizmio-homestay-page .hs-place-result-top { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.kizmio-homestay-page .hs-place-result-top h3 { margin:0; font-size:1.18rem; font-weight:700; line-height:1.25; }
.kizmio-homestay-page .hs-place-result-top h3 a { color:#202124; text-decoration:none; }
.kizmio-homestay-page .hs-place-result-category { flex:none; padding:5px 9px; border-radius:20px; color:#4b5563; background:#f1f3f4; font-size:.72rem; }
.kizmio-homestay-page .hs-place-result-location { margin-top:8px; overflow:hidden; color:#5f6368; font-size:.82rem; text-overflow:ellipsis; white-space:nowrap; }
.kizmio-homestay-page .hs-place-result-location i { margin-right:5px; color:#ea4335; }
.kizmio-homestay-page .hs-place-result-facts { display:flex; flex-wrap:wrap; gap:14px; margin-top:9px; color:#6b7280; font-size:.8rem; }
.kizmio-homestay-page .hs-place-result-facts i { width:16px; margin-right:4px; color:#9aa0a6; }
.kizmio-homestay-page .hs-place-result-bottom { display:flex; align-items:center; gap:14px; min-width:0; margin-top:auto; padding-top:11px; }
.kizmio-homestay-page .hs-place-owner { display:flex; align-items:center; min-width:0; color:#4b5563; font-size:.78rem; font-weight:600; text-decoration:none; }
.kizmio-homestay-page .homestay-owner-avatar { display:block; width:32px!important; height:32px!important; min-width:32px; max-width:32px; aspect-ratio:1/1; margin-right:7px; border-radius:50%; object-fit:cover; flex:0 0 32px; }
.kizmio-homestay-page .hs-place-owner .fa-check-circle { margin-left:4px; color:var(--bs-primary); }
.kizmio-homestay-page .hs-place-price { margin-left:auto; white-space:nowrap; }
.kizmio-homestay-page .hs-place-price strong { color:#202124; font-size:1rem; }
.kizmio-homestay-page .hs-place-price span { color:#70757a; font-size:.72rem; }
.kizmio-homestay-page .place-result-open { flex:none; font-size:.8rem; font-weight:600; text-decoration:none; }

.hs-detail-cover { width:100%; height:360px; object-fit:cover; }
.hs-cover-preview { display:block; width:100%; max-height:260px; aspect-ratio:3.6/1; object-fit:cover; border-radius:8px; }
.hs-gallery-thumb { width:100%; height:170px; object-fit:cover; border-radius:8px; }
.hs-fact { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-bottom:1px solid #eee; }
.hs-fact > i { width:24px; margin-top:4px; color:var(--bs-primary); }
.hs-description { line-height:1.75; white-space:normal; }
.place-nearby-card { transition:transform .2s ease-in-out,box-shadow .2s ease-in-out; }
.place-nearby-card:hover { transform:translateY(-3px); box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)!important; }
.js-hs-nearby-chip { transition:background-color .15s ease-in-out; }
.js-hs-nearby-chip:hover { background-color:#f1f5f9!important; }

@media (max-width:767.98px) {
  .hs-detail-cover { height:220px; }
  .hs-gallery-thumb { height:130px; }
  .hs-places-nav .float-end { display:none; }
  .sg-offcanvas.active { overflow:visible!important; min-height:max-content!important; }
  .sg-offcanvas.active .sg-offcanvas-sidebar { height:auto!important; overflow-y:visible!important; }
}
@media (max-width:575px) {
  .kizmio-homestay-page .hs-places-toolbar { align-items:center!important; }
  .kizmio-homestay-page .hs-place-result { align-items:flex-start; gap:10px; padding:9px; border-radius:11px; }
  .kizmio-homestay-page .hs-place-result-photo { flex-basis:105px; width:105px; height:118px; border-radius:8px; }
  .kizmio-homestay-page .hs-place-result-body { min-height:118px; justify-content:flex-start; }
  .kizmio-homestay-page .hs-place-result-top h3 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:.96rem; }
  .kizmio-homestay-page .hs-place-result-category { display:none; }
  .kizmio-homestay-page .hs-place-result-location { margin-top:5px; font-size:.72rem; }
  .kizmio-homestay-page .hs-place-result-facts { gap:8px; margin-top:6px; font-size:.72rem; }
  .kizmio-homestay-page .hs-place-result-facts span + span { display:none; }
  .kizmio-homestay-page .hs-place-result-bottom { gap:7px; padding-top:7px; }
  .kizmio-homestay-page .homestay-owner-avatar { width:28px!important; height:28px!important; min-width:28px; max-width:28px; flex-basis:28px; }
  .kizmio-homestay-page .hs-place-owner span,
  .kizmio-homestay-page .hs-place-owner .fa-check-circle { display:none; }
  .kizmio-homestay-page .hs-place-price { margin-left:0; }
  .kizmio-homestay-page .hs-place-price strong { font-size:.85rem; }
  .kizmio-homestay-page .place-result-open { margin-left:auto; font-size:.7rem; }
}

/* ==========================================================================
   HOMESTAY - NIGHT MODE
   ========================================================================== */
body.night-mode .kizmio-homestay-page {
  color: var(--kz-plugin-text, #f8fafc);
}

body.night-mode .kizmio-homestay-page .hs-place-result {
  background: var(--kz-plugin-surface, #1e293b) !important;
  border-color: var(--kz-plugin-border, #334155) !important;
  color: var(--kz-plugin-text, #f8fafc) !important;
  box-shadow: var(--kz-plugin-shadow, 0 4px 20px rgba(0, 0, 0, 0.35)) !important;
}

body.night-mode .kizmio-homestay-page .hs-place-result-top h3 a,
body.night-mode .kizmio-homestay-page .hs-place-price strong {
  color: var(--kz-plugin-text, #f8fafc) !important;
}

body.night-mode .kizmio-homestay-page .hs-place-result-category {
  background: var(--kz-plugin-surface-2, #263346) !important;
  color: var(--kz-plugin-text-muted, #94a3b8) !important;
}

body.night-mode .kizmio-homestay-page .hs-place-result-location,
body.night-mode .kizmio-homestay-page .hs-place-result-facts,
body.night-mode .kizmio-homestay-page .hs-place-owner,
body.night-mode .kizmio-homestay-page .hs-place-price span {
  color: var(--kz-plugin-text-muted, #94a3b8) !important;
}

body.night-mode .hs-fact {
  border-color: var(--kz-plugin-border, #334155) !important;
}

