/* Body lock */
body.page-chat {
  overflow: hidden !important; height: 100dvh !important;
  display: flex !important; flex-direction: column !important;
}
body.page-chat footer { display: none !important; }

/* Session bar */
.session-bar {
  display: flex !important; align-items: center !important; gap: 8px !important;
  padding: 8px 16px !important; border-bottom: 1px solid var(--color-border) !important;
  background: var(--color-white) !important; overflow-x: auto !important;
  scrollbar-width: none !important;
}
.session-bar-new {
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  border: 1px solid var(--color-border) !important; background: var(--color-white) !important;
  font-size: 16px !important; color: var(--color-text-secondary) !important;
  cursor: pointer !important; flex-shrink: 0 !important; display: flex !important;
  align-items: center !important; justify-content: center !important;
}
.session-pill {
  display: inline-flex !important; align-items: center !important;
  height: 28px !important; padding: 0 12px !important;
  border-radius: var(--radius-full) !important; border: 1px solid var(--color-border) !important;
  background: var(--color-white) !important; font-size: 12px !important; font-weight: 500 !important;
  color: var(--color-text-secondary) !important; white-space: nowrap !important;
  cursor: pointer !important; flex-shrink: 0 !important; transition: var(--transition) !important;
}
.session-pill.active {
  background: var(--color-primary-light) !important; border-color: rgba(21,99,223,.3) !important;
  color: var(--color-primary) !important; font-weight: 600 !important;
}

/* Input area */
.chat-form { display: flex !important; align-items: flex-end !important; gap: 10px !important; }
#chatInput {
  flex: 1 !important; min-height: 44px !important; max-height: 120px !important;
  padding: 11px 14px !important;
  border: 1.5px solid var(--color-border) !important;
  border-radius: 14px !important; background: var(--color-bg-surface) !important;
  font-family: var(--font-family) !important; font-size: 14px !important;
  color: var(--color-text-primary) !important; resize: none !important; outline: none !important;
  transition: border-color .2s, box-shadow .2s, background .2s !important;
}
#chatInput:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb),.08) !important;
  background: var(--color-white) !important;
}
#chatSend {
  width: 44px !important; height: 44px !important; border-radius: 50% !important;
  background: var(--color-primary) !important; border: none !important; color: #fff !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  cursor: pointer !important; flex-shrink: 0 !important; transition: var(--transition) !important;
}
#chatSend:hover { background: var(--color-primary-dark) !important; box-shadow: 0 4px 12px rgba(var(--color-primary-rgb),.35) !important; }

/* Chat messages */
.chat-msg-content {
  max-width: 78% !important;
  padding: 12px 16px !important; border-radius: 16px !important;
  font-size: 14px !important; line-height: 1.6 !important;
}
.chat-msg.bot .chat-msg-content {
  background: var(--color-white) !important; border: 1px solid var(--color-border) !important;
  border-bottom-left-radius: 4px !important; color: var(--color-text-primary) !important;
  margin-left: 8px !important;
}
.chat-msg.user .chat-msg-content {
  background: var(--color-primary) !important; color: #fff !important;
  border-bottom-right-radius: 4px !important; margin-right: 8px !important;
  margin-left: auto !important;
}

/* Ad/Location toggles */
.chat-ad-toggle .btn, .chat-location-toggle .btn {
  height: 32px !important; padding: 0 12px !important;
  border-radius: var(--radius-full) !important;
  font-size: 12px !important; font-weight: 600 !important;
  transition: var(--transition) !important;
}

/* Sidebar results (desktop) */
.widget-box.box-latest-property {
  border-radius: var(--radius-lg) !important; border: 1px solid var(--color-border) !important;
  box-shadow: var(--shadow-sm) !important; overflow: hidden !important; height: 100% !important;
}
#property-results { padding: 10px !important; display: flex !important; flex-direction: column !important; gap: 8px !important; list-style: none !important; }
.latest-property-item {
  display: flex !important; gap: 10px !important; padding: 10px !important;
  border-radius: 10px !important; border: 1px solid var(--color-border) !important;
  background: var(--color-white) !important; cursor: pointer !important;
  transition: var(--transition) !important; text-decoration: none !important; color: inherit !important;
}
.latest-property-item:hover {
  border-color: var(--color-primary) !important;
  box-shadow: var(--shadow-md) !important; transform: translateY(-1px) !important;
}
.latest-property-item .images-style {
  width: 76px !important; height: 64px !important; border-radius: 6px !important;
  overflow: hidden !important; flex-shrink: 0 !important; display: block !important;
}
.latest-property-item .images-style img { width:100% !important; height:100% !important; object-fit:cover !important; }
.latest-property-item .content { flex: 1 !important; min-width: 0 !important; }
.latest-property-item .text-btn { font-size: 12px !important; font-weight: 600 !important; color: var(--color-text-primary) !important; line-height: 1.35 !important; }

/* Mobile results button */
#mobileResultsBtn {
  display: none !important;
  align-items: center !important; gap: 6px !important;
  height: 34px !important; padding: 0 12px !important;
  border-radius: var(--radius-full) !important; border: 1px solid var(--color-primary) !important;
  background: var(--color-primary-light) !important; font-size: 12px !important;
  font-weight: 600 !important; color: var(--color-primary) !important;
  position: static !important;
}
#mobileResultsBtn.visible { display: inline-flex !important; }

/* ── BOTTOM SHEET (chat mobile drawer) ── */
@media (max-width: 991px) {
  #mobileDrawer {
    position: fixed !important;
    top: auto !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100vw !important; max-width: 100vw !important;
    height: auto !important; min-height: 200px !important; max-height: 82dvh !important;
    border-radius: 20px 20px 0 0 !important;
    box-shadow: 0 -8px 40px rgba(22,30,45,.18) !important;
    background: var(--color-white) !important; z-index: 1050 !important;
    display: flex !important; flex-direction: column !important; overflow: hidden !important;
    transform: translateY(100%) !important;
    transition: transform .3s cubic-bezier(.32,.72,0,1) !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }
  .mobile-drawer-header {
    position: relative !important; padding: 20px 20px 14px !important;
    border-bottom: 1px solid var(--color-border) !important;
    flex-shrink: 0 !important; display: flex !important;
    align-items: center !important; justify-content: space-between !important;
  }
  .mobile-drawer-header::before {
    content: '' !important; position: absolute !important; top: 8px !important;
    left: 50% !important; transform: translateX(-50%) !important;
    width: 36px !important; height: 4px !important;
    border-radius: 2px !important; background: #d1d5db !important;
  }
  .mobile-drawer-header span { font-size: 15px !important; font-weight: 700 !important; }
  #mobileDrawerClose {
    width: 30px !important; height: 30px !important; border-radius: 50% !important;
    border: 1px solid var(--color-border) !important; background: var(--color-white) !important;
    cursor: pointer !important; font-size: 13px !important; color: var(--color-text-secondary) !important;
  }
  #property-results-mobile {
    flex: 1 !important; overflow-y: auto !important; padding: 12px !important;
    display: flex !important; flex-direction: column !important; gap: 8px !important;
    list-style: none !important; margin: 0 !important;
  }
}
