/**
 * Aha Da Nang Rentals - Full-screen Map & danang.kim Style Glowing Dots UI
 * Multi-currency, GPS Near Me, Dual Slider, Floating Property Card, Google Login Wall
 */

:root {
  --aha-primary: #ff385c;
  --aha-primary-glow: rgba(255, 56, 92, 0.45);
  --aha-dark-bg: #121418;
  --aha-dark-surface: #1a1d24;
  --aha-dark-border: rgba(255, 255, 255, 0.12);
  --aha-text-main: #f3f4f6;
  --aha-text-muted: #9ca3af;
  --aha-accent-blue: #007aff;
  --aha-radius: 12px;
  --aha-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   ULTRA-COMPACT FULLSCREEN MAP LAYOUT (danang.kim / Google Maps style)
   Completely hides the WordPress theme header & footer on Rental Map page
   ========================================================================== */
html {
  background-color: #000000 !important;
  background: #000000 !important;
}
body.page-template-template-rental-map,
body.page-template-page-templatestemplate-rental-map-php,
body.page-rentals,
body.rentals {
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-color: #000000 !important;
  background: #000000 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
}

body.page-template-template-rental-map #masthead,
body.page-template-template-rental-map .site-header,
body.page-template-template-rental-map #mobile-header,
body.page-template-template-rental-map .main-navigation,
body.page-template-template-rental-map #mobile-menu-control-wrapper,
body.page-template-template-rental-map #colophon,
body.page-template-template-rental-map .site-footer,
body.page-template-template-rental-map .site-info,
body.page-template-page-templatestemplate-rental-map-php #masthead,
body.page-template-page-templatestemplate-rental-map-php .site-header,
body.page-template-page-templatestemplate-rental-map-php #mobile-header,
body.page-template-page-templatestemplate-rental-map-php .main-navigation,
body.page-template-page-templatestemplate-rental-map-php #colophon,
body.page-template-page-templatestemplate-rental-map-php .site-footer,
body.page-rentals #masthead,
body.page-rentals .site-header,
body.page-rentals #colophon,
body.page-rentals .site-footer {
  display: none !important;
}

body.page-template-template-rental-map #page,
body.page-template-template-rental-map #content,
body.page-template-template-rental-map #primary,
body.page-template-template-rental-map #main,
body.page-template-template-rental-map .site-content,
body.page-template-template-rental-map .content-area,
body.page-template-template-rental-map .site-main,
body.page-template-page-templatestemplate-rental-map-php #page,
body.page-template-page-templatestemplate-rental-map-php #content,
body.page-template-page-templatestemplate-rental-map-php #primary,
body.page-template-page-templatestemplate-rental-map-php #main {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  width: 100vw !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Fullscreen app layout */
.aha-rental-map-app {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  max-width: 100% !important;
  height: 100vh !important;
  height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  background-color: var(--aha-dark-bg);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--aha-text-main);
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 10 !important;
}

/* Reset theme overrides inside app */
/* Reset theme overrides inside app */
.aha-rental-map-app * {
  box-sizing: border-box;
}

/* ==========================================================================
   WORDPRESS ADMIN BAR COMPATIBILITY (DESKTOP & MOBILE)
   Prevents admin bar (#wpadminbar) from overlapping/blocking map header & pills
   ========================================================================== */
body.admin-bar .aha-rental-map-app,
body.admin-bar .aha-tab-seo-stage,
body.admin-bar .aha-tab-scroll-stage,
body.admin-bar .aha-modal-overlay {
  top: 32px !important;
  height: calc(100vh - 32px) !important;
  height: calc(100dvh - 32px) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar .aha-rental-map-app,
  body.admin-bar .aha-tab-seo-stage,
  body.admin-bar .aha-tab-scroll-stage,
  body.admin-bar .aha-modal-overlay {
    top: 46px !important;
    height: calc(100vh - 46px) !important;
    height: calc(100dvh - 46px) !important;
  }
}

/* Top Floating Navigation & Filters Bar - Ultra-Slim & Compact */
.aha-map-nav {
  position: absolute;
  top: 10px;
  left: 12px;
  right: 12px;
  z-index: 2000 !important;
  background: rgba(22, 25, 32, 0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 6px 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.45);
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 1300px;
  margin: 0 auto;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.aha-nav-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 32px;
}

.aha-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.aha-brand-link {
  display: flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: -0.2px;
}

.aha-brand-dot {
  width: 9px;
  height: 9px;
  background-color: var(--aha-primary);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--aha-primary);
  display: inline-block;
  animation: ahaPulseDot 2s infinite ease-in-out;
}

@keyframes ahaPulseDot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}

.aha-brand-badge {
  background: rgba(255, 56, 92, 0.15);
  color: var(--aha-primary);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.aha-live-counter {
  font-size: 11px;
  color: var(--aha-text-muted);
  background: rgba(255, 255, 255, 0.06);
  padding: 2px 7px;
  border-radius: 12px;
}

/* Actions Group */
.aha-nav-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.aha-lang-selector {
  display: flex;
  align-items: center;
}

.aha-select.aha-lang-select {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 3px 6px;
  font-size: 12px;
  font-weight: 500;
  height: 30px;
  outline: none;
  cursor: pointer;
}

/* Landlord Button */
.aha-btn-landlord-portal {
  display: flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #ff385c 0%, #e00b41 100%);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  cursor: pointer;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(255, 56, 92, 0.35);
  transition: all 0.2s;
}

.aha-btn-landlord-portal:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 56, 92, 0.5);
}

.aha-landlord-badge {
  background: rgba(0, 0, 0, 0.25);
  padding: 1px 5px;
  border-radius: 4px;
  font-size: 10px;
}

/* App Install Button & Dropdown Menu */
.aha-app-install-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.aha-btn-app-install {
  width: 30px;
  height: 30px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  color: #fff;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  padding: 0;
}

.aha-btn-app-install:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: #ff385c;
  transform: translateY(-1px);
}

.aha-btn-tip-nav {
  width: 30px;
  height: 30px;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 6px;
  color: #fbbf24;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  flex-shrink: 0;
}

.aha-btn-tip-nav:hover {
  background: rgba(245, 158, 11, 0.28);
  border-color: #f59e0b;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}

.aha-btn-tip-nav:active {
  transform: scale(0.95);
}

.aha-app-install-menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 250px;
  background: rgba(20, 23, 30, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.7);
  z-index: 2600;
  animation: ahaDropdownFade 0.2s ease;
}

.aha-app-install-menu.open {
  display: block;
}

.aha-app-menu-title {
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
}

.aha-app-platforms-grid {
  display: flex;
  gap: 8px;
}

.aha-app-plat-btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s;
  text-align: center;
}

.aha-app-plat-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #ff385c;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 56, 92, 0.3);
}

.aha-plat-icon {
  font-size: 22px;
  line-height: 1;
}

.aha-plat-name {
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
}

.aha-plat-sub {
  font-size: 10px;
  color: #94a3b8;
  white-space: nowrap;
}

/* Saved Button */
.aha-btn-icon {
  position: relative;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 4px 8px;
  height: 30px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  color: #fff;
  font-size: 12px;
  transition: all 0.2s;
}

.aha-btn-icon:hover {
  background: rgba(255, 255, 255, 0.14);
}

.aha-badge-count {
  background: var(--aha-primary);
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  padding: 0 5px;
  border-radius: 8px;
  line-height: 14px;
}

/* Auth Button */
.aha-btn-auth {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #ffffff;
  color: #1a1a1a;
  border: none;
  border-radius: 6px;
  padding: 4px 10px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s;
}

.aha-btn-auth:hover {
  background: #f1f5f9;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Toggle Nav Button */
.aha-btn-toggle-nav {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--aha-text-muted);
  border-radius: 6px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 11px;
  padding: 0;
  transition: all 0.2s;
}

.aha-btn-toggle-nav:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
}

/* Filters Row */
.aha-filters-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* When collapsed */


.aha-multiselect-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 140px;
  height: 32px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
}

.aha-quick-tags {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.aha-tag-chip {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  color: var(--aha-text-muted);
  font-size: 11px;
  padding: 3px 8px;
  height: 28px;
  cursor: pointer;
}


/* Dual Range Slider */
.aha-dual-slider-group {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.04);
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid var(--aha-dark-border);
}

.aha-slider-header {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  white-space: nowrap;
}

.aha-slider-label {
  color: var(--aha-text-muted);
}

.aha-slider-values {
  color: #fff;
  font-weight: 600;
  font-feature-settings: "tnum";
}

.aha-dual-range-track {
  position: relative;
  width: 140px;
  height: 5px;
  background: #374151;
  border-radius: 4px;
  margin: 0 4px;
}

.aha-range-highlight {
  position: absolute;
  top: 0;
  bottom: 0;
  background: var(--aha-primary);
  border-radius: 4px;
}

.aha-dual-range-track input[type="range"] {
  position: absolute;
  top: -6px;
  left: 0;
  width: 100%;
  height: 16px;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  margin: 0;
}

.aha-dual-range-track input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid var(--aha-primary);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: transform 0.1s;
}

.aha-dual-range-track input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

.aha-dual-range-track input[type="range"]::-moz-range-thumb {
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid var(--aha-primary);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
  cursor: pointer;
}

/* Quick Tags */
.aha-quick-tags {
  display: flex;
  align-items: center;
  gap: 6px;
}

.aha-tag-chip {
  background: rgba(255, 255, 255, 0.05);
  color: var(--aha-text-muted);
  border: 1px solid var(--aha-dark-border);
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.aha-tag-chip:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.aha-tag-chip.active {
  background: rgba(255, 56, 92, 0.2);
  border-color: var(--aha-primary);
  color: #fff;
  font-weight: 600;
}

/* Map Stage */
.aha-map-stage {
  position: relative;
  width: 100%;
  height: 100%;
  flex: 1;
}

.aha-fullscreen-leaflet {
  width: 100%;
  height: 100%;
  background: #0f1115;
}

/* Floating GPS Button */
.aha-btn-gps {
  position: absolute;
  bottom: 84px;
  right: 12px;
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(26, 29, 36, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #fff;
  border: 1px solid var(--aha-dark-border);
  border-radius: 20px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  white-space: nowrap;
}

.aha-btn-gps:hover {
  transform: translateY(-2px);
  border-color: var(--aha-accent-blue);
  box-shadow: 0 8px 24px rgba(0, 122, 255, 0.3);
}

.aha-gps-pulse-ring {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--aha-accent-blue);
  box-shadow: 0 0 0 0 rgba(0, 122, 255, 0.7);
  animation: ahaGpsRing 1.8s infinite;
}

@keyframes ahaGpsRing {
  0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(0, 122, 255, 0.7); }
  70% { transform: scale(1.2); box-shadow: 0 0 0 8px rgba(0, 122, 255, 0); }
  100% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(0, 122, 255, 0); }
}

/* danang.kim Glowing Dot Markers with Price Badges */
.aha-danang-dot-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  overflow: visible !important;
  background: transparent !important;
  border: none !important;
}

.aha-dot-marker-inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  white-space: nowrap;
  pointer-events: auto;
}

.aha-danang-dot {
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  background: #ff2d55;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 0 10px rgba(255, 45, 85, 0.8), 0 0 20px rgba(255, 45, 85, 0.5);
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.aha-dot-price-badge {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 13.5px;
  font-weight: 800;
  color: #ffffff;
  background: rgba(18, 20, 24, 0.90);
  border: 1.2px solid rgba(255, 255, 255, 0.25);
  padding: 2px 7px;
  border-radius: 5px;
  letter-spacing: -0.2px;
  line-height: 1.2;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.65);
  pointer-events: none;
  user-select: none;
  display: inline-block;
  white-space: nowrap;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* User requirement: "ở xa thì không ra số tiền, zoom gần thì ra số tiền" */
.aha-zoom-far .aha-dot-price-badge {
  display: none !important;
  opacity: 0 !important;
}

.aha-zoom-detailed .aha-dot-price-badge {
  display: inline-block !important;
  opacity: 1 !important;
}

.aha-dot-marker-inner:hover .aha-danang-dot,
.aha-dot-marker-inner.active .aha-danang-dot {
  transform: scale(1.5);
  background: #ffffff;
  border-color: #ff2d55;
  box-shadow: 0 0 14px #ffffff, 0 0 24px #ff2d55;
  z-index: 1000 !important;
}

.aha-dot-marker-inner:hover .aha-dot-price-badge,
.aha-dot-marker-inner.active .aha-dot-price-badge {
  color: #ffffff;
  background: #ff385c;
  border-color: #ff385c;
  box-shadow: 0 0 12px rgba(255, 56, 92, 0.8);
  transform: scale(1.08);
}

/* Desktop: Nhãn giá tiền to thêm 1.5 lần nữa (22.5px) cho hiển thị cực đại, siêu rõ nét */
@media (min-width: 769px) {
  .aha-danang-dot {
    width: 19px;
    height: 19px;
    min-width: 19px;
    min-height: 19px;
    border-width: 3px;
  }
  .aha-dot-marker-inner {
    gap: 7px !important;
  }
  .aha-dot-price-badge {
    font-size: 22.5px !important;
    padding: 4px 12px !important;
    border-radius: 8px !important;
    border-width: 2px !important;
    font-weight: 800 !important;
    letter-spacing: -0.4px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
    line-height: 1.25 !important;
  }
  .aha-vthumb-badge {
    font-size: 19px !important;
    padding: 5px 12px !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
  }

  /* 2. Thẻ xem trước căn hộ & Chi tiết (View Details - Chiếm đúng phần tư thứ 2: từ 25% đến 50% màn hình máy tính) */
  .aha-floating-card {
    position: absolute !important;
    top: 68px !important;
    bottom: auto !important;
    left: calc(18vw) !important;
    right: auto !important;
    width: calc(28vw) !important;
    min-width: 280px !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100vh - 84px) !important;
    display: none !important;
    flex-direction: column !important;
    border-radius: 18px !important;
    background: rgba(22, 25, 32, 0.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.65) !important;
    overflow: hidden !important;
    z-index: 1500 !important;
  }
  .aha-floating-card.active {
    display: flex !important;
  }

  /* Detail Modal Chi tiết trên Desktop đồng bộ vị trí 18vw - 28vw */
  #aha-detail-modal.active {
    display: flex !important;
  }
  #aha-detail-modal .aha-modal-container {
    position: absolute !important;
    top: 68px !important;
    bottom: 16px !important;
    left: calc(18vw) !important;
    right: auto !important;
    width: calc(28vw) !important;
    min-width: 280px !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100vh - 84px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
  }

  /* Trên tablet (769px - 960px) giữ thẻ ở góc dưới gọn gàng */
  @media (min-width: 769px) and (max-width: 960px) {
    .aha-floating-card {
      top: auto !important;
      bottom: 20px !important;
      left: 16px !important;
      width: 380px !important;
      max-width: calc(100vw - 32px) !important;
      max-height: calc(100vh - 120px) !important;
    }
    #aha-detail-modal .aha-modal-container {
      position: relative !important;
      top: auto !important;
      bottom: auto !important;
      left: auto !important;
      width: 100% !important;
      max-width: 520px !important;
      margin: auto !important;
    }
  }
  .aha-card-media {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 270px !important;
    background: #000000 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border-radius: 18px 18px 0 0 !important;
  }
  .aha-carousel-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    height: 100% !important;
    scrollbar-width: none !important;
  }
  .aha-carousel-track::-webkit-scrollbar {
    display: none !important;
  }
  .aha-carousel-slide,
  img.aha-carousel-slide,
  video.aha-carousel-slide {
    flex: 0 0 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    height: 100% !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: block !important;
  }
  video.aha-carousel-slide {
    object-fit: contain !important;
    background: #000000 !important;
  }
  .aha-card-close {
    width: 36px !important;
    height: 36px !important;
    font-size: 22px !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 20 !important;
  }
  .aha-card-type-tag {
    font-size: 13px !important;
    padding: 5px 12px !important;
    top: 12px !important;
    left: 12px !important;
    border-radius: 6px !important;
    z-index: 10 !important;
  }
  .aha-card-fav-btn {
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 13.5px !important;
    bottom: 12px !important;
    right: 12px !important;
    z-index: 10 !important;
  }
  .aha-card-fav-btn .aha-fav-heart-svg {
    width: 15px !important;
    height: 15px !important;
  }
  .aha-card-fav-text {
    font-size: 13px !important;
  }
  .aha-carousel-nav,
  .aha-carousel-btn {
    width: 38px !important;
    height: 38px !important;
    font-size: 22px !important;
    z-index: 15 !important;
  }
  .aha-carousel-counter {
    font-size: 12.5px !important;
    padding: 4px 10px !important;
    bottom: 12px !important;
    left: 12px !important;
    z-index: 10 !important;
  }
  .aha-card-info,
  .aha-card-body {
    padding: 16px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow-y: auto !important;
  }
  .aha-card-price-row {
    margin-bottom: 2px !important;
    gap: 8px !important;
  }
  .aha-card-price-main,
  #card-price-converted {
    font-size: 28px !important;
    font-weight: 800 !important;
  }
  .aha-card-price-sub,
  #card-price-sub {
    font-size: 14.5px !important;
  }
  .aha-card-title,
  #card-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .aha-card-specs-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
  }
  .aha-spec-chip {
    font-size: 13.5px !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
  }
  .aha-card-amenity-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 6px !important;
  }
  .aha-amenity-chip {
    font-size: 13px !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
  }
  .aha-card-meta,
  .aha-card-meta-row {
    font-size: 13px !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  .aha-meta-tag {
    font-size: 12.5px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
  }
  .aha-card-actions {
    margin-top: 4px !important;
  }
  .aha-btn-card-details,
  .aha-card-btn-action {
    height: 48px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 14px var(--aha-primary-glow) !important;
  }

  /* 3. Thanh kéo giá dọc (Vertical Price Slider Widget - To & dài hơn trên máy tính) */
  .aha-vslider-widget {
    right: 20px !important;
    gap: 12px !important;
  }
  .aha-vslider-mode-btn {
    height: 28px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    border-radius: 14px !important;
  }
  .aha-vslider-currency-btn {
    width: 32px !important;
    height: 32px !important;
    font-size: 13px !important;
    border-width: 2px !important;
  }
  .aha-vslider-track-wrap {
    width: 32px !important;
    min-height: 280px !important;
    max-height: 420px !important;
  }
  .aha-vslider-track {
    width: 6px !important;
    border-radius: 6px !important;
  }
  .aha-vslider-fill {
    width: 6px !important;
    border-radius: 6px !important;
  }
  .aha-vslider-thumb {
    width: 32px !important;
    height: 32px !important;
    font-size: 16px !important;
  }

  /* 4. Nút định vị GPS (Gọn gàng ngay trên cụm nút zoom) */
  .aha-btn-gps {
    padding: 6px 12px !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    gap: 6px !important;
    bottom: 88px !important;
    right: 14px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
  }
  .aha-gps-pulse-ring {
    width: 10px !important;
    height: 10px !important;
  }
}

/* GPS User Marker */
.aha-gps-user-beacon {
  width: 18px;
  height: 18px;
  background: #007aff;
  border: 3px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 12px #007aff, 0 0 24px rgba(0, 122, 255, 0.5);
}

/* Floating Property Card (Dot Click Preview) */
.aha-floating-card {
  position: absolute;
  bottom: 24px;
  left: 20px;
  z-index: 1500;
  width: 360px;
  max-width: calc(100vw - 40px);
  background: rgba(26, 29, 36, 0.95);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--aha-dark-border);
  border-radius: var(--aha-radius);
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
  display: none;
  animation: ahaCardSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.aha-floating-card.active {
  display: block;
}

/* v24: Auto-hide vertical slider when floating preview card is active */
body.aha-card-active #vslider-widget,
body.aha-card-active .aha-vslider-widget {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(50px) !important;
  transition: opacity 0.25s ease, transform 0.25s ease !important;
}

.aha-tag-date {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #93c5fd !important;
  border: 1px solid rgba(147, 197, 253, 0.25) !important;
}

.aha-tag-days-ago {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(16, 185, 129, 0.18) !important;
  color: #34d399 !important;
  border: 1px solid rgba(16, 185, 129, 0.45) !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
  letter-spacing: 0.2px !important;
}

.aha-tag-wifi {
  display: none !important;
}

@keyframes ahaCardSlideUp {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.aha-card-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 10;
  width: 28px;
  height: 28px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}

.aha-card-close:hover {
  background: rgba(0, 0, 0, 0.9);
}

.aha-card-media {
  position: relative;
  width: 100%;
  height: 170px;
  background: #111;
  overflow: hidden;
}

.aha-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.aha-card-media:hover img {
  transform: scale(1.05);
}

.aha-card-type-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
}

/* Save button with heart icon on property card */
.aha-card-fav-btn {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 5;
  height: 30px;
  padding: 0 12px;
  border-radius: 20px;
  background: rgba(18, 20, 26, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6);
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  user-select: none;
}

.aha-card-fav-btn:hover {
  transform: scale(1.06);
  background: rgba(28, 32, 42, 0.96);
  border-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.7);
}

.aha-card-fav-btn.is-saved {
  background: linear-gradient(135deg, #ff385c, #e00b41);
  border-color: #ff385c;
  box-shadow: 0 4px 16px rgba(255, 56, 92, 0.6);
}

.aha-card-fav-btn.is-saved:hover {
  background: linear-gradient(135deg, #ff4d6d, #c90836);
  transform: scale(1.06);
}

.aha-card-fav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.aha-card-fav-icon svg {
  display: block;
}

.aha-card-fav-text {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.3px;
  line-height: 1;
}

.aha-card-info {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.aha-card-price-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.aha-card-price-main {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}

.aha-card-price-sub {
  font-size: 12px;
  color: var(--aha-text-muted);
}

.aha-card-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--aha-text-main);
  margin: 0;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aha-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0 8px 0;
}

.aha-meta-tag {
  background: rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 11px;
  color: var(--aha-text-muted);
}

.aha-tag-wifi {
  color: #10b981;
  background: rgba(16, 185, 129, 0.12);
}

.aha-tag-dist {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  font-weight: 600;
}

.aha-btn-card-details {
  width: 100%;
  background: linear-gradient(135deg, var(--aha-primary) 0%, #e00b41 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s;
}

.aha-btn-card-details:hover {
  opacity: 0.92;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px var(--aha-primary-glow);
}

/* Modals */
.aha-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.aha-modal-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.aha-modal-container {
  position: relative;
  background: var(--aha-dark-surface);
  border: 1px solid var(--aha-dark-border);
  border-radius: 16px;
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7);
  padding: 24px;
  animation: ahaModalPop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes ahaModalPop {
  from { transform: scale(0.92) translateY(20px); }
  to { transform: scale(1) translateY(0); }
}

.aha-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  background: rgba(15, 23, 42, 0.92);
  border: 1.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: all 0.2s ease;
}
.aha-modal-close .aha-close-icon {
  display: block;
  font-size: 24px;
  line-height: 1;
  color: #ffffff;
  font-weight: 700;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  user-select: none;
  pointer-events: none;
  margin-top: -2px;
}
.aha-modal-close:hover {
  background: #ef4444;
  border-color: #ef4444;
  transform: scale(1.1);
}

/* Auth Modal Card */
.aha-auth-card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 12px 6px;
}

.aha-auth-icon-circle {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.aha-auth-title {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px 0;
}

.aha-auth-desc {
  font-size: 14px;
  line-height: 1.5;
  color: var(--aha-text-muted);
  margin: 0 0 24px 0;
}

.aha-btn-google-action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  background: #ffffff;
  color: #1a1a1a;
  border: none;
  border-radius: 10px;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  transition: all 0.2s;
}

.aha-btn-google-action:hover {
  background: #f8fafc;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.aha-auth-privacy-note {
  margin-top: 18px;
  font-size: 12px;
  color: #6b7280;
  line-height: 1.4;
}

/* Mobile Responsive */


/* ==========================================================================
   MULTI-SELECT CHECKBOX DROPDOWN STYLING (Collapsed By Default)
   ========================================================================== */
.aha-multiselect {
  position: relative;
  display: inline-block;
}

.aha-multiselect-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 135px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: all 0.2s;
  height: 32px;
  user-select: none;
}

.aha-multiselect-btn:hover,
.aha-multiselect.open .aha-multiselect-btn {
  border-color: var(--aha-primary);
  background: rgba(255, 255, 255, 0.14);
}

.aha-multiselect .aha-caret {
  font-size: 10px;
  color: var(--aha-text-muted);
  transition: transform 0.2s ease;
}

.aha-multiselect.open .aha-caret {
  transform: rotate(180deg);
}

/* DROPDOWN IS HIDDEN BY DEFAULT */
.aha-multiselect-dropdown {
  display: none !important;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  max-height: 440px;
  overflow-y: auto;
  background: rgba(24, 27, 34, 0.98);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  padding: 8px;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.75);
  z-index: 2500 !important;
}

.aha-check-sub {
  padding-left: 24px !important;
  font-size: 11.5px !important;
  color: #cbd5e1 !important;
}

.aha-check-sub:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

/* DISPLAY ONLY WHEN OPEN */
.aha-multiselect.open .aha-multiselect-dropdown,
.aha-multiselect-dropdown.open {
  display: block !important;
  animation: ahaDropdownFade 0.2s ease;
}

@keyframes ahaDropdownFade {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.aha-check-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 12px;
  color: #f3f4f6;
  transition: background 0.15s;
  user-select: none;
}

.aha-check-row:hover {
  background: rgba(255, 255, 255, 0.08);
}

.aha-check-row input[type="checkbox"] {
  width: 15px;
  height: 15px;
  accent-color: var(--aha-primary);
  cursor: pointer;
  margin: 0;
  flex-shrink: 0;
}

.aha-check-all {
  font-weight: 600;
  color: #fff;
}

.aha-check-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 5px 0;
}


/* ==========================================================================
   DESKTOP OPTIMIZATION (Width >= 992px): 1-LINE SLEEK PILL BAR (NO OVERFLOW)
   ========================================================================== */
@media (min-width: 992px) {
  .aha-map-nav {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 52px !important;
    padding: 0 18px 0 14px !important;
    gap: 6px !important;
    width: max-content !important;
    max-width: min(1380px, calc(100vw - 28px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
    border-radius: 28px !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.55) !important;
  }
  .aha-nav-top-row {
    display: contents !important;
  }

  /* 0. 3-Tab Switcher */
  .aha-top-tab-switcher {
    order: 0 !important;
    width: auto !important;
    margin-bottom: 0 !important;
    gap: 3px !important;
    padding: 2px 3px !important;
    flex-shrink: 0 !important;
  }
  .aha-top-tab-btn {
    padding: 5px 8px !important;
    font-size: 12px !important;
    gap: 4px !important;
    flex: none !important;
  }

  /* 1. Góp ý / Feedback Button */
  .aha-btn-feedback-nav {
    order: 1 !important;
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 11.5px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  /* 2. Brand Logo & Title */
  .aha-brand {
    order: 2 !important;
    flex-shrink: 0 !important;
  }
  .aha-brand-link {
    font-size: 14.5px !important;
    gap: 5px !important;
  }
  .aha-brand-dot {
    width: 9px !important;
    height: 9px !important;
  }

  /* 3. Bộ lọc Dropdowns */
  .aha-filters-row {
    order: 3 !important;
    border-top: none !important;
    padding-top: 0 !important;
    gap: 5px !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .aha-multiselect {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .aha-multiselect-btn {
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    gap: 4px !important;
    min-width: 82px !important;
    max-width: 130px !important;
    box-sizing: border-box !important;
  }
  .aha-multiselect-btn span:first-child {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .aha-multiselect .aha-caret {
    font-size: 11px !important;
  }
  .aha-multiselect-dropdown {
    min-width: 240px;
    border-radius: 12px;
  }
  .aha-check-row {
    padding: 7px 11px;
    font-size: 13px;
  }

  /* 4. Nhóm nút hành động bên phải */
  .aha-nav-actions {
    order: 4 !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-btn-tip-nav,
  .aha-btn-app-install {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    font-size: 14.5px !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-landlord-portal {
    height: 34px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    gap: 3px !important;
    flex-shrink: 0 !important;
  }
  .aha-auth-wrapper {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-btn-auth {
    height: 34px !important;
    width: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
  }
  .aha-btn-auth .aha-auth-label {
    display: none !important;
  }
  .aha-btn-auth .aha-google-icon {
    width: 17px !important;
    height: 17px !important;
  }

  .aha-btn-toggle-nav {
    display: none !important;
  }
  .aha-vslider-widget {
    top: 82px !important;
  }
}

/* Compact desktop / laptop (992px - 1200px) */
@media (min-width: 992px) and (max-width: 1200px) {
  .aha-map-nav {
    padding: 0 8px !important;
    gap: 4px !important;
  }
  .aha-top-tab-switcher {
    padding: 2px !important;
    gap: 2px !important;
  }
  .aha-top-tab-btn {
    padding: 3px 5px !important;
    font-size: 10.5px !important;
    gap: 2px !important;
  }
  .aha-btn-feedback-nav {
    padding: 0 5px !important;
    font-size: 10.5px !important;
    height: 32px !important;
    gap: 3px !important;
  }
  .aha-brand-link {
    font-size: 13px !important;
    gap: 3px !important;
  }
  .aha-brand-dot {
    width: 8px !important;
    height: 8px !important;
  }
  .aha-filters-row {
    gap: 3px !important;
  }
  .aha-multiselect-btn {
    height: 32px !important;
    padding: 0 5px !important;
    font-size: 10.5px !important;
    min-width: 60px !important;
    max-width: 88px !important;
    gap: 2px !important;
  }
  .aha-multiselect-btn span:first-child {
    max-width: 64px !important;
  }
  .aha-nav-actions {
    gap: 2.5px !important;
  }
  .aha-btn-tip-nav,
  .aha-btn-app-install,
  .aha-btn-auth {
    width: 30px !important;
    height: 30px !important;
  }
  .aha-btn-landlord-portal {
    height: 30px !important;
    padding: 0 5px !important;
    font-size: 10.5px !important;
    gap: 3px !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 30px !important;
    padding: 0 5px !important;
    font-size: 10.5px !important;
    gap: 2px !important;
  }
}

/* ==========================================================================
   MOBILE & TABLET OPTIMIZATION (Width <= 991px): ULTRA-COMPACT 2-LINE BAR
   ========================================================================== */
@media (max-width: 991px) {
  .aha-map-nav {
    top: 8px;
    left: 8px;
    right: 8px;
    padding: 6px 10px;
    gap: 6px;
    border-radius: 12px;
  }
  
  .aha-nav-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
  }
  
  .aha-brand-badge,
  .aha-live-counter,
  .aha-landlord-badge {
    display: none !important;
  }
  
  .aha-btn-landlord-portal {
    padding: 4px 8px;
    font-size: 11px;
  }
  
  .aha-filters-row {
    width: 100%;
    display: flex;
    gap: 6px;
  }
  
  .aha-multiselect {
    flex: 1;
  }
  
  .aha-multiselect-btn {
    width: 100%;
    min-width: 0;
    padding: 4px 8px;
    font-size: 11px;
    height: 30px;
  }
  
  .aha-multiselect-btn span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 130px;
  }

  /* v54: Perfect Right-Side Control Axis (Thanh kéo - My Location - Zoom) */
  :root {
    --aha-axis-right: 12px;
    --aha-axis-width: 32px;
  }
  .leaflet-bottom.leaflet-right {
    right: var(--aha-axis-right) !important;
    bottom: 16px !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1000 !important;
  }
  .leaflet-bottom.leaflet-right .leaflet-control-zoom {
    margin: 0 !important;
    width: var(--aha-axis-width) !important;
    border-radius: 8px !important;
    border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
    background: rgba(22, 26, 34, 0.94) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55) !important;
    overflow: hidden !important;
  }
  .leaflet-control-zoom a {
    width: var(--aha-axis-width) !important;
    height: 30px !important;
    line-height: 28px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
  }
  .leaflet-control-zoom a:last-child {
    border-bottom: none !important;
  }
  .aha-btn-gps {
    position: absolute !important;
    right: var(--aha-axis-right) !important;
    bottom: 104px !important;
    width: var(--aha-axis-width) !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(22, 26, 34, 0.94) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55) !important;
    z-index: 1000 !important;
    cursor: pointer !important;
    overflow: visible !important;
  }
  .aha-btn-gps .aha-gps-text {
    display: block !important;
    position: absolute !important;
    top: 34px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.95), 0 0 3px #000 !important;
    letter-spacing: -0.2px !important;
    pointer-events: none !important;
  }
  .aha-btn-gps .aha-gps-icon {
    font-size: 15px !important;
    line-height: 1 !important;
  }
  .aha-vslider-widget {
    position: absolute !important;
    right: var(--aha-axis-right) !important;
    width: var(--aha-axis-width) !important;
    bottom: 154px !important;
    top: 138px !important;
    z-index: 1000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
  }
  .aha-vslider-mode-wrap {
    width: var(--aha-axis-width) !important;
  }
  .aha-vslider-mode-btn {
    width: var(--aha-axis-width) !important;
    height: 22px !important;
    padding: 0 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    border-radius: 6px !important;
  }
  .aha-vslider-currency-btn {
    width: 28px !important;
    height: 26px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
  }
  .aha-vslider-track-wrap {
    width: var(--aha-axis-width) !important;
  }
  .aha-vslider-thumb {
    width: 28px !important;
    height: 28px !important;
  }
  .aha-vthumb-badge {
    right: 36px !important;
    left: auto !important;
    font-size: 11px;
    padding: 3px 6px;
    white-space: nowrap !important;
  }
}

/* Extra small mobile (<= 768px): Header Row 2 trên 1 dòng duy nhất (Không tràn mép) */
@media (max-width: 768px) {
  .aha-map-nav {
    left: 6px !important;
    right: 6px !important;
    width: auto !important;
    max-width: none !important;
    padding: 5px 6px !important;
    gap: 4px !important;
    box-sizing: border-box !important;
  }
  .aha-nav-top-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 3px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .aha-brand {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-brand-link {
    font-size: 12.5px !important;
    gap: 3px !important;
    white-space: nowrap !important;
  }
  .aha-brand-dot {
    width: 7px !important;
    height: 7px !important;
  }
  .aha-brand-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
  }
  .aha-lang-selector {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-select.aha-lang-select {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 46px !important;
    height: 25px !important;
    padding: 0 2px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    border-radius: 5px !important;
    text-align: center !important;
    background-position: right 2px center !important;
  }

  /* Nút Góp ý / Feedback trên mobile: Hiển thị cả icon và chữ nhỏ gọn gàng */
  .aha-btn-feedback-nav {
    width: auto !important;
    height: 25px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #e2e8f0 !important;
  }
  .aha-btn-feedback-nav .aha-fb-nav-text {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    letter-spacing: -0.2px !important;
    line-height: 1 !important;
  }
  .aha-btn-feedback-nav .aha-fb-nav-icon {
    font-size: 10px !important;
    line-height: 1 !important;
  }

  /* Nhóm nút hành động bên phải: Không xuống dòng, bảo toàn 100% bên trong khung card */
  .aha-nav-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
  }
  .aha-app-install-wrap,
  .aha-btn-app-install,
  .aha-btn-tip-nav,
  .aha-btn-landlord-portal {
    width: 25px !important;
    height: 25px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-landlord-portal .aha-landlord-text {
    display: none !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 25px !important;
    padding: 0 3px !important;
    display: flex !important;
    align-items: center !important;
    gap: 1px !important;
    font-size: 9.5px !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-icon#btn-saved-toggle .aha-heart-icon {
    font-size: 10.5px !important;
  }
  .aha-btn-icon#btn-saved-toggle .aha-badge-count {
    font-size: 9px !important;
    min-width: 11px !important;
    height: 12px !important;
    line-height: 12px !important;
    padding: 0 1px !important;
  }
  
  /* Nút Google 1-Click Login: Nằm hoàn toàn 100% bên trong viền card */
  .aha-auth-wrapper {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .aha-btn-auth {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 25px !important;
    height: 25px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
  }
  .aha-btn-auth .aha-auth-label {
    display: none !important;
  }
  .aha-btn-auth .aha-google-icon {
    width: 13.5px !important;
    height: 13.5px !important;
    display: block !important;
  }
  .aha-btn-auth #auth-btn-guest-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 360px) {
  .aha-map-nav {
    left: 4px !important;
    right: 4px !important;
    padding: 4px 4px !important;
  }
  .aha-nav-actions {
    gap: 1.5px !important;
  }
  .aha-app-install-wrap,
  .aha-btn-app-install,
  .aha-btn-tip-nav,
  .aha-btn-landlord-portal,
  .aha-btn-auth {
    width: 24px !important;
    height: 24px !important;
  }
}


/* ==========================================================================
   v12: DANANG.KIM VERTICAL DUAL PRICE SLIDER BASE CSS
   ========================================================================== */
.aha-vslider-widget {
  position: absolute;
  right: 16px;
  top: 110px;
  bottom: 85px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  pointer-events: none;
}

.aha-vslider-widget * {
  pointer-events: auto;
}

/* v25: Price Mode Switcher (/mo vs /m²) */
.aha-vslider-mode-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 2px;
}

.aha-vslider-mode-btn {
  height: 22px;
  padding: 0 6px;
  background: rgba(24, 27, 34, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1.5px solid rgba(255, 255, 255, 0.28);
  border-radius: 11px;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  transition: all 0.2s ease;
  white-space: nowrap;
}

.aha-vslider-mode-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: #ff385c;
  transform: scale(1.05);
}

.aha-vslider-mode-btn.mode-sqm {
  background: rgba(16, 185, 129, 0.28);
  border-color: #10b981;
  color: #34d399;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}

/* Currency Selector Button on Top of Vertical Slider */
.aha-vslider-currency-wrap {
  position: relative;
}

.aha-vslider-currency-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(26, 29, 36, 0.95);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  padding: 0;
  line-height: 1;
}

.aha-vslider-currency-btn:hover {
  border-color: #10b981;
  transform: scale(1.12);
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.5);
}

.aha-vslider-caret {
  font-size: 7px;
  color: var(--aha-text-muted);
  line-height: 1;
}

.aha-vslider-currency-menu {
  position: absolute;
  right: calc(100% + 8px);
  top: 0;
  background: rgba(26, 29, 36, 0.98);
  backdrop-filter: blur(16px);
  border: 1px solid var(--aha-dark-border);
  border-radius: 10px;
  padding: 6px;
  display: none;
  flex-direction: column;
  gap: 4px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.7);
  z-index: 1300;
}

.aha-vslider-currency-menu.open {
  display: flex;
  animation: ahaFadeIn 0.2s ease;
}

.aha-vcurr-opt {
  background: none;
  border: none;
  color: #fff;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 6px;
  text-align: left;
  white-space: nowrap;
  transition: all 0.15s;
}

.aha-vcurr-opt:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--aha-primary);
}

.aha-vcurr-opt.active {
  background: rgba(255, 56, 92, 0.2);
  color: var(--aha-primary);
}

/* Vertical Track */
.aha-vslider-track-wrap {
  flex: 1;
  width: 26px;
  min-height: 200px;
  max-height: 380px;
  display: flex;
  justify-content: center;
  position: relative;
  padding: 12px 0;
}

.aha-vslider-track {
  position: relative;
  width: 4px;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  border-radius: 4px;
}

.aha-vslider-fill {
  position: absolute;
  width: 4px;
  left: 0;
  background: #10b981;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.95), 0 0 20px rgba(0, 230, 118, 0.7);
  border-radius: 4px;
}

/* Thumbs: White Circle with Black Chevron (Iconic danang.kim) */
.aha-vslider-thumb {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #ffffff;
  color: #111111;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.7);
  cursor: ns-resize;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  transition: transform 0.1s, box-shadow 0.2s;
  z-index: 10;
}

.aha-vslider-thumb:hover, .aha-vslider-thumb.dragging {
  transform: translate(-50%, -50%) scale(1.15);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.9);
}

.aha-vthumb-icon {
  line-height: 1;
  pointer-events: none;
}

/* Live Floating Price Badge on Left of Thumb */
.aha-vthumb-badge {
  position: absolute;
  right: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
  background: rgba(18, 20, 24, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #ffffff;
  padding: 3.5px 9px;
  border-radius: 6px;
  font-size: 13.5px;
  font-weight: 800;
  white-space: nowrap;
  border: 1px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  font-feature-settings: "tnum";
}

/* ==========================================================================
   v12: 3-DROPDOWNS ON ONE LINE (COMPACT & CLEAN) - MOBILE ONLY (<992px)
   ========================================================================== */
@media (max-width: 991px) {
  .aha-filters-row {
    width: 100%;
    display: flex !important;
    gap: 6px !important;
    align-items: center;
  }

  .aha-filters-row .aha-multiselect {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .aha-filters-row .aha-multiselect-btn {
    width: 100% !important;
    min-width: 0 !important;
    padding: 4px 6px !important;
    font-size: 11px !important;
    height: 30px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2px;
  }

  .aha-filters-row .aha-multiselect-btn span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.aha-pet-select .aha-multiselect-dropdown {
  min-width: 220px !important;
  right: 0 !important;
  left: auto !important;
}

/* ==========================================================================
   v12: USER AUTH AVATAR & PROFILE DROPDOWN
   ========================================================================== */
.aha-user-avatar-badge {
  display: flex;
  align-items: center;
  position: relative;
}

.aha-avatar-img {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid #10b981;
  object-fit: cover;
}

.aha-online-dot {
  width: 6px;
  height: 6px;
  background: #10b981;
  border-radius: 50%;
  position: absolute;
  bottom: -1px;
  right: -1px;
  border: 1px solid #1a1d24;
}

.aha-user-profile-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: rgba(26, 29, 36, 0.98);
  backdrop-filter: blur(14px);
  border: 1px solid var(--aha-dark-border);
  border-radius: 12px;
  padding: 12px;
  width: 230px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.7);
  z-index: 1200;
  text-align: left;
}

.aha-upm-name {
  font-weight: 700;
  color: #ffffff;
  font-size: 13px;
  margin-bottom: 2px;
}

.aha-upm-email {
  color: #9ca3af;
  font-size: 11px;
  margin-bottom: 6px;
  word-break: break-all;
}

.aha-upm-status {
  color: #10b981;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 10px;
}

.aha-upm-logout-btn {
  width: 100%;
  padding: 6px 10px;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: #f87171;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s;
}

.aha-upm-logout-btn:hover {
  background: rgba(239, 68, 68, 0.3);
  color: #fff;
}

/* Auth Modal Email Form */
.aha-auth-divider {
  display: flex;
  align-items: center;
  text-align: center;
  color: #9ca3af;
  font-size: 11px;
  margin: 14px 0 10px 0;
  width: 100%;
}

.aha-auth-divider::before, .aha-auth-divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.aha-auth-divider span {
  padding: 0 8px;
}

.aha-auth-email-form {
  display: flex;
  gap: 6px;
  width: 100%;
  margin-bottom: 14px;
}

.aha-auth-input {
  flex: 1;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  color: #fff;
  padding: 8px 12px;
  font-size: 13px;
  outline: none;
}

.aha-auth-input:focus {
  border-color: #ff385c;
}

.aha-btn-email-signin {
  background: #ff385c;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}

.aha-btn-email-signin:hover {
  background: #e02447;
}

/* ==========================================================================
   v12: ORIGINAL POST LINK (LOCKED VS UNLOCKED)
   ========================================================================== */
.aha-original-link-box {
  margin: 14px 0;
  border-radius: 10px;
  padding: 12px;
}

.aha-locked-original {
  background: rgba(255, 255, 255, 0.04);
  border: 1px dashed rgba(255, 255, 255, 0.25);
  text-align: center;
}

.aha-locked-title {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 4px;
}

.aha-locked-sub {
  color: #9ca3af;
  font-size: 11px;
  margin-bottom: 10px;
}

.aha-btn-unlock-google {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  color: #111827;
  border: none;
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.15s;
}

.aha-btn-unlock-google:hover {
  transform: scale(1.02);
}

.aha-unlocked-original {
  background: rgba(16, 185, 129, 0.08);
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.aha-unlocked-label {
  color: #10b981;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 6px;
}

.aha-btn-original-post {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff !important;
  text-decoration: none;
  border-radius: 8px;
  padding: 9px 14px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
  transition: all 0.15s;
}

.aha-btn-original-post:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(16, 185, 129, 0.5);
}

/* ==========================================================================
   v12: VOLUNTARY CONTACT LOGOS (WHATSAPP, ZALO, MESSENGER, PHONE)
   ========================================================================== */
.aha-contact-section {
  margin-top: 14px;
}

.aha-contact-heading {
  font-size: 11px;
  color: #9ca3af;
  margin-bottom: 8px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.aha-contact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

.aha-contact-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 4px;
  border-radius: 8px;
  text-decoration: none;
  font-size: 10px;
  font-weight: 700;
  color: #ffffff !important;
  transition: transform 0.15s, box-shadow 0.15s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.aha-contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.aha-contact-btn svg {
  width: 18px;
  height: 18px;
}

.aha-contact-whatsapp {
  background: #25D366;
}

.aha-contact-zalo {
  background: #0068FF;
}

.aha-contact-messenger {
  background: linear-gradient(135deg, #00B2FE, #006AFF);
}

.aha-contact-phone {
  background: #10B981;
}

/* ==========================================================================
   v12: PET-FRIENDLY BADGES
   ========================================================================== */
.aha-tag-pets-yes {
  background: rgba(16, 185, 129, 0.16) !important;
  color: #34d399 !important;
  border: 1px solid rgba(52, 211, 153, 0.4) !important;
  font-weight: 600 !important;
}

.aha-tag-pets-no {
  background: rgba(239, 68, 68, 0.14) !important;
  color: #f87171 !important;
  border: 1px solid rgba(248, 113, 113, 0.3) !important;
  font-weight: 600 !important;
}

/* Toast Notification */
.aha-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(100px);
  background: rgba(26, 29, 36, 0.96);
  border: 1px solid #10b981;
  color: #ffffff;
  padding: 10px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6);
  z-index: 10000;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  display: flex;
  align-items: center;
  gap: 8px;
}

.aha-toast.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

/* ==========================================================================
   v14: CUSTOMER FEEDBACK SYSTEM (NO LOGIN REQUIRED)
   ========================================================================== */
/* Floating Feedback Pill on Bottom Left */
.aha-btn-feedback-float {
  position: absolute;
  bottom: 24px;
  left: 16px;
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(26, 29, 36, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 30px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.aha-btn-feedback-float:hover {
  transform: translateY(-2px);
  border-color: #ff385c;
  box-shadow: 0 6px 22px rgba(255, 56, 92, 0.35);
}

.aha-feedback-icon {
  font-size: 14px;
  line-height: 1;
}

/* Feedback Modal Styling */
.aha-feedback-modal-card {
  max-width: 480px !important;
}

.aha-feedback-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.aha-feedback-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 56, 92, 0.15);
  border: 1px solid rgba(255, 56, 92, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.aha-feedback-title {
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 4px 0;
}

.aha-feedback-sub {
  color: #9ca3af;
  font-size: 12px;
  margin: 0;
}

/* Feedback Type Pills */
.aha-fb-type-group {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  margin-bottom: 14px;
}

.aha-fb-type-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 4px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #9ca3af;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
  text-align: center;
}

.aha-fb-type-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.aha-fb-type-btn.active {
  background: rgba(255, 56, 92, 0.18);
  border-color: #ff385c;
  color: #ffffff;
}

.aha-fb-field {
  margin-bottom: 12px;
}

.aha-fb-textarea {
  width: 100%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  color: #ffffff;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.5;
  resize: vertical;
  min-height: 100px;
  box-sizing: border-box;
  outline: none;
  font-family: inherit;
}

.aha-fb-textarea:focus {
  border-color: #ff385c;
  box-shadow: 0 0 10px rgba(255, 56, 92, 0.25);
}

.aha-fb-input {
  width: 100%;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  color: #ffffff;
  padding: 8px 12px;
  font-size: 12px;
  box-sizing: border-box;
  outline: none;
  font-family: inherit;
}

.aha-fb-input:focus {
  border-color: #ff385c;
}

.aha-btn-feedback-submit {
  width: 100%;
  background: linear-gradient(135deg, #ff385c, #e02447);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  padding: 11px 16px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(255, 56, 92, 0.4);
  transition: all 0.15s ease;
}

.aha-btn-feedback-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(255, 56, 92, 0.55);
}

.aha-fb-note {
  font-size: 11px;
  color: #6b7280;
  text-align: center;
  margin-top: 10px;
  line-height: 1.4;
}

.aha-feedback-success {
  text-align: center;
  padding: 12px 6px;
}

@media (max-width: 480px) {
  .aha-btn-feedback-float {
    bottom: 74px;
    left: 12px;
    padding: 6px 10px;
  }
}

.aha-tag-pets-none {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  font-weight: 500 !important;
}

/* ==========================================================================
   v16: HIDE LEAFLET / ESRI / OPENSTREETMAP ATTRIBUTION WATERMARK
   ========================================================================== */
.leaflet-control-attribution,
.leaflet-bottom.leaflet-right .leaflet-control-attribution {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   v19: HORIZONTAL PHOTO GALLERY, SPEC GRIDS & AMENITIES
   ========================================================================== */
.aha-card-media {
  position: relative;
  width: 100%;
  height: 185px;
  background: #111;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}

.aha-carousel-track {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  height: 100%;
  scrollbar-width: none;
}

.aha-carousel-track::-webkit-scrollbar {
  display: none;
}

.aha-carousel-slide {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #090b0e;
  scroll-snap-align: start;
  cursor: pointer;
  user-select: none;
}

.aha-carousel-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(18, 20, 26, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 900;
  cursor: pointer;
  z-index: 8;
  transition: all 0.2s;
  line-height: 1;
  padding: 0;
}

.aha-carousel-nav:hover {
  background: rgba(255, 56, 92, 0.9);
  border-color: #ff385c;
  transform: translateY(-50%) scale(1.1);
}

.aha-carousel-prev {
  left: 8px;
}

.aha-carousel-next {
  right: 8px;
}

.aha-carousel-counter {
  position: absolute;
  bottom: 10px;
  left: 10px;
  background: rgba(18, 20, 26, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  color: #ffffff;
  padding: 3px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  z-index: 8;
  pointer-events: none;
  line-height: 1;
}

/* Card Specs & Amenity Chips */
.aha-card-specs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 6px 0 4px 0;
}

.aha-spec-chip {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  color: #e2e8f0;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  white-space: nowrap;
}

.aha-card-amenity-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 6px;
}

.aha-amenity-chip {
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 6px;
  color: #6ee7b7;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 7px;
  white-space: nowrap;
}

.aha-amenity-chip-dryer {
  background: rgba(59, 130, 246, 0.12);
  border-color: rgba(59, 130, 246, 0.3);
  color: #93c5fd;
}

/* Detail Modal 4-Card Specs Grid */
.aha-specs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(75px, 1fr));
  gap: 8px;
  margin: 14px 0;
}

@media (max-width: 480px) {
  .aha-specs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .aha-specs-grid .aha-spec-card-highlight:last-child:nth-child(odd) {
    grid-column: span 2;
  }
}

.aha-spec-card.aha-spec-card-highlight {
  background: rgba(16, 185, 129, 0.12) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
}

.aha-spec-card.aha-spec-card-highlight .aha-spec-card-val {
  color: #34d399 !important;
}

.aha-spec-chip.aha-spec-chip-highlight {
  background: rgba(16, 185, 129, 0.15) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
  color: #34d399 !important;
  font-weight: 700 !important;
}

.aha-spec-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 10px 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
}

.aha-spec-card-icon {
  font-size: 18px;
  line-height: 1;
}

.aha-spec-card-val {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.aha-spec-card-lbl {
  color: #94a3b8;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

/* Detail Modal Amenities Section */
.aha-amenities-section {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px;
  margin: 14px 0;
}

.aha-amenities-heading {
  font-size: 13px;
  font-weight: 700;
  color: #e2e8f0;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.aha-amenities-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 12px;
}

@media (max-width: 440px) {
  .aha-amenities-grid {
    grid-template-columns: 1fr;
  }
}

.aha-amenity-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #cbd5e1;
}

.aha-amenity-item-icon {
  font-size: 15px;
  line-height: 1;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}

.aha-amenity-item-text {
  font-weight: 500;
}

/* ==========================================================================
   v45: HORIZONTAL DATE SLIDER WIDGET (Lọc số ngày đăng bài gần nhất)
   ========================================================================== */
.aha-hdate-widget {
  position: absolute;
  bottom: 22px;
  left: 58%;
  transform: translateX(-50%);
  z-index: 1600;
  display: flex;
  align-items: center;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.aha-hdate-widget * {
  pointer-events: auto;
}

.aha-hdate-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(20, 24, 30, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255, 255, 255, 0.22);
  border-radius: 30px;
  padding: 6px 14px 6px 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65), 0 2px 6px rgba(0, 0, 0, 0.4);
  transition: all 0.2s ease;
}

.aha-hdate-pill:hover {
  border-color: rgba(16, 185, 129, 0.6);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.75), 0 0 15px rgba(16, 185, 129, 0.2);
}

.aha-hdate-icon-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  color: #ffffff;
  font-size: 13px;
  transition: all 0.2s ease;
}

.aha-hdate-icon-btn:hover {
  background: rgba(16, 185, 129, 0.25);
  border-color: #10b981;
  transform: scale(1.1);
}

.aha-hdate-clock {
  line-height: 1;
  pointer-events: none;
}

.aha-hdate-bound-label {
  color: rgba(255, 255, 255, 0.55);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  user-select: none;
  -webkit-user-select: none;
  padding: 0 2px;
}

.aha-hdate-track-wrap {
  width: 170px;
  height: 26px;
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 0 4px;
}

.aha-hdate-track {
  position: relative;
  width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 6px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.75);
}

.aha-hdate-track::after {
  content: '';
  position: absolute;
  left: 50%;
  top: -2px;
  bottom: -2px;
  width: 1.5px;
  background: rgba(255, 255, 255, 0.35);
  border-radius: 1px;
  pointer-events: none;
  z-index: 1;
}

.aha-hdate-fill {
  position: absolute;
  height: 6px;
  left: 0;
  width: 23.33%;
  background: #10b981;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.95), 0 0 16px rgba(0, 230, 118, 0.6);
  border-radius: 6px;
  transition: width 0.05s linear;
}

.aha-hdate-fill.dragging {
  transition: none !important;
}

.aha-hdate-thumb {
  position: absolute;
  top: 50%;
  left: 23.33%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #ffffff;
  color: #111111;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.75);
  cursor: ew-resize;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  transition: transform 0.1s, box-shadow 0.2s;
  z-index: 10;
}

.aha-hdate-thumb.dragging {
  transition: none !important;
  transform: translate(-50%, -50%) scale(1.18);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.95), 0 0 20px rgba(16, 185, 129, 0.6);
}

.aha-hdate-thumb:hover {
  transform: translate(-50%, -50%) scale(1.15);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.95), 0 0 20px rgba(16, 185, 129, 0.6);
}

.aha-hdate-thumb-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
}

/* Floating Date Badge above Thumb */
.aha-hdate-badge {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: rgba(18, 20, 24, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #34d399;
  padding: 3px 8px;
  border-radius: 6px;
  border: 1px solid rgba(16, 185, 129, 0.5);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6);
  pointer-events: none;
  transition: all 0.1s ease;
}

/* Responsive for Mobile / Small Screens */
@media (max-width: 768px) {
  .aha-hdate-widget {
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
  }
  .aha-hdate-pill {
    padding: 5px 12px 5px 8px;
    gap: 8px;
  }
  .aha-hdate-track-wrap {
    width: 145px;
    margin: 0 4px;
  }
  .aha-hdate-badge {
    font-size: 10.5px;
    padding: 2.5px 7px;
  }
  .aha-btn-gps {
    bottom: 86px !important;
    right: 10px !important;
    padding: 4.5px 8.5px !important;
    font-size: 10.5px !important;
  }
  .aha-gps-text {
    font-size: 10.5px !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 420px) {
  .aha-hdate-widget {
    bottom: 20px;
    left: 50%;
  }
  .aha-hdate-track-wrap {
    width: 140px;
  }
}

@media (max-width: 360px) {
  .aha-hdate-track-wrap {
    width: 120px;
  }
}


/* ==========================================================================
   v53: ULTRA COMPACT HERO & SLEEK DAYS INPUT & AMENITIES
   ========================================================================== */
.aha-match-hero-card {
  background: linear-gradient(135deg, #1e2532 0%, #151922 100%) !important;
  border: 1px solid rgba(245, 158, 11, 0.35) !important;
  border-radius: 12px !important;
  padding: 0.65rem 1rem !important;
  margin-bottom: 0.75rem !important;
  text-align: center !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}
.aha-match-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: rgba(245, 158, 11, 0.18) !important;
  border: 1px solid rgba(245, 158, 11, 0.45) !important;
  color: #fbbf24 !important;
  padding: 2px 8px !important;
  border-radius: 9999px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  margin-bottom: 0.25rem !important;
}
.aha-match-hero-card h1 {
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  margin: 0 0 0.25rem 0 !important;
  line-height: 1.2 !important;
}
/* Return Bar on Tab 2 and Tab 3: Sticky flush at top */
.aha-stage-return-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 1rem !important;
  gap: 10px !important;
  width: calc(100% + 32px) !important;
  margin-left: -16px !important;
  margin-right: -16px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2600 !important;
  background: rgba(15, 17, 21, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  padding: 10px 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
  box-sizing: border-box !important;
}
.aha-stage-return-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}
.aha-stage-lang-pill {
  height: 34px !important;
  padding: 0 10px !important;
  background: rgba(30, 36, 46, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.aha-stage-lang-pill:hover {
  border-color: rgba(16, 185, 129, 0.6) !important;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25) !important;
}
@media (max-width: 640px) {
  .aha-stage-return-bar {
    width: calc(100% + 24px) !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    margin-bottom: 0.75rem !important;
    padding: 8px 12px !important;
  }
  .aha-stage-brand-tag {
    display: none !important;
  }
  .aha-match-hero-card {
    padding: 0.5rem 0.75rem !important;
    margin-bottom: 0.5rem !important;
  }
  .aha-match-hero-card h1 {
    font-size: 1.15rem !important;
  }
  .aha-match-hero-card p {
    font-size: 0.8rem !important;
    margin-bottom: 0 !important;
  }
}
.aha-match-hero-card p {
  color: #94a3b8 !important;
  font-size: 0.84rem !important;
  line-height: 1.35 !important;
  margin: 0 auto !important;
  max-width: 620px !important;
}
.aha-match-trust-grid {
  display: none !important;
}

/* Compact Custom Days Input */
.aha-custom-days-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 6px !important;
  font-size: 13px !important;
  color: #cbd5e1 !important;
}
.aha-days-input {
  width: 58px !important;
  height: 30px !important;
  padding: 2px 4px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
  outline: none !important;
  -moz-appearance: textfield;
}
.aha-days-input:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25) !important;
  background: rgba(255, 255, 255, 0.14) !important;
}
.aha-days-input::-webkit-outer-spin-button,
.aha-days-input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}


/* ==========================================================================
   v56: BOTTOM CONTROLS DOCK (Language Pill + Date Slider Same Row)
   ========================================================================== */
.aha-bottom-controls-dock {
  position: absolute;
  bottom: 22px;
  left: 12px;
  z-index: 1600;
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}
.aha-bottom-controls-dock * {
  pointer-events: auto;
}
.aha-bottom-lang-pill {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  height: 38px;
  padding: 0 12px 0 10px;
  background: rgba(20, 24, 30, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1.5px solid rgba(255, 255, 255, 0.22);
  border-radius: 30px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65), 0 2px 6px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  color: #ffffff;
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.aha-bottom-lang-pill:hover {
  border-color: rgba(16, 185, 129, 0.6);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.75), 0 0 15px rgba(16, 185, 129, 0.2);
}
.aha-lang-globe-icon {
  font-size: 14px;
  line-height: 1;
}
.aha-bottom-lang-label {
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.5px;
}
.aha-lang-chevron {
  font-size: 11px;
  color: #9ca3af;
  margin-left: 1px;
}
.aha-bottom-lang-select {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}
.aha-bottom-controls-dock .aha-hdate-widget {
  position: static !important;
  transform: none !important;
  left: auto !important;
  bottom: auto !important;
  z-index: auto !important;
}
.aha-bottom-controls-dock .aha-hdate-pill {
  height: 38px;
  box-sizing: border-box;
}

body.aha-card-active .aha-bottom-controls-dock,
body.aha-card-active #bottom-controls-dock,
body.aha-card-active .aha-hdate-widget,
body.aha-card-active #hdate-widget,
body.aha-card-active .aha-vslider-widget,
body.aha-card-active #vslider-widget,
body.aha-card-active .aha-btn-gps {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(80px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  visibility: hidden !important;
}

.aha-modal-close,
.aha-modal-photo-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 99999 !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(15, 23, 42, 0.88) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-modal-close:hover,
.aha-modal-photo-close:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.1) !important;
}
.aha-card-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 50 !important;
  width: 32px !important;
  height: 32px !important;
  background: rgba(15, 23, 42, 0.88) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-card-close:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.1) !important;
}


/* ==========================================================================
   v57: CRITICAL UI FIXES (CARD CLOSE BUTTON, SECTION 1, SECTION 5, SECTION 9)
   ========================================================================== */
.aha-card-close,
#btn-close-card {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 150 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.92) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.65) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}
.aha-card-close:hover,
#btn-close-card:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.08) !important;
}
.aha-card-close svg,
#btn-close-card svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  pointer-events: none !important;
}

.aha-wards-dropdown-btn {
  width: 100% !important;
  background: #1e222b !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  cursor: pointer !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}
.aha-wards-btn-left {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.aha-wards-btn-icon {
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.aha-wards-btn-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
}
.aha-wards-btn-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.aha-wards-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1.2 !important;
}
.aha-wards-arrow {
  color: #94a3b8 !important;
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
}

.aha-textarea-input,
#match-notes {
  width: 100% !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.aha-textarea-input::placeholder,
#match-notes::placeholder {
  color: #94a3b8 !important;
  font-style: normal !important;
  opacity: 1 !important;
}
.aha-textarea-input:focus,
#match-notes:focus {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
}


/* ==========================================================================
   v57: CRITICAL UI FIXES (CARD CLOSE BUTTON, SECTION 1, SECTION 5, SECTION 9)
   ========================================================================== */
.aha-card-close,
#btn-close-card {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 150 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.92) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.65) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
}
.aha-card-close:hover,
#btn-close-card:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.08) !important;
}
.aha-card-close svg,
#btn-close-card svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  pointer-events: none !important;
}

.aha-wards-dropdown-btn {
  width: 100% !important;
  background: #1e222b !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  cursor: pointer !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}
.aha-wards-btn-left {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.aha-wards-btn-icon {
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.aha-wards-btn-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
}
.aha-wards-btn-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.aha-wards-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1.2 !important;
}
.aha-wards-arrow {
  color: #94a3b8 !important;
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
}

/* 3. Section 9 & 10 White Input Boxes for Guests */
.aha-textarea-input,
#match-notes,
input.aha-text-input,
#match-name,
#match-phone,
#match-email,
#custom-movein-days {
  width: 100% !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.aha-textarea-input::placeholder,
#match-notes::placeholder,
input.aha-text-input::placeholder,
#match-name::placeholder,
#match-phone::placeholder,
#match-email::placeholder,
#custom-movein-days::placeholder {
  color: #94a3b8 !important;
  font-style: normal !important;
  opacity: 1 !important;
}
.aha-textarea-input:focus,
#match-notes:focus,
input.aha-text-input:focus,
#match-name:focus,
#match-phone:focus,
#match-email:focus,
#custom-movein-days:focus {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
}


/* ==========================================================================
   v58: CUSTOMER FEEDBACK BUTTON & MODAL WHITE INPUT STYLING
   ========================================================================== */
.aha-btn-feedback-nav {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  height: 28px !important;
  padding: 0 10px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 14px !important;
  color: #e2e8f0 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}
.aha-btn-feedback-nav:hover {
  background: rgba(245, 158, 11, 0.22) !important;
  border-color: #f59e0b !important;
  color: #fbbf24 !important;
  transform: translateY(-1px) !important;
}
.aha-btn-feedback-nav .aha-fb-nav-icon {
  font-size: 12px !important;
  line-height: 1 !important;
}

/* Feedback Modal Inputs White Styling */
.aha-fb-textarea,
.aha-fb-input {
  width: 100% !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}
.aha-fb-textarea::placeholder,
.aha-fb-input::placeholder {
  color: #94a3b8 !important;
}
.aha-fb-textarea:focus,
.aha-fb-input:focus {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
}

/* ==========================================================================
   v66: DANANG.KIM MOBILE BOTTOM SHEET SYSTEM & DESKTOP STYLES
   ========================================================================== */
@media (min-width: 769px) {
  .aha-sheet-header-bar {
    display: none !important;
  }
  .aha-desktop-close-wrap {
    display: block !important;
  }
  .aha-card-close-desktop,
  #btn-close-card {
    display: flex !important;
  }
  .aha-card-peek-info {
    display: none !important;
  }
  .aha-card-expanded-info {
    display: block !important;
  }
  .aha-carousel-dots {
    display: none !important;
  }
  .aha-card-content-wrap {
    display: contents !important;
  }
}

@media (max-width: 768px) {
  .aha-desktop-close-wrap,
  .aha-card-close-desktop,
  #btn-close-card {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
  }

  /* 1. Root Bottom Sheet Container - Full fit 100% against bottom and sides */
  .aha-floating-card {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: rgba(18, 20, 26, 0.98) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.85) !important;
    z-index: 2500 !important;
    display: none;
    flex-direction: column !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
    will-change: height, transform;
    transition: height 0.3s cubic-bezier(0.2, 0.9, 0.3, 1), transform 0.25s ease !important;
    box-sizing: border-box !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }

  .aha-floating-card.active {
    display: flex !important;
  }

  /* 2. Top Header Bar: Drag Handle in center + Heart Save & Close X at top-right */
  .aha-sheet-header-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 4px 14px !important;
    flex-shrink: 0 !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    touch-action: none !important;
    position: relative !important;
    z-index: 20 !important;
    box-sizing: border-box !important;
  }

  .aha-sheet-drag-handle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    height: 100% !important;
    padding: 2px 0 !important;
    cursor: grab !important;
  }

  .aha-drag-handle-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
  }

  .aha-drag-arrow-svg {
    display: block !important;
    color: rgba(255, 255, 255, 0.7) !important;
    transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.3, 1), color 0.2s ease !important;
    transform-origin: center center !important;
  }

  /* In Large (View To Nhất - mặc định): Mũi tên hướng xuống báo hiệu kéo xuống thu nhỏ */
  .aha-floating-card.aha-sheet-large .aha-drag-arrow-svg,
  .aha-floating-card:not(.aha-sheet-small) .aha-drag-arrow-svg {
    transform: rotate(180deg) !important;
  }

  /* In Small (View Nhỏ): Mũi tên hướng lên báo hiệu kéo lên mở to */
  .aha-floating-card.aha-sheet-small .aha-drag-arrow-svg {
    transform: rotate(0deg) !important;
  }

  .aha-drag-bar {
    display: block !important;
    width: 44px !important;
    height: 3.5px !important;
    background: rgba(255, 255, 255, 0.45) !important;
    border-radius: 2.5px !important;
    transition: background 0.2s, transform 0.2s !important;
  }

  .aha-sheet-drag-handle:active .aha-drag-bar {
    background: #ffffff !important;
    transform: scaleX(1.1) !important;
  }
  .aha-sheet-drag-handle:active .aha-drag-arrow-svg {
    color: #ffffff !important;
  }

  .aha-sheet-top-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 50 !important;
  }

  /* Heart Save button in top-right */
  .aha-sheet-fav-btn {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.15s, color 0.15s, background 0.15s !important;
  }
  .aha-sheet-fav-btn:active {
    transform: scale(0.88) !important;
  }
  .aha-sheet-fav-btn.is-saved {
    background: rgba(255, 56, 92, 0.25) !important;
    border-color: #ff385c !important;
    color: #ff385c !important;
  }
  .aha-sheet-fav-btn.is-saved svg path {
    fill: #ff385c !important;
    stroke: #ff385c !important;
  }

  /* Close X button in top-right */
  .aha-sheet-close-btn {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    padding: 0 !important;
    transition: transform 0.15s, background 0.15s, border-color 0.15s !important;
  }
  .aha-sheet-close-btn:hover {
    background: rgba(239, 68, 68, 0.9) !important;
    border-color: #ef4444 !important;
  }
  .aha-sheet-close-btn:active {
    transform: scale(0.88) !important;
  }

  /* Hide old desktop-only buttons on mobile */
  .aha-card-media .aha-card-fav-btn,
  .aha-card-media .aha-carousel-nav,
  .aha-card-media .aha-carousel-counter {
    display: none !important;
  }

  /* Carousel Dots */
  .aha-carousel-dots {
    position: absolute !important;
    bottom: 7px !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    z-index: 10 !important;
    pointer-events: none !important;
  }
  .aha-dot {
    display: inline-block !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.45) !important;
    transition: all 0.2s ease !important;
  }
  .aha-dot.active {
    width: 7px !important;
    height: 7px !important;
    background: #ffffff !important;
    box-shadow: 0 0 6px rgba(255, 255, 255, 0.9) !important;
  }

  /* Content wrap: 2-column layout */
  .aha-card-content-wrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    padding: 4px 12px 14px 12px !important;
    height: calc(100% - 32px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .aha-card-media {
    position: relative !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border-radius: 12px !important;
    height: 100% !important;
  }

  .aha-carousel-track {
    background: transparent !important;
  }

  .aha-carousel-slide,
  img.aha-carousel-slide,
  video.aha-carousel-slide {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    background: transparent !important;
  }

  .aha-card-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 2px 0 2px 4px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    height: 100% !important;
    box-sizing: border-box !important;
  }

  .aha-card-expanded-info {
    display: none !important;
  }

  .aha-card-peek-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    height: 100% !important;
    text-align: left !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .aha-card-peek-info::-webkit-scrollbar {
    display: none !important;
  }

  .aha-peek-price-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    white-space: nowrap !important;
  }
  .aha-peek-price {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    letter-spacing: -0.3px !important;
    white-space: nowrap !important;
  }
  .aha-peek-unit {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    white-space: nowrap !important;
  }

  .aha-peek-specs {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin-top: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .aha-peek-specs .aha-peek-sqm {
    color: #38bdf8 !important;
    font-weight: 800 !important;
  }

  .aha-peek-loc {
    font-size: 11.5px !important;
    color: #cbd5e1 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    margin-top: 1px !important;
    display: block !important;
  }
  .aha-peek-loc b {
    color: #ffffff !important;
    font-weight: 700 !important;
  }

  .aha-peek-chips {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
    margin-top: 2px !important;
  }
  .aha-peek-chip {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    padding: 2px 6.5px !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    white-space: nowrap !important;
    line-height: 1.25 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
  }
  .aha-peek-chip-lease {
    background: rgba(56, 189, 248, 0.14) !important;
    border-color: rgba(56, 189, 248, 0.38) !important;
    color: #38bdf8 !important;
  }
  .aha-peek-chip-balcony {
    background: rgba(52, 211, 153, 0.14) !important;
    border-color: rgba(52, 211, 153, 0.38) !important;
    color: #34d399 !important;
  }
  .aha-peek-chip-no-balcony {
    background: rgba(248, 113, 113, 0.1) !important;
    border-color: rgba(248, 113, 113, 0.3) !important;
    color: #fca5a5 !important;
  }
  .aha-peek-chip-pet {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
    color: #34d399 !important;
  }
  .aha-peek-chip-no-pet {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
    color: #f87171 !important;
  }
  .aha-peek-chip-dryer {
    background: rgba(168, 85, 247, 0.14) !important;
    border-color: rgba(168, 85, 247, 0.38) !important;
    color: #c084fc !important;
  }
  .aha-peek-chip-rack {
    background: rgba(245, 158, 11, 0.14) !important;
    border-color: rgba(245, 158, 11, 0.38) !important;
    color: #fbbf24 !important;
  }

  .aha-peek-action-row {
    margin-top: 3px !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }
  .aha-peek-detail-btn {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22) 0%, rgba(6, 182, 212, 0.22) 100%) !important;
    border: 1px solid rgba(16, 185, 129, 0.45) !important;
    color: #34d399 !important;
    border-radius: 7px !important;
    padding: 4.5px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.15s ease !important;
  }
  .aha-peek-detail-btn:hover,
  .aha-peek-detail-btn:active {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.38) 0%, rgba(6, 182, 212, 0.38) 100%) !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
  }

  .aha-peek-date-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    margin-top: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .aha-peek-source {
    text-decoration: underline !important;
    color: #38bdf8 !important;
    cursor: pointer !important;
  }

  /* STATE 1: VIEW TO NHẤT (Mặc định chuẩn danang.kim ~44vh - vừa đủ to vừa xem được bản đồ) */
  .aha-floating-card.aha-sheet-large,
  .aha-floating-card:not(.aha-sheet-small) {
    height: min(44vh, 375px) !important;
    max-height: min(44vh, 375px) !important;
  }

  .aha-floating-card.aha-sheet-large .aha-card-media,
  .aha-floating-card:not(.aha-sheet-small) .aha-card-media {
    flex: 0 0 54% !important;
    width: 54% !important;
    max-width: 54% !important;
    height: 100% !important;
    border-radius: 12px !important;
  }

  /* STATE 2: VIEW NHỎ NHẤT (~200px) */
  .aha-floating-card.aha-sheet-small {
    height: 200px !important;
    max-height: 200px !important;
  }

  .aha-floating-card.aha-sheet-small .aha-card-media {
    flex: 0 0 135px !important;
    width: 135px !important;
    max-width: 135px !important;
    height: 100% !important;
    border-radius: 12px !important;
  }

  .aha-floating-card.aha-sheet-small .aha-peek-chips {
    max-height: 42px !important;
    overflow: hidden !important;
    gap: 3px !important;
  }
  .aha-floating-card.aha-sheet-small .aha-peek-chip {
    font-size: 10px !important;
    padding: 1.5px 5px !important;
  }
  .aha-floating-card.aha-sheet-small .aha-peek-detail-btn {
    padding: 3px 6px !important;
    font-size: 10px !important;
  }
  .aha-floating-card.aha-sheet-small .aha-peek-date-row {
    display: none !important;
  }

  /* Enforce 100% Flush Bottom Edge (0px gap, no margins) */
  .aha-floating-card,
  #aha-floating-card,
  #aha-card-preview {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    box-sizing: border-box !important;
    z-index: 2500 !important;
  }
}

/* --- Tip Modal Styling (2-Tab Switcher: VietQR & PayPal) --- */
.aha-tip-modal-box {
  max-width: 440px !important;
  width: 95% !important;
  background: #181b22 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 18px !important;
  padding: 22px 16px 18px !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.75) !important;
  text-align: center !important;
  position: relative !important;
  box-sizing: border-box !important;
}
@media (max-width: 480px) {
  .aha-tip-modal-box {
    width: calc(100% - 20px) !important;
    padding: 20px 14px 16px !important;
  }
}
.aha-tip-avatar {
  font-size: 36px;
  width: 58px;
  height: 58px;
  background: rgba(245, 158, 11, 0.16);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}
.aha-tip-title {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
}
.aha-tip-desc {
  color: #94a3b8 !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  margin: 0 0 16px !important;
}
.aha-tip-tabs-bar {
  display: flex !important;
  gap: 6px !important;
  background: rgba(0, 0, 0, 0.35) !important;
  padding: 4px !important;
  border-radius: 10px !important;
  margin-bottom: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.aha-tip-tab-item {
  flex: 1 1 0% !important;
  padding: 8px 6px !important;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: #94a3b8;
  font-size: 12px !important;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px !important;
  white-space: nowrap !important;
  letter-spacing: -0.2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 380px) {
  .aha-tip-tab-item {
    font-size: 11px !important;
    padding: 6px 3px !important;
    gap: 2px !important;
  }
}
.aha-tip-tab-item:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
.aha-tip-tab-item.active {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.4);
}
.aha-tip-qr-container {
  background: #ffffff;
  padding: 10px;
  border-radius: 12px;
  display: inline-block;
  margin: 0 auto 14px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
.aha-tip-qr-img {
  width: 175px;
  height: 175px;
  object-fit: contain;
  display: block;
  border-radius: 6px;
}
.aha-tip-bank-details {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  padding: 11px 12px !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.aha-tip-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.aha-tip-lbl {
  color: #94a3b8 !important;
  font-size: 11.5px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.aha-tip-val {
  color: #e2e8f0 !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  white-space: nowrap !important; /* CRITICAL: 1 single line */
  text-align: right !important;
  letter-spacing: -0.2px !important;
}
#tip-acc-name {
  white-space: nowrap !important;
  font-size: 12px !important;
  letter-spacing: -0.3px !important;
  text-align: right !important;
}
.aha-tip-val-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.aha-tip-val-acc {
  color: #38bdf8 !important;
  font-weight: 700 !important;
  font-family: monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
}
.aha-btn-copy {
  background: rgba(56, 189, 248, 0.15) !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !important;
  color: #38bdf8 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 6px !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.aha-btn-copy:hover {
  background: rgba(56, 189, 248, 0.3) !important;
  border-color: #38bdf8 !important;
}
.aha-tip-tag-content {
  background: rgba(245, 158, 11, 0.15) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
.aha-tip-paypal-box {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 16px 12px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.aha-tip-paypal-icon {
  font-size: 32px;
  margin-bottom: 6px;
}
.aha-btn-paypal-direct {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #0070ba, #003087) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
  margin: 0 0 14px !important;
  box-shadow: 0 4px 14px rgba(0, 112, 186, 0.4) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important; /* CRITICAL: 1 single line! */
  letter-spacing: -0.2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.aha-btn-paypal-direct:hover {
  background: linear-gradient(135deg, #005ea6, #00256c) !important;
  transform: translateY(-1px) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
.aha-tip-paypal-link-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.aha-paypal-input {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 6px !important;
  padding: 7px 8px !important;
  color: #cbd5e1 !important;
  font-size: 11.5px !important;
  outline: none !important;
  font-family: monospace !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.aha-tip-paypal-link-row .aha-btn-copy {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
}
.aha-tip-email-note {
  font-size: 12px;
  color: #94a3b8;
  margin-top: 8px;
}
.aha-btn-tip-close-cta {
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 14px !important;
  padding: 10px 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  color: #e2e8f0 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important; /* CRITICAL: 1 single line! */
  letter-spacing: -0.2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.aha-btn-tip-close-cta:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
@media (max-width: 380px) {
  .aha-tip-lbl {
    font-size: 11px !important;
  }
  .aha-tip-val,
  #tip-acc-name {
    font-size: 11px !important;
    letter-spacing: -0.4px !important;
  }
  .aha-tip-val-acc {
    font-size: 12.5px !important;
  }
  .aha-btn-copy#btn-copy-acc {
    font-size: 10px !important;
    padding: 2px 5px !important;
  }
  .aha-btn-paypal-direct {
    font-size: 11.5px !important;
    padding: 9px 6px !important;
    letter-spacing: -0.3px !important;
  }
  .aha-btn-tip-close-cta {
    font-size: 11.5px !important;
    padding: 8px 4px !important;
    letter-spacing: -0.3px !important;
  }
}

/* --- Floating PWA Install Banner --- */
.aha-pwa-banner {
  position: fixed;
  bottom: 80px;
  left: 14px;
  right: 14px;
  z-index: 9998;
  background: rgba(20, 24, 33, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  animation: ahaFadeSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ahaFadeSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.aha-pwa-banner-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.aha-pwa-banner-icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.aha-pwa-banner-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.aha-pwa-banner-title {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.aha-pwa-banner-sub {
  color: #94a3b8;
  font-size: 11.5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.aha-pwa-banner-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.aha-btn-pwa-install {
  background: #ff385c;
  color: #ffffff;
  border: none;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 12px;
  border-radius: 7px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.aha-btn-pwa-install:hover {
  background: #e02d4f;
  transform: translateY(-1px);
}
.aha-btn-pwa-dismiss {
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 20px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  padding: 0;
  transition: color 0.2s;
  line-height: 1;
}
.aha-btn-pwa-dismiss:hover {
  color: #cbd5e1;
}
@media (min-width: 769px) {
  .aha-pwa-banner {
    left: auto;
    right: 20px;
    bottom: 20px;
    max-width: 360px;
  }
}

/* ==========================================================================
   Tab 3: Comparison Table Mobile Fixed Fit (Fit cứng 100% màn hình, không trượt ngang)
   ========================================================================== */
.aha-seo-table-wrap {
  width: 100%;
  box-sizing: border-box;
}
.aha-seo-table {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .aha-guide-container {
    padding: 12px 8px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .aha-seo-article {
    padding: 1.25rem 0.65rem !important;
    border-radius: 10px !important;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .aha-seo-table-wrap {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1rem 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .aha-seo-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    box-sizing: border-box !important;
  }
  .aha-seo-table th,
  .aha-seo-table td {
    padding: 7px 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    line-height: 1.35 !important;
    vertical-align: top !important;
  }
  .aha-seo-table th:nth-child(1),
  .aha-seo-table td:nth-child(1) {
    width: 28% !important;
    font-size: 10.5px !important;
    text-align: left !important;
    font-weight: 600 !important;
    color: #f3f4f6 !important;
  }
  .aha-seo-table th:nth-child(2),
  .aha-seo-table td:nth-child(2) {
    width: 36% !important;
    font-size: 10.5px !important;
    text-align: left !important;
    color: #94a3b8 !important;
  }
  .aha-seo-table th:nth-child(3),
  .aha-seo-table td:nth-child(3) {
    width: 36% !important;
    font-size: 10.5px !important;
    text-align: left !important;
  }
  .aha-seo-table th {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    background: #252a35 !important;
  }
  .aha-seo-table th:nth-child(3) {
    background: #14352a !important;
    color: #34d399 !important;
    border-bottom: 2px solid #10b981 !important;
  }
  .aha-seo-table td:nth-child(3) {
    background: rgba(16, 185, 129, 0.06) !important;
    color: #ecfdf5 !important;
  }
}

@media (max-width: 380px) {
  .aha-guide-container {
    padding: 10px 5px !important;
  }
  .aha-seo-article {
    padding: 1rem 0.4rem !important;
  }
  .aha-seo-table th,
  .aha-seo-table td {
    padding: 5px 2.5px !important;
    font-size: 9.5px !important;
    line-height: 1.25 !important;
  }
  .aha-seo-table th:nth-child(1),
  .aha-seo-table td:nth-child(1) {
    width: 27% !important;
    font-size: 9.5px !important;
  }
  .aha-seo-table th:nth-child(2),
  .aha-seo-table td:nth-child(2),
  .aha-seo-table th:nth-child(3),
  .aha-seo-table td:nth-child(3) {
    width: 36.5% !important;
    font-size: 9.5px !important;
  }
}

/* ==========================================================================
   Smart Landlord Portal Modal (AI 1-Click Broadcast)
   ========================================================================== */
.aha-landlord-modal-card {
  max-width: 580px !important;
  width: 95% !important;
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 20px !important;
  padding: 26px 24px 22px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 25px rgba(59, 130, 246, 0.12) !important;
  color: #f8fafc !important;
  box-sizing: border-box !important;
}

.aha-landlord-header {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
  padding-right: 36px !important;
}

.aha-landlord-icon-wrap {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(139, 92, 246, 0.25)) !important;
  border: 1.5px solid rgba(96, 165, 250, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.aha-landlord-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #f8fafc !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}

.aha-landlord-subtitle {
  font-size: 13px !important;
  color: #94a3b8 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

/* Tabs */
.aha-landlord-tabs {
  display: flex !important;
  gap: 8px !important;
  background: rgba(15, 23, 42, 0.7) !important;
  padding: 4px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-bottom: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.aha-tab-btn {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
}

.aha-tab-btn:hover {
  color: #e2e8f0 !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.aha-tab-btn.active {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb 0%, #0284c7 100%) !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4) !important;
  font-weight: 700 !important;
}

/* Form Groups & Inputs */
.aha-tab-content {
  display: none;
  width: 100%;
}

.aha-tab-content.active {
  display: block !important;
  animation: ahaFadeIn 0.25s ease;
}

.aha-form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
}

.aha-form-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #cbd5e1 !important;
  text-align: left !important;
  line-height: 1.4 !important;
  display: block !important;
}

.aha-form-input,
.aha-form-textarea {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(15, 23, 42, 0.85) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #f8fafc !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  font-family: inherit !important;
}

.aha-form-input:focus,
.aha-form-textarea:focus {
  border-color: #38bdf8 !important;
  background: rgba(15, 23, 42, 0.95) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.22) !important;
}

.aha-form-input::placeholder,
.aha-form-textarea::placeholder {
  color: #64748b !important;
  font-size: 13px !important;
}

.aha-form-textarea {
  resize: vertical !important;
  min-height: 96px !important;
}

/* AI Action Button */
.aha-btn-ai-parse {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 48px !important;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #d946ef 100%) !important;
  border: none !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(139, 92, 246, 0.35) !important;
  margin-top: 6px !important;
  box-sizing: border-box !important;
}

.aha-btn-ai-parse:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(139, 92, 246, 0.5) !important;
  filter: brightness(1.08) !important;
}

.aha-btn-ai-parse:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3) !important;
}

.aha-sparkle-icon {
  font-size: 16px !important;
}

/* AI Loading */
.aha-ai-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 26px 20px !important;
  background: rgba(99, 102, 241, 0.08) !important;
  border: 1.5px dashed rgba(139, 92, 246, 0.35) !important;
  border-radius: 14px !important;
  margin-top: 16px !important;
  text-align: center !important;
  gap: 12px !important;
}

.aha-ai-loading p {
  font-size: 13.5px !important;
  color: #c7d2fe !important;
  margin: 0 !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.aha-ai-spinner {
  width: 32px !important;
  height: 32px !important;
  border: 3px solid rgba(139, 92, 246, 0.25) !important;
  border-top-color: #a855f7 !important;
  border-radius: 50% !important;
  animation: ahaSpin 0.8s linear infinite !important;
}

@keyframes ahaSpin {
  to { transform: rotate(360deg); }
}

.aha-ai-loading[style*="display: none"],
.aha-ai-preview[style*="display: none"],
.aha-landlord-success[style*="display: none"] {
  display: none !important;
}

/* AI Preview Section */
.aha-ai-preview {
  margin-top: 18px !important;
  display: flex;
  flex-direction: column !important;
  gap: 14px !important;
  background: rgba(15, 23, 42, 0.7) !important;
  border: 1.5px solid rgba(139, 92, 246, 0.3) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  box-sizing: border-box !important;
}

.aha-preview-badge {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #c084fc !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.aha-extracted-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  margin-top: 4px !important;
}

.aha-extract-chip {
  background: rgba(30, 41, 59, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 9px !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  color: #cbd5e1 !important;
  box-sizing: border-box !important;
}

.aha-extract-chip b {
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.aha-extract-chip span {
  color: #38bdf8 !important;
  font-weight: 700 !important;
}

.aha-preview-box {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
}

.aha-preview-lang-title {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #38bdf8 !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.aha-preview-text {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: #e2e8f0 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  background: rgba(255, 255, 255, 0.03) !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  max-height: 130px !important;
  overflow-y: auto !important;
}

.aha-broadcast-action {
  margin-top: 6px !important;
}

.aha-btn-broadcast {
  width: 100% !important;
  height: 50px !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border: none !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

.aha-btn-broadcast:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(16, 185, 129, 0.55) !important;
  filter: brightness(1.08) !important;
}

.aha-btn-broadcast:active {
  transform: translateY(0) !important;
}

.aha-broadcast-note {
  font-size: 12px !important;
  color: #94a3b8 !important;
  text-align: center !important;
  margin: 8px 0 0 0 !important;
  line-height: 1.4 !important;
}

/* Success Screen */
.aha-landlord-success {
  text-align: center !important;
  padding: 20px 10px 10px !important;
}

.aha-success-icon {
  font-size: 48px !important;
  margin-bottom: 12px !important;
}

.aha-success-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #10b981 !important;
  margin: 0 0 8px 0 !important;
}

.aha-success-desc {
  font-size: 14px !important;
  color: #cbd5e1 !important;
  line-height: 1.5 !important;
  margin: 0 0 16px 0 !important;
}

.aha-success-box {
  background: rgba(16, 185, 129, 0.1) !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-size: 13.5px !important;
  color: #e2e8f0 !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
  text-align: left !important;
}

@media (max-width: 640px) {
  .aha-landlord-modal-card {
    padding: 20px 14px 16px !important;
    width: calc(100vw - 24px) !important;
    max-height: 92vh !important;
  }
  .aha-landlord-title {
    font-size: 16px !important;
  }
  .aha-tab-btn {
    font-size: 11.5px !important;
    padding: 8px 6px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .aha-extracted-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Nút xem đủ ảnh ở bài gốc Facebook (email Facebook chỉ gửi 2 ảnh) */
/* Nút nhận tin mới qua Telegram (khung chi tiết căn) */
.aha-tg-follow {
  display: flex; align-items: center; justify-content: center; gap: 6px; margin: 10px 0 0;
  padding: 9px 12px; border-radius: 10px; background: #229ED9; color: #fff !important;
  font-size: 13px; font-weight: 700; text-decoration: none !important; text-align: center; line-height: 1.3;
}
.aha-tg-follow:hover { background: #1b8bc2; }

/* ==========================================================================
   FAST DECISION MODES: OPTION A (TINDER SWIPE) & OPTION B (FEED LIST)
   ========================================================================== */

/* 1. Floating Bottom View Switcher Pill */
.aha-floating-view-pill {
  position: fixed;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(15, 23, 42, 0.94);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 9999px;
  padding: 5px 7px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(0, 0, 0, 0.3);
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
}
.aha-floating-view-pill:hover {
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.75);
}
.aha-pill-btn {
  border: none;
  background: transparent;
  color: #94a3b8;
  padding: 7px 13px;
  border-radius: 9999px;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.aha-pill-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}
.aha-pill-btn.active#pill-btn-map {
  background: linear-gradient(135deg, #ff385c, #e11d48);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(255, 56, 92, 0.45);
}
.aha-pill-btn.active#pill-btn-swipe {
  background: linear-gradient(135deg, #8b5cf6, #6366f1);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(139, 92, 246, 0.45);
}
.aha-pill-btn.active#pill-btn-feed {
  background: linear-gradient(135deg, #0284c7, #2563eb);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.45);
}
.aha-pill-count {
  background: rgba(0, 0, 0, 0.35);
  padding: 1px 6px;
  border-radius: 10px;
  font-size: 10.5px;
  font-weight: 800;
  margin-left: 2px;
}
@media (max-width: 480px) {
  .aha-floating-view-pill {
    bottom: 14px;
    padding: 4px 5px;
    gap: 2px;
  }
  .aha-pill-btn {
    padding: 6px 9px;
    font-size: 11px;
    gap: 3px;
  }
  .aha-pill-btn .text-desktop {
    display: none;
  }
}

/* 2. Top Tabs styles for Swipe & Feed */
.aha-top-tab-btn.active#tab-btn-swipe {
  background: #8b5cf6 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(139, 92, 246, 0.55) !important;
}
.aha-top-tab-btn.active#tab-btn-feed {
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.55) !important;
}

/* 3. OPTION A: Tinder Swipe Deck Styles */
.aha-swipe-container {
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 180px);
}
.aha-mode-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 8px;
  flex-wrap: wrap;
}
.aha-mode-subtabs {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 3px;
}
.aha-subtab-btn {
  border: none;
  background: transparent;
  color: #94a3b8;
  padding: 6px 12px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.aha-subtab-btn:hover {
  color: #f8fafc;
}
.aha-subtab-btn.active {
  background: #1e293b;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.aha-subtab-badge {
  background: rgba(255, 255, 255, 0.12);
  padding: 1px 6px;
  border-radius: 8px;
  font-size: 10.5px;
  font-weight: 800;
}
.aha-subtab-btn.active .aha-subtab-badge {
  background: #3b82f6;
  color: #ffffff;
}
.aha-swipe-progress-pill {
  font-size: 12px;
  font-weight: 700;
  color: #a78bfa;
  background: rgba(139, 92, 246, 0.15);
  border: 1px solid rgba(139, 92, 246, 0.3);
  padding: 4px 10px;
  border-radius: 999px;
}

/* Deck area */
.aha-swipe-deck {
  position: relative;
  width: 100%;
  height: 520px;
  margin: 0 auto 14px;
  perspective: 1000px;
}
@media (max-height: 720px) {
  .aha-swipe-deck {
    height: 450px;
  }
}
.aha-swipe-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #111827;
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.65);
  display: flex;
  flex-direction: column;
  touch-action: pan-y;
  user-select: none;
  cursor: grab;
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.25s ease;
  will-change: transform;
}
.aha-swipe-card:active {
  cursor: grabbing;
}
.aha-swipe-card.is-animating {
  transition: transform 0.35s ease-out, opacity 0.35s ease-out !important;
}

/* Stamps (LIKE / NOPE) */
.aha-swipe-stamp {
  position: absolute;
  top: 24px;
  padding: 6px 16px;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 2px;
  border-radius: 8px;
  text-transform: uppercase;
  z-index: 10;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.1s ease, transform 0.1s ease;
}
.aha-stamp-like {
  right: 20px;
  color: #10b981;
  border: 3.5px solid #10b981;
  transform: rotate(15deg);
  background: rgba(16, 185, 129, 0.15);
}
.aha-stamp-nope {
  left: 20px;
  color: #ef4444;
  border: 3.5px solid #ef4444;
  transform: rotate(-15deg);
  background: rgba(239, 68, 68, 0.15);
}

/* Card Media Header */
.aha-swipe-card-media {
  position: relative;
  width: 100%;
  height: 58%;
  background: #030712;
  overflow: hidden;
}
.aha-swipe-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aha-swipe-media-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 35%;
  z-index: 3;
  cursor: pointer;
}
.aha-media-nav-prev { left: 0; }
.aha-media-nav-next { right: 0; }
.aha-swipe-dots {
  position: absolute;
  top: 10px;
  left: 12px;
  right: 12px;
  display: flex;
  gap: 4px;
  z-index: 4;
}
.aha-swipe-dot {
  flex: 1;
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.35);
  transition: background 0.2s;
}
.aha-swipe-dot.active {
  background: #ffffff;
}
.aha-swipe-price-badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(15, 23, 42, 0.9);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(16, 185, 129, 0.5);
  color: #10b981;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 800;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

/* Card Body Info */
.aha-swipe-card-body {
  padding: 14px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(180deg, #111827 0%, #0b0f17 100%);
}
.aha-swipe-card-title {
  font-size: 16px;
  font-weight: 800;
  color: #f8fafc;
  line-height: 1.35;
  margin: 0 0 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.aha-swipe-card-address {
  font-size: 12.5px;
  color: #94a3b8;
  margin: 0 0 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aha-swipe-specs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 6px;
}
.aha-spec-tag {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
  font-size: 11.5px;
  padding: 3px 8px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Action Buttons Bar for Thumbs */
.aha-swipe-actions-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 4px 0 10px;
}
.aha-swipe-action-btn {
  border: none;
  cursor: pointer;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}
.aha-swipe-action-btn:hover {
  transform: scale(1.1);
}
.aha-swipe-action-btn:active {
  transform: scale(0.92);
}
.btn-act-skip {
  width: 58px;
  height: 58px;
  background: #1e293b;
  border: 2px solid #ef4444;
  color: #ef4444;
  font-size: 22px;
}
.btn-act-save {
  width: 68px;
  height: 68px;
  background: linear-gradient(135deg, #ff385c, #e11d48);
  border: none;
  color: #ffffff;
  font-size: 28px;
  box-shadow: 0 8px 24px rgba(255, 56, 92, 0.45);
}
.btn-act-wa {
  width: 52px;
  height: 52px;
  background: #1e293b;
  border: 2px solid #10b981;
  color: #10b981;
  font-size: 20px;
}
.btn-act-info {
  width: 48px;
  height: 48px;
  background: #1e293b;
  border: 1.5px solid #38bdf8;
  color: #38bdf8;
  font-size: 18px;
}

/* Permanent skip toggle */
.aha-swipe-perm-toggle {
  text-align: center;
  font-size: 12px;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  user-select: none;
  margin-top: 4px;
}
.aha-swipe-perm-toggle input {
  accent-color: #ef4444;
}

/* Empty deck state */
.aha-deck-empty {
  text-align: center;
  padding: 40px 20px;
  background: #111827;
  border: 1.5px dashed rgba(255, 255, 255, 0.15);
  border-radius: 20px;
  margin: 20px auto;
  color: #f8fafc;
}

/* 4. OPTION B: Vertical Infinite Feed Styles */
.aha-feed-container {
  max-width: 640px;
  margin: 0 auto;
}
.aha-feed-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.aha-feed-card {
  background: #111827;
  border: 1.5px solid #000000;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.3s ease, max-height 0.35s ease;
}
.aha-feed-card:hover {
  border-color: #000000;
}
.aha-feed-card.is-dismissed {
  opacity: 0;
  transform: translateX(-50px);
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.aha-feed-media-wrap {
  position: relative;
  width: 100%;
  height: 220px;
  background: #030712;
}
@media (max-width: 480px) {
  .aha-feed-media-wrap {
    height: 190px;
  }
}
.aha-feed-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aha-feed-badge-price {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  background: rgba(15, 23, 42, 0.94) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-left: 2px solid rgba(255, 255, 255, 0.45) !important;
  color: #ffffff !important;
  padding: 1.5px 5px !important;
  border-radius: 4px !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  z-index: 6 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.55) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-feed-body {
  padding: 14px 16px;
}
.aha-feed-actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 10px;
}
.aha-feed-btn {
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 700;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
}
.btn-feed-skip {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.25);
}
.btn-feed-skip:hover {
  background: rgba(239, 68, 68, 0.2);
}
.btn-feed-wa {
  background: #10b981;
  color: #ffffff;
  text-decoration: none;
}
.btn-feed-wa:hover {
  background: #059669;
}
.btn-feed-fav {
  background: rgba(255, 255, 255, 0.06);
  color: #cbd5e1;
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.btn-feed-fav.is-saved {
  background: rgba(255, 56, 92, 0.15);
  color: #ff385c;
  border-color: rgba(255, 56, 92, 0.4);
}

/* ==========================================================================
   v178: FEED CAROUSEL & PHOTO NAVIGATION STYLES
   ========================================================================== */
.aha-feed-media-wrap {
  position: relative !important;
  width: 100% !important;
  height: 230px !important;
  background: #090d14 !important;
  overflow: hidden !important;
  border-radius: 12px 12px 0 0 !important;
}
.aha-feed-carousel-track {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}
.aha-feed-carousel-track::-webkit-scrollbar {
  display: none !important;
}
.aha-feed-carousel-track .aha-feed-img {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  pointer-events: auto !important;
}
.aha-feed-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.78) !important;
  backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  z-index: 8 !important;
  transition: all 0.15s ease !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
  padding: 0 !important;
}
.aha-feed-nav:hover, .aha-feed-nav:active {
  background: rgba(15, 23, 42, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.5) !important;
  transform: translateY(-50%) scale(1.05) !important;
}
.aha-feed-nav-prev {
  left: 8px !important;
}
.aha-feed-nav-next {
  right: 8px !important;
}
.aha-feed-badge-counter {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  background: rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 9px !important;
  border-radius: 12px !important;
  z-index: 7 !important;
  pointer-events: none !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Fix collision for bottom controls dock on small mobile */
@media (max-width: 480px) {
  .aha-bottom-controls-dock {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    bottom: 18px !important;
    left: 8px !important;
    gap: 6px !important;
    max-width: calc(100vw - 65px) !important;
  }
  .aha-bottom-lang-pill {
    flex-shrink: 0 !important;
    height: 36px !important;
    padding: 0 8px !important;
  }
  .aha-bottom-controls-dock .aha-hdate-widget {
    position: static !important;
    transform: none !important;
    left: auto !important;
    bottom: auto !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
  }
  .aha-bottom-controls-dock .aha-hdate-pill {
    height: 36px !important;
    padding: 4px 8px 4px 6px !important;
  }
  .aha-bottom-controls-dock .aha-hdate-track-wrap {
    width: 120px !important;
  }
}
@media (max-width: 375px) {
  .aha-bottom-controls-dock .aha-hdate-track-wrap {
    width: 95px !important;
  }
}

/* v178: Visual Navigation Buttons on Swipe Mode */
.aha-swipe-media-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.75) !important;
  backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  z-index: 5 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
  padding: 0 !important;
}
.aha-swipe-media-nav:hover {
  background: rgba(15, 23, 42, 0.95) !important;
  border-color: #ff385c !important;
  color: #ff385c !important;
  transform: translateY(-50%) scale(1.08) !important;
}
.aha-swipe-media-nav.aha-media-nav-prev {
  left: 10px !important;
  right: auto !important;
}
.aha-swipe-media-nav.aha-media-nav-next {
  right: 10px !important;
  left: auto !important;
}

/* ==========================================================================
   v179: OPTION B (FEED LIST) WITH SYNCHRONIZED INTERACTIVE MINI MAP ("1 phần nhỏ")
   ========================================================================== */
.aha-feed-layout-wrap {
  display: flex;
  width: 100%;
  box-sizing: border-box;
}

.aha-feed-container {
  width: 100%;
  box-sizing: border-box;
}

/* Mini Map Pane */
.aha-feed-map-pane {
  background: #0f172a !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

.aha-feed-map-header {
  height: 38px !important;
  background: rgba(30, 41, 59, 0.96) !important;
  backdrop-filter: blur(8px) !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #f8fafc !important;
  z-index: 10 !important;
  user-select: none !important;
}

.aha-feed-map-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
}

.aha-map-beacon-dot {
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: #ff385c !important;
  box-shadow: 0 0 8px #ff385c !important;
  display: inline-block !important;
  animation: aha-beacon-pulse 1.8s infinite !important;
}

@keyframes aha-beacon-pulse {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.35); opacity: 1; box-shadow: 0 0 14px #ff385c; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.aha-feed-map-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #38bdf8 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  line-height: 1 !important;
}

.aha-feed-map-btn:hover {
  background: rgba(56, 189, 248, 0.25) !important;
  border-color: #38bdf8 !important;
  color: #ffffff !important;
}

.aha-feed-minimap-canvas {
  width: 100% !important;
  flex: 1 !important;
  background: #111827 !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Custom Mini Map Pins with Price */
.aha-feed-pin-icon {
  background: transparent !important;
  border: none !important;
}

.aha-feed-pin {
  background: rgba(15, 23, 42, 0.94) !important;
  color: #f8fafc !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  padding: 3px 8px !important;
  border-radius: 14px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  user-select: none !important;
}

.aha-feed-pin:hover {
  transform: scale(1.15) !important;
  border-color: #ff385c !important;
  background: #ff385c !important;
  color: #fff !important;
  z-index: 900 !important;
}

/* ACTIVE / HIGHLIGHTED PIN ON MINI MAP ("Bật sáng điểm đó lên") */
.aha-feed-pin.aha-pin-active {
  background: #ff385c !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  transform: scale(1.3) !important;
  z-index: 9999 !important;
  box-shadow: 0 0 0 5px rgba(255, 56, 92, 0.45), 0 0 22px rgba(255, 56, 92, 0.95), 0 4px 14px rgba(0, 0, 0, 0.6) !important;
  animation: aha-pin-bounce 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

@keyframes aha-pin-bounce {
  0% { transform: scale(1); }
  50% { transform: scale(1.42); }
  100% { transform: scale(1.3); }
}

/* Card Focus State */
.aha-feed-card.is-focused-on-map {
  border-color: #000000 !important;
  box-shadow: 0 0 0 2px #000000, 0 8px 26px rgba(0, 0, 0, 0.75) !important;
  transform: translateY(-2px) !important;
}

.btn-feed-map {
  background: rgba(56, 189, 248, 0.12) !important;
  color: #38bdf8 !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
}

.btn-feed-map:hover {
  background: rgba(56, 189, 248, 0.25) !important;
  border-color: #38bdf8 !important;
  color: #ffffff !important;
}

/* Desktop Split Layout (>= 901px) */
@media (min-width: 901px) {
  .aha-feed-layout-wrap {
    flex-direction: row !important;
    gap: 20px !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 16px 20px 140px 20px !important;
    align-items: flex-start !important;
  }
  .aha-feed-container {
    flex: 1 1 54% !important;
    min-width: 0 !important;
    max-width: 760px !important; padding-bottom: 140px !important;
  }
  .aha-feed-map-pane {
    flex: 1 1 46% !important;
    position: sticky !important;
    top: 14px !important;
    height: calc(100vh - 28px) !important;
    max-height: none !important;
    min-height: 520px !important;
  }
}

/* Mobile Stacked Layout (<= 900px) */
@media (max-width: 900px) {
  .aha-feed-layout-wrap {
    flex-direction: column !important;
    padding: 6px 10px 80px 10px !important;
  }
  .aha-feed-map-pane {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    height: 240px !important;
    margin-bottom: 12px !important;
    border-radius: 12px !important;
  }
  .aha-feed-container {
    width: 100% !important;
  }
}


/* ==========================================================================
   v181: COMPACT MOBILE-FIRST FEED & HIGH-DENSITY CARD LAYOUT
   ========================================================================== */

/* 1. Header Bar: Subtabs & Sort on 1 SINGLE LINE */
.aha-mode-header-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 6px !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.aha-mode-subtabs {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  padding: 2px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.aha-subtab-btn {
  border: none !important;
  background: transparent !important;
  color: #94a3b8 !important;
  padding: 3px 4px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.aha-subtab-btn > span:not(.aha-subtab-badge) {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.aha-subtab-badge {
  background: rgba(255, 255, 255, 0.12) !important;
  padding: 1px 4px !important;
  border-radius: 6px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  min-width: auto !important;
}

.aha-subtab-btn:hover {
  color: #f8fafc !important;
}

.aha-subtab-btn.active {
  background: #1e293b !important;
  color: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

.aha-subtab-badge {
  background: rgba(255, 255, 255, 0.12) !important;
  padding: 1px 4px !important;
  border-radius: 6px !important;
  font-size: 9.5px !important;
  font-weight: 800 !important;
  margin-left: 1px !important;
}

.aha-subtab-btn.active .aha-subtab-badge {
  background: #ff385c !important;
  color: #ffffff !important;
}

#feed-sort-select {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 90px !important;
  height: 28px !important;
  padding: 2px 4px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  background: #1e293b !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

/* 2. Permanent Skip Checkbox */
.aha-feed-perm-wrap {
  margin-bottom: 6px !important;
}
.aha-feed-perm-wrap label {
  cursor: pointer !important;
  user-select: none !important;
}

/* 3. Feed Cards Grid */
.aha-feed-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.aha-feed-card {
  background: #111827 !important;
  border: 1.5px solid #000000 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.aha-feed-card:hover {
  border-color: #000000 !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.65) !important;
}

/* 4. Feed Card Media Wrap - Focus on High Quality Photos */
.aha-feed-media-wrap {
  position: relative !important;
  width: 100% !important;
  height: 220px !important;
  background: #030712 !important;
  overflow: hidden !important;
}

.aha-feed-carousel-track {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
}
.aha-feed-carousel-track::-webkit-scrollbar {
  display: none !important;
}

.aha-feed-carousel-track .aha-feed-img {
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  scroll-snap-align: start !important;
  cursor: pointer !important;
  display: block !important;
}

/* Price Badge on Media */
.aha-feed-badge-price {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  background: rgba(15, 23, 42, 0.94) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-left: 2px solid rgba(255, 255, 255, 0.45) !important;
  color: #ffffff !important;
  padding: 1.5px 5px !important;
  border-radius: 4px !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  z-index: 6 !important;
  pointer-events: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.55) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Navigation Arrows */
.aha-feed-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.72) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  z-index: 8 !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.aha-feed-nav:hover, .aha-feed-nav:active {
  background: rgba(15, 23, 42, 0.95) !important;
  border-color: #ff385c !important;
  color: #ff385c !important;
}
.aha-feed-nav-prev { left: 8px !important; }
.aha-feed-nav-next { right: 8px !important; }

.aha-feed-badge-counter {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  background: rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: #ffffff !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 10px !important;
  z-index: 7 !important;
  pointer-events: none !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* 5. Feed Card Body - High Density */
.aha-feed-body {
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}

.aha-feed-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #f8fafc !important;
  margin: 0 0 3px 0 !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}
.aha-feed-title:hover {
  color: #38bdf8 !important;
}

/* Single-Line Address & District ("nhỏ lại hơn nữa, cùng 1 dòng thôi") */
.aha-feed-address {
  font-size: 11px !important;
  color: #94a3b8 !important;
  margin: 0 0 5px 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  width: 100% !important;
  line-height: 1.25 !important;
}
.aha-feed-address:hover {
  color: #e2e8f0 !important;
}

/* Specs: Bed, Area, Pool, Pets ("hiển thị nhỏ hơn nữa") */
.aha-feed-specs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
  margin-bottom: 6px !important;
}

.aha-feed-specs .aha-spec-tag {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #94a3b8 !important;
  font-size: 10px !important;
  padding: 1.5px 5px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  line-height: 1.2 !important;
}

/* 6. Action Buttons Row - STRICTLY 1 ROW ("Các nút và chữ cùng trên 1 hàng thôi") */
.aha-feed-actions-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4px !important;
  padding-top: 6px !important;
  margin-top: 4px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.aha-feed-btn {
  height: 30px !important;
  padding: 0 4px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  white-space: nowrap !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  line-height: 1 !important;
  overflow: hidden !important; /* CRITICAL: Prevent text from ever spilling out or overlapping siblings */
  transition: all 0.15s ease !important;
}

.aha-feed-btn span {
  white-space: nowrap !important;
  line-height: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  display: inline-block !important;
}

.btn-feed-map {
  background: rgba(56, 189, 248, 0.12) !important;
  color: #38bdf8 !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
}
.btn-feed-map:hover {
  background: rgba(56, 189, 248, 0.25) !important;
  border-color: #38bdf8 !important;
  color: #ffffff !important;
}

.btn-feed-skip {
  background: rgba(239, 68, 68, 0.1) !important;
  color: #f87171 !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
}
.btn-feed-skip:hover {
  background: rgba(239, 68, 68, 0.22) !important;
}

.btn-feed-fav {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}
.btn-feed-fav:hover {
  background: rgba(255, 255, 255, 0.12) !important;
}
.btn-feed-fav.is-saved {
  background: rgba(255, 56, 92, 0.15) !important;
  color: #ff385c !important;
  border-color: rgba(255, 56, 92, 0.4) !important;
}

.btn-feed-wa {
  flex: 1.15 1 0 !important;
  background: #10b981 !important;
  color: #ffffff !important;
  border: none !important;
}
.btn-feed-wa:hover {
  background: #059669 !important;
  color: #ffffff !important;
}

.btn-feed-detail {
  background: #1e293b !important;
  color: #38bdf8 !important;
  border: 1px solid rgba(56, 189, 248, 0.3) !important;
}
.btn-feed-detail:hover {
  background: rgba(56, 189, 248, 0.2) !important;
  color: #ffffff !important;
}

/* Detail Button Desktop vs Mobile */
@media (min-width: 769px) {
  .btn-feed-detail {
    flex: 1 1 0 !important;
    padding: 0 8px !important;
  }
  .aha-feed-detail-mobile {
    display: none !important;
  }
  .aha-feed-detail-desktop {
    display: inline !important;
  }
}
@media (max-width: 768px) {
  .btn-feed-detail {
    flex: 0 0 28px !important;
    padding: 0 !important;
  }
  .aha-feed-detail-desktop {
    display: none !important;
  }
  .aha-feed-detail-mobile {
    display: inline !important;
    font-size: 13px !important;
  }
}

/* 7. Mini Map Pane Mobile Optimizations */
@media (max-width: 900px) {
  .aha-feed-map-pane {
    height: 240px !important;
    margin-bottom: 8px !important;
    border-radius: 10px !important;
  }
  .aha-feed-map-header {
    height: 30px !important;
    padding: 0 8px !important;
    flex-wrap: nowrap !important;
  }
  .aha-feed-map-title {
    font-size: 11px !important;
    gap: 5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    min-width: 0 !important;
  }
  .aha-feed-map-title span {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .aha-feed-map-btn {
    height: 22px !important;
    padding: 2px 7px !important;
    font-size: 10.5px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
  .aha-feed-media-wrap {
    height: 195px !important;
  }
}

/* Extra small mobile (<= 380px) */
@media (max-width: 380px) {
  .aha-subtab-btn {
    padding: 3px 4px !important;
    font-size: 10px !important;
    gap: 2px !important;
  }
  .aha-subtab-badge {
    padding: 1px 3px !important;
    font-size: 9px !important;
  }
  #feed-sort-select {
    max-width: 90px !important;
    font-size: 10px !important;
    padding: 2px 3px !important;
  }
  .aha-feed-btn {
    height: 28px !important;
    font-size: 9.5px !important;
    padding: 0 2px !important;
    gap: 2px !important;
  }
  .btn-feed-detail {
    flex: 0 0 24px !important;
  }
}


/* ==========================================================================
   v182: TRASH BUTTON ON MAP SHEET & RE-ORDERED ACTION BUTTONS & OVERVIEW PIN
   ========================================================================== */

/* 1. Sheet Skip/Trash Button on Map Bottom Sheet */
.aha-sheet-skip-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  color: #94a3b8 !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  padding: 0 !important;
}
.aha-sheet-skip-btn:hover {
  background: rgba(239, 68, 68, 0.25) !important;
  border-color: #ef4444 !important;
  color: #ef4444 !important;
  transform: scale(1.08) !important;
}

/* 2. Re-ordered Action Buttons: Skip, Save, Map, Detail (wide), WhatsApp (icon only) */
.aha-feed-actions-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 4px !important;
  padding-top: 6px !important;
  margin-top: 4px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.btn-feed-skip {
  flex: 1 1 0 !important;
  order: 1 !important;
}

.btn-feed-fav {
  flex: 1 1 0 !important;
  order: 2 !important;
}

.btn-feed-map {
  flex: 1 1 0 !important;
  order: 3 !important;
}

/* Detail Button takes wide CTA spot ("Detail thay cho nút whatsapp để xem thêm thông tin") */
.btn-feed-detail {
  flex: 1.2 1 0 !important;
  order: 4 !important;
  background: #0284c7 !important;
  color: #ffffff !important;
  border: 1px solid rgba(56, 189, 248, 0.4) !important;
  font-weight: 700 !important;
  padding: 0 6px !important;
}
.btn-feed-detail:hover {
  background: #0369a1 !important;
  color: #ffffff !important;
}

/* WhatsApp: icon nhắn tin thôi, không cần chữ */
.btn-feed-wa {
  flex: 0 0 28px !important;
  width: 28px !important;
  order: 5 !important;
  padding: 0 !important;
  background: #10b981 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.btn-feed-wa .aha-wa-icon-only {
  font-size: 15px !important;
  line-height: 1 !important;
  display: inline-block !important;
}
.btn-feed-wa:hover {
  background: #059669 !important;
  transform: scale(1.05) !important;
}

/* ==========================================================================
   v186: PIN POINT ĐIỂM TRÒN MÀU HỒNG & CHỮ SỐ TIỀN TÁCH RỜI 1 BÊN
   ========================================================================== */

.aha-feed-pin-icon {
  background: transparent !important;
  border: none !important;
  overflow: visible !important;
}

.aha-pin-marker {
  position: relative !important;
  width: 0 !important;
  height: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  z-index: 9999 !important;
}

/* 1. ĐIỂM TRÒN MÀU HỒNG ĐỊNH VỊ CHÍNH XÁC TỌA ĐỘ TRÊN MAP (14px) */
.aha-pin-dot {
  position: absolute !important;
  top: -7px !important;
  left: -7px !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 35% 35%, #ff6b8b, #ff385c 65%, #d91b42 100%) !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 0 0 3px rgba(255, 56, 92, 0.45), 0 0 14px rgba(255, 56, 92, 0.95), 0 2px 6px rgba(0, 0, 0, 0.6) !important;
  z-index: 3 !important;
  display: block !important;
  cursor: pointer !important;
  transition: transform 0.2s ease !important;
}

.aha-pin-marker:hover .aha-pin-dot {
  transform: scale(1.25) !important;
}

/* Vòng sóng radar lan tỏa xung quanh điểm tròn màu hồng */
.aha-pin-dot-ring {
  position: absolute !important;
  top: -6px !important;
  left: -6px !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255, 56, 92, 0.75) !important;
  animation: aha-pin-radar 2s infinite ease-out !important;
  pointer-events: none !important;
}

@keyframes aha-pin-radar {
  0% { transform: scale(0.7); opacity: 1; }
  100% { transform: scale(2.4); opacity: 0; }
}

/* 2. CHỮ SỐ TIỀN TÁCH RỜI 1 BÊN - NHỎ GỌN NHƯ MỘT GHI CHÚ (PRICE CALLOUT NOTE) */
.aha-pin-callout {
  position: absolute !important;
  left: 13px !important;
  top: -11px !important;
  background: rgba(15, 23, 42, 0.94) !important;
  border: 1px solid rgba(255, 56, 92, 0.65) !important;
  border-left: 2.5px solid #ff385c !important;
  border-radius: 4px !important;
  padding: 1.5px 6px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 10px rgba(255, 56, 92, 0.25) !important;
  white-space: nowrap !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.aha-pin-marker:hover .aha-pin-callout {
  transform: translateX(2px) !important;
  border-color: #ff385c !important;
}

/* Mũi tên nhỏ từ ghi chú trỏ vào điểm tròn */
.aha-pin-callout::before {
  content: '' !important;
  position: absolute !important;
  left: -4px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-top: 3.5px solid transparent !important;
  border-bottom: 3.5px solid transparent !important;
  border-right: 4px solid #ff385c !important;
}

.aha-pin-price {
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  letter-spacing: -0.1px !important;
}


/* ==========================================================================
   v183: STICKY SUBTABS BAR & HIGHLIGHTED METRIC BADGES & SINGLE PIN MINI-MAP
   ========================================================================== */

/* Prominent Subtab Badges: Tổng số căn còn lại (All) & Số căn đã lưu (Saved) */
#feed-badge-all {
  background: #0284c7 !important;
  color: #ffffff !important;
  padding: 1.5px 6px !important;
  border-radius: 8px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 6px rgba(2, 132, 199, 0.4) !important;
}

#feed-badge-saved {
  background: #ff385c !important;
  color: #ffffff !important;
  padding: 1.5px 6px !important;
  border-radius: 8px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 6px rgba(255, 56, 92, 0.45) !important;
}

#feed-badge-skipped {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #94a3b8 !important;
  padding: 1.5px 5px !important;
  border-radius: 8px !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
}

/* Mobile Sticky Subtabs Bar: "dòng All, Saved, Hidden... nên cố định lại, chỉ danh sách căn hộ là khách lướt đi thôi" */
@media (max-width: 900px) {
  .aha-feed-map-pane {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    height: 240px !important;
    margin-bottom: 0 !important;
    border-radius: 10px !important;
  }

  .aha-mode-header-bar {
    position: sticky !important;
    top: 240px !important;
    z-index: 49 !important;
    background: #0f172a !important;
    padding: 6px 4px !important;
    margin: 4px 0 8px 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.55) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
}

/* Desktop Sticky Subtabs Bar */
@media (min-width: 901px) {
  .aha-mode-header-bar {
    position: sticky !important;
    top: 14px !important;
    z-index: 40 !important;
    background: #0f172a !important;
    padding: 6px 8px !important;
    margin-bottom: 10px !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
}


/* === CONSOLIDATED TEMPLATE STYLES (v187) === */
.aha-pet-select .aha-check-row {
  border-radius: 6px !important;
  font-size: 13px !important;
  color: #f3f4f6 !important;
  transition: background 0.15s ease !important;
}
.aha-pet-select .aha-check-row:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}
.aha-pet-select .aha-check-row input[type="radio"] {
  cursor: pointer !important;
  accent-color: #10b981 !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}
/* Hide Leaflet watermark & attribution */
.leaflet-control-attribution,
.leaflet-bottom.leaflet-right .leaflet-control-attribution {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* v25: Price Mode Switcher (/mo vs /m²) */
.aha-vslider-mode-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: 2px;
}
.aha-vslider-mode-btn {
  height: 22px !important;
  padding: 0 6px !important;
  background: rgba(24, 27, 34, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}
.aha-vslider-mode-btn:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: #ff385c !important;
  transform: scale(1.05) !important;
}
.aha-vslider-mode-btn.mode-sqm {
  background: rgba(16, 185, 129, 0.28) !important;
  border-color: #10b981 !important;
  color: #34d399 !important;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.4) !important;
}
/* v17: Compact currency button & safe clearance under header */
.aha-vslider-currency-btn {
  width: 26px !important;
  height: 26px !important;
  font-size: 11px !important;
  border-width: 1.5px !important;
  padding: 0 !important;
  gap: 1px !important;
  line-height: 1 !important;
}
.aha-vslider-caret {
  font-size: 7px !important;
  line-height: 1 !important;
}
.aha-vslider-track-wrap {
  width: 26px !important;
}
@media (max-width: 960px) {
  .aha-vslider-widget {
    top: 138px !important;
    bottom: 154px !important;
  }
}
@media (max-width: 420px) {
  .aha-vslider-widget {
    top: 138px !important;
    bottom: 154px !important;
  }
}
/* v26: Floating Preview Card & Detail Modal position in 2nd Quarter (25% to 50%) on desktop */
@media (min-width: 769px) {
  .aha-floating-card {
    position: absolute !important;
    top: 68px !important;
    bottom: auto !important;
    left: calc(18vw) !important;
    right: auto !important;
    width: calc(28vw) !important;
    min-width: 280px !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100vh - 84px) !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
    z-index: 1500 !important;
  }
  .aha-card-media {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 270px !important;
    background: #000000 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border-radius: 18px 18px 0 0 !important;
  }
  .aha-carousel-slide,
  img.aha-carousel-slide,
  video.aha-carousel-slide {
    object-fit: contain !important;
    background: #000000 !important;
    height: 100% !important;
    width: 100% !important;
  }
  .aha-card-price-row {
    margin-bottom: 2px !important;
    gap: 8px !important;
  }
  .aha-card-price-main,
  #card-price-converted {
    font-size: 28px !important;
    font-weight: 800 !important;
  }
  .aha-card-price-sub,
  #card-price-sub {
    font-size: 14.5px !important;
  }
  .aha-card-title,
  #card-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
  }
  .aha-card-specs-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 4px !important;
  }
  .aha-spec-chip {
    font-size: 13.5px !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
  }
  .aha-card-amenity-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-bottom: 6px !important;
  }
  .aha-amenity-chip {
    font-size: 13px !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
  }
  .aha-card-meta,
  .aha-card-meta-row {
    font-size: 13px !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
  }
  .aha-meta-tag {
    font-size: 12.5px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
  }
  .aha-btn-card-details,
  .aha-card-btn-action {
    height: 48px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 14px var(--aha-primary-glow) !important;
  }
  #aha-detail-modal .aha-modal-container {
    position: absolute !important;
    top: 68px !important;
    bottom: 16px !important;
    left: calc(18vw) !important;
    right: auto !important;
    width: calc(28vw) !important;
    min-width: 280px !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100vh - 84px) !important;
    margin: 0 !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
  }
  .aha-sheet-header-bar {
    display: none !important;
  }
  .aha-desktop-close-wrap {
    display: block !important;
  }
  .aha-card-close-desktop,
  #btn-close-card {
    display: flex !important;
  }
  .aha-card-peek-info {
    display: none !important;
  }
  .aha-card-expanded-info {
    display: block !important;
  }
  .aha-carousel-dots {
    display: none !important;
  }
  .aha-card-content-wrap {
    display: contents !important;
  }
}
@media (min-width: 769px) and (max-width: 960px) {
  .aha-floating-card {
    z-index: 1500 !important;
  }
}
body.aha-card-active #vslider-widget,
body.aha-card-active .aha-vslider-widget {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateX(50px) !important;
  transition: opacity 0.25s ease, transform 0.25s ease !important;
}
.aha-tag-date {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #93c5fd !important;
  border: 1px solid rgba(147, 197, 253, 0.25) !important;
}
.aha-tag-days-ago {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(16, 185, 129, 0.18) !important;
  color: #34d399 !important;
  border: 1px solid rgba(16, 185, 129, 0.45) !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
  letter-spacing: 0.2px !important;
}
.aha-tag-wifi {
  display: none !important;
}
/* v18: Save button with heart icon on property card */
.aha-card-fav-btn {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  z-index: 5 !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-radius: 20px !important;
  background: rgba(18, 20, 26, 0.88) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6) !important;
  transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  user-select: none !important;
}
.aha-card-fav-btn:hover {
  transform: scale(1.06) !important;
  background: rgba(28, 32, 42, 0.96) !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}
.aha-card-fav-btn.is-saved {
  background: linear-gradient(135deg, #ff385c, #e00b41) !important;
  border-color: #ff385c !important;
  box-shadow: 0 4px 16px rgba(255, 56, 92, 0.6) !important;
}
.aha-card-fav-icon {
  display: inline-flex !important;
  align-items: center !important;
}
.aha-card-fav-icon svg {
  display: block !important;
}
.aha-card-fav-text {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.3px !important;
}
/* ==========================================================================
   MOBILE DANANG.KIM BOTTOM SHEET SYSTEM (@media (max-width: 768px))
   ========================================================================== */
@media (max-width: 768px) {
  .aha-desktop-close-wrap,
  .aha-card-close-desktop,
  #btn-close-card {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
  }

  /* 1. Root Bottom Sheet Container - Full fit 100% against bottom and sides */
  .aha-floating-card {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: rgba(18, 20, 26, 0.98) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.85) !important;
    z-index: 2500 !important;
    display: none;
    flex-direction: column !important;
    overflow: hidden !important;
    touch-action: pan-y !important;
    will-change: height, transform;
    transition: height 0.3s cubic-bezier(0.2, 0.9, 0.3, 1), transform 0.25s ease !important;
    box-sizing: border-box !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }

  .aha-floating-card.active {
    display: flex !important;
  }

  /* 2. Top Header Bar: Drag Handle in center + Heart Save & Close X at top-right */
  .aha-sheet-header-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 4px 14px !important;
    flex-shrink: 0 !important;
    cursor: grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    touch-action: none !important;
    position: relative !important;
    z-index: 20 !important;
    box-sizing: border-box !important;
  }

  .aha-sheet-drag-handle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    height: 100% !important;
    padding: 2px 0 !important;
    cursor: grab !important;
  }

  .aha-drag-handle-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
  }

  .aha-drag-arrow-svg {
    display: block !important;
    color: rgba(255, 255, 255, 0.7) !important;
    transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.3, 1), color 0.2s ease !important;
    transform-origin: center center !important;
  }

  /* In Large (View To Nhất - mặc định): Mũi tên hướng xuống báo hiệu kéo xuống thu nhỏ */
  .aha-floating-card.aha-sheet-large .aha-drag-arrow-svg,
  .aha-floating-card:not(.aha-sheet-small) .aha-drag-arrow-svg {
    transform: rotate(180deg) !important;
  }

  /* In Small (View Nhỏ): Mũi tên hướng lên báo hiệu kéo lên mở to */
  .aha-floating-card.aha-sheet-small .aha-drag-arrow-svg {
    transform: rotate(0deg) !important;
  }

  .aha-drag-bar {
    display: block !important;
    width: 44px !important;
    height: 3.5px !important;
    background: rgba(255, 255, 255, 0.45) !important;
    border-radius: 2.5px !important;
    transition: background 0.2s, transform 0.2s !important;
  }

  .aha-sheet-drag-handle:active .aha-drag-bar {
    background: #ffffff !important;
    transform: scaleX(1.1) !important;
  }
  .aha-sheet-drag-handle:active .aha-drag-arrow-svg {
    color: #ffffff !important;
  }

  .aha-sheet-top-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 50 !important;
  }

  /* Heart Save button in top-right */
  .aha-sheet-fav-btn {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    cursor: pointer !important;
    padding: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    transition: transform 0.15s, color 0.15s, background 0.15s !important;
  }
  .aha-sheet-fav-btn:active {
    transform: scale(0.88) !important;
  }
  .aha-sheet-fav-btn.is-saved {
    background: rgba(255, 56, 92, 0.25) !important;
    border-color: #ff385c !important;
    color: #ff385c !important;
  }
  .aha-sheet-fav-btn.is-saved svg path {
    fill: #ff385c !important;
    stroke: #ff385c !important;
  }

  /* Close X button in top-right */
  .aha-sheet-close-btn {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    min-height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35) !important;
    padding: 0 !important;
    transition: transform 0.15s, background 0.15s, border-color 0.15s !important;
  }
  .aha-sheet-close-btn:hover {
    background: rgba(239, 68, 68, 0.9) !important;
    border-color: #ef4444 !important;
  }
  .aha-sheet-close-btn:active {
    transform: scale(0.88) !important;
  }

  /* Hide old desktop-only buttons on mobile */
  .aha-card-media .aha-card-fav-btn,
  .aha-card-media .aha-carousel-nav,
  .aha-card-media .aha-carousel-counter {
    display: none !important;
  }

  /* Carousel Dots */
  .aha-carousel-dots {
    position: absolute !important;
    bottom: 7px !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    z-index: 10 !important;
    pointer-events: none !important;
  }
  .aha-dot {
    display: inline-block !important;
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.45) !important;
    transition: all 0.2s ease !important;
  }
  .aha-dot.active {
    width: 7px !important;
    height: 7px !important;
    background: #ffffff !important;
    box-shadow: 0 0 6px rgba(255, 255, 255, 0.9) !important;
  }

  /* Content wrap: 2-column layout */
  .aha-card-content-wrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    padding: 4px 12px 14px 12px !important;
    height: calc(100% - 32px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .aha-card-media {
    position: relative !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border-radius: 12px !important;
    height: 100% !important;
  }

  .aha-carousel-track {
    background: transparent !important;
  }

  .aha-carousel-slide,
  img.aha-carousel-slide,
  video.aha-carousel-slide {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    background: transparent !important;
  }

  .aha-card-info {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    padding: 2px 0 2px 4px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    height: 100% !important;
    box-sizing: border-box !important;
  }

  .aha-card-expanded-info {
    display: none !important;
  }

  .aha-card-peek-info {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    height: 100% !important;
    text-align: left !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .aha-card-peek-info::-webkit-scrollbar {
    display: none !important;
  }

  .aha-peek-price-row {
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    white-space: nowrap !important;
  }
  .aha-peek-price {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.1 !important;
    letter-spacing: -0.3px !important;
    white-space: nowrap !important;
  }
  .aha-peek-unit {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #94a3b8 !important;
    white-space: nowrap !important;
  }

  .aha-peek-specs {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #f1f5f9 !important;
    margin-top: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .aha-peek-specs .aha-peek-sqm {
    color: #38bdf8 !important;
    font-weight: 800 !important;
  }

  .aha-peek-loc {
    font-size: 11.5px !important;
    color: #cbd5e1 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
    line-height: 1.35 !important;
    margin-top: 1px !important;
    display: block !important;
  }
  .aha-peek-loc b {
    color: #ffffff !important;
    font-weight: 700 !important;
  }

  .aha-peek-chips {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
    margin-top: 2px !important;
  }
  .aha-peek-chip {
    font-size: 10.5px !important;
    font-weight: 600 !important;
    padding: 2px 6.5px !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #cbd5e1 !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    white-space: nowrap !important;
    line-height: 1.25 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 3px !important;
  }
  .aha-peek-chip-lease {
    background: rgba(56, 189, 248, 0.14) !important;
    border-color: rgba(56, 189, 248, 0.38) !important;
    color: #38bdf8 !important;
  }
  .aha-peek-chip-balcony {
    background: rgba(52, 211, 153, 0.14) !important;
    border-color: rgba(52, 211, 153, 0.38) !important;
    color: #34d399 !important;
  }
  .aha-peek-chip-no-balcony {
    background: rgba(248, 113, 113, 0.1) !important;
    border-color: rgba(248, 113, 113, 0.3) !important;
    color: #fca5a5 !important;
  }
  .aha-peek-chip-pet {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
    color: #34d399 !important;
  }
  .aha-peek-chip-no-pet {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.35) !important;
    color: #f87171 !important;
  }
  .aha-peek-chip-dryer {
    background: rgba(168, 85, 247, 0.14) !important;
    border-color: rgba(168, 85, 247, 0.38) !important;
    color: #c084fc !important;
  }
  .aha-peek-chip-rack {
    background: rgba(245, 158, 11, 0.14) !important;
    border-color: rgba(245, 158, 11, 0.38) !important;
    color: #fbbf24 !important;
  }

  .aha-peek-action-row {
    margin-top: 3px !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
  }
  .aha-peek-detail-btn {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22) 0%, rgba(6, 182, 212, 0.22) 100%) !important;
    border: 1px solid rgba(16, 185, 129, 0.45) !important;
    color: #34d399 !important;
    border-radius: 7px !important;
    padding: 4.5px 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
    transition: all 0.15s ease !important;
  }
  .aha-peek-detail-btn:hover,
  .aha-peek-detail-btn:active {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.38) 0%, rgba(6, 182, 212, 0.38) 100%) !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
  }

  .aha-peek-date-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    margin-top: 1px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .aha-peek-source {
    text-decoration: underline !important;
    color: #38bdf8 !important;
    cursor: pointer !important;
  }

  /* STATE 1: VIEW TO NHẤT (Mặc định chuẩn danang.kim ~44vh - vừa đủ to vừa xem được bản đồ) */
  .aha-floating-card.aha-sheet-large,
  .aha-floating-card:not(.aha-sheet-small) {
    height: min(44vh, 375px) !important;
    max-height: min(44vh, 375px) !important;
  }

  .aha-floating-card.aha-sheet-large .aha-card-media,
  .aha-floating-card:not(.aha-sheet-small) .aha-card-media {
    flex: 0 0 54% !important;
    width: 54% !important;
    max-width: 54% !important;
    height: 100% !important;
    border-radius: 12px !important;
  }

  /* STATE 2: VIEW NHỎ NHẤT (~200px) */
  .aha-floating-card.aha-sheet-small {
    height: 200px !important;
    max-height: 200px !important;
  }

  .aha-floating-card.aha-sheet-small .aha-card-media {
    flex: 0 0 135px !important;
    width: 135px !important;
    max-width: 135px !important;
    height: 100% !important;
    border-radius: 12px !important;
  }

  .aha-floating-card.aha-sheet-small .aha-peek-chips {
    max-height: 42px !important;
    overflow: hidden !important;
    gap: 3px !important;
  }
  .aha-floating-card.aha-sheet-small .aha-peek-chip {
    font-size: 10px !important;
    padding: 1.5px 5px !important;
  }
  .aha-floating-card.aha-sheet-small .aha-peek-detail-btn {
    padding: 3px 6px !important;
    font-size: 10px !important;
  }
  .aha-floating-card.aha-sheet-small .aha-peek-date-row {
    display: none !important;
  }
}
.aha-carousel-track {
  display: flex !important;
  flex-direction: row !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
  -webkit-overflow-scrolling: touch !important;
  width: 100% !important;
  height: 100% !important;
  scrollbar-width: none !important;
}
.aha-carousel-track::-webkit-scrollbar {
  display: none !important;
}
.aha-carousel-slide,
img.aha-carousel-slide {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
  scroll-snap-align: start !important;
  cursor: pointer !important;
  user-select: none !important;
}
video.aha-carousel-slide {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  background: transparent !important;
  scroll-snap-align: start !important;
  display: block !important;
}
@media (min-width: 769px) {
  .aha-carousel-slide,
  img.aha-carousel-slide,
  video.aha-carousel-slide {
    object-fit: contain !important;
    background: #000000 !important;
  }
}
.aha-carousel-nav {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: rgba(18, 20, 26, 0.8) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  z-index: 8 !important;
  transition: all 0.2s !important;
  line-height: 1 !important;
  padding: 0 !important;
}
.aha-carousel-nav:hover {
  background: rgba(255, 56, 92, 0.9) !important;
  border-color: #ff385c !important;
  transform: translateY(-50%) scale(1.1) !important;
}
.aha-carousel-prev { left: 8px !important; }
.aha-carousel-next { right: 8px !important; }
.aha-carousel-counter {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  background: rgba(18, 20, 26, 0.85) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  z-index: 8 !important;
  pointer-events: none !important;
  line-height: 1 !important;
}
.aha-card-specs-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin: 6px 0 4px 0 !important;
}
@media (max-width: 768px) {
  .aha-spec-chip {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-radius: 6px !important;
    color: #e2e8f0 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 2px 7px !important;
    white-space: nowrap !important;
  }
  .aha-amenity-chip {
    background: rgba(16, 185, 129, 0.12) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    border-radius: 6px !important;
    color: #6ee7b7 !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 2px 7px !important;
    white-space: nowrap !important;
  }
  .aha-amenity-chip-dryer {
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(59, 130, 246, 0.3) !important;
    color: #93c5fd !important;
  }
}
/* v22: Price per square meter (m²) badges & 5-card specs grid */
.aha-spec-chip.aha-spec-chip-highlight {
  background: rgba(16, 185, 129, 0.16) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
  color: #34d399 !important;
  font-weight: 700 !important;
}
.aha-spec-card.aha-spec-card-highlight {
  background: rgba(16, 185, 129, 0.12) !important;
  border-color: rgba(16, 185, 129, 0.4) !important;
}
.aha-spec-card.aha-spec-card-highlight .aha-spec-card-val {
  color: #34d399 !important;
}
.aha-specs-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(75px, 1fr)) !important;
  gap: 8px !important;
  margin: 14px 0 !important;
}
@media (max-width: 480px) {
  .aha-specs-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .aha-specs-grid .aha-spec-card-highlight:last-child:nth-child(odd) {
    grid-column: span 2 !important;
  }
}

/* v34: Definite Desktop Card Position (18vw left, 28vw width, 270px media, 13.5px specs) */
@media (min-width: 769px) {
  .aha-floating-card {
    position: absolute !important;
    top: 68px !important;
    bottom: auto !important;
    left: calc(18vw) !important;
    right: auto !important;
    width: calc(28vw) !important;
    min-width: 280px !important;
    max-width: 480px !important;
    height: auto !important;
    max-height: calc(100vh - 84px) !important;
    overflow-y: auto !important;
    border-radius: 18px !important;
    z-index: 1500 !important;
  }
  .aha-card-media {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 270px !important;
    background: #000000 !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    border-radius: 18px 18px 0 0 !important;
  }
  .aha-carousel-slide,
  img.aha-carousel-slide,
  video.aha-carousel-slide {
    object-fit: contain !important;
    background: #000000 !important;
    height: 100% !important;
    width: 100% !important;
  }
  .aha-spec-chip {
    font-size: 13.5px !important;
    padding: 5px 12px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
  }
  .aha-amenity-chip {
    font-size: 13px !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
  }
  .aha-meta-tag {
    font-size: 12.5px !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
  }
  .aha-card-price-main,
  #card-price-converted {
    font-size: 28px !important;
    font-weight: 800 !important;
  }
  .aha-card-price-sub,
  #card-price-sub {
    font-size: 14.5px !important;
  }
  .aha-card-title,
  #card-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
  }
  .aha-btn-card-details,
  .aha-card-btn-action {
    height: 48px !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    border-radius: 10px !important;
    box-shadow: 0 4px 14px var(--aha-primary-glow) !important;
  }
}

/* v45: Critical styles for Horizontal Date Slider */
.aha-hdate-widget {
  position: absolute !important;
  bottom: 22px !important;
  left: 58% !important;
  transform: translateX(-50%) !important;
  z-index: 1600 !important;
  display: flex !important;
  align-items: center !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
.aha-hdate-widget * {
  pointer-events: auto !important;
}
.aha-hdate-pill {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: rgba(20, 24, 30, 0.92) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 30px !important;
  padding: 6px 14px 6px 10px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65) !important;
}
.aha-hdate-icon-btn {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 50% !important;
  width: 26px !important;
  height: 26px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 13px !important;
}
.aha-hdate-bound-label {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  padding: 0 2px !important;
}
.aha-hdate-track-wrap {
  width: 170px !important;
  height: 26px !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  padding: 0 4px !important;
}
.aha-hdate-track {
  position: relative !important;
  width: 100% !important;
  height: 6px !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 6px !important;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.75) !important;
}
.aha-hdate-track::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: -2px !important;
  bottom: -2px !important;
  width: 1.5px !important;
  background: rgba(255, 255, 255, 0.35) !important;
  border-radius: 1px !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.aha-hdate-fill {
  position: absolute !important;
  height: 6px !important;
  left: 0 !important;
  width: 23.33%;
  background: #10b981 !important;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.95), 0 0 16px rgba(0, 230, 118, 0.6) !important;
  border-radius: 6px !important;
}
.aha-hdate-thumb {
  position: absolute !important;
  top: 50% !important;
  left: 23.33%;
  transform: translate(-50%, -50%) !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #111111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.75) !important;
  cursor: ew-resize !important;
  z-index: 10 !important;
  touch-action: none !important;
}
.aha-hdate-thumb-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
.aha-hdate-badge {
  position: absolute !important;
  bottom: calc(100% + 8px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(18, 20, 24, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  color: #34d399 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(16, 185, 129, 0.5) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6) !important;
  pointer-events: none !important;
}
/* ==========================================================================
   v54: RIGHT-SIDE CONTROLS AXIS (SLIDER - MY LOCATION - ZOOM ON 1 AXIS)
   & 1-ROW COMPACT HEADER WITH VISIBLE GOOGLE LOGIN
   ========================================================================== */
:root {
  --aha-axis-right: 12px;
  --aha-axis-width: 32px;
}

/* Nút zoom (+ / -) ở góc dưới phải, trên cùng trục 12px */
.leaflet-bottom.leaflet-right {
  right: var(--aha-axis-right) !important;
  bottom: 16px !important;
  left: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 1000 !important;
}
.leaflet-bottom.leaflet-right .leaflet-control-zoom {
  margin: 0 !important;
  width: var(--aha-axis-width) !important;
  border-radius: 8px !important;
  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(22, 26, 34, 0.94) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55) !important;
  overflow: hidden !important;
}
.leaflet-control-zoom a {
  width: var(--aha-axis-width) !important;
  height: 30px !important;
  line-height: 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
.leaflet-control-zoom a:last-child {
  border-bottom: none !important;
}
.leaflet-control-zoom a:hover {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ff385c !important;
}

/* Icon Nút My Location: Nằm ngay trên nút Zoom, cùng 1 trục 12px, có chữ nhỏ My Location bên dưới cân đối */
.aha-btn-gps {
  position: absolute !important;
  right: var(--aha-axis-right) !important;
  bottom: 104px !important;
  width: var(--aha-axis-width) !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(22, 26, 34, 0.94) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55) !important;
  z-index: 1000 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  overflow: visible !important;
}
.aha-btn-gps:hover {
  background: rgba(35, 40, 52, 0.98) !important;
  border-color: #ff385c !important;
  transform: scale(1.05) !important;
}
.aha-btn-gps .aha-gps-text {
  display: block !important;
  position: absolute !important;
  top: 34px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  color: #f1f5f9 !important;
  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.95), 0 0 3px #000 !important;
  letter-spacing: -0.2px !important;
  pointer-events: none !important;
}
.aha-btn-gps .aha-gps-icon {
  font-size: 15px !important;
  line-height: 1 !important;
  display: inline-block !important;
}
.aha-btn-gps .aha-gps-pulse-ring {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #007aff !important;
  box-shadow: 0 0 8px #007aff !important;
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
}

/* Thanh Kéo Giá Dọc (Vertical Price Slider Widget): Dịch xuống dưới màn hình để KHÔNG BỊ CHE, dừng trước nút My Location */
.aha-vslider-widget {
  position: absolute !important;
  right: var(--aha-axis-right) !important;
  width: var(--aha-axis-width) !important;
  bottom: 154px !important;
  top: 138px !important;
  z-index: 1000 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 5px !important;
  pointer-events: none !important;
}
.aha-vslider-widget * {
  pointer-events: auto !important;
}
.aha-vslider-mode-wrap {
  width: var(--aha-axis-width) !important;
  display: flex !important;
  justify-content: center !important;
  margin-bottom: 0 !important;
}
.aha-vslider-mode-btn {
  width: var(--aha-axis-width) !important;
  height: 22px !important;
  padding: 0 !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.aha-vslider-currency-wrap {
  width: var(--aha-axis-width) !important;
  display: flex !important;
  justify-content: center !important;
}
.aha-vslider-currency-btn {
  width: 28px !important;
  height: 26px !important;
  border-radius: 6px !important;
  font-size: 11px !important;
}
.aha-vslider-track-wrap {
  width: var(--aha-axis-width) !important;
  flex: 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  position: relative !important;
  min-height: 120px !important;
}
.aha-vslider-track {
  width: 6px !important;
  height: 100% !important;
  border-radius: 3px !important;
}
.aha-vslider-thumb {
  width: 28px !important;
  height: 28px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-radius: 50% !important;
}
/* Badge giá luôn bung sang BÊN TRÁI vào lòng bản đồ, tuyệt đối không che nút hay thanh kéo */
.aha-vthumb-badge {
  right: 36px !important;
  left: auto !important;
  font-size: 11px !important;
  padding: 3px 6px !important;
  white-space: nowrap !important;
}

/* --- MÀN HÌNH DI ĐỘNG: HEADER ROW 2 TRÊN CÙNG 1 DÒNG DUY NHẤT (KHÔNG TRÀN MÉP) --- */
@media (max-width: 768px) {
  .aha-map-nav {
    left: 6px !important;
    right: 6px !important;
    width: auto !important;
    max-width: none !important;
    padding: 5px 6px !important;
    gap: 4px !important;
    box-sizing: border-box !important;
  }
  .aha-nav-top-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 3px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .aha-brand {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-brand-link {
    font-size: 12.5px !important;
    gap: 3px !important;
    white-space: nowrap !important;
  }
  .aha-brand-dot {
    width: 7px !important;
    height: 7px !important;
  }
  .aha-brand-title {
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: -0.3px !important;
  }
  
  /* Nút ngôn ngữ ngắn lại siêu gọn gàng */
  .aha-lang-selector {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-select.aha-lang-select {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 46px !important;
    height: 25px !important;
    padding: 0 2px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    border-radius: 5px !important;
    text-align: center !important;
    background-position: right 2px center !important;
  }

  /* Nút Góp ý / Feedback trên mobile: Hiển thị cả icon và chữ nhỏ gọn gàng */
  .aha-btn-feedback-nav {
    width: auto !important;
    height: 25px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    color: #e2e8f0 !important;
  }
  .aha-btn-feedback-nav .aha-fb-nav-text {
    display: inline-block !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    letter-spacing: -0.2px !important;
    line-height: 1 !important;
  }
  .aha-btn-feedback-nav .aha-fb-nav-icon {
    font-size: 10px !important;
    line-height: 1 !important;
  }

  /* Nhóm nút hành động bên phải: Không xuống dòng, bảo toàn 100% bên trong khung card */
  .aha-nav-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
  }
  .aha-app-install-wrap,
  .aha-btn-app-install,
  .aha-btn-tip-nav,
  .aha-btn-landlord-portal {
    width: 25px !important;
    height: 25px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12.5px !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-landlord-portal .aha-landlord-text {
    display: none !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 25px !important;
    padding: 0 3px !important;
    display: flex !important;
    align-items: center !important;
    gap: 1px !important;
    font-size: 9.5px !important;
    border-radius: 5px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-icon#btn-saved-toggle .aha-heart-icon {
    font-size: 10.5px !important;
  }
  .aha-btn-icon#btn-saved-toggle .aha-badge-count {
    font-size: 9px !important;
    min-width: 11px !important;
    height: 12px !important;
    line-height: 12px !important;
    padding: 0 1px !important;
  }
  
  /* Nút Google 1-Click Login: Nằm hoàn toàn 100% bên trong viền card */
  .aha-auth-wrapper {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .aha-btn-auth {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 25px !important;
    height: 25px !important;
    padding: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 5px !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    visibility: visible !important;
  }
  .aha-btn-auth .aha-auth-label {
    display: none !important;
  }
  .aha-btn-auth .aha-google-icon {
    width: 13.5px !important;
    height: 13.5px !important;
    display: block !important;
  }
  .aha-btn-auth #auth-btn-guest-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

@media (max-width: 360px) {
  .aha-map-nav {
    left: 4px !important;
    right: 4px !important;
    padding: 4px 4px !important;
  }
  .aha-nav-actions {
    gap: 1.5px !important;
  }
  .aha-app-install-wrap,
  .aha-btn-app-install,
  .aha-btn-tip-nav,
  .aha-btn-landlord-portal,
  .aha-btn-auth {
    width: 24px !important;
    height: 24px !important;
  }
}
@media (max-width: 420px) {
  .aha-hdate-widget {
    bottom: 20px !important;
    left: 50% !important;
  }
  .aha-hdate-track-wrap {
    width: 140px !important;
  }
}
@media (max-width: 360px) {
  .aha-hdate-track-wrap {
    width: 120px !important;
  }
}

/* --- DESKTOP 1-LINE HEADER PERFECTION (>= 992px) --- */
@media (min-width: 992px) {
  .aha-map-nav {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 52px !important;
    padding: 0 18px 0 14px !important;
    gap: 7px !important;
    width: max-content !important;
    max-width: min(1380px, calc(100vw - 28px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    right: auto !important;
    border-radius: 28px !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.55) !important;
  }
  .aha-nav-top-row {
    display: contents !important;
  }
  .aha-top-tab-switcher {
    order: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
    gap: 3px !important;
    padding: 2.5px 4px !important;
  }
  .aha-top-tab-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 5px 9px !important;
    font-size: 12px !important;
    gap: 4px !important;
  }
  .aha-btn-feedback-nav {
    order: 1 !important;
    height: 35px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .aha-brand {
    order: 2 !important;
    flex-shrink: 0 !important;
  }
  .aha-brand-link {
    font-size: 15px !important;
    gap: 6px !important;
  }
  .aha-brand-dot {
    width: 9px !important;
    height: 9px !important;
  }
  .aha-filters-row {
    order: 3 !important;
    border-top: none !important;
    padding-top: 0 !important;
    gap: 6px !important;
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
  }
  .aha-multiselect {
    flex: 0 0 auto !important;
  }
  .aha-multiselect-btn {
    height: 35px !important;
    padding: 0 9px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    gap: 5px !important;
    width: auto !important;
    min-width: 95px !important;
    max-width: 140px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
  }
  .aha-multiselect-btn span:first-child {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100px !important;
  }
  .aha-nav-actions {
    order: 4 !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-btn-tip-nav,
  .aha-btn-app-install {
    width: 35px !important;
    height: 35px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-landlord-portal {
    height: 35px !important;
    padding: 0 10px !important;
    font-size: 12.5px !important;
    border-radius: 8px !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 35px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
    gap: 3px !important;
    flex-shrink: 0 !important;
  }
  .aha-auth-wrapper {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .aha-btn-auth {
    height: 35px !important;
    width: 35px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
  }
  .aha-btn-auth .aha-auth-label {
    display: none !important;
  }
  .aha-btn-auth .aha-google-icon {
    width: 17px !important;
    height: 17px !important;
  }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .aha-map-nav {
    padding: 0 8px !important;
    gap: 4px !important;
  }
  .aha-top-tab-switcher {
    padding: 2px !important;
    gap: 2px !important;
  }
  .aha-top-tab-btn {
    padding: 3px 5px !important;
    font-size: 10.5px !important;
    gap: 2px !important;
  }
  .aha-btn-feedback-nav {
    padding: 0 5px !important;
    font-size: 10.5px !important;
    height: 32px !important;
    gap: 3px !important;
  }
  .aha-brand-link {
    font-size: 13px !important;
    gap: 3px !important;
  }
  .aha-brand-dot {
    width: 8px !important;
    height: 8px !important;
  }
  .aha-filters-row {
    gap: 3px !important;
  }
  .aha-multiselect-btn {
    height: 32px !important;
    padding: 0 5px !important;
    font-size: 10.5px !important;
    min-width: 60px !important;
    max-width: 88px !important;
    gap: 2px !important;
  }
  .aha-multiselect-btn span:first-child {
    max-width: 64px !important;
  }
  .aha-nav-actions {
    gap: 2.5px !important;
  }
  .aha-btn-tip-nav,
  .aha-btn-app-install,
  .aha-btn-auth {
    width: 30px !important;
    height: 30px !important;
  }
  .aha-btn-landlord-portal {
    height: 30px !important;
    padding: 0 5px !important;
    font-size: 10.5px !important;
    gap: 3px !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 30px !important;
    padding: 0 5px !important;
    font-size: 10.5px !important;
    gap: 2px !important;
  }
}


/* ==========================================================================
   v51: DUAL TAB ARCHITECTURE (TAB 1: FULL-SCREEN MAP | TAB 2: EXPAT SEO GUIDE)
   ========================================================================== */
@media (max-width: 991px) {
  .aha-top-tab-switcher {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    background: rgba(18, 20, 24, 0.95) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 10px !important;
    padding: 3px !important;
    margin-bottom: 6px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
    width: 100% !important;
  }
  .aha-top-tab-btn {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    color: #9ca3af !important;
    padding: 7px 14px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }
}
.aha-top-tab-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
/* Tab 1 Active (Left - Map) */
.aha-top-tab-btn.active#tab-btn-map {
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 12px rgba(16, 185, 129, 0.55) !important;
}
/* Tab 2 Active (Right - SEO Guide) */
.aha-top-tab-btn.active#tab-btn-seo {
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 12px rgba(16, 185, 129, 0.55) !important;
}
@media (max-width: 768px) {
  .aha-top-tab-switcher {
    padding: 2.5px !important;
    margin-bottom: 5px !important;
  }
  .aha-top-tab-btn {
    font-size: 12px !important;
    padding: 5px 8px !important;
    gap: 4px !important;
  }
}

/* Tab 2 SEO Stage (Scrollable Full-Screen Dark Theme) */
.aha-tab-seo-stage {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 2500 !important;
  background: #121418 !important;
  color: #f3f4f6 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 85px 16px 60px !important;
}
.aha-seo-container {
  max-width: 1080px;
  margin: 0 auto;
}
.aha-seo-header-hero {
  background: linear-gradient(135deg, #1a1d24 0%, #222733 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 2.25rem 1.75rem;
  margin-bottom: 2rem;
  text-align: center;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}
.aha-seo-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: rgba(255, 56, 92, 0.18);
  border: 1px solid rgba(255, 56, 92, 0.4);
  color: #ff6b8b;
  padding: 0.35rem 0.95rem;
  border-radius: 9999px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 0.85rem;
}
.aha-seo-header-hero h1 {
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1.25;
  color: #ffffff;
  margin: 0 0 1rem 0;
}
.aha-seo-header-hero p.hero-desc {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #cbd5e1;
  margin: 0 auto 1.5rem;
  max-width: 820px;
}
.aha-seo-trust-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
  font-size: 0.86rem;
}
.aha-seo-trust-chips span {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.35rem 0.85rem;
  border-radius: 6px;
  color: #38bdf8;
  font-weight: 600;
}

/* Concierge Fast Lead Box */
.aha-seo-concierge-card {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 14px;
  padding: 1.75rem;
  margin-bottom: 2.5rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
}
.aha-seo-concierge-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 1.5rem;
  align-items: center;
}
@media (max-width: 768px) {
  .aha-seo-concierge-grid {
    grid-template-columns: 1fr;
  }
}
.aha-seo-concierge-text h3 {
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 0.5rem 0;
  color: #ffffff;
}
.aha-seo-concierge-text p {
  font-size: 0.92rem;
  line-height: 1.55;
  color: #dbeafe;
  margin: 0;
}
.aha-seo-concierge-form {
  background: #ffffff;
  padding: 1.25rem;
  border-radius: 10px;
  color: #0f172a;
}
.aha-seo-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.aha-seo-input {
  width: 100%;
  padding: 0.55rem 0.75rem;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 0.85rem;
  outline: none;
  box-sizing: border-box;
}
.aha-seo-btn-submit {
  width: 100%;
  padding: 0.65rem;
  background: #16a34a;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  font-size: 0.92rem;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s;
}
.aha-seo-btn-submit:hover {
  background: #15803d;
}

/* Rich SEO Content Sections */
.aha-seo-article {
  background: #181b22;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  padding: 2.25rem 2rem;
  margin-bottom: 2.5rem;
  line-height: 1.7;
}
.aha-seo-article h2 {
  font-size: 1.55rem;
  font-weight: 800;
  color: #ffffff;
  margin: 2rem 0 0.85rem 0;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.aha-seo-article h2:first-child {
  margin-top: 0;
}
.aha-seo-article h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #38bdf8;
  margin: 1.5rem 0 0.5rem 0;
}
.aha-seo-article p {
  color: #d1d5db;
  font-size: 0.95rem;
  margin: 0 0 1rem 0;
}
.aha-seo-article ul {
  color: #d1d5db;
  font-size: 0.95rem;
  margin: 0 0 1.25rem 1.25rem;
}
.aha-seo-article li {
  margin-bottom: 0.4rem;
}

/* Comparison Table */
.aha-seo-table-wrap {
  overflow-x: auto;
  margin: 1.25rem 0 1.75rem;
  width: 100%;
  box-sizing: border-box;
}
.aha-seo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background: #1e222b;
  border-radius: 8px;
  overflow: hidden;
  box-sizing: border-box;
}
.aha-seo-table th,
.aha-seo-table td {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-align: left;
}
.aha-seo-table th {
  background: #252a35;
  color: #ffffff;
  font-weight: 700;
}
.aha-seo-table td {
  color: #cbd5e1;
}

/* Comparison Table Mobile Fixed Fit (Fit cứng 100% màn hình, không trượt ngang) */
@media (max-width: 768px) {
  .aha-guide-container {
    padding: 12px 8px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .aha-seo-article {
    padding: 1.25rem 0.65rem !important;
    border-radius: 10px !important;
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .aha-seo-table-wrap {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1rem 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .aha-seo-table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    box-sizing: border-box !important;
  }
  .aha-seo-table th,
  .aha-seo-table td {
    padding: 7px 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    line-height: 1.35 !important;
    vertical-align: top !important;
  }
  .aha-seo-table th:nth-child(1),
  .aha-seo-table td:nth-child(1) {
    width: 28% !important;
    font-size: 10.5px !important;
    text-align: left !important;
    font-weight: 600 !important;
    color: #f3f4f6 !important;
  }
  .aha-seo-table th:nth-child(2),
  .aha-seo-table td:nth-child(2) {
    width: 36% !important;
    font-size: 10.5px !important;
    text-align: left !important;
    color: #94a3b8 !important;
  }
  .aha-seo-table th:nth-child(3),
  .aha-seo-table td:nth-child(3) {
    width: 36% !important;
    font-size: 10.5px !important;
    text-align: left !important;
  }
  .aha-seo-table th {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    background: #252a35 !important;
  }
  .aha-seo-table th:nth-child(3) {
    background: #14352a !important;
    color: #34d399 !important;
    border-bottom: 2px solid #10b981 !important;
  }
  .aha-seo-table td:nth-child(3) {
    background: rgba(16, 185, 129, 0.06) !important;
    color: #ecfdf5 !important;
  }
}

@media (max-width: 380px) {
  .aha-guide-container {
    padding: 10px 5px !important;
  }
  .aha-seo-article {
    padding: 1rem 0.4rem !important;
  }
  .aha-seo-table th,
  .aha-seo-table td {
    padding: 5px 2.5px !important;
    font-size: 9.5px !important;
    line-height: 1.25 !important;
  }
  .aha-seo-table th:nth-child(1),
  .aha-seo-table td:nth-child(1) {
    width: 27% !important;
    font-size: 9.5px !important;
  }
  .aha-seo-table th:nth-child(2),
  .aha-seo-table td:nth-child(2),
  .aha-seo-table th:nth-child(3),
  .aha-seo-table td:nth-child(3) {
    width: 36.5% !important;
    font-size: 9.5px !important;
  }
}

/* FAQ Accordion */
.aha-seo-faq-section {
  margin-top: 2rem;
}
.aha-seo-faq-item {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  margin-bottom: 0.75rem;
  overflow: hidden;
  background: #1e222b;
}
.aha-seo-faq-question {
  width: 100%;
  padding: 1rem 1.25rem;
  background: #1e222b;
  border: none;
  color: #ffffff;
  font-size: 0.96rem;
  font-weight: 700;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.aha-seo-faq-question:hover {
  background: #252a35;
}
.aha-seo-faq-icon {
  font-size: 1.2rem;
  font-weight: 800;
  color: #10b981;
}
.aha-seo-faq-answer {
  padding: 0 1.25rem 1.25rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #cbd5e1;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: none;
}

/* Floating Return Button */
.aha-seo-return-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.25rem;
}
.aha-btn-return-map {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  background: #ff385c;
  color: #ffffff !important;
  border: none;
  border-radius: 8px;
  padding: 0.6rem 1.1rem;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(255, 56, 92, 0.4);
}
.aha-btn-return-map:hover {
  background: #e02447;
  transform: translateY(-1px);
}
.aha-seo-legal-footer {
  text-align: center;
  padding: 2rem 0;
  color: #9ca3af;
  font-size: 0.85rem;
  line-height: 1.6;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}


/* ==========================================================================
   v52: COMPLETE 3-TAB ARCHITECTURE & ERADICATION OF LEAKING THEME HEADERS
   ========================================================================== */

/* Eradicate all leaking theme headers, navbars, menu bars & hamburger toggles */
#masthead,
.site-header,
#mobile-header,
.main-navigation,
#mobile-menu-control-wrapper,
.menu-toggle,
button.menu-toggle,
.mobile-menu-toggle,
.mobile-nav-toggle,
.hamburger,
#site-navigation,
.navigation-bar,
.navbar,
.navbar-pre,
#navbar-header,
.site-footer,
#colophon,
.site-info,
.header-widget,
.top-bar,
[class*="nav-toggle"],
[class*="menu-toggle"],
[class*="hamburger"],
.menu-bar-items,
.slideout-toggle,
.wp-block-navigation {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
}

/* 3-Tab Switcher on Top of #map-nav */
@media (max-width: 991px) {
  .aha-top-tab-switcher {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px !important;
    background: rgba(18, 20, 24, 0.96) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 10px !important;
    padding: 3px !important;
    margin-bottom: 6px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .aha-top-tab-btn {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    color: #9ca3af !important;
    padding: 6px 4px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border-radius: 7px !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }
}
.aha-top-tab-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
/* Tab 1 Active (Map - Green) */
.aha-top-tab-btn.active#tab-btn-map {
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.55) !important;
}
/* Tab 2 Active (Fast Match - Green) */
.aha-top-tab-btn.active#tab-btn-match {
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.55) !important;
}
/* Tab 3 Active (Rental Guide - Emerald Green) */
.aha-top-tab-btn.active#tab-btn-seo {
  background: #10b981 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.55) !important;
}
@media (max-width: 480px) {
  .aha-top-tab-switcher {
    padding: 2.5px !important;
    gap: 3px !important;
    margin-bottom: 5px !important;
  }
  .aha-top-tab-btn {
    font-size: 11px !important;
    padding: 5px 2px !important;
    gap: 3px !important;
  }
}

/* Return Bar on Tab 2 and Tab 3: Sticky flush at top */
.aha-stage-return-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 1rem !important;
  gap: 10px !important;
  width: calc(100% + 32px) !important;
  margin-left: -16px !important;
  margin-right: -16px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2600 !important;
  background: rgba(15, 17, 21, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  padding: 10px 16px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
  box-sizing: border-box !important;
}
.aha-stage-return-right {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-shrink: 0 !important;
}
.aha-stage-lang-pill {
  height: 34px !important;
  padding: 0 10px !important;
  background: rgba(30, 36, 46, 0.95) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}
.aha-stage-lang-pill:hover {
  border-color: rgba(16, 185, 129, 0.6) !important;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25) !important;
}
.aha-btn-return-map {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #ff385c !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 12px rgba(255, 56, 92, 0.4) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.aha-btn-return-map:hover {
  background: #e02447 !important;
  transform: translateY(-1px) !important;
}
.aha-stage-brand-tag {
  font-size: 0.85rem !important;
  color: #94a3b8 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-align: right !important;
}

/* Common Fullscreen Scrollable Stages for Tab 2 and Tab 3 */
.aha-tab-scroll-stage {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  z-index: 2500 !important;
  background: #0f1115 !important;
  color: #f3f4f6 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 0 16px 140px !important;
  box-sizing: border-box !important;
}
@media (max-width: 640px) {
  .aha-tab-scroll-stage {
    padding: 0 12px 90px !important;
  }
}
.aha-tab-inner-container {
  max-width: 860px;
  margin: 0 auto;
}

/* --- Simplified Zone Groups in Section 1 --- */
.aha-zone-group {
  background: rgba(255, 255, 255, 0.025) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 11px !important;
  padding: 10px 12px 12px !important;
  margin-bottom: 10px !important;
}
.aha-zone-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 8px !important;
}
.aha-zone-pill {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #fbbf24 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
}
.aha-zone-hint {
  font-size: 0.72rem !important;
  color: #64748b !important;
  font-weight: 500 !important;
}


/* --- Wards Dropdown Multiselect Component (User requested: list sổ ra để họ tích vào rồi đóng lại) --- */
.aha-wards-dropdown-wrap {
  position: relative !important;
  width: 100% !important;
  margin-bottom: 14px !important;
}
.aha-wards-dropdown-btn {
  width: 100% !important;
  background: #1e222b !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
  text-align: left !important;
}
.aha-wards-dropdown-btn:hover {
  background: #252b36 !important;
  border-color: #f59e0b !important;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.25) !important;
}
.aha-wards-btn-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.aha-wards-btn-icon {
  font-size: 1.2rem !important;
  flex-shrink: 0 !important;
}
.aha-wards-btn-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-shrink: 0 !important;
}
.aha-wards-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  letter-spacing: 0.3px !important;
}
.aha-wards-arrow {
  color: #94a3b8 !important;
  font-size: 0.8rem !important;
  transition: transform 0.2s ease !important;
}
.aha-wards-dropdown-wrap.open .aha-wards-arrow {
  transform: rotate(180deg) !important;
  color: #f59e0b !important;
}

/* Dropdown Menu Panel */
.aha-wards-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  background: #171b23 !important;
  border: 1.5px solid rgba(245, 158, 11, 0.6) !important;
  border-radius: 12px !important;
  box-shadow: 0 14px 35px rgba(0, 0, 0, 0.8) !important;
  z-index: 1050 !important;
  padding: 12px !important;
}
.aha-wards-menu-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-bottom: 10px !important;
  margin-bottom: 10px !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.aha-wards-menu-hint {
  font-size: 0.82rem !important;
  color: #94a3b8 !important;
  font-weight: 600 !important;
}
.aha-wards-menu-tools {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.aha-wards-tool-btn {
  background: none !important;
  border: none !important;
  color: #38bdf8 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  padding: 2px 4px !important;
}
.aha-wards-tool-btn:hover {
  color: #7dd3fc !important;
  text-decoration: underline !important;
}
.aha-dot-sep {
  color: #64748b !important;
  font-size: 0.8rem !important;
}

/* Checklist Grid */
.aha-wards-items-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 8px !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}
@media (max-width: 640px) {
  .aha-wards-items-grid {
    grid-template-columns: 1fr !important;
    max-height: 240px !important;
  }
}
.aha-ward-checkbox-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #1e222b !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  padding: 9px 11px !important;
  cursor: pointer !important;
  font-size: 0.84rem !important;
  color: #cbd5e1 !important;
  font-weight: 500 !important;
  user-select: none !important;
  transition: all 0.15s ease !important;
}
.aha-ward-checkbox-item:hover {
  background: #252b36 !important;
  border-color: rgba(245, 158, 11, 0.4) !important;
}
.aha-ward-checkbox-item.active {
  background: rgba(245, 158, 11, 0.18) !important;
  border-color: #f59e0b !important;
  color: #fbbf24 !important;
}
.aha-ward-checkbox-item input {
  display: none !important;
}
.aha-ward-check-box {
  width: 18px !important;
  height: 18px !important;
  border-radius: 4px !important;
  border: 1.5px solid #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  color: transparent !important;
  flex-shrink: 0 !important;
  background: #0f1217 !important;
}
.aha-ward-checkbox-item.active .aha-ward-check-box {
  background: #f59e0b !important;
  border-color: #f59e0b !important;
  color: #000000 !important;
}
.aha-ward-name {
  line-height: 1.25 !important;
}

/* Footer & Close Button */
.aha-wards-menu-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  gap: 10px !important;
}
.aha-wards-selection-text {
  font-size: 0.78rem !important;
  color: #94a3b8 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  flex: 1 !important;
}
.aha-btn-close-wards {
  background: #10b981 !important;
  border: none !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  padding: 8px 16px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s !important;
}
.aha-btn-close-wards:hover {
  background: #059669 !important;
}

/* --- Circled Map Screenshot Upload Box --- */
.aha-map-upload-container {
  margin-top: 14px !important;
}
.aha-map-upload-box {
  background: rgba(245, 158, 11, 0.035) !important;
  border: 1.5px dashed rgba(245, 158, 11, 0.4) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  position: relative !important;
}
.aha-map-upload-box:hover {
  background: rgba(245, 158, 11, 0.08) !important;
  border-color: #f59e0b !important;
}
.aha-upload-empty-state {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
@media (max-width: 640px) {
  .aha-upload-empty-state {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
  }
}
.aha-upload-icon-circle {
  font-size: 1.8rem !important;
  background: rgba(245, 158, 11, 0.15) !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.aha-upload-text-wrap {
  flex: 1 !important;
}
.aha-upload-title {
  display: block !important;
  font-size: 0.92rem !important;
  color: #f8fafc !important;
  font-weight: 700 !important;
  margin-bottom: 2px !important;
}
.aha-upload-sub {
  font-size: 0.78rem !important;
  color: #94a3b8 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.aha-btn-upload-browse {
  background: #1e2532 !important;
  border: 1px solid rgba(245, 158, 11, 0.5) !important;
  color: #fbbf24 !important;
  padding: 7px 14px !important;
  border-radius: 8px !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

/* Selected Preview State */
.aha-upload-preview-state {
  display: none !important;
  align-items: center !important;
  gap: 14px !important;
}
.aha-upload-preview-state.active {
  display: flex !important;
}
.aha-upload-empty-state.hidden {
  display: none !important;
}
@media (max-width: 640px) {
  .aha-upload-preview-state {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
  }
}
.aha-preview-thumb-wrap {
  position: relative !important;
  width: 72px !important;
  height: 72px !important;
  flex-shrink: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1.5px solid #10b981 !important;
}
.aha-preview-thumb-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.aha-preview-badge {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: rgba(16, 185, 129, 0.9) !important;
  color: #ffffff !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  padding: 1px 2px !important;
}
.aha-preview-info {
  flex: 1 !important;
}
.aha-preview-filename {
  display: block !important;
  font-size: 0.88rem !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
.aha-preview-filesize {
  font-size: 0.76rem !important;
  color: #94a3b8 !important;
  display: block !important;
  margin-bottom: 2px !important;
}
.aha-preview-note {
  font-size: 0.75rem !important;
  color: #10b981 !important;
  margin: 0 !important;
  font-weight: 500 !important;
}
.aha-btn-preview-remove {
  background: rgba(239, 68, 68, 0.15) !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  color: #f87171 !important;
  padding: 6px 12px !important;
  border-radius: 7px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
  white-space: nowrap !important;
}
.aha-btn-preview-remove:hover {
  background: #ef4444 !important;
  color: #ffffff !important;
}

/* ==========================================================================
   TAB 2: COMPREHENSIVE CONCIERGE MATCH FORM STYLING
   ========================================================================== */
.aha-match-hero-card {
  background: linear-gradient(135deg, #1e2532 0%, #151922 100%);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 12px;
  padding: 0.65rem 1rem;
  margin-bottom: 0.75rem;
  text-align: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.aha-match-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(245, 158, 11, 0.18);
  border: 1px solid rgba(245, 158, 11, 0.45);
  color: #fbbf24;
  padding: 2px 8px;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  margin-bottom: 0.25rem;
}
.aha-match-hero-card h1 {
  font-size: 1.3rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0 0 0.25rem 0;
  line-height: 1.2;
}
@media (max-width: 640px) {
  .aha-stage-return-bar {
    width: calc(100% + 24px) !important;
    margin-left: -12px !important;
    margin-right: -12px !important;
    margin-bottom: 0.75rem !important;
    padding: 8px 12px !important;
  }
  .aha-stage-brand-tag {
    display: none !important;
  }
  .aha-match-hero-card {
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
  }
  .aha-match-hero-card h1 {
    font-size: 1.15rem;
  }
  .aha-match-hero-card p {
    font-size: 0.8rem;
    margin-bottom: 0;
  }
}
.aha-match-hero-card p {
  color: #94a3b8;
  font-size: 0.84rem;
  line-height: 1.35;
  margin: 0 auto;
  max-width: 620px;
}
.aha-match-trust-grid {
  display: none !important;
}

/* Compact Custom Days Input */
.aha-custom-days-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  font-size: 13px;
  color: #cbd5e1;
}
.aha-days-input {
  width: 58px !important;
  height: 30px !important;
  padding: 2px 4px !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-align: center !important;
  outline: none !important;
  -moz-appearance: textfield;
}
.aha-days-input:focus {
  border-color: #10b981 !important;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25) !important;
  background: rgba(255, 255, 255, 0.14) !important;
}
.aha-days-input::-webkit-outer-spin-button,
.aha-days-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Form Group Cards */
.aha-form-section-card {
  background: #161920;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 14px;
  padding: 1.4rem 1.25rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
@media (max-width: 640px) {
  .aha-form-section-card {
    padding: 1.1rem 0.9rem;
    border-radius: 12px;
    margin-bottom: 1rem;
  }
}
.aha-section-title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0.85rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.aha-section-icon {
  font-size: 1.25rem;
}
.aha-section-heading {
  font-size: 1.05rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}
.aha-section-desc {
  font-size: 0.82rem;
  color: #94a3b8;
  margin: -0.3rem 0 0.85rem 0;
}

/* Touch Chips Grid */
.aha-touch-chips-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.aha-touch-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #1e222b !important;
  border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
  color: #e2e8f0 !important;
  padding: 9px 13px !important;
  border-radius: 9px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  user-select: none !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
  transition: all 0.18s ease !important;
}
.aha-touch-chip input {
  display: none !important;
}
.aha-touch-chip:hover {
  border-color: rgba(245, 158, 11, 0.6) !important;
  background: rgba(245, 158, 11, 0.1) !important;
}
.aha-touch-chip.active {
  background: rgba(245, 158, 11, 0.22) !important;
  border-color: #f59e0b !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.35) !important;
}
.aha-touch-chip.active .chip-check-mark {
  display: inline-block !important;
  font-weight: 800 !important;
}
.chip-check-mark {
  display: none;
  color: #f59e0b;
}

@media (max-width: 640px) {
  .aha-touch-chip {
    padding: 8px 11px !important;
    font-size: 0.82rem !important;
    border-radius: 8px !important;
  }
}

/* Segmented Counters (Adults, Children) */
.aha-segmented-counter-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 0.75rem;
}
@media (max-width: 640px) {
  .aha-segmented-counter-row {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}
.aha-counter-block label {
  display: block;
  font-size: 0.82rem;
  color: #cbd5e1;
  font-weight: 600;
  margin-bottom: 5px;
}
.aha-segmented-pills {
  display: flex;
  background: #1e222b;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 3px;
  gap: 2px;
}
.aha-seg-pill {
  flex: 1;
  text-align: center;
  padding: 8px 4px;
  font-size: 0.9rem;
  font-weight: 700;
  color: #94a3b8;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
  user-select: none;
}
.aha-seg-pill.active {
  background: #f59e0b;
  color: #000000;
  box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4);
}

/* Interactive Budget Slider */
.aha-budget-display-box {
  background: linear-gradient(135deg, #1e222b 0%, #252b36 100%);
  border: 1.5px solid rgba(16, 185, 129, 0.4);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
  margin-bottom: 12px;
}
.aha-budget-val-main {
  font-size: 1.6rem;
  font-weight: 900;
  color: #10b981;
}
.aha-budget-val-sub {
  font-size: 0.85rem;
  color: #94a3b8;
  margin-top: 2px;
}
.aha-slider-input {
  width: 100%;
  height: 8px;
  border-radius: 4px;
  background: #334155;
  outline: none;
  accent-color: #10b981;
  cursor: pointer;
  margin-bottom: 10px;
}
.aha-budget-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}
.aha-btn-budget-preset {
  background: #1e222b;
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #cbd5e1;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
}
.aha-btn-budget-preset:hover {
  border-color: #10b981;
  color: #ffffff;
}

/* Inputs & Textarea */
.aha-field-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}
@media (max-width: 640px) {
  .aha-field-grid-2 {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.aha-field-group label {
  display: block;
  font-size: 0.82rem;
  color: #cbd5e1;
  font-weight: 600;
  margin-bottom: 4px;
}
.aha-text-input,
.aha-textarea-input {
  width: 100%;
  background: #1e222b;
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.92rem;
  color: #ffffff;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s;
}
.aha-text-input:focus,
.aha-textarea-input:focus {
  border-color: #f59e0b;
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.3);
}

/* Massive Submit Button */
.aha-btn-match-submit {
  width: 100%;
  padding: 15px 20px;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #ffffff;
  border: none;
  border-radius: 12px;
  font-size: 1.12rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
  margin-top: 10px;
}
.aha-btn-match-submit:hover {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, 0.6);
}
.aha-btn-match-submit:active {
  transform: translateY(0);
}
.aha-match-submit-note {
  text-align: center;
  color: #94a3b8;
  font-size: 0.8rem;
  margin-top: 10px;
  line-height: 1.5;
}


/* v56: Bottom Controls Dock (Language Pill + Date Slider on same bottom row) */
.aha-bottom-controls-dock {
  position: absolute !important;
  bottom: 22px !important;
  left: 12px !important;
  z-index: 1600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}
.aha-bottom-controls-dock * {
  pointer-events: auto !important;
}
.aha-bottom-lang-pill {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  height: 38px !important;
  padding: 0 12px 0 10px !important;
  background: rgba(20, 24, 30, 0.92) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 30px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.65), 0 2px 6px rgba(0, 0, 0, 0.4) !important;
  cursor: pointer !important;
  color: #ffffff !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}
.aha-bottom-lang-pill:hover {
  border-color: rgba(16, 185, 129, 0.6) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.75), 0 0 15px rgba(16, 185, 129, 0.2) !important;
}
.aha-lang-globe-icon {
  font-size: 14px !important;
  line-height: 1 !important;
}
.aha-bottom-lang-label {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.5px !important;
}
.aha-lang-chevron {
  font-size: 11px !important;
  color: #9ca3af !important;
  margin-left: 1px !important;
}
.aha-bottom-lang-select {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  z-index: 2 !important;
}
.aha-bottom-controls-dock .aha-hdate-widget {
  position: static !important;
  transform: none !important;
  left: auto !important;
  bottom: auto !important;
  z-index: auto !important;
}
.aha-bottom-controls-dock .aha-hdate-pill {
  height: 38px !important;
  box-sizing: border-box !important;
}

/* FIX: Card active state completely hides bottom controls dock, date slider, and vertical slider */
body.aha-card-active .aha-bottom-controls-dock,
body.aha-card-active #bottom-controls-dock,
body.aha-card-active .aha-hdate-widget,
body.aha-card-active #hdate-widget,
body.aha-card-active .aha-vslider-widget,
body.aha-card-active #vslider-widget,
body.aha-card-active .aha-btn-gps {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(80px) !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  visibility: hidden !important;
}

/* FIX: Floating Card on tablet (769px - 960px) */
@media (min-width: 769px) and (max-width: 960px) {
  .aha-floating-card,
  #aha-card-preview {
    z-index: 2500 !important;
    bottom: 16px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100vh - 110px) !important;
  }
}

/* Mobile Bottom Sheet Full-Fit Flush (0px gap, no margins) */
@media (max-width: 768px) {
  .aha-floating-card,
  #aha-floating-card,
  #aha-card-preview {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    box-sizing: border-box !important;
    z-index: 2500 !important;
  }
  .aha-bottom-controls-dock {
    bottom: 18px !important;
    left: 8px !important;
    gap: 6px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    max-width: calc(100vw - 65px) !important;
  }
  .aha-bottom-lang-pill {
    height: 36px !important;
    padding: 0 8px !important;
    font-size: 11.5px !important;
    flex-shrink: 0 !important;
  }
  .aha-bottom-controls-dock .aha-hdate-widget {
    position: static !important;
    transform: none !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  .aha-bottom-controls-dock .aha-hdate-pill {
    height: 36px !important;
    padding: 4px 8px 4px 6px !important;
  }
  .aha-bottom-controls-dock .aha-hdate-track-wrap {
    width: 120px !important;
  }
}
@media (max-width: 375px) {
  .aha-bottom-controls-dock .aha-hdate-track-wrap {
    width: 95px !important;
  }
}

/* FIX: Crisp high-contrast close button for detail modal and cards */
.aha-modal-close,
.aha-modal-photo-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 99999 !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(15, 23, 42, 0.88) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-modal-close:hover,
.aha-modal-photo-close:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.1) !important;
}
.aha-modal-close .aha-close-icon,
.aha-modal-photo-close .aha-close-icon {
  display: block !important;
  font-size: 26px !important;
  line-height: 1 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  user-select: none !important;
  pointer-events: none !important;
  margin-top: -2px !important;
}
.aha-modal-close:hover .aha-close-icon,
.aha-modal-photo-close:hover .aha-close-icon {
  color: #ffffff !important;
}
.aha-card-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 50 !important;
  width: 32px !important;
  height: 32px !important;
  background: rgba(15, 23, 42, 0.88) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-card-close:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.1) !important;
}


/* ==========================================================================
   v57: CRITICAL UI FIXES (CARD CLOSE BUTTON, SECTION 1, SECTION 5, SECTION 9)
   ========================================================================== */
/* 1. Perfect Round Card Close Button */
.aha-card-close,
#btn-close-card {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 150 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.92) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.65) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-card-close:hover,
#btn-close-card:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.08) !important;
}
.aha-card-close svg,
#btn-close-card svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  pointer-events: none !important;
}

/* 2. Section 5 Wards Button (Zero Text Overlap Flexbox) */
.aha-wards-dropdown-btn {
  width: 100% !important;
  background: #1e222b !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  cursor: pointer !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}
.aha-wards-btn-left {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.aha-wards-btn-icon {
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.aha-wards-btn-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
}
.aha-wards-btn-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.aha-wards-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1.2 !important;
}
.aha-wards-arrow {
  color: #94a3b8 !important;
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
}

/* 3. Section 9 White Input Box for Guests */
.aha-textarea-input,
#match-notes {
  width: 100% !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.aha-textarea-input::placeholder,
#match-notes::placeholder {
  color: #94a3b8 !important;
  font-style: normal !important;
  opacity: 1 !important;
}
.aha-textarea-input:focus,
#match-notes:focus {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
}


/* ==========================================================================
   v57: CRITICAL UI FIXES (CARD CLOSE BUTTON, SECTION 1, SECTION 5, SECTION 9)
   ========================================================================== */
/* 1. Perfect Round Card Close Button */
.aha-card-close,
#btn-close-card {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 150 !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  aspect-ratio: 1 / 1 !important;
  flex-shrink: 0 !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.92) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.65) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.75) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.aha-card-close:hover,
#btn-close-card:hover {
  background: #ef4444 !important;
  border-color: #ef4444 !important;
  transform: scale(1.08) !important;
}
.aha-card-close svg,
#btn-close-card svg {
  width: 14px !important;
  height: 14px !important;
  display: block !important;
  pointer-events: none !important;
}

/* 2. Section 5 Wards Button (Zero Text Overlap Flexbox) */
.aha-wards-dropdown-btn {
  width: 100% !important;
  background: #1e222b !important;
  border: 1.5px solid rgba(245, 158, 11, 0.45) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  cursor: pointer !important;
  color: #ffffff !important;
  transition: all 0.2s ease !important;
  user-select: none !important;
}
.aha-wards-btn-left {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  overflow: hidden !important;
}
.aha-wards-btn-icon {
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.aha-wards-btn-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: block !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: #f8fafc !important;
}
.aha-wards-btn-right {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.aha-wards-badge {
  background: #f59e0b !important;
  color: #000000 !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  padding: 3px 8px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  line-height: 1.2 !important;
}
.aha-wards-arrow {
  color: #94a3b8 !important;
  font-size: 0.75rem !important;
  flex-shrink: 0 !important;
}

/* 3. Section 9 & 10 White Input Boxes for Guests */
.aha-textarea-input,
#match-notes,
input.aha-text-input,
#match-name,
#match-phone,
#match-email,
#custom-movein-days {
  width: 100% !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}
.aha-textarea-input::placeholder,
#match-notes::placeholder,
input.aha-text-input::placeholder,
#match-name::placeholder,
#match-phone::placeholder,
#match-email::placeholder,
#custom-movein-days::placeholder {
  color: #94a3b8 !important;
  font-style: normal !important;
  opacity: 1 !important;
}
.aha-textarea-input:focus,
#match-notes:focus,
input.aha-text-input:focus,
#match-name:focus,
#match-phone:focus,
#match-email:focus,
#custom-movein-days:focus {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
}


/* ==========================================================================
   v58: CUSTOMER FEEDBACK BUTTON & MODAL WHITE INPUT STYLING
   ========================================================================== */
.aha-btn-feedback-nav {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  height: 28px !important;
  padding: 0 10px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 14px !important;
  color: #e2e8f0 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}
.aha-btn-feedback-nav:hover {
  background: rgba(245, 158, 11, 0.22) !important;
  border-color: #f59e0b !important;
  color: #fbbf24 !important;
  transform: translateY(-1px) !important;
}
.aha-btn-feedback-nav .aha-fb-nav-icon {
  font-size: 12px !important;
  line-height: 1 !important;
}

/* Feedback Modal Inputs White Styling */
.aha-fb-textarea,
.aha-fb-input {
  width: 100% !important;
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}
.aha-fb-textarea::placeholder,
.aha-fb-input::placeholder {
  color: #94a3b8 !important;
}
.aha-fb-textarea:focus,
.aha-fb-input:focus {
  background: #ffffff !important;
  color: #0f172a !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.25) !important;
}
/* --- Tip / Buy Me a Coffee / Support Author Nav Button --- */
.aha-btn-tip-nav {
  width: 30px;
  height: 30px;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 6px;
  color: #fbbf24;
  font-size: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  flex-shrink: 0;
}
.aha-btn-tip-nav:hover {
  background: rgba(245, 158, 11, 0.28);
  border-color: #f59e0b;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.aha-btn-tip-nav:active {
  transform: scale(0.95);
}

/* --- Tip Modal Styling (2-Tab Switcher: VietQR & PayPal) --- */
.aha-tip-modal-box {
  max-width: 440px !important;
  width: 95% !important;
  background: #181b22 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 18px !important;
  padding: 22px 16px 18px !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.75) !important;
  text-align: center !important;
  position: relative !important;
  box-sizing: border-box !important;
}
@media (max-width: 480px) {
  .aha-tip-modal-box {
    width: calc(100% - 20px) !important;
    padding: 20px 14px 16px !important;
  }
}
.aha-tip-avatar {
  font-size: 36px;
  width: 58px;
  height: 58px;
  background: rgba(245, 158, 11, 0.16);
  border: 1px solid rgba(245, 158, 11, 0.35);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}
.aha-tip-title {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
}
.aha-tip-desc {
  color: #94a3b8 !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  margin: 0 0 16px !important;
}
.aha-tip-tabs-bar {
  display: flex !important;
  gap: 6px !important;
  background: rgba(0, 0, 0, 0.35) !important;
  padding: 4px !important;
  border-radius: 10px !important;
  margin-bottom: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.aha-tip-tab-item {
  flex: 1 1 0% !important;
  padding: 8px 6px !important;
  background: transparent;
  border: none;
  border-radius: 8px;
  color: #94a3b8;
  font-size: 12px !important;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px !important;
  white-space: nowrap !important;
  letter-spacing: -0.2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
@media (max-width: 380px) {
  .aha-tip-tab-item {
    font-size: 11px !important;
    padding: 6px 3px !important;
    gap: 2px !important;
  }
}
.aha-tip-tab-item:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}
.aha-tip-tab-item.active {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.4);
}
.aha-tip-qr-container {
  background: #ffffff;
  padding: 10px;
  border-radius: 12px;
  display: inline-block;
  margin: 0 auto 14px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}
.aha-tip-qr-img {
  width: 175px;
  height: 175px;
  object-fit: contain;
  display: block;
  border-radius: 6px;
}
.aha-tip-bank-details {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  padding: 11px 12px !important;
  text-align: left !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.aha-tip-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.aha-tip-lbl {
  color: #94a3b8 !important;
  font-size: 11.5px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
}
.aha-tip-val {
  color: #e2e8f0 !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  white-space: nowrap !important; /* CRITICAL: 1 single line */
  text-align: right !important;
  letter-spacing: -0.2px !important;
}
#tip-acc-name {
  white-space: nowrap !important;
  font-size: 12px !important;
  letter-spacing: -0.3px !important;
  text-align: right !important;
}
.aha-tip-val-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
}
.aha-tip-val-acc {
  color: #38bdf8 !important;
  font-weight: 700 !important;
  font-family: monospace !important;
  font-size: 13px !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
}
.aha-btn-copy {
  background: rgba(56, 189, 248, 0.15) !important;
  border: 1px solid rgba(56, 189, 248, 0.35) !important;
  color: #38bdf8 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  padding: 3px 6px !important;
  border-radius: 5px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.aha-btn-copy:hover {
  background: rgba(56, 189, 248, 0.3) !important;
  border-color: #38bdf8 !important;
}
.aha-tip-tag-content {
  background: rgba(245, 158, 11, 0.15) !important;
  color: #fbbf24 !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
.aha-tip-paypal-box {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 12px !important;
  padding: 16px 12px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.aha-tip-paypal-icon {
  font-size: 32px;
  margin-bottom: 6px;
}
.aha-btn-paypal-direct {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #0070ba, #003087) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 10px 8px !important;
  border-radius: 8px !important;
  margin: 0 0 14px !important;
  box-shadow: 0 4px 14px rgba(0, 112, 186, 0.4) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important; /* CRITICAL: 1 single line! */
  letter-spacing: -0.2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  box-sizing: border-box !important;
  width: 100% !important;
}
.aha-btn-paypal-direct:hover {
  background: linear-gradient(135deg, #005ea6, #00256c) !important;
  transform: translateY(-1px) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
.aha-tip-paypal-link-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.aha-paypal-input {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 6px !important;
  padding: 7px 8px !important;
  color: #cbd5e1 !important;
  font-size: 11.5px !important;
  outline: none !important;
  font-family: monospace !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.aha-tip-paypal-link-row .aha-btn-copy {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
}
.aha-tip-email-note {
  font-size: 12px;
  color: #94a3b8;
  margin-top: 8px;
}
.aha-btn-tip-close-cta {
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 14px !important;
  padding: 10px 8px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 8px !important;
  color: #e2e8f0 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important; /* CRITICAL: 1 single line! */
  letter-spacing: -0.2px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.aha-btn-tip-close-cta:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
}
@media (max-width: 380px) {
  .aha-tip-lbl {
    font-size: 11px !important;
  }
  .aha-tip-val,
  #tip-acc-name {
    font-size: 11px !important;
    letter-spacing: -0.4px !important;
  }
  .aha-tip-val-acc {
    font-size: 12.5px !important;
  }
  .aha-btn-copy#btn-copy-acc {
    font-size: 10px !important;
    padding: 2px 5px !important;
  }
  .aha-btn-paypal-direct {
    font-size: 11.5px !important;
    padding: 9px 6px !important;
    letter-spacing: -0.3px !important;
  }
  .aha-btn-tip-close-cta {
    font-size: 11.5px !important;
    padding: 8px 4px !important;
    letter-spacing: -0.3px !important;
  }
}

/* --- Floating PWA Install Banner --- */
.aha-pwa-banner {
  position: fixed;
  bottom: 80px;
  left: 14px;
  right: 14px;
  z-index: 9998;
  background: rgba(20, 24, 33, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  animation: ahaFadeSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes ahaFadeSlideUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
.aha-pwa-banner-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.aha-pwa-banner-icon {
  width: 38px;
  height: 38px;
  border-radius: 9px;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.aha-pwa-banner-info {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.aha-pwa-banner-title {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.aha-pwa-banner-sub {
  color: #94a3b8;
  font-size: 11.5px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.aha-pwa-banner-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.aha-btn-pwa-install {
  background: #ff385c;
  color: #ffffff;
  border: none;
  font-size: 12px;
  font-weight: 700;
  padding: 7px 12px;
  border-radius: 7px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.aha-btn-pwa-install:hover {
  background: #e02d4f;
  transform: translateY(-1px);
}
.aha-btn-pwa-dismiss {
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 20px;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 50%;
  padding: 0;
  transition: color 0.2s;
  line-height: 1;
}
.aha-btn-pwa-dismiss:hover {
  color: #cbd5e1;
}
@media (min-width: 769px) {
  .aha-pwa-banner {
    left: auto;
    right: 20px;
    bottom: 20px;
    max-width: 360px;
  }
}
/* ==========================================================================
   Smart Landlord Portal Modal (AI 1-Click Broadcast)
   ========================================================================== */
.aha-landlord-modal-card {
  max-width: 580px !important;
  width: 95% !important;
  background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 20px !important;
  padding: 26px 24px 22px !important;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 25px rgba(59, 130, 246, 0.12) !important;
  color: #f8fafc !important;
  box-sizing: border-box !important;
}

.aha-landlord-header {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
  padding-right: 36px !important;
}

.aha-landlord-icon-wrap {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(139, 92, 246, 0.25)) !important;
  border: 1.5px solid rgba(96, 165, 250, 0.35) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25) !important;
}

.aha-landlord-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #f8fafc !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}

.aha-landlord-subtitle {
  font-size: 13px !important;
  color: #94a3b8 !important;
  margin: 0 !important;
  line-height: 1.45 !important;
}

/* Tabs */
.aha-landlord-tabs {
  display: flex !important;
  gap: 8px !important;
  background: rgba(15, 23, 42, 0.7) !important;
  padding: 4px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  margin-bottom: 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.aha-tab-btn {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #94a3b8 !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-align: center !important;
  white-space: normal !important;
  line-height: 1.25 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  outline: none !important;
}

.aha-tab-btn:hover {
  color: #e2e8f0 !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

.aha-tab-btn.active {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2563eb 0%, #0284c7 100%) !important;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4) !important;
  font-weight: 700 !important;
}

/* Form Groups & Inputs */
.aha-tab-content {
  display: none;
  width: 100%;
}

.aha-tab-content.active {
  display: block !important;
  animation: ahaFadeIn 0.25s ease;
}

.aha-form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin-bottom: 16px !important;
  box-sizing: border-box !important;
}

.aha-form-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #cbd5e1 !important;
  text-align: left !important;
  line-height: 1.4 !important;
  display: block !important;
}

.aha-form-input,
.aha-form-textarea {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(15, 23, 42, 0.85) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 10px !important;
  color: #f8fafc !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  transition: all 0.2s ease !important;
  outline: none !important;
  font-family: inherit !important;
}

.aha-form-input:focus,
.aha-form-textarea:focus {
  border-color: #38bdf8 !important;
  background: rgba(15, 23, 42, 0.95) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.22) !important;
}

.aha-form-input::placeholder,
.aha-form-textarea::placeholder {
  color: #64748b !important;
  font-size: 13px !important;
}

.aha-form-textarea {
  resize: vertical !important;
  min-height: 96px !important;
}

/* AI Action Button */
.aha-btn-ai-parse {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  height: 48px !important;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #d946ef 100%) !important;
  border: none !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(139, 92, 246, 0.35) !important;
  margin-top: 6px !important;
  box-sizing: border-box !important;
}

.aha-btn-ai-parse:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 22px rgba(139, 92, 246, 0.5) !important;
  filter: brightness(1.08) !important;
}

.aha-btn-ai-parse:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3) !important;
}

.aha-sparkle-icon {
  font-size: 16px !important;
}

/* AI Loading */
.aha-ai-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 26px 20px !important;
  background: rgba(99, 102, 241, 0.08) !important;
  border: 1.5px dashed rgba(139, 92, 246, 0.35) !important;
  border-radius: 14px !important;
  margin-top: 16px !important;
  text-align: center !important;
  gap: 12px !important;
}

.aha-ai-loading p {
  font-size: 13.5px !important;
  color: #c7d2fe !important;
  margin: 0 !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}

.aha-ai-spinner {
  width: 32px !important;
  height: 32px !important;
  border: 3px solid rgba(139, 92, 246, 0.25) !important;
  border-top-color: #a855f7 !important;
  border-radius: 50% !important;
  animation: ahaSpin 0.8s linear infinite !important;
}

.aha-ai-loading[style*="display: none"],
.aha-ai-preview[style*="display: none"],
.aha-landlord-success[style*="display: none"] {
  display: none !important;
}

/* AI Preview Section */
.aha-ai-preview {
  margin-top: 18px !important;
  display: flex;
  flex-direction: column !important;
  gap: 14px !important;
  background: rgba(15, 23, 42, 0.7) !important;
  border: 1.5px solid rgba(139, 92, 246, 0.3) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3) !important;
  box-sizing: border-box !important;
}

.aha-preview-badge {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #c084fc !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.aha-extracted-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 10px !important;
  margin-top: 4px !important;
}

.aha-extract-chip {
  background: rgba(30, 41, 59, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 9px !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  color: #cbd5e1 !important;
  box-sizing: border-box !important;
}

.aha-extract-chip b {
  color: #94a3b8 !important;
  font-weight: 600 !important;
}

.aha-extract-chip span {
  color: #38bdf8 !important;
  font-weight: 700 !important;
}

.aha-preview-box {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
}

.aha-preview-lang-title {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #38bdf8 !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.aha-preview-text {
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  color: #e2e8f0 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  background: rgba(255, 255, 255, 0.03) !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  max-height: 130px !important;
  overflow-y: auto !important;
}

.aha-broadcast-action {
  margin-top: 6px !important;
}

.aha-btn-broadcast {
  width: 100% !important;
  height: 50px !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border: none !important;
  border-radius: 11px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
}

.aha-btn-broadcast:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 24px rgba(16, 185, 129, 0.55) !important;
  filter: brightness(1.08) !important;
}

.aha-btn-broadcast:active {
  transform: translateY(0) !important;
}

.aha-broadcast-note {
  font-size: 12px !important;
  color: #94a3b8 !important;
  text-align: center !important;
  margin: 8px 0 0 0 !important;
  line-height: 1.4 !important;
}

/* Success Screen */
.aha-landlord-success {
  text-align: center !important;
  padding: 20px 10px 10px !important;
}

.aha-success-icon {
  font-size: 48px !important;
  margin-bottom: 12px !important;
}

.aha-success-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #10b981 !important;
  margin: 0 0 8px 0 !important;
}

.aha-success-desc {
  font-size: 14px !important;
  color: #cbd5e1 !important;
  line-height: 1.5 !important;
  margin: 0 0 16px 0 !important;
}

.aha-success-box {
  background: rgba(16, 185, 129, 0.1) !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  font-size: 13.5px !important;
  color: #e2e8f0 !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
  text-align: left !important;
}

@media (max-width: 640px) {
  .aha-landlord-modal-card {
    padding: 20px 14px 16px !important;
    width: calc(100vw - 24px) !important;
    max-height: 92vh !important;
  }
  .aha-landlord-title {
    font-size: 16px !important;
  }
  .aha-tab-btn {
    font-size: 11.5px !important;
    padding: 8px 6px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .aha-extracted-grid {
    grid-template-columns: 1fr !important;
  }
}



/* ==========================================================================
   v189: PROCESS FUNNEL HEADER & PEEK-AHEAD LAYOUT (Golden Ratio Viewport)
   ========================================================================== */

/* 1. Guide Button on Row 1 (Placed right next to Feedback) */
.aha-btn-guide-nav {
  height: 34px !important;
  padding: 0 8px !important;
  font-size: 11.5px !important;
  border-radius: 8px !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #e2e8f0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}
.aha-btn-guide-nav:hover,
.aha-btn-guide-nav.active {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
}
.aha-btn-guide-nav .aha-guide-nav-icon {
  font-size: 12px !important;
  line-height: 1 !important;
}
.aha-btn-guide-nav .aha-guide-nav-text {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* 2. Process Funnel: 1. Filter Map -> 2. View List -> 3. Fast Match (Balanced 1-Line) */
.aha-top-tab-switcher.aha-process-funnel {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  gap: 5px !important;
  padding: 3px !important;
  background: rgba(15, 23, 42, 0.75) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 9px !important;
  box-sizing: border-box !important;
  margin-bottom: 0 !important;
}
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  height: 33px !important;
  padding: 0 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border-radius: 7px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #94a3b8 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
}
.aha-top-tab-switcher.aha-process-funnel .aha-step-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  border-radius: 50% !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  transition: all 0.2s ease !important;
}
.aha-top-tab-switcher.aha-process-funnel .aha-step-text {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Active states for each funnel step - Unified to Emerald Green (#10b981) */
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active,
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active#tab-btn-map,
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active#tab-btn-feed,
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active#tab-btn-match {
  background: #10b981 !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border-color: #10b981 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 12px rgba(16, 185, 129, 0.55) !important;
}
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active .aha-step-badge,
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active#tab-btn-map .aha-step-badge,
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active#tab-btn-feed .aha-step-badge,
.aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn.active#tab-btn-match .aha-step-badge {
  background: rgba(0, 0, 0, 0.28) !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

/* 3. Mobile Responsive Rules (<= 768px) */
@media (max-width: 768px) {
  .aha-btn-guide-nav {
    width: auto !important;
    height: 25px !important;
    padding: 0 5px !important;
    gap: 2px !important;
    border-radius: 5px !important;
    font-size: 10px !important;
  }
  .aha-btn-guide-nav .aha-guide-nav-icon {
    font-size: 10px !important;
  }
  .aha-btn-guide-nav .aha-guide-nav-text {
    font-size: 10px !important;
  }

  .aha-top-tab-switcher.aha-process-funnel {
    padding: 2px !important;
    gap: 3px !important;
  }
  .aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn {
    height: 31px !important;
    font-size: 11px !important;
    gap: 4px !important;
    padding: 0 3px !important;
  }
  .aha-top-tab-switcher.aha-process-funnel .aha-step-badge {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    font-size: 9.5px !important;
  }

  /* Compact Card 1 body padding & font sizes */
  .aha-feed-media-wrap {
    height: 195px !important;
  }
  .aha-feed-body {
    padding: 9px 11px !important;
  }
  .aha-feed-title {
    font-size: 13.5px !important;
    margin-bottom: 4px !important;
  }
  .aha-feed-address {
    font-size: 11px !important;
    margin-bottom: 5px !important;
  }
  .aha-feed-meta-row {
    margin-bottom: 8px !important;
    gap: 4px !important;
  }
  .aha-feed-chip {
    font-size: 10.5px !important;
    padding: 2px 6px !important;
  }
  .aha-feed-actions {
    gap: 4px !important;
  }
  .aha-feed-btn {
    height: 32px !important;
    font-size: 11px !important;
  }
}

/* 4. Desktop Adjustments (>= 992px) */
@media (min-width: 992px) {
  .aha-btn-guide-nav {
    order: 1 !important;
    height: 35px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
    border-radius: 8px !important;
  }
  .aha-top-tab-switcher.aha-process-funnel {
    order: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  .aha-top-tab-switcher.aha-process-funnel .aha-step-tab-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
  }
}


/* ==========================================================================
   v190: SYNCHRONIZED VISUAL IDENTITY (MAP PIN & CARD BADGE TWIN EFFECT)
   Khi hiển thị căn nào thì trên bản đồ chữ như thế nào thì chữ trên ảnh căn hộ
   biến đổi như thế (cùng nền chữ, cùng số tiền, cùng màu sắc chữ, cùng chấm hồng định vị)
   ========================================================================== */

/* 1. Base (Inactive) Price Badge on Media - 50% SMALLER ULTRA COMPACT */
.aha-feed-badge-price {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 10 !important;
  background: rgba(15, 23, 42, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-left: 2px solid rgba(255, 255, 255, 0.45) !important;
  border-radius: 4px !important;
  padding: 1.5px 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 2.5px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  line-height: 1 !important;
  transition: all 0.2s ease !important;
}

.aha-feed-badge-price .aha-badge-price-val {
  font-size: 8.5px !important; /* Giảm 50% kích thước chữ số tiền */
  font-weight: 800 !important;
  color: #f1f5f9 !important;
  line-height: 1 !important;
  letter-spacing: -0.2px !important;
  transition: all 0.2s ease !important;
}

.aha-feed-badge-price .aha-badge-price-suffix {
  font-size: 5.5px !important; /* Giảm 50% kích thước chữ /month */
  font-weight: 600 !important;
  color: #94a3b8 !important;
  line-height: 1 !important;
  letter-spacing: -0.2px !important;
  margin-left: 1px !important;
  opacity: 0.85 !important;
  transition: all 0.2s ease !important;
}

.aha-feed-badge-price .aha-badge-pin-icon {
  display: none !important;
  position: relative !important;
  width: 8px !important;
  height: 8px !important;
  flex-shrink: 0 !important;
}

.aha-feed-badge-price .aha-badge-pin-dot {
  position: absolute !important;
  top: 1px !important;
  left: 1px !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, #ff385c 40%, #e11d48 100%) !important;
  border: 1px solid #ffffff !important;
  box-shadow: 0 0 6px #ff385c !important;
  box-sizing: border-box !important;
}

.aha-feed-badge-price .aha-badge-pin-ring {
  position: absolute !important;
  top: -1px !important;
  left: -1px !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: 1px solid #ff385c !important;
  animation: aha-pin-pulse 1.8s infinite ease-out !important;
  box-sizing: border-box !important;
}

/* 2. ACTIVE STATE (TWIN OF MAP PIN CALLOUT):
   CÙNG NỀN CHỮ, CÙNG SỐ TIỀN, CÙNG MÀU SẮC CHỮ TRẮNG TINH, CÙNG ĐIỂM HỒNG ĐỊNH VỊ - SIÊU GỌN */
.aha-feed-card.is-focused-on-map .aha-feed-badge-price {
  background: rgba(15, 23, 42, 0.96) !important;
  border: 1px solid rgba(255, 56, 92, 0.85) !important;
  border-left: 2.5px solid #ff385c !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(255, 56, 92, 0.5) !important;
  transform: none !important;
}

.aha-feed-card.is-focused-on-map .aha-feed-badge-price .aha-badge-price-val {
  color: #ffffff !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  text-shadow: 0 0 6px rgba(255, 56, 92, 0.45) !important;
}

.aha-feed-card.is-focused-on-map .aha-feed-badge-price .aha-badge-price-suffix {
  color: #fca5a5 !important;
  font-size: 5.5px !important;
  font-weight: 600 !important;
  opacity: 0.9 !important;
}

.aha-feed-card.is-focused-on-map .aha-feed-badge-price .aha-badge-pin-icon {
  display: inline-block !important;
}


/* ==========================================================================
   v191: SEAMLESS UNIFIED MAP (240px + 0px GAP) & FUNNEL ARROWS (1️⃣ ➔ 2️⃣ ➔ 3️⃣)
   ========================================================================== */

/* 1. Header Funnel Arrow (➔) & Emoji Badge (1️⃣ 2️⃣ 3️⃣) */
.aha-funnel-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #94a3b8 !important;
  font-size: 11px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  padding: 0 1px !important;
  user-select: none !important;
  opacity: 0.85 !important;
}

.aha-top-tab-switcher.aha-process-funnel .aha-step-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12.5px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
}

/* 2. Mobile Mini-Map + Subtabs Bar: ZERO GAP SEAMLESS FUSION */
@media (max-width: 900px) {
  .aha-feed-map-pane {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    height: 240px !important;
    margin-bottom: 0 !important;
    border-radius: 12px 12px 0 0 !important;
    border-bottom: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
  }

  .aha-mode-header-bar {
    position: sticky !important;
    top: 240px !important;
    z-index: 49 !important;
    background: #0f172a !important;
    padding: 6px 6px !important;
    margin: 0 0 8px 0 !important;
    border-radius: 0 0 10px 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6) !important;
  }
}

/* 3. Price Badge Identity: Zero green, twin of map pinpoint - 50% SMALLER ULTRA COMPACT */
.aha-feed-badge-price {
  padding: 1.5px 5px !important;
  border-radius: 4px !important;
  border-left: 2px solid rgba(255, 255, 255, 0.45) !important;
}

.aha-feed-badge-price .aha-badge-price-val {
  color: #ffffff !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.aha-feed-badge-price .aha-badge-price-suffix {
  color: #cbd5e1 !important;
  font-size: 5.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  margin-left: 1px !important;
  opacity: 0.85 !important;
}

.aha-feed-card.is-focused-on-map .aha-feed-badge-price {
  background: rgba(15, 23, 42, 0.96) !important;
  border: 1px solid rgba(255, 56, 92, 0.85) !important;
  border-left: 2.5px solid #ff385c !important;
  border-radius: 4px !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.7), 0 0 10px rgba(255, 56, 92, 0.5) !important;
  transform: none !important;
}

.aha-feed-card.is-focused-on-map .aha-feed-badge-price .aha-badge-price-val {
  color: #ffffff !important;
  font-size: 8.5px !important;
  font-weight: 800 !important;
  text-shadow: 0 0 6px rgba(255, 56, 92, 0.45) !important;
}

.aha-feed-card.is-focused-on-map .aha-feed-badge-price .aha-badge-price-suffix {
  color: #fca5a5 !important;
  font-size: 5.5px !important;
}


/* ==========================================================================
   v199: AHA ĐĂNG NHANH - LANDLORD DIRECT & BROKER CRM MODULE
   ========================================================================== */
.aha-tab-content {
  display: none !important;
  width: 100%;
}
.aha-tab-content.active {
  display: block !important;
  animation: ahaFadeIn 0.25s ease;
}

.aha-upload-zone {
  border: 2px dashed #0284c7 !important;
  background: rgba(2, 132, 199, 0.06) !important;
  border-radius: 12px !important;
  padding: 18px 14px !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.aha-upload-zone:hover {
  border-color: #38bdf8 !important;
  background: rgba(2, 132, 199, 0.12) !important;
  transform: translateY(-1px);
}
.aha-upload-zone:active {
  transform: scale(0.99);
}

.aha-media-preview-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)) !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.aha-media-preview-item {
  position: relative !important;
  width: 100% !important;
  height: 80px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #0b0f19 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}
.aha-media-preview-item img,
.aha-media-preview-item video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.aha-media-preview-item .aha-media-del-btn {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: rgba(239, 68, 68, 0.9) !important;
  color: #fff !important;
  border: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 5 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}
.aha-media-preview-item .aha-media-type-tag {
  position: absolute !important;
  bottom: 3px !important;
  left: 3px !important;
  background: rgba(0, 0, 0, 0.7) !important;
  color: #fff !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  padding: 1px 4px !important;
  border-radius: 4px !important;
}

/* Gold Broker Card inside Detail Modal (Private for Admin) */
.aha-admin-broker-gold-card {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.12) 0%, rgba(217, 119, 6, 0.22) 100%) !important;
  border: 2px solid #f59e0b !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 4px 16px rgba(245, 158, 11, 0.15) !important;
}
.aha-admin-broker-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 10px !important;
}
.aha-admin-broker-title {
  color: #fbbf24 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.aha-admin-broker-sku {
  background: #f59e0b !important;
  color: #000 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
}
.aha-admin-broker-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 6px !important;
  font-size: 13px !important;
  color: #f1f5f9 !important;
  margin-bottom: 5px !important;
  line-height: 1.4 !important;
}
.aha-admin-broker-notes-box {
  background: rgba(0, 0, 0, 0.35) !important;
  border: 1px solid rgba(245, 158, 11, 0.3) !important;
  border-radius: 8px !important;
  padding: 8px 10px !important;
  margin: 8px 0 !important;
  font-size: 12.5px !important;
  color: #fef08a !important;
  line-height: 1.45 !important;
}
.aha-admin-broker-actions {
  display: flex !important;
  gap: 8px !important;
  margin-top: 10px !important;
}
.aha-btn-gold-zalo {
  flex: 1 !important;
  background: #0284c7 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.2s !important;
}
.aha-btn-gold-zalo:hover {
  background: #0369a1 !important;
}
.aha-btn-gold-call {
  background: #10b981 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 9px 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* CRM Submissions Card List */
.aha-crm-card {
  background: rgba(15, 23, 42, 0.8) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  display: flex !important;
  gap: 12px !important;
  transition: all 0.2s ease !important;
}
.aha-crm-card:hover {
  border-color: rgba(56, 189, 248, 0.4) !important;
  background: rgba(15, 23, 42, 0.95) !important;
}
.aha-crm-thumb {
  width: 76px !important;
  height: 76px !important;
  min-width: 76px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #000 !important;
}
.aha-crm-thumb img,
.aha-crm-thumb video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.aha-crm-body {
  flex: 1 !important;
  min-width: 0 !important;
}
.aha-crm-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 4px !important;
}
.aha-crm-sku {
  background: #0284c7 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 2px 7px !important;
  border-radius: 4px !important;
}
.aha-crm-date {
  font-size: 11px !important;
  color: #94a3b8 !important;
}
.aha-crm-title {
  font-size: 13.5px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin: 0 0 4px 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.aha-crm-meta {
  font-size: 12px !important;
  color: #cbd5e1 !important;
  margin-bottom: 6px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.aha-crm-notes {
  font-size: 11.5px !important;
  color: #fde68a !important;
  background: rgba(245, 158, 11, 0.1) !important;
  border: 1px dashed rgba(245, 158, 11, 0.3) !important;
  border-radius: 6px !important;
  padding: 4px 8px !important;
  margin-bottom: 8px !important;
  line-height: 1.4 !important;
}
.aha-crm-actions {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.aha-crm-btn {
  padding: 5px 10px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  border: none !important;
  cursor: pointer !important;
}
.aha-crm-btn-zalo {
  background: #0284c7 !important;
  color: #fff !important;
}
.aha-crm-btn-web {
  background: #10b981 !important;
  color: #fff !important;
}
.aha-crm-btn-copy {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e2e8f0 !important;
}
.aha-crm-btn-delete {
  background: rgba(239, 68, 68, 0.15) !important;
  border: 1px solid rgba(239, 68, 68, 0.4) !important;
  color: #ef4444 !important;
  transition: all 0.15s ease !important;
}
.aha-crm-btn-delete:hover,
.aha-crm-btn-delete:active {
  background: #ef4444 !important;
  color: #ffffff !important;
}

/* WhatsApp Button in Mobile Peek Action Row */
.aha-peek-action-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  margin-top: 3px !important;
}
.aha-peek-detail-btn {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
}
.aha-peek-whatsapp-btn {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: linear-gradient(135deg, #25D366 0%, #128C7E 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(37, 211, 102, 0.6) !important;
  border-radius: 7px !important;
  padding: 4.5px 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.3) !important;
  transition: all 0.15s ease !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}
.aha-peek-whatsapp-btn:hover,
.aha-peek-whatsapp-btn:active {
  background: #25D366 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.5) !important;
}
.aha-floating-card.aha-sheet-small .aha-peek-whatsapp-btn {
  padding: 3px 6px !important;
  font-size: 10px !important;
}


/* ==========================================================================
   v236: MOBILE ADMIN & TOP NAV BREATHING ROOM + RIGHT CONTROLS OPTIMIZATION
   - Thu gọn text: Feedback, Guide, +List thành Icon siêu tinh gọn trên Mobile
   - Dành hơn 100px không gian thở, loại bỏ hoàn toàn tình trạng dính sát mép
   - Tối ưu trục điều khiển bên phải (slider + nút bản đồ) cách viền 14px thanh thoát
   ========================================================================== */
@media (max-width: 768px) {
  /* Tối ưu khoảng cách trục điều khiển bên phải (Slider giá, GPS, Zoom) cách mép an toàn */
  :root {
    --aha-axis-right: 14px !important;
  }

  /* Khung Header điều hướng trên điện thoại: Tăng padding và lề an toàn */
  .aha-map-nav {
    left: 8px !important;
    right: 8px !important;
    padding: 6px 10px !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
  }

  .aha-nav-top-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 4px !important;
    width: 100% !important;
  }

  /* Logo Aha Da Nang thu gọn nhẹ */
  .aha-brand {
    flex-shrink: 0 !important;
  }
  .aha-brand-link {
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
  }

  /* Nút Góp ý: Ẩn text, giữ icon 💬 chuẩn 28x28 */
  .aha-btn-feedback-nav {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-feedback-nav .aha-fb-nav-text {
    display: none !important;
  }
  .aha-btn-feedback-nav .aha-fb-nav-icon {
    font-size: 13px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Nút Hướng dẫn: Ẩn text, giữ icon 📖 chuẩn 28x28 */
  .aha-btn-guide-nav {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    flex-shrink: 0 !important;
  }
  .aha-btn-guide-nav .aha-guide-nav-text {
    display: none !important;
  }
  .aha-btn-guide-nav .aha-guide-nav-icon {
    font-size: 13px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Cụm hành động bên phải: Không bị đè, không tràn viền */
  .aha-nav-actions {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }

  /* Nút Tip/Cafe ☕ */
  .aha-btn-tip-nav {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  /* Nút Cài App 📲 */
  .aha-btn-app-install {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    flex-shrink: 0 !important;
  }

  /* Nút Ký gửi nhà (+List Property): Thu gọn text, giữ icon 🏠 */
  .aha-btn-landlord-portal {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    flex-shrink: 0 !important;
    background: linear-gradient(135deg, #ff385c 0%, #e00b41 100%) !important;
    box-shadow: 0 2px 8px rgba(255, 56, 92, 0.4) !important;
  }
  .aha-btn-landlord-portal .aha-landlord-text {
    display: none !important;
  }
  .aha-btn-landlord-portal .aha-landlord-icon {
    font-size: 14px !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  /* Nút Yêu thích ❤️ */
  .aha-btn-icon#btn-saved-toggle {
    height: 28px !important;
    padding: 0 6px !important;
    border-radius: 7px !important;
    font-size: 11px !important;
    gap: 2px !important;
    display: inline-flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }

  /* Nút Đăng nhập / Avatar Admin */
  .aha-auth-wrapper {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .aha-btn-auth {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    flex-shrink: 0 !important;
  }

  .aha-user-avatar-badge {
    width: 24px !important;
    height: 24px !important;
  }

  .aha-avatar-img {
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
  }
}

/* Màn hình siêu nhỏ <= 380px (Galaxy Fold gập, iPhone SE nhỏ) */
@media (max-width: 380px) {
  .aha-map-nav {
    left: 6px !important;
    right: 6px !important;
    padding: 5px 8px !important;
  }
  .aha-nav-top-row {
    gap: 3px !important;
  }
  .aha-nav-actions {
    gap: 3px !important;
  }
  .aha-btn-feedback-nav,
  .aha-btn-guide-nav,
  .aha-btn-tip-nav,
  .aha-btn-app-install,
  .aha-btn-landlord-portal,
  .aha-btn-auth {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
  }
  .aha-btn-icon#btn-saved-toggle {
    height: 26px !important;
    padding: 0 4px !important;
  }
}

/* Larger, consistent step numbers: rental navigation only. */
#aha-top-tabs.aha-process-funnel .aha-step-tab-btn {
  height: 42px !important;
  gap: 6px !important;
}
#aha-top-tabs.aha-process-funnel .aha-step-badge {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 8px !important;
  background: #047857 !important;
  color: #fff !important;
  font-size: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35) !important;
}
#aha-top-tabs .aha-step-badge::before {
  font: 800 21px/1 system-ui, sans-serif;
}
#tab-btn-map .aha-step-badge::before { content: "1"; }
#tab-btn-feed .aha-step-badge::before { content: "2"; }
#tab-btn-match .aha-step-badge::before { content: "3"; }
#aha-top-tabs.aha-process-funnel .aha-step-tab-btn.active .aha-step-badge {
  background: #fff !important;
  color: #065f46 !important;
}
@media (max-width: 360px) {
  #aha-top-tabs.aha-process-funnel { gap: 2px !important; }
  #aha-top-tabs.aha-process-funnel .aha-step-tab-btn { gap: 3px !important; padding: 0 2px !important; }
  #aha-top-tabs.aha-process-funnel .aha-step-badge { width: 25px !important; min-width: 25px !important; height: 28px !important; }
  #aha-top-tabs.aha-process-funnel .aha-step-text { font-size: 10px !important; }
}

/* Keep complete step names readable on small screens. */
#aha-top-tabs.aha-process-funnel .aha-step-text { white-space:normal!important; text-overflow:clip!important; overflow:visible!important; line-height:1.15!important; }
#aha-top-tabs.aha-process-funnel .aha-step-tab-btn.active#tab-btn-map .aha-step-badge,
#aha-top-tabs.aha-process-funnel .aha-step-tab-btn.active#tab-btn-feed .aha-step-badge,
#aha-top-tabs.aha-process-funnel .aha-step-tab-btn.active#tab-btn-match .aha-step-badge { background:#fff!important; color:#065f46!important; }
