/* ============================================================
   SEARCH.CSS — Стилове за search страницата
   Включва: base (tokens + header), card-override, filter-override,
   + inline стилове от search.tpl
   ============================================================ */

/* ── Design Tokens + Bootstrap overrides ── */
:root {
  --color-primary:        #1563df;
  --color-primary-dark:   #0e49a6;
  --color-primary-light:  #E7F0FF;
  --color-primary-rgb:    21, 99, 223;
  --color-accent:         #00C4B3;
  --color-accent-dark:    #009e90;
  --color-accent-light:   #e0faf8;
  --color-accent-rgb:     0, 196, 179;
  --color-white:          #ffffff;
  --color-black:          #161e2d;
  --color-gray-50:        #f8f9fb;
  --color-gray-100:       #f3f4f6;
  --color-gray-200:       #e4e4e4;
  --color-gray-300:       #d9d9d9;
  --color-gray-500:       #a3abb0;
  --color-gray-600:       #8a8aa0;
  --color-gray-700:       #5c6368;
  --color-gray-800:       #3a3a3c;
  --color-text-primary:   #161e2d;
  --color-text-secondary: #5c6368;
  --color-text-muted:     #8a8aa0;
  --color-bg-surface:     #f8f9fb;
  --color-border:         #e8eaf0;
  --color-border-focus:   #1563df;
  --color-success:        #25c55b;
  --color-error:          #c72929;
  --color-warning:        #ffa800;
  --font-family:          'Manrope', sans-serif;
  --radius-sm:   6px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-full: 9999px;
  --shadow-sm:   0 2px 8px rgba(22,30,45,.06);
  --shadow-md:   0 4px 16px rgba(22,30,45,.10);
  --shadow-lg:   0 8px 32px rgba(22,30,45,.12);
  --transition:  all .2s ease;

  --bs-blue: #0047AB;
  --bs-primary: #0047AB;
  --bs-link-color: #0047AB;
  --bs-btn-bg: #0047AB;
  --bs-btn-border-color: #0047AB;
  --bs-btn-disabled-bg: #0047AB;
  --bs-btn-disabled-border-color: #0047AB;
  --bs-btn-color: #0047AB;
  --bs-btn-hover-bg: #0047AB;
  --bs-btn-hover-border-color: #0047AB;
  --bs-btn-active-bg: #0047AB;
  --bs-btn-active-border-color: #0047AB;
  --bs-btn-disabled-color: #0047AB;
  --bs-dropdown-link-active-bg: #0047AB;
  --bs-nav-pills-link-active-bg: #0047AB;
  --bs-pagination-active-bg: #0047AB;
  --bs-pagination-active-border-color: #0047AB;
  --bs-progress-bar-bg: #0047AB;
  --bs-list-group-active-bg: #0047AB;
  --bs-list-group-active-border-color: #0047AB;
}

/* ── Shared utilities ── */
.hidden-select { opacity: 0; width: 0; padding: 0; height: 0; font-size: 0; min-height: auto; display: none; }
.select-selection-list { display: none; }
.btn-line { border: 1px solid #161e2d; }
.icon-fill { fill: currentColor; }
.tf-btn.primary { background-color: #0047AB; }

/* ── Header ── */
.main-header .logo a.icon-only { align-items: center; }
.main-header .logo a.icon-only img { width: 96px; }
.main-header .main-menu .navigation > li > a { text-transform: none; }
.inner-header { display: flex; align-items: center; gap: 20px; }
.inner-header-right .tf-btn { min-width: 0 !important; }
.no-gap { gap: 0 !important; }

.inner-header-center {
  display: flex; min-width: 0; flex: 0; overflow: hidden; opacity: 0; max-width: 0;
  justify-content: center;
  transition: flex 300ms ease, opacity 300ms ease, max-width 300ms ease;
}
.main-header.header--search-mode .inner-header-center { flex: 1; opacity: 1; max-width: 870px; overflow: visible; }
.main-header.header--search-mode #header-menu { width: 1px; height: 75px; overflow: hidden; }
.main-header.header--search-mode .logo-text,
.main-header.header--search-mode .login-text { display: none; }
.main-header.header--search-mode .inner-header-left { gap: 0 !important; }
.main-header.header--search-mode .logo a { align-items: center; }

.hd-find-select { display: flex; background-color: #fff; width: 100%; max-width: 870px; margin: 0 auto; border-radius: 999px; }
.hd-find-select .form-style,
.hd-find-select .form-control { border: none !important; line-height: 16px !important; width: 100%; }
.hd-find-select .box-btn-advanced { display: flex; gap: 10px; }
.hd-find-select .box-btn-advanced .tf-btn { min-height: 0; min-width: 0; padding: 10px 15px !important; }

.inner-header-center .inner-group {
  padding: 5px; margin: 0 auto; flex-wrap: nowrap; display: flex; gap: 20px;
  flex-grow: 1; border: 1px solid #161e2d; border-radius: 999px;
  width: 100%; max-width: 870px; transition: border 500ms ease;
}
#header-search-form:has(input:focus) .inner-group { border-color: transparent; }

.wd-filter { border-radius: 0; padding: 0; margin-top: 0; }
.wd-find-select { flex-direction: initial !important; border-radius: 999px !important; }
.wd-find-select input { border: none !important; }
.wd-find-select .tf-btn { min-width: 72px; padding: 0 !important; }
.wd-filter .inner-group { padding: 0 20px 0; border-bottom: 1px solid #e6e6e6; }
.wd-filter .inner-group .form-style { padding-top: 8px; }
.wd-filter .tf-btn { border-radius: 0; min-width: 45px; height: 65px; }
.wd-filter .btn-line { border: none; border-left: 1px solid #e6e6e6; }

.noUi-handle:after { content: ''; position: absolute; top: -10px; bottom: -10px; left: -10px; right: -10px; }
.homelengo-box .content-top .meta-list { max-height: 20px; overflow: hidden; }

.ai-border { position: relative; transition: box-shadow .2s ease; }
.ai-border::before {
  content: ""; position: absolute; inset: -3px; border-radius: inherit;
  background: linear-gradient(var(--angle), rgba(0,71,171,.6), rgba(0,196,179,.6), rgba(0,71,171,.6), rgba(0,196,179,.6));
  z-index: -1; opacity: 0; transition: opacity .2s ease;
  box-shadow: 0 0 10px 2px rgba(0,196,179,.3); isolation: isolate;
}
.ai-border:has(input:focus)::before { opacity: 1; animation: 5s rotate linear infinite; }
@keyframes rotate { to { --angle: 360deg; } }
@property --angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }

/* ── Card Override ── */
.homelengo-box {
  border-radius: var(--radius-lg) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
  overflow: hidden !important;
  background: var(--color-white) !important;
}
.homelengo-box:hover { transform: translateY(-3px) !important; box-shadow: var(--shadow-md) !important; border-color: #d4daf0 !important; }
.homelengo-box .images-style { height: 220px !important; }
.homelengo-box .images-style img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease !important; }
.homelengo-box:hover .images-style img { transform: scale(1.04) !important; }
.homelengo-box .flag-tag { border-radius: var(--radius-full) !important; backdrop-filter: blur(4px) !important; font-size: 11px !important; font-weight: 700 !important; padding: 3px 10px !important; line-height: 1.6 !important; }
.homelengo-box .flag-tag.style-1 { background: rgba(199,41,41,.88) !important; color: #fff !important; border: none !important; }
.homelengo-box .flag-tag.style-2 { background: rgba(0,196,179,.9) !important; color: #fff !important; border: none !important; }
.homelengo-box .flag-tag.primary { background: rgba(21,99,223,.88) !important; color: #fff !important; border: none !important; }
.homelengo-box h6.price { color: var(--color-primary) !important; font-size: 17px !important; font-weight: 700 !important; }
.homelengo-box .price-sqm { font-size: 11px !important; font-weight: 500 !important; color: var(--color-text-muted) !important; }
.homelengo-box .meta-list { border-bottom: 1px solid #f0f2f5 !important; padding-bottom: 12px !important; margin-bottom: 12px !important; }
.homelengo-box .link { display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; font-size: 14px !important; font-weight: 600 !important; transition: color .2s !important; }
.homelengo-box .link:hover { color: var(--color-primary) !important; }
.homelengo-box .btn-favourite { width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.85); backdrop-filter: blur(4px); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--color-text-secondary); transition: var(--transition); }
.homelengo-box .btn-favourite:hover { background: #fff; color: var(--color-error); transform: scale(1.1); }
.homelengo-box .images-style.no-image { background: #f4f5f8; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; }

.homelengo-box .archive-bottom { display: flex; flex-direction: column; gap: 0; padding: 16px !important; }
.homelengo-box .signal-price-row { display: flex !important; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.homelengo-box .im-signal-row { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; flex: 1; min-width: 0; }
.homelengo-box .im-signal { display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: var(--radius-sm); font-size: 11.5px; font-weight: 700; line-height: 1.3; width: fit-content; white-space: nowrap; margin-bottom: 0; }
.homelengo-box .im-signal--good    { color: #15803d; background: #dcfce7; }
.homelengo-box .im-signal--bad     { color: #92400e; background: #fef3c7; }
.homelengo-box .im-signal--warn    { color: #b91c1c; background: #fee2e2; }
.homelengo-box .im-signal--neutral { color: #4b5563; background: var(--color-gray-100); }
.homelengo-box .im-market-ref { font-size: 11px; color: var(--color-text-muted); margin: 0; line-height: 1.4; }
.homelengo-box .im-price-row { display: flex !important; flex-direction: column !important; align-items: flex-end !important; gap: 2px; flex-shrink: 0; margin-bottom: 0 !important; }
.homelengo-box .im-price-row .price { margin: 0 !important; line-height: 1.15; font-size: 18px !important; text-align: right; }
.homelengo-box .signal-price-row:has(.im-signal--good)    .im-price-row .price { color: #15803d !important; }
.homelengo-box .signal-price-row:has(.im-signal--bad)     .im-price-row .price { color: #d97706 !important; }
.homelengo-box .signal-price-row:has(.im-signal--warn)    .im-price-row .price { color: #b91c1c !important; }
.homelengo-box .signal-price-row:has(.im-signal--neutral) .im-price-row .price { color: var(--color-primary) !important; }
.homelengo-box .im-price-sqm { font-size: 11px !important; color: var(--color-text-muted) !important; margin: 0; display: block !important; text-align: right; }
.homelengo-box .content-top { margin-bottom: 8px; }
.homelengo-box .meta-list { margin-bottom: 10px !important; padding-bottom: 10px !important; }
.homelengo-box .im-card-bottom { display: flex; flex-direction: column; gap: 4px; }
.homelengo-box .im-yield { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; width: 100%; padding-top: 8px; border-top: 1px solid var(--color-border); font-size: 11.5px; color: var(--color-text-secondary); }
.homelengo-box .im-yield-top { display: flex; align-items: center; justify-content: flex-start; gap: 5px; width: 100%; }
.homelengo-box .im-yield-pct { font-weight: 700; color: #15803d; font-size: 12px; margin: 0; }
.homelengo-box .im-yield-grade { font-size: 11px; color: var(--color-text-muted); margin: 0; padding-left: 17px; width: 100%; text-align: left; }
.homelengo-box .im-market-ref.im-yield-grade-strong,
.homelengo-box .im-market-ref.im-yield-grade-good,
.homelengo-box .im-market-ref.im-yield-grade-fair,
.homelengo-box .im-market-ref.im-yield-grade-low { color: var(--color-text-muted); }
.homelengo-box .im-direct { font-size: 11px; font-weight: 600; color: #0284c7; background: #e0f2fe; padding: 2px 7px; border-radius: var(--radius-sm); width: fit-content; }

/* ── Filter Override ── */
.btn-group-vertical.search-filter-group,
.btn-group.search-filter-group { display: none !important; }

@media (min-width: 768px) {
  .btn-more-filters { display: inline-flex !important; align-items: center !important; gap: 6px !important; height: 36px !important; padding: 0 14px !important; border-radius: var(--radius-full) !important; border: 1px solid var(--color-border) !important; background: var(--color-white) !important; font-family: var(--font-family) !important; font-size: 12px !important; font-weight: 600 !important; color: #374151 !important; cursor: pointer !important; position: static !important; box-shadow: none !important; transition: var(--transition) !important; }
  .btn-more-filters:hover, .btn-more-filters.has-active { border-color: var(--color-primary) !important; color: var(--color-primary) !important; background: var(--color-primary-light) !important; }
  .btn-more-filters .active-count { width: 16px !important; height: 16px !important; border-radius: 50% !important; background: var(--color-primary) !important; color: #fff !important; font-size: 10px !important; font-weight: 700 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
  .btn-ai-inline { display: inline-flex !important; align-items: center !important; gap: 6px !important; height: 36px !important; padding: 0 14px !important; border-radius: var(--radius-full) !important; border: 1px solid rgba(0,196,179,.3) !important; background: var(--color-accent-light) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--color-accent-dark) !important; cursor: pointer !important; position: static !important; box-shadow: none !important; transition: var(--transition) !important; text-decoration: none !important; }
  .btn-ai-inline:hover { background: var(--color-accent) !important; color: #fff !important; border-color: var(--color-accent) !important; }
  #modalAdvancedFilter .modal-dialog, #modalSearch .modal-dialog { max-width: 680px !important; }
  #modalAdvancedFilter .modal-content, #modalSearch .modal-content { border-radius: var(--radius-xl) !important; border: none !important; box-shadow: 0 24px 64px rgba(22,30,45,.2) !important; max-height: calc(100vh - 120px) !important; overflow-y: auto !important; }
  .wd-find-select .form-style label { font-size: 10px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--color-text-muted) !important; }
  .wd-find-select .form-style .nice-select .current { font-size: 13px !important; font-weight: 600 !important; }
  .wd-find-select .form-style { position: relative !important; }
  .wd-find-select .form-style:has(.nice-select.open)::after { content: '' !important; position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; height: 2px !important; background: var(--color-primary) !important; border-radius: 2px 2px 0 0 !important; }
  .wd-find-select .form-style + .form-style { border-left: 1px solid #f0f2f5 !important; }
  .box-btn-advanced { display: flex !important; align-items: center !important; gap: 8px !important; padding-left: 12px !important; }
}

@media (max-width: 767px) {
  .wd-find-select .inner-group { display: none !important; }
  .wd-find-select .box-btn-advanced .filter-advanced { display: none !important; }
  .wd-find-select .tf-btn.btn-search { width: 44px !important; height: 44px !important; min-width: unset !important; border-radius: 50% !important; padding: 0 !important; }
  .filter-mobile-bar { display: flex !important; align-items: center !important; gap: 8px !important; padding: 10px 16px !important; background: var(--color-white) !important; border-bottom: 1px solid var(--color-border) !important; box-shadow: var(--shadow-sm) !important; position: sticky !important; top: 0 !important; z-index: 200 !important; }
  .filter-mobile-summary { flex: 1 !important; min-width: 0 !important; height: 44px !important; display: flex !important; align-items: center !important; gap: 8px !important; padding: 0 14px !important; border-radius: var(--radius-full) !important; border: 1px solid var(--color-border) !important; background: var(--color-bg-surface) !important; cursor: pointer !important; font-size: 13px !important; font-weight: 500 !important; color: var(--color-text-secondary) !important; overflow: hidden !important; transition: var(--transition) !important; }
  .filter-mobile-summary.has-active { border-color: rgba(21,99,223,.3) !important; background: var(--color-primary-light) !important; color: var(--color-primary) !important; font-weight: 600 !important; }
  .filter-mobile-count { width: 18px !important; height: 18px !important; border-radius: 50% !important; background: var(--color-primary) !important; color: #fff !important; font-size: 10px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
  .btn-filter-mobile { height: 44px !important; padding: 0 16px !important; border-radius: var(--radius-full) !important; border: 1px solid var(--color-border) !important; background: var(--color-white) !important; font-size: 13px !important; font-weight: 600 !important; color: #374151 !important; cursor: pointer !important; flex-shrink: 0 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
  .btn-filter-mobile.has-active { border-color: var(--color-primary) !important; color: var(--color-primary) !important; background: var(--color-primary-light) !important; }
  .active-chips-strip { display: flex !important; gap: 8px !important; padding: 0 16px 10px !important; overflow-x: auto !important; background: var(--color-white) !important; scrollbar-width: none !important; }
  .active-chip { display: inline-flex !important; align-items: center !important; gap: 5px !important; height: 26px !important; padding: 0 10px !important; border-radius: var(--radius-full) !important; background: var(--color-primary-light) !important; border: 1px solid rgba(21,99,223,.2) !important; font-size: 11px !important; font-weight: 600 !important; color: var(--color-primary) !important; white-space: nowrap !important; flex-shrink: 0 !important; cursor: pointer !important; }
  #modalAdvancedFilter .modal-dialog, #modalSearch .modal-dialog { margin: 0 !important; max-width: 100% !important; width: 100% !important; position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; top: auto !important; }
  #modalAdvancedFilter.fade .modal-dialog, #modalSearch.fade .modal-dialog { transform: translateY(100%) !important; transition: transform .3s cubic-bezier(.32,.72,0,1) !important; }
  #modalAdvancedFilter.fade.show .modal-dialog, #modalSearch.fade.show .modal-dialog { transform: translateY(0) !important; }
  #modalAdvancedFilter .modal-content, #modalSearch .modal-content { border-radius: 20px 20px 0 0 !important; border: none !important; max-height: 90dvh !important; overflow-y: auto !important; box-shadow: 0 -8px 40px rgba(22,30,45,.15) !important; padding-bottom: env(safe-area-inset-bottom, 0px) !important; }
  #modalAdvancedFilter .modal-content::before, #modalSearch .modal-content::before { content: '' !important; display: block !important; width: 36px !important; height: 4px !important; border-radius: 2px !important; background: #d1d5db !important; margin: 12px auto 4px !important; }
  #modalAdvancedFilter .modal-body, #modalSearch .modal-body { padding: 20px !important; }
  #modalAdvancedFilter .modal-footer, #modalSearch .modal-footer { padding: 12px 20px !important; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; gap: 10px !important; flex-wrap: nowrap !important; }
  #modalAdvancedFilter input, #modalSearch input,
  #modalAdvancedFilter select, #modalSearch select { font-size: 16px !important; }
  #modalAdvancedFilter .modal-footer .tf-btn { border-radius: var(--radius-full) !important; height: 48px !important; font-size: 14px !important; font-weight: 700 !important; }
  #modalAdvancedFilter .modal-footer .tf-btn.primary { flex: 1 !important; }
  #modalAdvancedFilter .form-control, #modalAdvancedFilter .nice-select { height: 48px !important; border-radius: var(--radius-md) !important; border: 1px solid var(--color-border) !important; background: var(--color-bg-surface) !important; }
  #modalAdvancedFilter .form-control:focus { border-color: var(--color-primary) !important; background: var(--color-white) !important; }
  #modalAdvancedFilter .check-box { padding: 10px 12px !important; border-radius: var(--radius-md) !important; border: 1px solid var(--color-border) !important; }
  #modalAdvancedFilter .check-box:hover { border-color: var(--color-primary) !important; background: #f8fbff !important; }
  .filter-mobile-bar { top: 78px !important; }
}

/* ── Inline styles от search.tpl ── */
.filter-bar-desktop .nice-select:after { content: '';  position: absolute;  inset-block: -10px;  inset-inline: -10px; }
.filter-bar-desktop .nice-select .current:after { width: 5px; height: 5px; top: 70%; right: 0; }
.nice-select.open .nice-select-dropdown .list { min-width: calc(100% + 30px); word-break: break-word !important; width: max-content; margin-left: -15px; margin-top: 10px; }
.nice-select.open .nice-select-dropdown .list .option:hover,
.nice-select.open .nice-select-dropdown .list .option.focus { background-color: #f0f0f0; color: #161e2d; }
.nice-select.open .nice-select-dropdown .list .option.focus:after { position: absolute; right: 10px; opacity: 0.7; }
.nice-select.open .nice-select-dropdown .list .option.disabled { background-color: #fff !important; color: #a3abb0; }
.nice-select.open .nice-select-dropdown .list .option.selected { color: #0a53be; font-weight: 600; }
.nice-select.open .nice-select-dropdown .list .option.selected:after { position: absolute; right: 10px; opacity: 0.7; }
.nice-select .nice-select-dropdown .nice-select-search-box { display: none; position: absolute; top: 0; width: calc(100% + 20px); margin-left: -20px; }
.nice-select.open .nice-select-dropdown .nice-select-search-box { display: block; }
.nice-select.open:has(.nice-select-search-box) .current,
.nice-select.open:has(.nice-select-search-box) .multiple-options { opacity: 0; }
.nice-select.open .nice-select-dropdown .nice-select-search-box input { width: 100%; border: none; border-radius: 0; padding: 0 15px 0 20px; font-size: 13px; font-weight: 600; margin-top: -2px; background: none; }
.nice-select.disabled span { opacity: 0.6; }
#price-select .list { left: auto; right: 0; }
#price-dropdown { background-color: #fff; width: 256px; margin: 0 auto; padding: 10px 20px 25px; position: relative; }
#price-dropdown .caption-price { padding-top: 5px; padding-bottom: 15px; padding-left: 5px; }
#modalSearch .widget-slider { margin: 10px 0 5px 10px; }
#modalSearch .caption-price { padding-top: 10px; padding-bottom: 15px; padding-left: 5px; }
.caption-price span.sep { padding-left: 10px; padding-right: 10px; }

.images-style img { filter: brightness(1.05) contrast(1.08) saturate(1.2); transition: filter 0.3s ease, box-shadow 0.3s ease; }
.images-style img:hover { box-shadow: 0 8px 20px rgba(0,0,0,.15); filter: brightness(1.1) contrast(1.1) saturate(1.3); }

.ad-type-select button { border-color: #e4e4e4; color: rgba(22,30,45,.5); width: 100%; }
.ad-type-select .btn-left { border-radius: 99px 0 0 99px !important; }
.ad-type-select .btn-right { border-radius: 0 99px 99px 0 !important; }

.title-select { margin: 10px 0 5px 10px; }
.amenities-item { align-items: center; padding: 5px 0 5px 15px; }
.amenities-item .tf-checkbox { display: inline-flex; }
.amenities-item label { vertical-align: top; }
.homelengo-box .images-style img { aspect-ratio: 1.5 / 1 !important; object-fit: cover !important; }
#gridLayout .homelengo-box .content-top h6 { height: 55px; }
.internal-link { text-decoration: underline; display: inline; padding: 5px; }
.flag-tag.score-tag svg { stroke: #fff; height: 14px; }

.search-filter-group { position: fixed; background: #fff; z-index: 9999; }
.search-filter-group .btn-default { background: linear-gradient(135deg, rgba(0,71,171,.1) 0%, rgba(0,196,179,.1) 100%); }
.search-filter-group.btn-group { bottom: 5vh; left: 50%; transform: translateX(-50%); }
.search-filter-group.btn-group .btn { width: 20vw; height: 50px; }
.search-filter-group.btn-group-vertical { max-width: 55px; right: 20px; top: 30%; }
.search-filter-group.btn-group-vertical .btn { max-width: 55px; height: 65px; }
.wd-find-select { border: 1px solid #e4e4e4; }

.glow-box { animation: pulse 10s infinite; }
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 10px rgba(0,71,171,.6), 0 0 20px rgba(255,71,171,.6); }
  25%  { box-shadow: 0 0 10px rgba(0,196,179,.6), 0 0 20px rgba(0,196,179,.6); }
  50%  { box-shadow: 0 0 10px rgba(0,71,171,.6), 0 0 20px rgba(0,71,171,.6); }
  75%  { box-shadow: 0 0 10px rgba(0,196,179,.6), 0 0 20px rgba(0,196,179,.6); }
}
.glow-animated { animation: pulse 2s infinite; }

.homelengo-box .images-style { height: auto !important; }
.homelengo-box .content-top { padding-bottom: 0; height: 38px; margin-bottom: 10px; border-bottom: none; }
.homelengo-box .meta-list { display: flex; flex-wrap: wrap; gap: 6px 14px; list-style: none; margin-bottom: 12px; padding-bottom: 12px; border-bottom: 1px solid #f0f2f5; }
.homelengo-box .meta-list .item { display: flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 500; color: #5c6368; }
.homelengo-box .rating svg { fill: #e4e4e4; }
.homelengo-box .rating svg.icon-fill { fill: #ffa800; }

/* Bottom sheet modal */
.modal-sheet { background: #fff; width: 100%; max-width: 680px; border-radius: 16px; z-index: 900; max-height: calc(100vh - 120px); box-shadow: 0 -8px 40px rgba(22,30,45,.15); display: flex; flex-direction: column; }
.sheet-handle { display: none; }
@media (max-width: 767px) {
  .modal-sheet { position: fixed; left: 0; right: 0; bottom: 0; border-radius: 20px 20px 0 0; max-height: 80vh; transform: translateY(100%); transition: transform .3s cubic-bezier(.32,.72,0,1); }
  #modalAdvancedFilter.show .modal-sheet { transform: translateY(0); }
  .sheet-handle { display: block; width: 36px; height: 4px; border-radius: 2px; background: #d1d5db; margin: 12px auto 0; flex-shrink: 0; }
}
.sheet-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px 14px; border-bottom: 1px solid #f0f2f5; flex-shrink: 0; }
.sheet-header h3 { font-size: 16px; font-weight: 700; }
.sheet-close { width: 30px; height: 30px; border-radius: 50%; border: 1px solid #e8eaf0; background: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #5c6368; transition: background .15s; }
.sheet-close:hover { background: #f4f5f8; }
.sheet-body { flex: 1 1 auto; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 20px; -webkit-overflow-scrolling: touch; }
.sheet-footer { padding: 12px 20px; border-top: 1px solid #f0f2f5; display: flex; gap: 10px; flex-shrink: 0; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
.btn-sheet-reset { height: 48px; flex: 0 0 auto; padding: 0 20px; border-radius: 9999px; border: 1px solid #e8eaf0; background: #fff; font-family: inherit; font-size: 14px; font-weight: 600; color: #5c6368; cursor: pointer; transition: all .2s; }
.btn-sheet-apply { flex: 1; height: 48px; border-radius: 9999px; background: #1563df; border: none; color: #fff; font-family: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: background .2s, box-shadow .2s; }
.btn-sheet-apply:hover { background: #0e49a6; box-shadow: 0 4px 16px rgba(21,99,223,.35); }

.filter-group { display: flex; flex-direction: column; gap: 10px; }
.group-label { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #a3abb0; }
.filter-group .nice-select.open .nice-select-dropdown .nice-select-search-box input { width: 100%; border: none; border-radius: 0; padding: 17px 15px 0 20px; font-size: 14px; font-weight: 600; }

.chips-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { line-height: 32px; color: #5c6368; height: 38px; padding: 0 16px; border-radius: 9999px; border: 1px solid #e8eaf0; background: #fff; font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: all .15s; }
.chip:hover { border-color: #1563df; color: #1563df; }
.chip.on { background: #1563df; border-color: #1563df; color: #fff; }

.amenities-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
@media (min-width: 480px) { .amenities-grid { grid-template-columns: repeat(3, 1fr); } }
.amenity-item { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 8px; border: 1px solid #e8eaf0; cursor: pointer; transition: all .15s; font-size: 13px; color: #374151; }
.amenity-item:hover { border-color: #1563df; background: #f8fbff; }
.amenity-item.on { border-color: #1563df; background: #E7F0FF; color: #1563df; }
.chk { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #d1d5db; flex-shrink: 0; transition: all .15s; display: flex; align-items: center; justify-content: center; }
.amenity-item.on .chk { background: #1563df; border-color: #1563df; }
.amenity-item.on .chk::after { content: ''; width: 8px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg) translate(1px,-1px); }

.box-title-listing .box-filter-tab .list-sort { height: 40px; line-height: 40px; }

/* ── Responsive: header ── */
@media only screen and (min-width: 1520px) { .main-header .inner-header-left { gap: 160px; } }
@media only screen and (max-width: 1520px) { .main-header .inner-header-left { gap: 50px; } }
@media only screen and (max-width: 1099px) {
  .inner-header-center .inner-group { margin: 0 auto; }
  .hd-find-select, .hd-find-select .form-style, .hd-find-select .form-control { padding-top: 0 !important; padding-bottom: 0 !important; line-height: 38px !important; }
  .wd-find-select { padding: 5px; }
  .wd-find-select .tf-btn { min-width: 60px; }
  .wd-filter { flex-direction: unset; gap: 0; }
  .wd-filter .inner-group { flex-wrap: nowrap !important; padding-right: 0 !important; }
  .wd-filter .inner-group .form-style { border-right: 1px solid #e6e6e6 !important; flex: 1 1 0; min-width: 0; }
  .wd-filter .inner-group label { margin-bottom: 0 !important; }
  .wd-filter .inner-group .form-style .nice-select { border: none !important; padding: 6px 0 !important; max-width: 100%; }
  .wd-filter .inner-group .form-style .current { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: calc(100% - 25px); }
  .wd-filter .box-btn-advanced { gap: 0 !important; }
}
@media only screen and (max-width: 575px) {
  .title-large { font-size: 32px; line-height: 48px; }
  .hd-find-select .tf-btn { padding: 5px 20px; }
  .hd-find-select .form-control { line-height: 33px !important; }
  .main-header.header--search-mode .inner-header-left { display: none !important; }
}

/* ── Card responsive ── */
@media (max-width: 767px) {
  .homelengo-box .images-style { height: 180px !important; }
  .homelengo-box .archive-bottom { padding: 12px !important; }
  .homelengo-box .link { font-size: 13px !important; }
  .homelengo-box h6.price { font-size: 15px !important; }
  .homelengo-box .meta-list { gap: 6px !important; }
  .homelengo-box .meta-list .item { font-size: 12px !important; }
  .homelengo-box .im-signal { font-size: 11px !important; white-space: normal !important; }
  .homelengo-box .im-price-row .price { font-size: 16px !important; }
}