/* */

/* ------------------------------
   0) Helpers
   ------------------------------ */
.tl-hidden{ display:none !important; }

/* ------------------------------
   1) Map pins (Leaflet)
   ------------------------------ */
/* existing: .tl-pin-tag { white-space:nowrap } and a single .t line
   we keep HTML as-is and style + JS will inject <br><span class="u">... */
.tl-map-overlay .tl-pin-tag{
  white-space: normal !important;
  padding: 8px 10px;
}

.tl-map-overlay .tl-pin-tag .t{
  display:block;
  text-align:center;
  line-height: 1.15;
}

.tl-map-overlay .tl-pin-tag .t .u{
  display:block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 800;
  color: rgba(255,255,255,.92);
  line-height: 1.1;
}

/* ------------------------------
   2) Ad cards (compact)
   ------------------------------ */
.tl-ad-card .tl-ad-card__priceRow{
  flex-wrap: nowrap !important;  /* force one line */
  min-width: 0;
  overflow: hidden;              /* prevent layout break on tiny widths */
}

.tl-ad-card .tl-ad-card__priceTag,
.tl-ad-card .tl-ad-card__priceUsd{
  min-width: 0;
  flex: 0 1 auto;
}

/* remove the "offer/type tag" line under the image to make card shorter */
.tl-ad-card .tl-ad-card__tag{
  display: none !important;
}

/* ------------------------------
   3) Desktop: move filters sidebar to the RIGHT
   property_ads_desktop.css is loaded later, so use !important.
   ------------------------------ */
@media ((min-width: 1024px) and (hover: hover) and (pointer: fine)), (min-width: 1367px){
  .tl-layout{
    /* Fix: prevent CSS-grid "hole" that pushes <main> to row2.
       We use template-areas to place items in the same row regardless of DOM order. */
    grid-template-columns: 1fr 320px !important; /* main | filters */
    grid-template-areas: "main aside" !important;
    direction: ltr !important;
  }
  .tl-layout > main{
    grid-area: main !important;
  }
  .tl-layout > aside{
    grid-area: aside !important;
  }
}

/* */
.tl-top{ display:none !important; }

/* ------------------------------
   5) Map banner CTA (injected by JS)
   The banner is injected:
   - Desktop: inside <main> BEFORE .tl-dbar (fills the empty space beside filters)
   - Mobile: directly AFTER .tl-mbar
   ------------------------------ */
.tl-map-banner{
  --tl-mapb-primary: var(--tl-primary, #1b2b74);
  --tl-mapb-accent: var(--tl-accent, #25bccf);

  direction: rtl;
  width: 100%;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;

  padding: 14px 14px;
  margin: 0 0 12px 0;
  border-radius: 18px;

  color: #fff;
  border: 1px solid rgba(148,163,184,.35);
  box-shadow: 0 12px 26px rgba(2,6,23,.08);

  background:
    radial-gradient(1200px 420px at 0% 0%, rgba(37,188,207,.18) 0%, rgba(37,188,207,0) 60%),
    radial-gradient(800px 360px at 100% 100%, rgba(255,255,255,.10) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(135deg, rgba(27,43,116,1) 0%, rgba(25,36,96,1) 55%, rgba(20,27,72,1) 100%);

  position: relative;
  overflow: hidden;

  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.tl-map-banner:hover{
  box-shadow: 0 14px 28px rgba(2,6,23,.12);
}

.tl-map-banner:active{
  transform: translateY(1px);
}

.tl-map-banner__icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  flex: 0 0 auto;
}

.tl-map-banner__icon svg{
  width: 22px;
  height: 22px;
  fill: #fff;
  opacity: .95;
}

.tl-map-banner__text{
  min-width: 0;
  flex: 1 1 auto;
}

.tl-map-banner__title{
  font-weight: 950;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: .2px;
}

.tl-map-banner__sub{
  margin-top: 4px;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(255,255,255,.86);
  max-width: 56ch;
}

.tl-map-banner__cta{
  display:flex;
  align-items:center;
  gap:10px;
  flex: 0 0 auto;
}

.tl-map-banner__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  color: var(--tl-mapb-primary);
  border: 1px solid rgba(255,255,255,.5);
  font-weight: 950;
  font-size: 12px;
  white-space: nowrap;
}

.tl-map-banner__arrow{
  width: 26px;
  height: 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
}

.tl-map-banner__arrow svg{
  width: 16px;
  height: 16px;
  fill: #fff;
  opacity: .92;
}

.tl-map-banner.is-open .tl-map-banner__pill{
  background: rgba(37,188,207,.16);
  color: #fff;
  border-color: rgba(37,188,207,.28);
}

@media ((min-width: 1024px) and (hover: hover) and (pointer: fine)), (min-width: 1367px){
  .tl-map-banner{
    padding: 16px 16px;
    border-radius: 20px;
  }
  .tl-map-banner__title{ font-size: 16px; }
  .tl-map-banner__sub{ font-size: 12px; }
}

@media (max-width: 1023px), ((hover: none) and (pointer: coarse) and (max-width: 1366px)){
  .tl-map-banner{
    margin: 10px 0 10px 0;
    padding: 12px 12px;
    border-radius: 18px;
  }
  .tl-map-banner__icon{ width: 40px; height: 40px; border-radius: 14px; }
  .tl-map-banner__title{ font-size: 14px; }
  .tl-map-banner__sub{ display:none; }
  .tl-map-banner__pill{ padding: 9px 11px; font-size: 12px; }
}

/* ------------------------------
   6) Saved-search bar visibility
   JS toggles .tl-hidden on #tlChipsBar when there are NO applied filters
   ------------------------------ */
#tlChipsBar.tl-hidden{ display:none !important; }

/* ------------------------------
   7) Make anchors look like buttons in bars
   ------------------------------ */
.tl-mbar a.tl-mbtn,
.tl-dbar a.tl-dbtn{
  text-decoration: none !important;
  color: inherit !important;
}

/* ------------------------------
   8) Mobile legend stays ONE line
   ------------------------------ */
@media (max-width: 1023px), ((hover: none) and (pointer: coarse) and (max-width: 1366px)){
  .tl-ad-legend{
    display:flex !important;
    align-items:center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
    margin: 8px 0 12px !important;
    scrollbar-width: none; /* Firefox */
  }
  .tl-ad-legend::-webkit-scrollbar{ display:none; }

  .tl-ad-legend .it{
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

/* ------------------------------
   9) Map overlay UX v2 (Mobile-first, iOS-friendly)
   - USD-only compact pins
   - "Search here" prompt on map move
   - Bottom sheet results (peek/expanded)
   ------------------------------ */

.tl-map-overlay .tl-map-body{
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  /* Keep stacking deterministic above Leaflet panes (iOS/Safari compositing quirks) */
  isolation: isolate;
}

.tl-map-overlay #adsMapOverlay{
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Search-here button */
.tl-map-overlay .tl-map-searchhere{
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  z-index: 5100;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.28);
  background: rgba(255,255,255,.96);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 14px 28px rgba(2,6,23,.14);

  color: var(--tl-ink);
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .2px;

  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  -webkit-tap-highlight-color: transparent;
}
.tl-map-overlay .tl-map-searchhere.is-visible{
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.tl-map-overlay .tl-map-searchhere .ic{
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.tl-map-overlay .tl-map-searchhere svg{
  width: 18px;
  height: 18px;
  fill: var(--tl-primary);
  opacity: .92;
}

/* Loading pill */
.tl-map-overlay .tl-map-loading{
  position: absolute;
  top: 56px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5100;

  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(27,43,116,.94);
  color: #fff;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .2px;
  box-shadow: 0 14px 30px rgba(2,6,23,.22);

  opacity: 0;
  pointer-events: none;
  transition: opacity .16s ease;
}
.tl-map-overlay .tl-map-loading.is-visible{
  opacity: 1;
}

/* Bottom sheet */
.tl-map-overlay .tl-map-sheet{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 5000;

  background: rgba(255,255,255,.96);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  box-shadow: 0 -20px 56px rgba(2,6,23,.18);
  border: 1px solid rgba(148,163,184,.22);
  border-bottom: none;

  display: flex;
  flex-direction: column;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));

  will-change: transform;
  transition: transform .22s cubic-bezier(.2,.8,.2,1);
  touch-action: pan-y;
}
.tl-map-overlay .tl-map-sheet.is-dragging{
  transition: none !important;
}

.tl-map-overlay .tl-map-sheet__handle{
  padding: 10px 0 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: grab;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
  user-select: none;
}
.tl-map-overlay .tl-map-sheet__handle .bar{
  width: 46px;
  height: 5px;
  border-radius: 999px;
  background: rgba(148,163,184,.78);
}

.tl-map-overlay .tl-map-sheet__head{
  padding: 6px 14px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  touch-action: pan-x;
  user-select: none;
}
.tl-map-overlay .tl-map-sheet__count{
  font-weight: 950;
  font-size: 13px;
  color: var(--tl-ink);
}

.tl-map-overlay .tl-map-sheet__actions{
  display: flex;
  align-items: center;
  gap: 10px;
}

.tl-map-overlay .tl-map-sheet__open{
  display: none;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(37,188,207,.28);
  background: rgba(37,188,207,.12);
  color: var(--tl-primary);
  font-weight: 950;
  font-size: 12px;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(2,6,23,.06);
  -webkit-tap-highlight-color: transparent;
}
.tl-map-overlay .tl-map-sheet__open.is-visible{ display: inline-flex; }
.tl-map-overlay .tl-map-sheet__open:active{ transform: translateY(1px); }

.tl-map-overlay .tl-map-sheet__mini{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  border: 1px solid rgba(148,163,184,.22);
  background: rgba(255,255,255,.96);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 22px rgba(2,6,23,.08);
  -webkit-tap-highlight-color: transparent;
}
.tl-map-overlay .tl-map-sheet__mini svg{
  width: 20px;
  height: 20px;
  fill: var(--tl-ink);
  opacity: .85;
  transition: transform .18s ease;
}
.tl-map-overlay .tl-map-sheet.is-expanded .tl-map-sheet__mini svg{
  transform: rotate(180deg);
}

.tl-map-overlay .tl-map-sheet__body{
  flex: 1;
  min-height: 0;
  padding: 0 12px 12px;
  display: flex;
  flex-direction: column;
}

/* Results list (peek = horizontal, expanded = vertical) */
.tl-map-overlay .tl-map-results{
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 2px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  flex: 1;
  min-height: 0;
}
.tl-map-overlay .tl-map-results::-webkit-scrollbar{ display: none; }

.tl-map-overlay .tl-map-sheet.is-expanded .tl-map-results{
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 0;
  scroll-snap-type: none;
}

.tl-map-overlay .tl-map-card{
  flex: 0 0 auto;
  width: 280px;
  max-width: 82vw;
  display: flex;
  align-items: stretch;
  gap: 0;

  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.22);
  background: #fff;
  box-shadow: 0 12px 26px rgba(2,6,23,.08);
  overflow: hidden;

  color: inherit;
  text-decoration: none;
  scroll-snap-align: start;
  -webkit-tap-highlight-color: transparent;
}
.tl-map-overlay .tl-map-sheet.is-expanded .tl-map-card{
  width: 100%;
  max-width: none;
  margin-bottom: 10px;
}

.tl-map-overlay .tl-map-card.is-active{
  border-color: rgba(37,188,207,.60);
  box-shadow: 0 14px 30px rgba(37,188,207,.16);
}

.tl-map-overlay .tl-map-card__img{
  width: 92px;
  height: 92px;
  flex: 0 0 auto;
  background: #f1f5f9;
}
.tl-map-overlay .tl-map-card__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.tl-map-overlay .tl-map-card__img .ph{
  width: 100%;
  height: 100%;
  background: #e2e8f0;
}

.tl-map-overlay .tl-map-card__body{
  padding: 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.tl-map-overlay .tl-map-card__price{
  font-weight: 950;
  font-size: 13px;
  color: var(--tl-primary);
  line-height: 1.2;
}
.tl-map-overlay .tl-map-card__title{
  font-weight: 800;
  font-size: 12.5px;
  color: var(--tl-ink);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tl-map-overlay .tl-map-card__loc{
  font-weight: 650;
  font-size: 11.5px;
  color: var(--tl-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tl-map-overlay .tl-map-empty{
  margin-top: 10px;
  padding: 12px;
  border-radius: 16px;
  border: 1px dashed rgba(148,163,184,.35);
  color: var(--tl-muted);
  text-align: center;
  font-weight: 750;
  font-size: 13px;
  display: none;
}
.tl-map-overlay .tl-map-empty.is-visible{ display: block; }

.tl-map-overlay .tl-map-sheet.is-empty .tl-map-results{ display: none !important; }
.tl-map-overlay .tl-map-sheet.is-empty .tl-map-empty{
  display: flex !important;
  flex: 1;
  align-items: center;
  justify-content: center;
  margin-top: 0;
}

/* USD-only compact pins */
.tl-map-overlay .tl-pin-icon-v2{
  background: transparent !important;
  border: 0 !important;
}
.tl-map-overlay .tl-pin-v2-wrap{
  transform: translate(-50%,-100%);
}
.tl-map-overlay .tl-pin-v2{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: var(--tl-primary);
  box-shadow: 0 14px 30px rgba(2,6,23,.22);
  white-space: nowrap;
}
.tl-map-overlay .tl-pin-v2:after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  width: 12px;
  height: 12px;
  background: var(--tl-primary);
  transform: translateX(-50%) rotate(45deg);
  border-right: 1px solid rgba(255,255,255,.18);
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.tl-map-overlay .tl-pin-v2 .t{
  font-size: 12px;
  font-weight: 950;
  color: #fff;
  letter-spacing: .2px;
}
.tl-map-overlay .tl-pin-v2.is-active{
  background: var(--tl-accent, #25bccf);
}
.tl-map-overlay .tl-pin-v2.is-active:after{
  background: var(--tl-accent, #25bccf);
}

/* Cluster icon */
.tl-map-overlay .tl-map-cluster{
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(27,43,116,.94);
  border: 1px solid rgba(255,255,255,.22);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 34px rgba(2,6,23,.22);
}
.tl-map-overlay .tl-map-cluster span{
  color: #fff;
  font-weight: 950;
  font-size: 13px;
}
.tl-map-overlay .tl-map-cluster--m{ transform: scale(1.02); }
.tl-map-overlay .tl-map-cluster--l{ transform: scale(1.08); }

/* Ensure filters/sort sheets are usable while the map overlay is open */
html.tl-map-open .tl-panel,
html.tl-map-open .tl-sort-sheet{
  z-index: 110 !important;
}


/* ==========================================================
   2026-03-17 — REAL ESTATE VISUAL SYNC
   Scope: /real-estate only (.tl-rex root)
   Goal: modernize buttons, color hierarchy, chips, map sheet,
         and ad cards without changing layout or behavior.
   ========================================================== */

.tl-rex{
  --tl-rex-navy: #0f1b3a;
  --tl-rex-navy-2: #1d4ed8;
  --tl-rex-cyan: #38bdf8;
  --tl-rex-cyan-soft: #eef9ff;
  --tl-rex-gold: #facc15;
  --tl-rex-gold-soft: #fff7d6;
  --tl-rex-green: #16a34a;
  --tl-rex-green-soft: #ecfdf5;
  --tl-rex-ink: #0f172a;
  --tl-rex-muted: #64748b;
  --tl-rex-border: rgba(148,163,184,.24);
  --tl-rex-border-strong: rgba(59,130,246,.24);
  --tl-rex-surface: #ffffff;
  --tl-rex-surface-alt: linear-gradient(180deg, rgba(248,250,252,.96), #ffffff);
  --tl-rex-surface-cool: linear-gradient(180deg, rgba(239,246,255,.94), rgba(255,255,255,.98));
  --tl-rex-shadow-sm: 0 10px 24px rgba(15,23,42,.06);
  --tl-rex-shadow: 0 18px 44px rgba(15,23,42,.08);
  --tl-rex-shadow-lg: 0 22px 58px rgba(15,23,42,.12);
  --tl-rex-focus: 0 0 0 3px rgba(56,189,248,.18);
}

.tl-rex,
.tl-rex .tl-wrap,
.tl-rex .tl-title,
.tl-rex .tl-sub,
.tl-rex .tl-filter-title,
.tl-rex .tl-filter-sub,
.tl-rex .tl-fv2-item__title,
.tl-rex .tl-fv2-btitle,
.tl-rex .tl-fv2-label,
.tl-rex .tl-ad-card__title,
.tl-rex .tl-map-sheet__count,
.tl-rex .tl-map-card__price,
.tl-rex .tl-map-card__title{
  color: var(--tl-rex-ink) !important;
}

.tl-rex .tl-sub,
.tl-rex .tl-filter-sub,
.tl-rex .tl-fv2-item__hint,
.tl-rex .tl-map-card__loc,
.tl-rex .tl-ad-card__loc,
.tl-rex .tl-ad-card__locText,
.tl-rex .tl-ad-card__meta,
.tl-rex .tl-ad-card__metaItem,
.tl-rex .tl-dsort-label,
.tl-rex .tl-modal-sub,
.tl-rex .tl-err,
.tl-rex .tl-fv2-hint,
.tl-rex .tl-chip-ghost{
  color: var(--tl-rex-muted) !important;
}

.tl-rex :where(button, a, input, select):focus-visible,
.tl-rex .tl-map-overlay :where(button, a):focus-visible{
  outline: none !important;
  box-shadow: var(--tl-rex-focus) !important;
}

.tl-rex .tl-mbar,
.tl-rex .tl-dbar,
.tl-rex .tl-chipsbar,
.tl-rex .tl-filter-panel,
.tl-rex #sortSheetReal .tl-filter-inner,
.tl-rex .tl-modal-card{
  background: var(--tl-rex-surface-alt) !important;
  border: 1px solid var(--tl-rex-border) !important;
  box-shadow: var(--tl-rex-shadow) !important;
}

.tl-rex .tl-mbar,
.tl-rex .tl-dbar,
.tl-rex .tl-chipsbar{ border-radius: 24px !important; }
.tl-rex .tl-filter-panel,
.tl-rex #sortSheetReal .tl-filter-inner,
.tl-rex .tl-modal-card{ border-radius: 26px !important; }

.tl-rex .tl-mbtn,
.tl-rex .tl-dbtn,
.tl-rex .tl-action,
.tl-rex .tl-close,
.tl-rex .btn-lite,
.tl-rex #sortSheetReal [data-sort],
.tl-rex .tl-modal-close,
.tl-rex .tl-map-overlay .btnx{
  min-height: 48px !important;
  border-radius: 18px !important;
  border: 1px solid var(--tl-rex-border) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  color: var(--tl-rex-ink) !important;
  box-shadow: var(--tl-rex-shadow-sm) !important;
  font-weight: 900 !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease !important;
}

.tl-rex .tl-mbtn:hover,
.tl-rex .tl-dbtn:hover,
.tl-rex .tl-action:hover,
.tl-rex .tl-close:hover,
.tl-rex .btn-lite:hover,
.tl-rex #sortSheetReal [data-sort]:hover,
.tl-rex .tl-map-overlay .btnx:hover{
  transform: translateY(-1px) !important;
  box-shadow: var(--tl-rex-shadow) !important;
  border-color: var(--tl-rex-border-strong) !important;
}

.tl-rex .tl-mbtn:active,
.tl-rex .tl-dbtn:active,
.tl-rex .tl-action:active,
.tl-rex .tl-close:active,
.tl-rex .btn-lite:active,
.tl-rex .tl-map-overlay .btnx:active{
  transform: translateY(1px) !important;
}

.tl-rex .tl-actions .btn,
.tl-rex .tl-fv2-subactions .btn,
.tl-rex #saveSearchForm .btn,
.tl-rex .tl-action-save,
.tl-rex .tl-map-sheet__open{
  background: linear-gradient(135deg, var(--tl-rex-navy) 0%, var(--tl-rex-navy-2) 74%, var(--tl-rex-cyan) 144%) !important;
  color: #fff !important;
  border-color: rgba(15,23,42,.08) !important;
  box-shadow: 0 20px 38px rgba(30,58,138,.18) !important;
}

.tl-rex .tl-actions .btn .n{
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.24) !important;
  color: #fff !important;
}

.tl-rex .tl-action-clear{
  background: linear-gradient(180deg, rgba(255,247,237,.98), rgba(255,255,255,.98)) !important;
  border-color: rgba(251,146,60,.24) !important;
  color: #9a3412 !important;
}

.tl-rex .tl-action-manage,
.tl-rex .btn-lite,
.tl-rex .tl-close,
.tl-rex .tl-modal-close{
  background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.98)) !important;
}

.tl-rex .tl-mbtn .ic,
.tl-rex .tl-dbtn .ic,
.tl-rex .tl-map-overlay .btnx .ic,
.tl-rex .tl-close svg,
.tl-rex .tl-map-searchhere .ic,
.tl-rex .tl-map-sheet__mini,
.tl-rex #closeSortBtn svg,
.tl-rex #tlSavedSearchBtnMobile .ic,
.tl-rex #tlSavedSearchBtnDesktop .ic{
  width: 36px !important;
  height: 36px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(239,246,255,.92), rgba(255,255,255,.98)) !important;
  border: 1px solid rgba(191,219,254,.55) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 8px 18px rgba(15,23,42,.06) !important;
  color: var(--tl-rex-navy) !important;
  flex: 0 0 auto !important;
}

.tl-rex .tl-close svg,
.tl-rex #closeSortBtn svg{
  width: 18px !important;
  height: 18px !important;
}

.tl-rex .tl-mbtn svg,
.tl-rex .tl-dbtn svg,
.tl-rex .tl-close svg,
.tl-rex #sortSheetReal svg,
.tl-rex .tl-map-overlay .btnx svg,
.tl-rex .tl-map-searchhere svg,
.tl-rex #tlSavedSearchBtnMobile svg,
.tl-rex #tlSavedSearchBtnDesktop svg,
.tl-rex .tl-map-sheet__mini svg{
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
}

.tl-rex .tl-mbtn .txt,
.tl-rex .tl-dbtn span,
.tl-rex #tlSavedSearchBtnMobile .txt,
.tl-rex #tlSavedSearchBtnDesktop span:last-child{ font-weight: 900 !important; }

.tl-rex .tl-count{
  min-width: 24px !important;
  height: 24px !important;
  background: linear-gradient(135deg, var(--tl-rex-gold) 0%, #f59e0b 100%) !important;
  color: var(--tl-rex-ink) !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 18px rgba(250,204,21,.26) !important;
}

.tl-rex .tl-mbtn.is-active,
.tl-rex .tl-dbtn.is-open,
.tl-rex .tl-dbtn-map.is-open,
.tl-rex .tl-fv2-item.is-set,
.tl-rex .tl-choice.is-active,
.tl-rex .tl-chip.is-active,
.tl-rex .tl-dd-opt.is-active,
.tl-rex .tl-ad-legend .it.is-active,
.tl-rex .tl-map-card.is-active{
  background: linear-gradient(180deg, rgba(239,246,255,.98), rgba(255,255,255,.98)) !important;
  border-color: rgba(37,99,235,.28) !important;
  box-shadow: 0 18px 38px rgba(37,99,235,.10) !important;
}

.tl-rex .tl-mbtn.is-active .ic,
.tl-rex .tl-dbtn.is-open .ic,
.tl-rex .tl-map-card.is-active .tl-map-card__price{
  background: linear-gradient(135deg, rgba(15,27,58,.96), rgba(29,78,216,.92)) !important;
  border-color: rgba(15,23,42,.08) !important;
  color: #fff !important;
}

.tl-rex .tl-fv2-item,
.tl-rex .tl-dd-btn,
.tl-rex .tl-dd-opt,
.tl-rex .tl-choice,
.tl-rex .tl-chip,
.tl-rex .tl-input,
.tl-rex .tl-select,
.tl-rex .tl-saved-select,
.tl-rex .tl-chip,
.tl-rex .tl-ad-legend .it{
  border-radius: 18px !important;
  border: 1px solid var(--tl-rex-border) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow: var(--tl-rex-shadow-sm) !important;
}

.tl-rex .tl-choice,
.tl-rex .tl-chip,
.tl-rex .tl-ad-legend .it{ border-radius: 999px !important; }

.tl-rex .tl-input,
.tl-rex .tl-select,
.tl-rex .tl-saved-select{
  min-height: 48px !important;
  color: var(--tl-rex-ink) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
}

.tl-rex .tl-input:focus,
.tl-rex .tl-select:focus,
.tl-rex .tl-saved-select:focus{ border-color: rgba(37,99,235,.26) !important; box-shadow: var(--tl-rex-focus) !important; }

.tl-rex .tl-fv2-subhead{
  background: linear-gradient(135deg, rgba(15,27,58,.98), rgba(29,78,216,.94), rgba(56,189,248,.90)) !important;
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: 0 24px 48px rgba(15,23,42,.18) !important;
}

.tl-rex .tl-fv2-back{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.tl-rex .tl-fv2-item__title::after{
  box-shadow: 0 0 0 5px rgba(56,189,248,.14) !important;
}

.tl-rex .tl-filter-head,
.tl-rex .tl-fv2-subactions,
.tl-rex .tl-filter-panel .tl-actions,
.tl-rex #sortSheetReal .tl-filter-head{
  background: rgba(255,255,255,.94) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  backdrop-filter: blur(14px) !important;
}

.tl-rex .tl-filter-panel .tl-actions,
.tl-rex .tl-fv2-subactions{
  border-top: 1px solid rgba(226,232,240,.96) !important;
}

.tl-rex .tl-chipsbar{ gap: 12px !important; }
.tl-rex .tl-chip-actions{ gap: 10px !important; }
.tl-rex .tl-chip .x{ background: rgba(241,245,249,.96) !important; }
.tl-rex .tl-chip-ghost{ background: rgba(248,250,252,.92) !important; box-shadow: none !important; }

.tl-rex .tl-ad-legend{ gap: 10px !important; }
.tl-rex .tl-ad-legend .it{
  padding: 10px 14px !important;
  font-weight: 800 !important;
}
.tl-rex .tl-ad-legend .dot{ box-shadow: 0 0 0 5px rgba(15,23,42,.03) !important; }

.tl-rex .tl-ad-card{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  border-color: rgba(191,219,254,.28) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.08) !important;
  border-radius: 24px !important;
}

.tl-rex .tl-ad-card::before{
  width: 4px !important;
  border-radius: 999px !important;
}

.tl-rex .tl-ad-card:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 26px 54px rgba(15,23,42,.12) !important;
}

.tl-rex .tl-ad-card__thumb{
  border-radius: 18px !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.10) !important;
}

.tl-rex .tl-ad-card__kindIcon,
.tl-rex .tl-ad-card__videoBadge{
  box-shadow: 0 12px 24px rgba(15,23,42,.18) !important;
}

.tl-rex .tl-ad-card__kindIcon{
  width: 40px !important;
  height: 40px !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(255,255,255,.52) !important;
}

.tl-rex .tl-ad-card__kindIconInner{ width: 20px !important; height: 20px !important; }
.tl-rex .tl-ad-card__kindIconInner svg,
.tl-rex .tl-ad-card__metaItem svg,
.tl-rex .tl-ad-card__pin svg,
.tl-rex .tl-ad-card__videoBadge svg{
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.tl-rex .tl-ad-card__pin{ color: rgba(15,23,42,.56) !important; }

.tl-rex .tl-ad-card__priceUnder,
.tl-rex .tl-ad-card__priceUsd,
.tl-rex .tl-ad-card__metaItem,
.tl-rex .tl-ad-card__tag{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94)) !important;
  border-color: rgba(191,219,254,.26) !important;
  box-shadow: 0 10px 22px rgba(15,23,42,.06) !important;
}

.tl-rex .tl-ad-card__priceUnder{
  color: var(--tl-rex-navy) !important;
  font-size: 12.5px !important;
}

.tl-rex .tl-ad-card__priceUsd{
  background: linear-gradient(180deg, rgba(236,253,245,.94), rgba(255,255,255,.98)) !important;
  border: 1px dashed rgba(22,163,74,.28) !important;
  color: var(--tl-rex-green) !important;
}

.tl-rex .tl-ad-card__metaItem{ color: rgba(15,23,42,.64) !important; }

.tl-rex .tl-map-banner{
  border: 1px solid rgba(191,219,254,.20) !important;
  box-shadow: 0 22px 56px rgba(15,23,42,.16) !important;
  background:
    radial-gradient(920px 420px at 0% 0%, rgba(56,189,248,.18) 0%, rgba(56,189,248,0) 60%),
    radial-gradient(740px 340px at 100% 100%, rgba(250,204,21,.10) 0%, rgba(250,204,21,0) 56%),
    linear-gradient(135deg, #0f1b3a 0%, #1e3a8a 62%, #1d4ed8 100%) !important;
}

.tl-rex .tl-map-banner__icon,
.tl-rex .tl-map-banner__arrow{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.tl-rex .tl-map-banner__pill{
  background: rgba(255,255,255,.96) !important;
  color: var(--tl-rex-navy) !important;
  box-shadow: 0 14px 28px rgba(15,23,42,.16) !important;
}

.tl-rex .tl-map-overlay{
  background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.98)) !important;
}

.tl-rex .tl-map-top,
.tl-rex .tl-map-sheet{
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.96)) !important;
  border-color: rgba(191,219,254,.26) !important;
}

.tl-rex .tl-map-top{
  height: 74px !important;
  padding: 12px 14px !important;
  box-shadow: 0 10px 28px rgba(15,23,42,.08) !important;
}

.tl-rex .tl-map-top .title{
  font-size: 14px !important;
  font-weight: 900 !important;
  color: var(--tl-rex-ink) !important;
}

.tl-rex .tl-map-actions{ gap: 10px !important; }
.tl-rex .tl-map-overlay .btnx{ gap: 10px !important; padding-inline: 14px !important; }
.tl-rex .tl-map-overlay .btnx.blue .ic{ color: var(--tl-rex-navy) !important; }
.tl-rex .tl-map-overlay .btnx.purple .ic{ color: #7c3aed !important; }

.tl-rex .tl-map-searchhere{
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(191,219,254,.34) !important;
  color: var(--tl-rex-navy) !important;
  box-shadow: 0 16px 36px rgba(15,23,42,.14) !important;
}

.tl-rex .tl-map-loading{
  background: linear-gradient(135deg, var(--tl-rex-navy), var(--tl-rex-navy-2)) !important;
  box-shadow: 0 18px 36px rgba(15,23,42,.22) !important;
}

.tl-rex .tl-map-sheet{
  border-top-left-radius: 30px !important;
  border-top-right-radius: 30px !important;
  box-shadow: 0 -24px 64px rgba(15,23,42,.18) !important;
}

.tl-rex .tl-map-sheet__handle .bar{
  width: 54px !important;
  height: 6px !important;
  background: linear-gradient(90deg, rgba(148,163,184,.82), rgba(100,116,139,.88)) !important;
}

.tl-rex .tl-map-sheet__head{ padding: 10px 14px 12px !important; }
.tl-rex .tl-map-sheet__count{ font-size: 14px !important; font-weight: 950 !important; }

.tl-rex .tl-map-sheet__mini{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.96)) !important;
  border-color: rgba(191,219,254,.36) !important;
  box-shadow: 0 12px 24px rgba(15,23,42,.08) !important;
}

.tl-rex .tl-map-card{
  border-radius: 22px !important;
  border: 1px solid rgba(191,219,254,.26) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  box-shadow: 0 18px 34px rgba(15,23,42,.10) !important;
}

.tl-rex .tl-map-card__img{
  width: 100px !important;
  height: 100px !important;
  background: rgba(241,245,249,.9) !important;
}

.tl-rex .tl-map-card__body{ gap: 6px !important; }
.tl-rex .tl-map-card__price{
  color: var(--tl-rex-navy) !important;
  font-size: 14px !important;
}
.tl-rex .tl-map-card__title{ font-size: 13px !important; line-height: 1.35 !important; }
.tl-rex .tl-map-card__loc{ font-size: 12px !important; }

.tl-rex .tl-map-empty{
  border-style: solid !important;
  border-color: rgba(191,219,254,.28) !important;
  background: linear-gradient(180deg, rgba(239,246,255,.92), rgba(255,255,255,.98)) !important;
  color: var(--tl-rex-muted) !important;
}

.tl-rex .tl-pin-tag,
.tl-rex .tl-pin-v2{
  background: linear-gradient(135deg, #0f1b3a 0%, #1e3a8a 70%, #2563eb 100%) !important;
  border-color: rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 36px rgba(15,23,42,.24) !important;
}

.tl-rex .tl-pin-tag:after,
.tl-rex .tl-pin-v2:after{
  background: #1e3a8a !important;
  border-color: rgba(255,255,255,.16) !important;
}

.tl-rex .tl-pin-tag .t,
.tl-rex .tl-pin-v2 .t{ letter-spacing: .1px !important; }

.tl-rex .tl-pin-v2.is-active,
.tl-rex .tl-pin-tag.is-active{
  background: linear-gradient(135deg, #0f1b3a 0%, #0891b2 100%) !important;
}

.tl-rex .tl-pin-v2.is-active:after,
.tl-rex .tl-pin-tag.is-active:after{ background: #0891b2 !important; }

.tl-rex .tl-map-cluster{
  background: linear-gradient(135deg, #0f1b3a 0%, #1e3a8a 70%, #2563eb 100%) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 18px 34px rgba(15,23,42,.24) !important;
}

.tl-rex .tl-map-cluster span{ font-size: 13px !important; font-weight: 950 !important; }

@media (max-width: 1023px), ((hover: none) and (pointer: coarse) and (max-width: 1366px)){
  .tl-rex .tl-mbar{ padding: 10px !important; gap: 10px !important; }
  .tl-rex .tl-mbtn{ padding: 10px 10px !important; gap: 8px !important; }
  .tl-rex .tl-mbtn .txt{ font-size: 12.5px !important; }
  .tl-rex .tl-map-top{ height: 78px !important; }
  .tl-rex .tl-map-sheet__body{ padding: 0 12px 14px !important; }
}

@media ((min-width: 1024px) and (hover: hover) and (pointer: fine)), (min-width: 1367px){
  .tl-rex .tl-dbar{ padding: 14px !important; gap: 14px !important; }
  .tl-rex .tl-dbtn{ display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 0 16px !important; }
  .tl-rex .tl-dbtn .ic{ width: 38px !important; height: 38px !important; }
}

/* Elements rendered outside .tl-rex root (same page only) */
#sortSheetReal .tl-filter-inner,
.tl-modal-card,
.tl-map-top,
.tl-map-sheet{
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.96)) !important;
  border: 1px solid rgba(191,219,254,.26) !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.10) !important;
}

#sortSheetReal [data-sort],
#sortSheetReal .btn-lite,
#sortSheetReal .tl-close,
.tl-modal-close,
.tl-map-overlay .btnx,
.tl-map-sheet__mini,
.tl-map-searchhere,
.tl-map-sheet__open{
  border-radius: 18px !important;
  font-weight: 900 !important;
}

#sortSheetReal [data-sort],
#sortSheetReal .btn-lite,
#sortSheetReal .tl-close,
.tl-modal-close,
.tl-map-overlay .btnx,
.tl-map-sheet__mini,
.tl-map-searchhere{
  border: 1px solid rgba(148,163,184,.24) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important;
  color: #0f172a !important;
  box-shadow: 0 10px 24px rgba(15,23,42,.06) !important;
}

#sortSheetReal .tl-close svg,
.tl-map-overlay .btnx .ic,
.tl-map-sheet__mini,
.tl-map-searchhere .ic,
.tl-modal-close{
  background: linear-gradient(180deg, rgba(239,246,255,.92), rgba(255,255,255,.98)) !important;
  border: 1px solid rgba(191,219,254,.55) !important;
  color: #0f1b3a !important;
}

#sortSheetReal svg,
.tl-map-overlay .btnx svg,
.tl-map-sheet__mini svg,
.tl-map-searchhere svg{
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.tl-map-overlay{
  background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.98)) !important;
}

.tl-map-top .title{ color:#0f172a !important; font-weight:900 !important; }
.tl-map-actions{ gap:10px !important; }
.tl-map-sheet{ border-top-left-radius:30px !important; border-top-right-radius:30px !important; }
.tl-map-sheet__handle .bar{ background: linear-gradient(90deg, rgba(148,163,184,.82), rgba(100,116,139,.88)) !important; }
.tl-map-sheet__count{ color:#0f172a !important; font-weight:950 !important; }
.tl-map-card{ background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96)) !important; border-color: rgba(191,219,254,.26) !important; box-shadow: 0 18px 34px rgba(15,23,42,.10) !important; border-radius: 22px !important; }
.tl-map-card__price{ color:#0f1b3a !important; font-weight:950 !important; }
.tl-map-card.is-active{ border-color: rgba(37,99,235,.28) !important; box-shadow: 0 18px 38px rgba(37,99,235,.10) !important; }
.tl-map-searchhere{ border-color: rgba(191,219,254,.34) !important; color:#0f1b3a !important; box-shadow:0 16px 36px rgba(15,23,42,.14) !important; }
.tl-map-loading{ background: linear-gradient(135deg, #0f1b3a, #1d4ed8) !important; box-shadow: 0 18px 36px rgba(15,23,42,.22) !important; }
.tl-pin-tag,
.tl-pin-v2{ background: linear-gradient(135deg, #0f1b3a 0%, #1e3a8a 70%, #2563eb 100%) !important; border-color: rgba(255,255,255,.16) !important; box-shadow: 0 18px 36px rgba(15,23,42,.24) !important; }
.tl-pin-tag:after,
.tl-pin-v2:after{ background:#1e3a8a !important; border-color: rgba(255,255,255,.16) !important; }
.tl-pin-v2.is-active,
.tl-pin-tag.is-active{ background: linear-gradient(135deg, #0f1b3a 0%, #0891b2 100%) !important; }
.tl-pin-v2.is-active:after,
.tl-pin-tag.is-active:after{ background:#0891b2 !important; }
.tl-map-cluster{ background: linear-gradient(135deg, #0f1b3a 0%, #1e3a8a 70%, #2563eb 100%) !important; border-color: rgba(255,255,255,.18) !important; box-shadow: 0 18px 34px rgba(15,23,42,.24) !important; }
.tl-map-cluster span{ color:#fff !important; font-weight:950 !important; }
