/**
 * Lithuania Real Estate Listings - Frontend Styles
 * Modern, Airbnb-inspired design
 */

/* ===========================
   Variables & Reset
   =========================== */
/* Global box-sizing for all elements */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --lt-re-primary: #ff385c;
  --lt-re-primary-dark: #d50027;
  --lt-re-text: #222222;
  --lt-re-text-light: #717171;
  --lt-re-border: #dddddd;
  --lt-re-bg: #ffffff;
  --lt-re-bg-light: #f7f7f7;
  --lt-re-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  --lt-re-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.12);
  --lt-re-radius: 12px;
  --lt-re-transition: all 0.3s ease;
}

/* Prevent horizontal scroll only - allow vertical scroll on other pages */
html,
body {
  overflow-x: hidden !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Allow normal vertical scroll on property archive (map) pages */
body.post-type-archive-property {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure property archive pages use full width but do not lock height */
.post-type-archive-property {
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ===========================
   Force Full-Width Layout (No Sidebar)
   =========================== */
/* Force full-width layout - no sidebar */
.post-type-archive-property #primary,
.single-property #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

.single-property #main {
  overflow: visible !important;
}

/* Hide sidebar on property pages */
.post-type-archive-property #secondary,
.single-property #secondary {
  display: none !important;
}

/* Ensure content area uses full width on property archive pages */
.post-type-archive-property .site-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Single property pages should scroll normally */
.single-property .site-content {
  width: 100% !important;
  max-width: 100% !important;
}

/* Show footer normally on archive pages */
.post-type-archive-property .site-footer,
.post-type-archive-property footer,
.post-type-archive-property #footer {
  display: block !important;
  visibility: visible !important;
  height: auto !important;
}

/* Ensure content-area behaves like normal flowing content on archive pages */
.post-type-archive-property #content,
.post-type-archive-property #main {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  position: static !important;
  width: 100% !important;
}

/* ===========================
   Agent Properties Page (Brokeriai with agent_id) - Full Width
   =========================== */
/* Make agent properties page full width with no padding - same as map view */
body.lt-re-agent-properties-page {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Force full-width layout for agent properties page */
body.lt-re-agent-properties-page #primary {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* Hide sidebar on agent properties page */
body.lt-re-agent-properties-page #secondary {
  display: none !important;
}

/* Ensure content area uses full width on agent properties page */
body.lt-re-agent-properties-page .site-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure content-area behaves like normal flowing content on agent properties page */
body.lt-re-agent-properties-page #content,
body.lt-re-agent-properties-page #main {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  position: static !important;
  width: 100% !important;
}

/* Agent properties wrapper - ensure full width (only on agent properties page) */
body.lt-re-agent-properties-page .lt-re-agent-properties-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Ensure parent containers are full width when agent properties wrapper is present */
body.lt-re-agent-properties-page .lt-re-agent-properties-section {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Target common theme containers that might add padding/margin */
body.lt-re-agent-properties-page .site,
body.lt-re-agent-properties-page .site-inner,
body.lt-re-agent-properties-page .content-area,
body.lt-re-agent-properties-page .site-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ===========================
   Archive Wrapper
   =========================== */
.lt-re-archive-wrapper {
  background: var(--lt-re-bg);
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  min-height: 100vh; /* Ensure page has height for fixed content */
}

/* ===========================
   Container - No longer needed for map view
   =========================== */
.lt-re-container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
}

/* Old filter bar styles removed - using modal now */

/* Moved to modal styles below */

.filter-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.filter-group.hidden {
  display: none !important;
}

/* Hide quick filter duplicates on desktop (they're already in top bar) */
.filter-quick-duplicate {
  display: none !important;
}

.filter-group label {
  font-size: 15px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin-bottom: 2px;
}

.filter-group select,
.filter-group input[type="number"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--lt-re-border);
  border-radius: 8px;
  font-size: 14px;
  transition: var(--lt-re-transition);
}

.filter-group select:focus,
.filter-group input:focus {
  outline: none;
  border-color: var(--lt-re-text);
}

.filter-group select:disabled {
  background-color: #f5f5f5;
  cursor: not-allowed;
  opacity: 0.6;
}

.filter-group-range .range-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-group-range .range-inputs input {
  flex: 1;
}

.filter-group-range .range-inputs span {
  color: var(--lt-re-text-light);
}

/* Old filter actions moved to modal footer */

/* ===========================
   Buttons
   =========================== */
.lt-re-btn {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: var(--lt-re-transition);
  border: none;
}

.lt-re-btn-primary {
  background: var(--lt-re-primary);
  color: white;
}

.lt-re-btn-primary:hover {
  background: var(--lt-re-primary-dark);
}

.lt-re-btn-secondary {
  background: var(--lt-re-bg);
  color: var(--lt-re-text);
  border: 1px solid var(--lt-re-border);
}

.lt-re-btn-secondary:hover {
  background: var(--lt-re-bg-light);
}

.lt-re-btn-block {
  display: block;
  width: 100%;
}

/* ===========================
   Grid View
   =========================== */
.lt-re-properties-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
}

@media (min-width: 1400px) {
  .lt-re-properties-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  }
}

/* Force grid display when not in map view */
#lt-re-properties-container.lt-re-properties-grid {
  display: grid !important;
}

.lt-re-property-card {
  background: var(--lt-re-bg);
  border-radius: var(--lt-re-radius);
  overflow: hidden;
  box-shadow: var(--lt-re-shadow);
  transition: var(--lt-re-transition);
}

.lt-re-property-card:hover {
  box-shadow: var(--lt-re-shadow-hover);
  transform: translateY(-4px);
}

.lt-re-property-card .property-link {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.lt-re-property-card .property-link:hover {
  text-decoration: none !important;
}

.lt-re-property-card .property-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  width: 100%;
}

.lt-re-property-card .property-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--lt-re-transition);
}

.lt-re-property-card:hover .property-image img {
  transform: scale(1.05);
}

.property-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(255, 255, 255, 0.95);
  color: var(--lt-re-text);
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.property-badge-parduodama {
  background: rgba(34, 139, 34, 0.9);
  color: white;
}

.property-badge-nuomojama {
  background: rgba(30, 144, 255, 0.9);
  color: white;
}

.lt-re-property-card .property-content {
  padding: 14px;
}

.lt-re-property-card .property-title {
  font-size: 16px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 6px 0;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lt-re-property-card .property-address {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--lt-re-text-light);
  margin: 0;
}

.lt-re-property-card .property-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.lt-re-property-card .property-meta .meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: var(--lt-re-text-light);
}

.lt-re-property-card .property-busena {
  font-size: 11px;
  color: var(--lt-re-text-light);
  margin: 3px 0 8px 0;
  font-weight: 500;
}

.lt-re-property-card .property-price-wrapper {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.lt-re-property-card .property-price {
  font-size: 18px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0;
}

.lt-re-property-card .property-price-per-m2 {
  font-size: 13px;
  color: var(--lt-re-text-light);
  margin: 0;
}

/* ===========================
   Loading Animation
   =========================== */
.lt-re-loading-card {
  pointer-events: none;
  opacity: 0.7;
}

.lt-re-loading-card .loading-skeleton {
  width: 100%;
  height: 100%;
  min-height: 300px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading-shimmer 1.5s ease-in-out infinite;
  border-radius: var(--lt-re-radius);
}

@keyframes loading-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.lt-re-loading-card .property-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  width: 100%;
  background: #f0f0f0;
}

.lt-re-loading-card .property-content {
  padding: 14px;
  background: #fff;
}

.lt-re-loading-card .property-content::before {
  content: "";
  display: block;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading-shimmer 1.5s ease-in-out infinite;
  border-radius: 4px;
  margin-bottom: 8px;
}

.lt-re-loading-card .property-content::after {
  content: "";
  display: block;
  height: 18px;
  width: 60%;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading-shimmer 1.5s ease-in-out infinite;
  border-radius: 4px;
  margin-top: 8px;
}

/* Map Loading Overlay */
.lt-re-map-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.95);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.lt-re-map-loading-overlay.show {
  opacity: 1;
  visibility: visible;
}

.lt-re-map-loading-overlay .spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #f0f0f0;
  border-top-color: var(--lt-re-primary);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

.lt-re-map-loading-overlay .loading-text {
  margin-top: 16px;
  color: var(--lt-re-text);
  font-size: 14px;
  font-weight: 500;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* ===========================
   List View
   =========================== */
.lt-re-properties-list {
  display: flex !important;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 40px;
}

/* Force list display */
#lt-re-properties-container.lt-re-properties-list {
  display: flex !important;
  flex-direction: column;
  gap: 24px;
}

.lt-re-property-list-item {
  background: var(--lt-re-bg);
  border-radius: var(--lt-re-radius);
  overflow: hidden;
  box-shadow: var(--lt-re-shadow);
  transition: var(--lt-re-transition);
}

.lt-re-property-list-item:hover {
  box-shadow: var(--lt-re-shadow-hover);
}

.lt-re-property-list-item .property-link {
  text-decoration: none !important;
  color: inherit;
  display: grid;
  grid-template-columns: 280px 1fr auto;
  gap: 20px;
}

.lt-re-property-list-item .property-link:hover {
  text-decoration: none !important;
}

.lt-re-property-list-item .property-image {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}

.lt-re-property-list-item .property-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lt-re-property-list-item .property-content {
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lt-re-property-list-item .property-title {
  font-size: 20px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 8px 0;
}

.lt-re-property-list-item .property-address {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  color: var(--lt-re-text-light);
  margin: 0 0 12px 0;
}

.lt-re-property-list-item .property-excerpt {
  font-size: 14px;
  color: var(--lt-re-text-light);
  margin: 0 0 16px 0;
  line-height: 1.5;
}

.lt-re-property-list-item .property-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.lt-re-property-list-item .property-meta .meta-item {
  font-size: 14px;
  color: var(--lt-re-text-light);
}

.lt-re-property-list-item .property-busena {
  font-size: 13px;
  color: var(--lt-re-text-light);
  margin: 4px 0 8px 0;
  font-weight: 500;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  text-transform: uppercase;
}

.lt-re-property-list-item .property-busena-naujas {
  background: #bcf719;
  color: #22211f;
}

.lt-re-property-list-item .property-busena-rezervuota {
  background: #f77719;
  color: #22211f;
}

.lt-re-property-list-item .property-busena-specialus-pasiulymas {
  background: #19e2f7;
  color: #22211f;
}

.lt-re-property-list-item .property-price-wrapper {
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.lt-re-property-list-item .property-price {
  font-size: 24px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0;
}

.lt-re-property-list-item .property-price-per-m2 {
  font-size: 14px;
  color: var(--lt-re-text-light);
  margin: 0;
}

/* ===========================
   Map View
   =========================== */
.lt-re-map-view {
  display: none; /* Hidden by default */
  grid-template-columns: 1fr 700px; /* Map takes more space, sidebar 700px for 2-3 columns */
  gap: 0; /* No gap between map and sidebar */
  min-height: 700px;
}

.lt-re-map-view:not([style*="display: none"]) {
  display: grid !important; /* Show as grid when not hidden */
}

.lt-re-map {
  border-radius: 0; /* No radius on left side */
  overflow: hidden !important;
  box-shadow: none; /* No shadow */
  border: none !important; /* Remove any border */
  outline: none !important; /* Remove any outline */
  height: 100%;
  min-height: 700px;
  position: relative !important;
}

/* Map container */
#lt-re-map {
  position: sticky !important;
  top: 0;
  overflow: hidden !important;
  border: none !important;
  outline: none !important;
}

/* Ensure map container doesn't allow overflow */
#lt-re-map-container {
  overflow: visible !important; /* Let children be positioned */
  border: none !important; /* Remove any border */
  outline: none !important; /* Remove any outline */
}

.lt-re-map-view-fullwidth {
  overflow: visible !important;
}

/* Ensure listings area has its own stacking context */
.lt-re-map-listings {
  position: relative !important;
  isolation: isolate !important;
}

.lt-re-map .leaflet-container {
  height: 100% !important;
  width: 100% !important;
}

/* Reset Map Location Button - Figma Style */
/* IMPORTANT: Button should ONLY appear inside the map container */

/* Hide all reset map buttons by default everywhere */
.lt-re-reset-map-btn,
#lt-re-reset-map-location,
#lt-re-reset-map-location-fullscreen {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
}

/* ONLY show inside the actual map containers - very specific selectors */
/* Button must be direct child of map container and stay contained */
#lt-re-map > #lt-re-reset-map-location,
#lt-re-map > .lt-re-reset-map-btn {
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  z-index: 1000 !important;
  background: white !important;
  border: 1px solid #ededed !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.6 !important;
  color: #502761 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  white-space: nowrap !important;
  max-width: 200px !important;
  width: auto !important;
}

/* Fullscreen map button */
#lt-re-map-fullscreen > #lt-re-reset-map-location-fullscreen,
#lt-re-map-fullscreen > .lt-re-reset-map-btn {
  display: block !important;
  visibility: visible !important;
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 10000 !important;
  background: white !important;
  border: 1px solid #ededed !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  color: #502761 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Hide reset map button if it appears anywhere else (like top bar) - HIGHEST PRIORITY */
.lt-re-top-bar .lt-re-reset-map-btn,
.lt-re-top-actions .lt-re-reset-map-btn,
.lt-re-quick-filters .lt-re-reset-map-btn,
.lt-re-top-bar-content .lt-re-reset-map-btn,
.lt-re-map-listings .lt-re-reset-map-btn,
#lt-re-map-listings .lt-re-reset-map-btn,
.lt-re-top-bar #lt-re-reset-map-location,
.lt-re-top-actions #lt-re-reset-map-location,
.lt-re-quick-filters #lt-re-reset-map-location,
.lt-re-top-bar-content #lt-re-reset-map-location,
.lt-re-map-listings #lt-re-reset-map-location,
#lt-re-map-listings #lt-re-reset-map-location,
#lt-re-map-container .lt-re-top-bar .lt-re-reset-map-btn,
#lt-re-map-container .lt-re-top-bar #lt-re-reset-map-location,
#lt-re-map-container .lt-re-top-actions .lt-re-reset-map-btn,
#lt-re-map-container .lt-re-top-actions #lt-re-reset-map-location,
#lt-re-map-container .lt-re-quick-filters .lt-re-reset-map-btn,
#lt-re-map-container .lt-re-quick-filters #lt-re-reset-map-location,
#lt-re-map-container .lt-re-top-bar-content .lt-re-reset-map-btn,
#lt-re-map-container .lt-re-top-bar-content #lt-re-reset-map-location {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Hide fullscreen map modal on desktop - mobile only feature */
.lt-re-map-fullscreen-modal {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#lt-re-map > #lt-re-reset-map-location:hover,
#lt-re-map > .lt-re-reset-map-btn:hover,
.lt-re-map > #lt-re-reset-map-location:hover,
.lt-re-map > .lt-re-reset-map-btn:hover,
#lt-re-map-fullscreen > #lt-re-reset-map-location-fullscreen:hover,
#lt-re-map-fullscreen > .lt-re-reset-map-btn:hover,
.lt-re-map-fullscreen > #lt-re-reset-map-location-fullscreen:hover,
.lt-re-map-fullscreen > .lt-re-reset-map-btn:hover {
  background: #f7f7f7 !important;
  border-color: #502761 !important;
  box-shadow: 0 2px 8px rgba(80, 39, 97, 0.15) !important;
}

#lt-re-map > #lt-re-reset-map-location:active,
#lt-re-map > .lt-re-reset-map-btn:active,
.lt-re-map > #lt-re-reset-map-location:active,
.lt-re-map > .lt-re-reset-map-btn:active,
#lt-re-map-fullscreen > #lt-re-reset-map-location-fullscreen:active,
#lt-re-map-fullscreen > .lt-re-reset-map-btn:active,
.lt-re-map-fullscreen > #lt-re-reset-map-location-fullscreen:active,
.lt-re-map-fullscreen > .lt-re-reset-map-btn:active {
  transform: translateX(-50%) translateY(1px) !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
}

/* Fullscreen Map Button - Figma Style */

/* Leaflet Zoom Controls - Figma Design */
.leaflet-top.leaflet-left {
  top: 24px !important;
  left: auto !important;
  right: 24px !important;
  position: absolute !important;
}

.leaflet-top.leaflet-right {
  top: auto !important;
  bottom: 24px !important;
  right: 24px !important;
}

.leaflet-control-zoom {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.leaflet-control-zoom a {
  background: #f7f7f7 !important;
  border: 1px solid #ededed !important;
  border-radius: 8px !important;
  color: #502761 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  width: 30px !important;
  height: 30px !important;
  line-height: 28px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.leaflet-control-zoom a:hover {
  background: #ededed !important;
  border-color: #502761 !important;
  color: #502761 !important;
}

.leaflet-control-zoom a:active {
  transform: scale(0.95) !important;
  background: #e5e5e5 !important;
}

/* Ensure zoom button text is visible and centered */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  margin: 0 !important;
  border-radius: 8px !important;
  font: bold 18px 'Lucida Console', Monaco, monospace !important;
  text-indent: 0 !important;
}


.lt-re-map-listings {
  overflow-y: auto;
  max-height: 700px;
  padding: 20px;
  background: #fff;
  border-left: 1px solid #e5e7eb;
}

/* Sidebar grid - 2 columns default */
.lt-re-map-listings .lt-re-properties-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* 3 columns on larger screens - widen sidebar */
@media (min-width: 1200px) {
  .lt-re-map-view {
    grid-template-columns: 1fr 750px; /* Wider sidebar for 3 columns */
  }

  .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1600px) {
  .lt-re-map-view {
    grid-template-columns: 1fr 900px; /* Even wider sidebar */
  }
}

/* 4 columns on extra large screens */
@media (min-width: 1900px) {
  .lt-re-map-view {
    grid-template-columns: 1fr 1100px; /* Widest sidebar for 4 columns */
  }

  .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Compact cards in map sidebar - Figma Style */
.lt-re-map-listings .lt-re-property-card {
  font-size: 12px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  background: white;
}

.lt-re-map-listings .lt-re-property-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.lt-re-map-listings .lt-re-property-card .property-image {
  aspect-ratio: 4/3;
  height: 200px;
  width: 100%;
  object-fit: cover;
  border-radius: 0;
  position: relative;
}

.lt-re-map-listings .lt-re-property-card .property-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lt-re-map-listings .lt-re-property-card .property-line-1 {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.lt-re-map-listings .lt-re-property-card .property-tipas {
  background: #502761;
  color: white;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12px;
  flex-shrink: 0;
  @media (max-width: 576px) {
    font-size: 10px;
  }
}

.lt-re-map-listings .lt-re-property-card .property-price {
  color: #22211f;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
  @media (max-width: 576px) {
    font-size: 16px;
  }
}

.lt-re-map-listings .lt-re-property-card .property-line-2 {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
}

.lt-re-map-listings .lt-re-property-card .property-kategorija {
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  color: #22211f;
  padding: 4px 8px;
  border-radius: 6px;
  background-color: #ededed;
  @media (max-width: 576px) {
    font-size: 10px;
  }
}

.lt-re-map-listings .lt-re-property-card .property-line-2 .meta-item {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  color: #22211f;
}

.lt-re-map-listings .lt-re-property-card .property-address {
  font-size: 14px;
  font-weight: 300;
  color: rgba(34, 33, 31, 0.8);
  text-decoration: underline;
  line-height: 1.6;
}

/* ===========================
   Custom Map Markers (Circular Purple with White Numbers)
   =========================== */
.lt-re-custom-marker {
  background: transparent !important;
  border: none !important;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lt-re-marker-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #502761;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(80, 39, 97, 0.3);
  border: 2px solid white;
  transition: all 0.2s ease;
}

.lt-re-marker-number {
  color: white;
  font-size: 14px;
  font-weight: 600;
  font-family: "DM Sans", sans-serif;
  line-height: 1;
  transition: color 0.2s ease;
}

/* Hover state */
.lt-re-custom-marker:hover .lt-re-marker-circle {
  background: white;
  border: 2px solid #502761;
  box-shadow: 0 2px 8px rgba(80, 39, 97, 0.4);
}

.lt-re-custom-marker:hover .lt-re-marker-number {
  color: #502761;
}

/* Active/Clicked state */
.lt-re-custom-marker.active .lt-re-marker-circle,
.lt-re-marker-circle.active {
  background: white;
  border: 2px solid #502761;
  box-shadow: 0 2px 8px rgba(80, 39, 97, 0.4);
}

.lt-re-custom-marker.active .lt-re-marker-number,
.lt-re-marker-number.active {
  color: #502761;
}

/* ===========================
   Leaflet Popup Customization - Property Card Style
   =========================== */
.leaflet-popup-content-wrapper {
  border-radius: 24px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  padding: 0;
  background: transparent !important; /* Transparent - card has white background */
  border: none;
  position: relative;
  z-index: 10001 !important; /* Above popup container */
}

.leaflet-popup-tip {
  background: white !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 10px solid transparent !important;
  border-right: 10px solid transparent !important;
  border-top: none !important;
  border-bottom: 12px solid #ffffff !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

.leaflet-popup-close-button {
  display: none;
}

.leaflet-popup-content {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4;
  position: relative;
  z-index: 10002 !important; /* Above popup wrapper */
}

/* Popup Close Button (X) - Desktop and Mobile */
.lt-re-popup-close-btn {
  position: absolute !important;
  top: -10px !important;
  right: -16px !important;
  z-index: 10003 !important; /* Above popup content */
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 24px !important;
  line-height: 1 !important;
  color: #502761 !important;
  font-weight: 300 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  transition: all 0.2s ease !important;
  pointer-events: auto !important;
  touch-action: manipulation !important;
  font-family: "DM Sans", sans-serif !important;

  @media (max-width: 991px) {
    top: -10px !important;
    right: 10px !important;
  }
}

.lt-re-popup-close-btn:hover {
  background: white !important;
  border-color: #502761 !important;
  transform: scale(1.1) !important;
}

.lt-re-popup-close-btn:active {
  transform: scale(0.95) !important;
  background: #f7f7f7 !important;
}

/* Map Popup Card - Same as Archive Card */
.lt-re-map-popup-card {
  background: white;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  width: 280px;
  max-width: 320px;
  position: relative;
  z-index: 10002 !important; /* Same as popup content */
}

.lt-re-map-popup-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

.lt-re-map-popup-card .property-link {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.lt-re-map-popup-card .property-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  height: 200px;
}

.lt-re-map-popup-card .property-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}

.lt-re-map-popup-card:hover .property-image img {
  transform: scale(1.05);
}

.lt-re-map-popup-card .property-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #bcf719;
  color: #22211f;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  z-index: 2;
}

.lt-re-map-popup-card .property-badge-naujas {
  background: #bcf719;
}

.lt-re-map-popup-card .property-badge-rezervuota {
  background: #f77719;
}

.lt-re-map-popup-card .property-badge-specialus-pasiulymas {
  background: #19e2f7;
}

.lt-re-map-popup-card .property-gallery-count {
  position: absolute;
  top: 10px;
  right: 10px;
  background: white;
  color: #22211f;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  z-index: 2;
  @media (max-width: 991px) {
    padding: 5px 10px;
    top: 20px;
    font-size: 12px;
  }
}

.lt-re-map-popup-card .property-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
}

.lt-re-map-popup-card .property-line-1 {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.lt-re-map-popup-card .property-tipas {
  background: #502761;
  color: white;
  display: inline-block;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  flex-shrink: 0;
}

.lt-re-map-popup-card .property-price {
  font-size: 24px;
  font-weight: 700;
  color: #22211f;
  line-height: 1;
  margin: 0;
}

.lt-re-map-popup-card .property-line-2 {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.lt-re-map-popup-card .property-kategorija {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  text-transform: uppercase;
  color: #22211f;
  padding: 6px 8px;
  border-radius: 8px;
  background-color: #ededed;
  text-align: center;
}

.lt-re-map-popup-card .property-line-2 .meta-item {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  color: #22211f;
}

.lt-re-map-popup-card .property-address {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 160%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  color: rgba(34, 33, 31, 0.8);
  margin: 0;
}

/* Ensure popup container has proper styling */
.leaflet-popup {
  margin-bottom: 0;
  z-index: 10000 !important; /* High z-index to stay above all map elements */
}

/* Ensure Leaflet panes stay below popup */
.leaflet-pane {
  z-index: auto !important;
}

.leaflet-marker-pane {
  z-index: 600 !important; /* Below popup */
}

.leaflet-shadow-pane {
  z-index: 500 !important; /* Below markers */
}

.leaflet-overlay-pane {
  z-index: 400 !important; /* Below markers */
}

.leaflet-popup-pane {
  z-index: 10000 !important; /* Above everything else */
}

/* ===========================
   Pagination
   =========================== */
.lt-re-pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 40px 0;
}

.lt-re-pagination a,
.lt-re-pagination span {
  display: inline-block;
  padding: 10px 16px;
  border: 1px solid var(--lt-re-border);
  border-radius: 8px;
  text-decoration: none;
  color: var(--lt-re-text);
  transition: var(--lt-re-transition);
}

.lt-re-pagination a:hover {
  background: var(--lt-re-bg-light);
  border-color: var(--lt-re-text);
}

.lt-re-pagination .current {
  background: var(--lt-re-text);
  color: var(--lt-re-bg);
  border-color: var(--lt-re-text);
}

.no-properties {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px 48px;
  width: 100%;
  grid-column: 1 / -1;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.no-properties-icon {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f4f2f5;
  padding: 20px;
  border-radius: 50%;
}

.no-properties-icon svg {
  width: 28px;
  height: 28px;
}

.no-properties-title {
  font-size: 18px;
  font-weight: 700;
  color: #22211f;
  margin: 0 0 8px 0;
  line-height: 150%;
}

.no-properties-description {
  font-size: 16px;
  font-weight: 300;
  color: #666666;
  margin: 0 0 28px 0;
  line-height: 160%;
}

.no-properties-button {
  display: inline-block;
  padding: 14px 24px;
  background-color: #5d3c7f;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 12px;
  transition: background-color 0.2s ease;
  letter-spacing: 0.14px;
}

.no-properties-button:hover {
  background-color: #4a2f63;
  color: #ffffff;
  text-decoration: none;
}

.no-properties-button:active {
  background-color: #3d2551;
}

/* ===========================
   Single Property Page
   =========================== */
.lt-re-single-property {
  background: var(--lt-re-bg);
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.lt-re-single-property * {
  box-sizing: border-box;
}

/* Top Bar */
.lt-re-property-top-bar {
  background: var(--lt-re-bg);
  border-bottom: 1px solid var(--lt-re-border);
  padding: 16px 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

.top-bar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.back-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--lt-re-text);
  text-decoration: none;
  font-weight: 500;
  transition: var(--lt-re-transition);
}

.back-link:hover {
  color: var(--lt-re-primary);
}

.property-dates-top {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--lt-re-text-light);
}

.property-dates-top .separator {
  color: var(--lt-re-border);
}

/* Header Below Gallery */
.property-header-below-gallery {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 32px 0;
  border-bottom: 1px solid var(--lt-re-border);
  margin-bottom: 32px;
  gap: 32px;
}

.property-title-price {
  flex: 1;
}

.property-title-main {
  font-size: 36px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 16px 0;
  line-height: 1.2;
}

.property-address-main {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  color: var(--lt-re-text-light);
  margin: 0;
}

.property-address-main svg {
  fill: var(--lt-re-text-light);
  flex-shrink: 0;
}

.property-price-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}

.property-price-block {
  text-align: right;
}

.property-price-main {
  font-size: 42px;
  font-weight: 700;
  color: var(--lt-re-primary);
  margin: 0 0 4px 0;
  line-height: 1;
}

.property-price-per-m2-main {
  font-size: 16px;
  color: var(--lt-re-text-light);
  margin: 0;
}

.property-status-badge {
  padding: 8px 20px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.property-status-naujas {
  background: #bcf719;
  color: #22211f;
}

.property-status-rezervuota {
  background: #f77719;
  color: #22211f;
}

.property-status-specialus-pasiulymas {
  background: #19e2f7;
  color: #22211f;
}

.property-dates span {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Gallery */
.lt-re-property-gallery {
  margin-bottom: 40px;
  width: 100%;
  max-width: 100%;
}

/* Gallery Masonry Layout */
.lt-re-gallery-masonry {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 0;
  margin-bottom: 0;
}

.lt-re-gallery-masonry .gallery-item {
  overflow: hidden;
  position: relative;
  background: var(--lt-re-bg-light);
}

.lt-re-gallery-masonry .gallery-item:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

.lt-re-gallery-masonry .gallery-item-tall {
  grid-row: span 2;
}

.lt-re-gallery-masonry .gallery-link {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.lt-re-gallery-masonry .gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  display: block;
}

.lt-re-gallery-masonry .gallery-link:hover img {
  transform: scale(1.08);
}

/* Single image fallback */
.lt-re-gallery-single {
  margin-bottom: 0;
}

.lt-re-gallery-single .gallery-link {
  display: block;
  overflow: hidden;
}

.lt-re-gallery-single img {
  width: 100%;
  height: 600px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.lt-re-gallery-single .gallery-link:hover img {
  transform: scale(1.05);
}

/* Content Layout */
.lt-re-property-content {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  padding: 40px 0;
}

.property-main {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* Meta Grid */
.property-meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
  padding: 0;
}

.property-meta-grid .meta-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px;
  background: var(--lt-re-bg);
  border: 1px solid var(--lt-re-border);
  border-radius: 12px;
  transition: var(--lt-re-transition);
}

.property-meta-grid .meta-item:hover {
  border-color: var(--lt-re-primary);
  box-shadow: 0 4px 12px rgba(255, 56, 92, 0.1);
}

.property-meta-grid .meta-icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ff385c 0%, #e61e4d 100%);
  border-radius: 10px;
  color: white;
}

.property-meta-grid .meta-icon svg {
  width: 24px;
  height: 24px;
}

.property-meta-grid .meta-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.property-meta-grid .meta-label {
  font-size: 13px;
  color: var(--lt-re-text-light);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.property-meta-grid .meta-value {
  font-size: 20px;
  color: var(--lt-re-text);
  font-weight: 600;
  line-height: 1.2;
}

/* Description */
.property-description h2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 20px 0;
}

.description-content {
  font-size: 16px;
  line-height: 1.6;
  color: var(--lt-re-text-light);
}

/* Video */
.property-video h2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 20px 0;
}

.video-wrapper {
  border-radius: var(--lt-re-radius);
  overflow: hidden;
}

.video-wrapper iframe,
.video-wrapper video {
  display: block;
  width: 100%;
  border-radius: var(--lt-re-radius);
}

/* Map */
.property-location h2 {
  font-size: 24px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 20px 0;
}

.property-map {
  height: 400px;
  border-radius: var(--lt-re-radius);
  overflow: hidden;
  box-shadow: var(--lt-re-shadow);
  position: relative;
}

.property-map .leaflet-container {
  height: 100% !important;
  width: 100% !important;
}

/* Sidebar */
.property-sidebar .sidebar-sticky {
  position: sticky;
  top: 24px;
}

.contact-card {
  background: var(--lt-re-bg);
  border: 1px solid var(--lt-re-border);
  border-radius: var(--lt-re-radius);
  padding: 24px;
  box-shadow: var(--lt-re-shadow);
}

.contact-card h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 12px 0;
}

.contact-card p {
  font-size: 14px;
  color: var(--lt-re-text-light);
  margin: 0 0 20px 0;
}

/* Agent Contact Card */
.agent-contact-card {
  background: var(--lt-re-bg);
  border: 1px solid var(--lt-re-border);
  border-radius: var(--lt-re-radius);
  padding: 24px;
  box-shadow: var(--lt-re-shadow);
  text-align: center;
  margin-bottom: 24px;
}

.agent-contact-card:last-child {
  margin-bottom: 0;
}

.agent-photo {
  width: 120px;
  height: 120px;
  margin: 0 auto 20px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--lt-re-primary);
  box-shadow: 0 4px 12px rgba(255, 56, 92, 0.2);
}

.agent-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agent-name {
  font-size: 22px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 0 0 12px 0;
}

.agent-bio {
  font-size: 14px;
  color: var(--lt-re-text-light);
  line-height: 1.5;
  margin: 0 0 16px 0;
}

.agent-extra-text {
  font-size: 13px;
  color: var(--lt-re-text-light);
  line-height: 1.5;
  margin: 0 0 20px 0;
  padding: 12px;
  background: var(--lt-re-bg-light);
  border-radius: 8px;
}

.agent-extra-text p {
  margin: 0 0 8px 0;
}

.agent-extra-text p:last-child {
  margin-bottom: 0;
}

.agent-contact-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.agent-contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--lt-re-bg-light);
  border: 1px solid var(--lt-re-border);
  border-radius: 8px;
  text-decoration: none;
  color: var(--lt-re-text);
  transition: var(--lt-re-transition);
  justify-content: flex-start;
}

.agent-contact-item:hover {
  border-color: var(--lt-re-primary);
  background: var(--lt-re-bg);
  color: var(--lt-re-primary);
  box-shadow: 0 2px 8px rgba(255, 56, 92, 0.1);
}

.agent-contact-item svg {
  flex-shrink: 0;
  stroke: var(--lt-re-primary);
}

.agent-contact-item span {
  font-size: 14px;
  font-weight: 500;
  word-break: break-word;
}

.agent-contact-btn {
  margin-top: 8px;
}

/* ===========================
   Responsive Design
   =========================== */
@media (max-width: 1024px) {
  .lt-re-property-content {
    grid-template-columns: 1fr;
  }

  .property-sidebar {
    order: -1;
  }

  .lt-re-map-view {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .lt-re-map {
    min-height: 400px;
  }

  .lt-re-map-listings {
    min-height: 400px;
    max-height: 600px;
    padding: 15px;
  }

  .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on tablet */
  }
}

@media (max-width: 576px) {
  .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on mobile */
    gap: 12px !important;
  }

  .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on mobile */
    gap: 12px !important;
  }

  .lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr) !important; /* 2 columns on mobile */
  }

  /* Property cards fill grid cell */
  .lt-re-properties-grid > .lt-re-property-card,
  .lt-re-properties-grid > article {
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Reklama cards span full width on mobile */
  .lt-re-properties-grid .reklama-card,
  .lt-re-map-listings .lt-re-properties-grid .reklama-card,
  .lt-re-map-view-fullwidth .lt-re-properties-grid .reklama-card {
    grid-column: 1 / -1 !important; /* Span all columns */
  }
}

@media (max-width: 991px) {
  .lt-re-toggle-filters {
    display: block;
  }

  .lt-re-filter-fields {
    display: none;
  }

  .lt-re-filter-fields.active {
    display: grid;
    margin-top: 20px;
  }

  .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lt-re-property-list-item .property-link {
    grid-template-columns: 1fr;
  }

  .lt-re-property-list-item .property-image {
    aspect-ratio: 16/9;
  }

  .lt-re-property-header .header-content {
    flex-direction: column;
  }

  .lt-re-property-header .header-right {
    text-align: left;
    width: 100%;
  }

  .lt-re-gallery-masonry {
    grid-template-columns: repeat(2, 1fr);
  }

  .lt-re-gallery-masonry .gallery-item:first-child {
    grid-column: span 2;
    grid-row: span 1;
  }

  .lt-re-gallery-single img {
    height: 300px;
  }

  .property-header-below-gallery {
    flex-direction: column;
    gap: 20px;
  }

  .property-price-status {
    align-items: flex-start;
  }

  .property-price-block {
    text-align: left;
  }

  .property-title-main {
    font-size: 28px;
  }

  .property-price-main {
    font-size: 32px;
  }

  .property-dates-top {
    font-size: 12px;
    flex-wrap: wrap;
  }

  .property-meta-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .lt-re-page-header h1 {
    font-size: 24px;
  }

  .lt-re-property-header .property-title {
    font-size: 24px;
  }

  .property-price-large {
    font-size: 24px;
  }

  .filter-actions {
    flex-direction: column;
  }

  .filter-actions button {
    width: 100%;
  }
}

/* ===========================
   Lazy Loading & Animations
   =========================== */

/* Fade-in animation for lazy loaded items */
.lt-re-fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.lt-re-fade-in.lt-re-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered animation for multiple items */
.lt-re-fade-in:nth-child(1) {
  transition-delay: 0.05s;
}
.lt-re-fade-in:nth-child(2) {
  transition-delay: 0.1s;
}
.lt-re-fade-in:nth-child(3) {
  transition-delay: 0.15s;
}
.lt-re-fade-in:nth-child(4) {
  transition-delay: 0.2s;
}
.lt-re-fade-in:nth-child(5) {
  transition-delay: 0.25s;
}
.lt-re-fade-in:nth-child(6) {
  transition-delay: 0.3s;
}

/* Loading spinner */
.lt-re-loader {
  text-align: center;
  padding: 40px 20px;
}

.lt-re-spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto 15px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid var(--lt-re-primary);
  border-radius: 50%;
  animation: lt-re-spin 0.8s linear infinite;
}

@keyframes lt-re-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.lt-re-loader p {
  color: var(--lt-re-text-light);
  font-size: 14px;
  margin: 0;
}

/* Load more trigger */
#lt-re-load-more-trigger {
  clear: both;
  width: 100%;
}

/* ===========================
   Enhanced Responsive for Filters
   =========================== */

@media (max-width: 992px) {
  .lt-re-main-filters {
    grid-template-columns: repeat(2, 1fr);
  }

  .lt-re-advanced-filters {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  /* Filters stack on mobile */
  .lt-re-filter-bar {
    padding: 15px;
  }

  .lt-re-main-filters {
    grid-template-columns: 1fr;
    gap: 10px!important;
  }

  .lt-re-advanced-filters {
    grid-template-columns: 1fr;
  }

  .filter-group label {
    font-size: 13px;
    margin-bottom: 6px;
  }

  .filter-group select,
  .filter-group input {
    height: 42px;
    font-size: 14px;
  }

  /* 2 columns on tablet/mobile */
  .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .lt-re-property-card .property-content {
    padding: 12px;
  }

  .lt-re-property-card .property-title {
    font-size: 15px;
  }

  .lt-re-property-card .property-price {
    font-size: 16px;
  }
}

/* Old mobile filter sidebar styles removed - using modal now */

/* ===========================
   Enhanced Responsive for Map
   =========================== */

@media (max-width: 991px) {
  /* Map view adjustments */
  #lt-re-map-container {
    height: auto !important; /* Allow natural height on mobile */
    min-height: auto !important; /* Remove fixed min-height */
    max-height: none !important; /* Allow content to extend */
  }

  .lt-re-map {
    height: auto !important; /* Allow natural height on mobile */
    min-height: auto !important; /* Remove fixed min-height */
  }

  /* Single property map */
  .property-map {
    height: 300px !important;
  }

  /* Leaflet controls */
  .leaflet-control-container {
    font-size: 14px;
  }

  .leaflet-control-zoom {
    top: 80px !important;
    right: 0 !important;
  }

  .leaflet-control-zoom a {
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    font-size: 16px !important;
  }

  /* Popup adjustments - ensure popups work on mobile */
  .leaflet-popup {
    pointer-events: auto !important;
    z-index: 10000 !important; /* High z-index to stay above all map elements */
  }

  .leaflet-popup-content-wrapper {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .leaflet-popup-content {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .lt-re-map-popup-card {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .lt-re-map-popup-card .property-link {
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .lt-re-map-popup {
    min-width: 100px;
    max-width: 160px;
    padding: 8px 10px;
  }

  .lt-re-popup-title {
    font-size: 13px;
    margin-bottom: 2px;
  }

  .lt-re-popup-subtitle {
    font-size: 11px;
  }

  /* Mobile bottom card - positioned at bottom center */
  .lt-re-mobile-bottom-card {
    position: fixed !important;
    bottom: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10000 !important;
    max-width: 320px !important;
    width: calc(100% - 40px) !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }

  .lt-re-mobile-bottom-card .lt-re-map-popup-card {
    margin: 0 auto !important;
  }
}

@media (max-width: 480px) {
  /* Very small screens */
  #lt-re-map-container {
    height: auto !important; /* Allow natural height on mobile */
    min-height: auto !important; /* Remove fixed min-height */
    max-height: none !important; /* Allow content to extend */
  }

  .lt-re-map {
    height: auto !important; /* Allow natural height on mobile */
    min-height: auto !important; /* Remove fixed min-height */
  }

  .property-map {
    height: 250px !important;
  }

  .leaflet-popup-content {
    /* max-width: 200px !important; */
  }
}

/* ===========================
   Top Bar with Filter Button
   =========================== */
.lt-re-top-bar {
  background: #f9f9f9;
  padding: 24px 24px 18px 24px;
  position: sticky;
  top: 0; /* Stick to top of viewport when scrolling */
  z-index: 100;
}

/* FORCE: Never show reset map button in top bar or listings area */
.lt-re-top-bar .lt-re-reset-map-btn,
.lt-re-top-bar #lt-re-reset-map-location,
.lt-re-top-bar button[id*="reset-map"],
.lt-re-top-bar-content .lt-re-reset-map-btn,
.lt-re-top-bar-content #lt-re-reset-map-location,
.lt-re-top-bar-content button[id*="reset-map"],
.lt-re-quick-filters .lt-re-reset-map-btn,
.lt-re-quick-filters #lt-re-reset-map-location,
.lt-re-quick-filters button[id*="reset-map"],
.lt-re-top-actions .lt-re-reset-map-btn,
.lt-re-top-actions #lt-re-reset-map-location,
.lt-re-top-actions button[id*="reset-map"],
.lt-re-map-listings .lt-re-reset-map-btn,
.lt-re-map-listings #lt-re-reset-map-location,
.lt-re-map-listings button[id*="reset-map"],
#lt-re-map-listings .lt-re-reset-map-btn,
#lt-re-map-listings #lt-re-reset-map-location,
#lt-re-map-listings button[id*="reset-map"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
}

.lt-re-top-bar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
  gap: 8px;
}

/* Quick Filters in Top Bar */
.lt-re-quick-filters {
  display: flex;
  gap: 8px;
  align-items: center;
  flex: 1;
}

.lt-re-quick-select {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #ededed;
  border-radius: 12px;
  background: white;
  color: #222222;
  font-weight: 400;
  cursor: pointer;
  transition: var(--lt-re-transition);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23222222' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 36px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  font-size: 14px;
  font-style: normal;
  line-height: 140%;
}

.lt-re-quick-select:hover,
.lt-re-quick-select:focus {
  border-color: #222222;
  outline: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.lt-re-top-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

/* Results Header (Inside Listings Column) */
.lt-re-results-header {
  padding: 0 24px 12px 24px;
  background: transparent;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 0;
  border-bottom: 1px solid #ededed;
}

.lt-re-results-title {
  font-size: 18px;
  font-weight: 700;
  color: #222222;
  margin: 0;
  flex: 1;
}

/* Sort Dropdown - Figma Design */
.lt-re-sort-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  width: auto;
}

.lt-re-sort-wrapper label {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300; /* Light */
  color: #2d2b32; /* Basic/Black 100 */
  line-height: 1.6;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  cursor: pointer;
  flex-shrink: 0;
}

.lt-re-sort-select {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500; /* Medium */
  color: #22211f;
  line-height: 1.5;
  padding: 0;
  padding-right: 24px;
  margin: 0;
  margin-left: 4px;
  border: none;
  border-radius: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.425 7.15833L10 11.725L14.575 7.15833C14.8417 6.89167 15.275 6.89167 15.5417 7.15833C15.8083 7.425 15.8083 7.85833 15.5417 8.125L10.4833 13.1833C10.2167 13.45 9.78333 13.45 9.51667 13.1833L4.45833 8.125C4.19167 7.85833 4.19167 7.425 4.45833 7.15833C4.725 6.9 5.15833 6.89167 5.425 7.15833Z' fill='%232D2B32'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 20px 20px;
  width: fit-content;
  min-width: 0;
  flex-shrink: 0;
  outline: none;
}

.lt-re-sort-select:focus {
  outline: none;
}

/* Make the dropdown options match the font style */
.lt-re-sort-select option {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #22211f;
  padding: 8px 12px;
}

.lt-re-btn-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #ffffff;
  border: 1px solid #502761;
  border-radius: 12px;
  color: #502761;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: var(--lt-re-transition);
  position: relative;
  min-width: 88px;
}

.lt-re-btn-filter:hover {
  border-color: #4a1e6d;
  background: #ffffff;
  color: #4a1e6d;
}

.lt-re-btn-filter svg {
  fill: #502761;
}

.lt-re-btn-filter:hover svg {
  fill: #4a1e6d;
}

.lt-re-btn-filter svg path {
  fill: inherit;
}

.filter-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #5a287d;
  color: white;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  box-shadow: 0 2px 4px rgba(90, 40, 125, 0.3);
}

.lt-re-btn-secondary {
  padding: 14px 28px;
  background: #5a287d;
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: var(--lt-re-transition);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 2px 4px rgba(90, 40, 125, 0.2);
}

.lt-re-btn-secondary #lt-re-results-count {
  display: none;
}

.lt-re-btn-secondary:hover {
  background: #4a1e6d;
  box-shadow: 0 3px 6px rgba(90, 40, 125, 0.3);
}

/* IEŠKOTI button specific styling */
.lt-re-btn-search-desktop {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* ===========================
   Range Slider Styles (noUiSlider)
   =========================== */
.filter-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.filter-group-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.filter-group-header label {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 22.4px */
  color: #22211f;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-group-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #5a287d;
  color: white;
  font-size: 12px;
  font-weight: 400;
  flex-shrink: 0;
}

.filter-reset-link {
  color: #502761;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%; /* 16.8px */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  transition: var(--lt-re-transition);
}

.filter-reset-link:hover {
  color: var(--lt-re-text);
  text-decoration: underline;
}

.filter-group-slider {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.slider-container {
  padding: 24px;
  background-color: #f2f2f2;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.range-slider {
  height: 6px;
  margin: 0;
}

.range-inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0;
}

.range-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #ededed;
  border-radius: 12px;
  font-size: 16px;
  background: white;
  color: #22211f;
  cursor: text;
  font-weight: 400;
}

.range-input:focus {
  outline: none;
  border-color: #5a287d;
  box-shadow: 0 0 0 3px rgba(90, 40, 125, 0.1);
}

.range-input::placeholder {
  color: #999999;
}

/* noUiSlider overrides for our design */
.noUi-target {
  background: #e5e5e5;
  border: none;
  box-shadow: none;
  border-radius: 4px;
  height: 6px;
}

.noUi-connect {
  background: #5a287d;
}

.noUi-handle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #5a287d;
  border: 3px solid white;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  top: -7px;
}

.noUi-handle:before,
.noUi-handle:after {
  display: none;
}

.noUi-handle:hover,
.noUi-handle:active {
  background: #4a1e6d;
}

.noUi-horizontal .noUi-handle {
  right: -10px;
}

/* Button Group for Rooms */
.filter-group-buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.button-group {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

.filter-btn {
  padding: 12px 16px;
  background: white;
  border: 1px solid #ededed;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 400;
  color: #22211f;
  cursor: pointer;
  transition: var(--lt-re-transition);
  text-align: center;
}

.filter-btn:hover {
  background: #f9f9f9;
  border-color: #5a287d;
}

.filter-btn.active {
  background: #5a287d;
  border-color: #5a287d;
  color: white;
  font-weight: 500;
}

/* ===========================
   Filter Modal - Figma Design
   =========================== */
.lt-re-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  align-items: center;
  justify-content: center;
}

.lt-re-modal.active {
  display: flex;
}

.lt-re-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
}

.lt-re-modal-content {
  position: relative;
  background: white;
  border-radius: 24px;
  width: 100%;
  max-width: 640px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: modalSlideUp 0.3s ease;
  overflow: hidden;
}

@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Header - Figma: pt-[24px] px-[32px] */
.lt-re-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: white;
  padding: 24px 32px 0 32px;
  flex-shrink: 0;
}

.lt-re-modal-header h2 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  color: #2d2b32;
  margin: 0;
}

.lt-re-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 12px;
  color: #2d2b32;
  transition: var(--lt-re-transition);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lt-re-modal-close:hover {
  background: rgba(0, 0, 0, 0.05);
}

.lt-re-modal-close svg {
  width: 24px;
  height: 24px;
}

/* Body - Figma: pb-[40px] pt-[24px] px-[32px] */
.lt-re-modal-body {
  overflow-y: auto;
  flex: 1;
  padding: 24px 32px 18px 32px;
}

/* Custom Scrollbar for Modal */
.lt-re-modal-body::-webkit-scrollbar {
  width: 6px;
}

.lt-re-modal-body::-webkit-scrollbar-track {
  background: rgba(75, 70, 92, 0.08);
  border-radius: 30px;
}

.lt-re-modal-body::-webkit-scrollbar-thumb {
  background: #502761;
  border-radius: 30px;
}

.lt-re-modal-body::-webkit-scrollbar-thumb:hover {
  background: #6750a4;
}

/* Footer - No gap between buttons */
.lt-re-modal-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 30px 40px 32px;
  gap: 16px;
  background: white;
  flex-shrink: 0;
  border-top: none;
  margin-top: 0;
}

/* Button - Figma: h-[42px] px-[24px] py-[17px] */
.lt-re-btn-text {
  flex: 1;
  background: white;
  border: 1px solid #502761;
  color: #502761;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  padding: 17px 24px;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  border-radius: 12px;
  transition: all 0.2s ease;
  text-align: center;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  max-height: 42px;
}

.lt-re-btn-text:hover {
  background: rgba(80, 39, 97, 0.05);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(80, 39, 97, 0.15);
}

/* Filters Container - Figma: gap-[18px] in body wrapper between filters and buttons */
.lt-re-filters-modal {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lt-re-filters-modal .lt-re-main-filters {
  display: flex;
  flex-direction: column;
  gap: 34px;
}

/* Gap between filters form and footer buttons - Figma: gap-[18px] */
.lt-re-modal-body #lt-re-filter-form + .lt-re-modal-footer {
  margin-top: 18px;
}

/* Individual Filter Group - Figma: gap-[16px] internal */
.lt-re-filters-modal .filter-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Hide Tipas, Kategorija, Lokacija in modal on desktop (they're in top bar) */
.lt-re-filters-modal .lt-re-main-filters > .filter-group:first-child,
.lt-re-filters-modal .lt-re-main-filters > .filter-group:nth-child(2),
.lt-re-filters-modal .lt-re-main-filters > .filter-group:nth-child(3) {
  display: none !important;
}

/* Filter Group with Background (Sliders) - Figma: p-[24px], gap-[16px] */
.lt-re-filters-modal .filter-group-slider {
  background: #f2f2f2;
  border-radius: 24px;
  padding: 24px;
  gap: 28px;
}

/* Filter Group Buttons - Figma: gap-[16px] */
.lt-re-filters-modal .filter-group-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Filter Group Header (Title + Reset) - Figma: gap-[10px] */
.filter-group-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 0;
}

.filter-group-header label {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #22211f;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

/* Without background - slightly different title color */
.lt-re-filters-modal
  .filter-group:not(.filter-group-slider)
  .filter-group-header
  label {
  color: #2d2b32;
}

/* Info Badge (i) */
.filter-group-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #502761;
  color: white;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  flex-shrink: 0;
}

/* Reset Link */
.filter-reset-link {
  color: #502761;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  cursor: pointer;
  transition: color 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.filter-reset-link:hover {
  color: #6750a4;
}

/* Filter without background - purple link color */
.lt-re-filters-modal
  .filter-group:not(.filter-group-slider)
  .filter-reset-link {
  color: #6750a4;
}

.lt-re-filters-modal
  .filter-group:not(.filter-group-slider)
  .filter-reset-link:hover {
  color: #502761;
}

/* Dropdown Select - Figma: px-[12px] py-[10px] */
.lt-re-filters-modal .filter-group select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ededed;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  background: white;
  color: #22211f;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%2322211F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
  padding-right: 40px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: auto;
}

.lt-re-filters-modal .filter-group select:hover {
  border-color: #d0d0d0;
}

.lt-re-filters-modal .filter-group select:focus {
  outline: none;
  border-color: #502761;
  box-shadow: 0 0 0 3px rgba(80, 39, 97, 0.1);
}

/* Slider Container - No padding needed, parent has padding */
.slider-container {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  margin: 0;
}

/* Range Slider - Figma: h-[44px] */
.range-slider {
  height: 44px;
  margin: 0;
  position: relative;
}

/* Slider Values Display - Figma: pl-[2px] py-0, gap ~12px to inputs */
.slider-values {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 0 0 2px;
  margin: 12px 0;
}

.slider-value {
  font-size: 12px;
  font-weight: 400;
  line-height: 22px;
  color: #818084;
  text-align: left;
}

.slider-value:last-child {
  text-align: right;
}

/* Range Inputs - Figma: gap-[8px] pt-[12px] */
.range-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Range Input - Figma: px-[12px] py-[10px] */
.range-input {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #ededed;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  background: white;
  color: #22211f;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: auto;
}

.range-input:hover {
  border-color: #d0d0d0;
}

.range-input:focus {
  outline: none;
  border-color: #502761;
  box-shadow: 0 0 0 3px rgba(80, 39, 97, 0.1);
}

.range-input::placeholder {
  color: #22211f;
  opacity: 1;
}

.range-separator {
  font-size: 12px;
  font-weight: 400;
  line-height: 22px;
  color: #818084;
  flex-shrink: 0;
}

/* Button Group for Rooms - Figma: gap-[12px] */
.button-group {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* Room Button - Figma: h-[40px] px-[12px] */
.filter-btn {
  padding: 0 12px;
  background: #f2f2f2;
  border: none;
  border-radius: 36px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #2d2b32;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  min-width: auto;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.filter-btn:hover {
  background: #e0e0e0;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.filter-btn.active {
  background: #502761;
  color: white;
  box-shadow: 0 2px 6px rgba(80, 39, 97, 0.3);
}

.filter-btn.active:hover {
  background: #5f2e71;
}

/* noUiSlider Overrides - Figma Design */
.noUi-target {
  background: rgba(80, 39, 97, 0.38);
  border: none;
  box-shadow: none;
  border-radius: 100px;
  height: 4px;
  margin: 0;
}

.noUi-connect {
  background: #502761;
  height: 6px;
  border-radius: 100px;
  top: -1px;
}

.noUi-handle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #502761;
  border: 2px solid white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  cursor: grab;
  top: -8px;
  right: -10px;
  outline: none;
}

.noUi-handle:before,
.noUi-handle:after {
  display: none;
}

.noUi-handle:hover {
  box-shadow: 0 2px 6px rgba(80, 39, 97, 0.4);
}

.noUi-handle:active {
  cursor: grabbing;
  box-shadow: 0 2px 8px rgba(80, 39, 97, 0.5);
}

.noUi-horizontal {
  height: 4px;
}

.noUi-horizontal .noUi-handle {
  width: 20px;
  height: 20px;
  right: -10px;
  top: -8px;
}

/* Apply Button - Figma: h-[42px] px-[24px] py-[17px] */
.lt-re-btn-secondary {
  flex: 1;
  padding: 17px 24px;
  background: #502761;
  color: white;
  border: 1px solid #502761;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  height: 42px;
  max-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
}

.lt-re-btn-secondary:hover {
  background: #6750a4;
  border-color: #6750a4;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(80, 39, 97, 0.3);
}

.lt-re-btn-secondary #lt-re-results-count {
  display: inline;
}

/* Select2 Overrides */
.lt-re-filters-modal .select2-container--default .select2-selection--single {
  height: auto;
  border: 1px solid #ededed;
  border-radius: 12px;
  padding: 10px 12px;
  background: white;
}

.lt-re-filters-modal
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  padding: 0;
  line-height: 1.4;
  color: #22211f;
  font-size: 14px;
  font-weight: 400;
}

.lt-re-filters-modal
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 100%;
  right: 12px;
}

.lt-re-filters-modal
  .select2-container--default
  .select2-selection--single
  .select2-selection__arrow
  b {
  border-color: #22211f transparent transparent transparent;
  border-width: 5px 5px 0 5px;
  margin-top: -2px;
}

/* Legacy Styles - Keep for Compatibility */
.lt-re-filter-section {
  margin-top: 16px;
}

.filter-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
  font-weight: 600;
  color: var(--lt-re-text);
  margin: 8px 0 16px 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5e5e5;
  cursor: pointer;
}

.lt-re-section-toggle {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--lt-re-text-light);
  transition: var(--lt-re-transition);
}

.lt-re-section-toggle:hover {
  color: var(--lt-re-text);
}

.lt-re-section-toggle.active svg {
  transform: rotate(180deg);
}

.lt-re-collapsible-filters {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-bottom: 16px;
  padding-top: 8px;
}

/* ===========================
   Full Width Map View
   =========================== */
.lt-re-results-wrapper.lt-re-full-width {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: visible;
}

/* Two-column layout: listings left, map right */
.lt-re-map-view-fullwidth {
  display: grid;
  grid-template-columns: 60% 40%; /* Listings left 60%, map right 40% */
  gap: 0;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  align-items: flex-start;
}

/* Property Listings (Left Side) */
.lt-re-map-view-fullwidth .lt-re-map-listings {
  overflow: visible;
  height: auto !important;
  max-height: none !important;
  padding: 0;
  margin: 0 !important;
  background: #fafafa;
  border-right: 1px solid #e5e5e5;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* Map column - fixed to the right, full viewport height */
.lt-re-map-view-fullwidth .lt-re-map {
  position: fixed !important;
  top: 0;
  right: 0;
  width: 40%; /* match 40% grid column */
  height: 100vh;
  min-height: 100vh;
  z-index: 10;
}

/* Collapsed sidebar state */
.lt-re-map-view-fullwidth.sidebar-collapsed .lt-re-map-listings {
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  overflow: hidden;
  opacity: 0;
  border-right: none;
}

.lt-re-map-view-fullwidth.sidebar-collapsed {
  grid-template-columns: 0 1fr;
}

.lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px;
  padding: 24px;
  flex-shrink: 0; /* Prevent grid from shrinking */
  @media (max-width: 576px) {
    padding: 15px;
  }
}

.lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid > * {
  flex-shrink: 0; /* Prevent individual cards from shrinking */
  min-height: fit-content; /* Ensure cards maintain their natural height */
}

/* Ensure Leaflet map fully fills its container */
.lt-re-map-view-fullwidth #lt-re-map,
.lt-re-map-view-fullwidth .lt-re-map .leaflet-container {
  width: 100% !important;
  height: 100vh  !important;
  min-height: 100vh !important;
}

/* Sidebar Toggle Button - Fixed position at boundary between sidebar and map */
.lt-re-sidebar-toggle-btn {
  position: absolute;
  left: -2px; /* Position at 60% (sidebar edge) minus half button width */
  top: 50%;
  transform: translateY(-50%);
  z-index: 1001; /* Above the fixed map */
  width: 30px;
  height: 60px;
  background: #ffffff;
  border: 1px solid #ededed;
  border-radius: 0 6px 6px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  pointer-events: auto !important; /* Ensure button is always clickable */
  transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 0;
  margin: 0;
}

/* In featured projects view, move sidebar toggle onto the map column (account for 24px gap) */
.featured-projects .lt-re-featured-wrapper .lt-re-sidebar-toggle-btn {
  display: none !important;
}

/* Also hide any sidebar toggle trigger element in featured view */
.featured-projects .lt-re-featured-wrapper #lt-re-sidebar-toggle {
  display: none !important;
}

/* Ensure button and its contents are clickable */
#lt-re-sidebar-toggle,
.lt-re-sidebar-toggle-btn {
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#lt-re-sidebar-toggle *,
.lt-re-sidebar-toggle-btn * {
  pointer-events: none; /* Children don't intercept clicks, only the button itself */
}

/* Extra visibility for desktop (hide on mobile) */
@media (min-width: 992px) {
  #lt-re-sidebar-toggle,
  .lt-re-sidebar-toggle-btn {
    display: flex !important;
  }
}

/* Adjust position when sidebar is collapsed - button partially off-screen */
.lt-re-map-view-fullwidth.sidebar-collapsed .lt-re-sidebar-toggle-btn {
  left: 0; /* Partially off-screen to the left when in fullscreen */
  z-index: 1001; /* Ensure it's always on top */
  border-radius: 0 6px 6px 0; /* Keep rounded corners on right side */
}

.lt-re-sidebar-toggle-btn:hover {
  background: #f7f7f7;
  border-color: #502761;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.lt-re-sidebar-toggle-btn:active {
  transform: translateY(-50%) scale(0.95);
}

/* Arrow points left (←) when sidebar is open - indicating close direction */
.lt-re-sidebar-toggle-btn svg {
  color: #000000;
  width: 20px;
  height: 20px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform: rotate(0deg); /* Points left (←) when sidebar is open */
}

/* Arrow points right (→) when sidebar is collapsed (fullscreen) - indicating open direction */
.lt-re-map-view-fullwidth.sidebar-collapsed .lt-re-sidebar-toggle-btn svg {
  transform: rotate(
    180deg
  ); /* Points right (→) when sidebar is closed/fullscreen */
}

/* Map (Right Side) - Additional styles (position set above) */
.lt-re-map-view-fullwidth .lt-re-map {
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  border: none !important;
  outline: none !important;
  /* height and position are set in main rule above */
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  margin: 0 !important;
}

.lt-re-map-view-fullwidth .lt-re-map .leaflet-container {
  height: 100% !important;
  width: 100% !important;
}




@media (max-width: 350px) {
  .lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(1, 1fr)!important;
  }
}

/* Responsive: Desktop - 3 column listings */
@media (min-width: 768px) {
  .lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr)!important;
    gap: 16px;
  }
}

/* Responsive: Larger screens - 4 column listings */
@media (min-width: 991px) {
  .lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr)!important;
  }
}

@media (min-width: 1600px) {
  .lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(3, 1fr)!important;
  }
}

@media (min-width: 2200px) {
  .lt-re-map-view-fullwidth .lt-re-map-listings .lt-re-properties-grid {
    grid-template-columns: repeat(4, 1fr)!important;
  }
}

/* ===========================
   Updated Property Card Design (Like Screenshot)
   =========================== */
.lt-re-property-card {
  background: white;
  border: 1px solid #ededed;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0px 1px 4px rgba(12, 12, 13, 0.1),
    0px 1px 4px rgba(12, 12, 13, 0.05);
  transition: var(--lt-re-transition);
  flex-shrink: 0; /* Prevent card from shrinking in flex containers */
  height: auto; /* Allow card to grow to natural height */
  min-height: fit-content; /* Ensure card shows all content */
}

.lt-re-property-card:hover {
  box-shadow: 0px 1px 4px rgba(12, 12, 13, 0.1),
    0px 1px 4px rgba(12, 12, 13, 0.05);
  transform: translateY(0);
}

.lt-re-property-card .property-link {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.lt-re-property-card .property-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  height: 200px;
  border-radius:  24px 24px 0 0;
}

.lt-re-property-card .property-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: var(--lt-re-transition);
}

.lt-re-property-card:hover .property-image img {
  transform: scale(1.05);
}

/* Badge (NAUJAS) - Top Left */
.property-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #bcf719;
  color: #22211f;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 14px */
  letter-spacing: 0.14px;
  text-transform: uppercase;
  z-index: 2;
  @media (max-width: 576px) {
   font-size: 10px;
   padding: 6px 10px;
  }
}

.property-badge-naujas {
  background: #bcf719;
}

.property-badge-rezervuota {
  background: #f77719;
}

.property-badge-specialus-pasiulymas {
  background: #19e2f7;
}

/* Gallery Count - Bottom Right */
.property-gallery-count {
  position: absolute;
  top: 10px;
  right: 10px;
  background: white;
  color: #22211f;
  padding: 8px 12px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  z-index: 2;
  @media (max-width: 576px) {
    display: none;
  }
}

/* Property Content */
.lt-re-property-card .property-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 12px 20px 20px 20px;
}

/* 1 Eilutė: Tipas + Kaina */
.lt-re-property-card .property-line-1 {
  display: flex;
  align-items: center;
  gap: 14px;
}

/* Tipas (PARDUODAMA/NUOMOJAMA) */
.lt-re-property-card .property-tipas {
  background: #502761;
  color: white;
  display: inline-block;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  flex-shrink: 0;
  border: 1px solid #502761;
}

/* Kaina - Large Bold */
.lt-re-property-card .property-price {
  font-size: 20px;
  font-weight: 700;
  color: #22211f;
  line-height: 30px;
  margin: 0;
}

/* 2 Eilutė: Kategorija, Kambariai, Plotas, Plotas (a) */
.lt-re-property-card .property-line-2 {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0;
}

/* Kategorija (SODYBA, BUTAS, etc) */
.lt-re-property-card .property-kategorija {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.4;
  text-transform: none;
  color: #22211f;
  padding: 6px 8px;
  border-radius: 8px;
  background-color: #ededed;
  text-align: center;
}

/* Meta Row Items (Kambariai, Plotas, Plotas (a)) */
.lt-re-property-card .property-line-2 .meta-item {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  color: #22211f;
}

/* 3 Eilutė: Address */
.lt-re-property-card .property-line-3 {
  margin: 0;
}
.lt-re-property-card .property-address {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.6;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  color: rgba(34, 33, 31, 0.8);
  margin: 0;
}

.lt-re-property-card .property-address svg {
  flex-shrink: 0;
  color: rgba(34, 33, 31, 0.8);
  width: 12px;
  height: 12px;
}

/* 4 Eilutė: Description (first paragraph) */
.lt-re-property-card .property-line-4 {
  margin-top: 8px;
}

.lt-re-property-card .property-description {
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  color: rgba(34, 33, 31, 0.7);
  margin: 0;
}

/* Show Map Button (Mobile Only) */
.lt-re-show-map-btn {
  display: none; /* Hidden on desktop */
}

/* Button text variants - Desktop shows full text, Mobile shows short */
.btn-text-mobile {
  display: none;
}

.btn-text-desktop {
  display: inline;
}

/* Sort button (RIKIUOTI) - hidden on desktop */
.lt-re-btn-sort-mobile {
  display: none;
}

/* Search button (IEŠKOTI) - hidden, filtering happens automatically */
.lt-re-btn-search-desktop {
  display: none !important;
}

/* Mobile Responsive - Figma Design */
@media (max-width: 991px) {
  /* CRITICAL: Ensure markers work on mobile - override any conflicting styles */
  .leaflet-div-icon.lt-re-custom-marker,
  .lt-re-custom-marker {
    background: transparent !important;
    border: none !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    cursor: pointer !important;
  }

  .lt-re-marker-circle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    background: #502761 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    box-shadow: 0 2px 8px rgba(80, 39, 97, 0.3) !important;
    border: 2px solid white !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    aspect-ratio: 1 / 1 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    cursor: pointer !important;
  }

  .lt-re-marker-number {
    color: white !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: "DM Sans", sans-serif !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    flex-shrink: 0 !important;
  }

  /* CRITICAL: Hide sidebar toggle button on mobile */
  #lt-re-sidebar-toggle,
  .lt-re-sidebar-toggle-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* CRITICAL: Hide ALL arrows and navigation buttons on mobile */
  .swiper-button-prev,
  .swiper-button-next,
  button[class*="swiper"],
  button[class*="prev"],
  button[class*="next"],
  .property-image button,
  .property-image .swiper-button-prev,
  .property-image .swiper-button-next,
  [class*="arrow"],
  [class*="navigation"] button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Hide header on mobile - DISABLED to show new mobile header design */
  /* .site-header,
  header,
  #masthead {
    display: none !important;
  } */

  /* Body background for mobile */
  body,
  body.post-type-archive-property {
    background: #f4f2f5;
    overflow-y: auto !important; /* Ensure vertical scrolling works on mobile */
    overflow-x: hidden !important; /* Prevent horizontal scroll */
    height: auto !important; /* Don't lock height on mobile */
    max-height: none !important; /* Allow content to extend beyond viewport */
  }
  
  /* Ensure html allows scrolling on mobile */
  html {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: auto !important;
    max-height: none !important;
  }

  .site-content,
  #primary,
  #main {
    background: white;
    padding: 0;
    margin: 0;
    height: auto !important; /* Don't lock height on mobile */
    max-height: none !important; /* Allow content to extend */
    overflow: visible !important; /* Ensure content can flow */
  }

  .lt-re-archive-wrapper {
    padding-top: 0;
    margin-top: 0;
    background: #f4f2f5;
  }

  .lt-re-modal-content {
    width: 95%;
    max-height: 95vh;
    border-radius: 20px;
  }

  .lt-re-modal-header {
    padding: 20px 24px 0 24px;
  }

  .lt-re-modal-header h2 {
    font-size: 20px;
  }

  .lt-re-modal-close {
    top: 10px;
    right: 10px;
    padding: 8px;
  }

  .lt-re-modal-body {
    padding: 15px;
  }

  .lt-re-modal-footer {
    padding: 16px 24px;
    flex-direction: column;
  }

  .lt-re-btn-text,
  .lt-re-btn-secondary {
    width: 100%;
  }

  .lt-re-filters-modal .filter-group + .filter-group {
    margin-top: 16px;
  }

  .lt-re-filters-modal .filter-group-slider + .filter-group-slider {
    margin-top: 16px;
  }

  .lt-re-filters-modal
    .filter-group-slider
    + .filter-group:not(.filter-group-slider) {
    margin-top: 16px;
  }

  .lt-re-filters-modal .filter-group-slider {
    padding: 20px;
    border-radius: 20px;
  }

  .filter-group-header {
    flex-wrap: wrap;
  }

  .filter-group-header label {
    font-size: 15px;
  }

  .filter-group-badge {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }

  .filter-reset-link {
    font-size: 13px;
  }

  .button-group {
    gap: 8px;
  }

  .filter-btn {
    min-width: 48px;
    padding: 10px;
  }

  .lt-re-collapsible-filters {
    grid-template-columns: 1fr;
  }

  /* Show quick filter duplicates in modal on mobile */
  .filter-quick-duplicate {
    display: flex !important;
  }

  /* Show Tipas, Kategorija, Lokacija in modal on mobile (hidden on desktop) */
  .lt-re-filters-modal .lt-re-main-filters > .filter-group:first-child,
  .lt-re-filters-modal .lt-re-main-filters > .filter-group:nth-child(2),
  .lt-re-filters-modal .lt-re-main-filters > .filter-group:nth-child(3) {
    display: flex !important;
  }

  /* Mobile: Hide map, show only listings */
  .lt-re-map-view-fullwidth {
    display: block;
    min-height: auto !important;
    height: auto !important; /* Allow natural height on mobile */
    max-height: none !important; /* Allow content to extend */
    background: #f4f2f5;
  }

  .lt-re-map-view-fullwidth .lt-re-map {
    display: none !important; /* Hide map on mobile */
    position: static !important;
  }

  .lt-re-map-view-fullwidth .lt-re-map-listings {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important; /* Allow natural height on mobile */
    min-height: auto !important; /* Remove any min-height restrictions */
    max-height: none !important;
    padding: 0;
    border-right: none;
    background: #f4f2f5;
  }
  
  /* Hide sidebar toggle on mobile */
  .lt-re-sidebar-toggle-btn {
    display: none !important;
  }

  /* Archive wrapper background */
  .lt-re-archive-wrapper {
    background: #f4f2f5;
    min-height: auto !important; /* Don't force 100vh on mobile - allow natural height */
    height: auto !important; /* Allow wrapper to grow with content */
    overflow: visible !important; /* Ensure content can extend */
  }

  /* Top bar mobile - Figma Design */
  .lt-re-top-bar {
    padding: 12px;
    position: sticky;
    top: 0;
    z-index: 100;
    background: #f4f2f5;
    border-bottom: none;
  }

  .lt-re-top-bar-content {
    flex-direction: row;
    gap: 8px;
    justify-content: flex-start;
    align-items: center;
  }

  /* Hide quick filters on mobile - they're shown in modal instead */
  .lt-re-quick-filters {
    display: none !important;
  }

  /* Top actions - only 2 buttons on mobile - Figma Design */
  .lt-re-top-actions {
    display: flex;
    gap: 8px;
    width: 100%;
    flex: 1;
    align-items: stretch;
  }

  /* Show mobile button text variants */
  .btn-text-mobile {
    display: inline !important;
  }

  .btn-text-desktop {
    display: none !important;
  }

  /* RIKIUOTI button - Figma Design (light grey) */
  .lt-re-btn-sort-mobile {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f2f2f2;
    color: #502761;
    border: 1px solid #ededed;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 12px;
    text-transform: uppercase;
    letter-spacing: 0.14px;
    border-radius: 12px;
    flex: 1;
    cursor: pointer;
    transition: all 0.2s ease;
  }

  .lt-re-btn-sort-mobile:hover {
    background: #ededed;
    border-color: #502761;
  }

  .lt-re-btn-sort-mobile.active {
    background: #502761;
    color: white;
    border-color: #502761;
  }

  .lt-re-btn-sort-mobile.active svg path {
    stroke: white;
  }

  .lt-re-btn-sort-mobile svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
  }

  .lt-re-btn-sort-mobile svg path {
    stroke: #502761;
  }

  /* Hide IEŠKOTI button on mobile */
  .lt-re-btn-search-desktop {
    display: none !important;
  }

  /* FILTRUOTI button styling - Figma Design (light grey) */
  .lt-re-btn-filter {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #f2f2f2;
    color: #502761;
    border: 1px solid #ededed;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 12px;
    text-transform: uppercase;
    letter-spacing: 0.14px;
    border-radius: 12px;
    flex: 1;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
    box-shadow: 0 2px 4px rgba(90, 40, 125, 0.2);
  }

  .lt-re-btn-filter:hover {
    background: #ededed;
    border-color: #502761;
  }

  .lt-re-btn-filter svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    fill: #502761;
  }

  .lt-re-btn-filter svg path {
    fill: inherit;
  }

  /* Results header mobile - Hide on mobile per Figma */
  .lt-re-results-header {
    display: none !important;
  }

  /* Hide sort dropdown on mobile */
  .lt-re-sort-wrapper {
    display: none !important;
  }

 

  /* Ensure no extra gaps between property cards */
  .lt-re-properties-grid > * {
    margin: 0;
  }

  /* Property card mobile styling - Figma Design */
  .lt-re-property-card {
    background: white;
    border: 1px solid #ededed;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: none;
  }

  .lt-re-property-card:hover {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transform: none;
  }

  .lt-re-property-card .property-image {
    position: relative !important;
    height: 200px !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    @media (max-width: 576px) {
      height: 130px !important;
    }
  }

  .lt-re-property-card .property-image img {
    border-radius: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Hide any arrows, overlays, or pseudo-elements */
  .lt-re-property-card .property-image::before,
  .lt-re-property-card .property-image::after {
    content: none !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* FORCE HIDE ALL NAVIGATION ARROWS AND BUTTONS ON MOBILE */
  .lt-re-property-card .swiper-button-prev,
  .lt-re-property-card .swiper-button-next,
  .lt-re-property-card .property-image .swiper-button-prev,
  .lt-re-property-card .property-image .swiper-button-next,
  .lt-re-property-card button,
  .lt-re-property-card .property-image button,
  .lt-re-property-card .property-image a:not(.property-link),
  .property-image .swiper-button-prev,
  .property-image .swiper-button-next,
  .swiper-button-prev,
  .swiper-button-next,
  button[class*="swiper"],
  button[class*="prev"],
  button[class*="next"],
  .property-image button[class*="prev"],
  .property-image button[class*="next"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    left: -9999px !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* Hide all child elements inside property image except img and badges */
  .lt-re-property-card
    .property-image
    > *:not(img):not(.property-badge):not(.property-gallery-count) {
    display: none !important;
  }

  .lt-re-property-card .property-content {
    padding: 12px !important;
    gap: 6px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Property line 1 - Tipas + Price */
  .lt-re-property-card .property-line-1 {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    @media (max-width: 576px) {
     gap: 10px !important;
    }
  }

  /* Property line 2 - Details */
  .lt-re-property-card .property-line-2 {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    @media (max-width: 576px) {
      gap: 10px !important;
     }
  }

  /* Property line 3 - Address */
  .lt-re-property-card .property-line-3 {
    margin: 0 !important;
  }

  /* Address - underlined */
  .lt-re-property-card .property-address {
    font-family: "DM Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    color: rgba(34, 33, 31, 0.8) !important;
    text-decoration: underline !important;
    text-decoration-skip-ink: none !important;
    text-underline-position: from-font !important;
    margin: 0 !important;
    padding: 0 !important;
    @media (max-width: 576px) {
      font-size: 14px !important;
    }
  }

  /* Show Map Button - Mobile - Figma Design */
  .lt-re-show-map-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: fixed;
    bottom: 12px;
    left: 12px;
    right: 12px;
    width: auto;
    transform: none;
    background: #502761;
    color: white;
    border: 1px solid #502761;
    border-radius: 12px;
    padding: 11px 24px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14px;
    text-transform: uppercase;
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05);
    cursor: pointer;
    z-index: 1000;
    transition: all 0.2s ease;
  }

  .lt-re-show-map-btn:hover {
    background: #6750a4;
    border-color: #6750a4;
    box-shadow: 0 4px 8px rgba(80, 39, 97, 0.3);
  }

  .lt-re-show-map-btn:active {
    transform: translateY(1px);
  }

  .lt-re-show-map-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
  }

  .lt-re-show-map-btn svg path {
    fill: white;
  }

  /* Fullscreen Map Modal - Mobile Only */
  .lt-re-map-fullscreen-modal {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 99999 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .lt-re-map-fullscreen-modal.active {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .lt-re-map-fullscreen-overlay {
    display: none !important; /* Hide overlay - fullscreen map should be like desktop */
  }

  .lt-re-map-fullscreen-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    display: flex;
    flex-direction: column;
    border: none !important;
    outline: none !important;
    z-index: 1;
  }

  /* Desktop map container when moved to fullscreen modal - uses same styles as desktop */
  .lt-re-map-fullscreen-content #lt-re-map {
    flex: 1;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    border: none !important;
    outline: none !important;
    min-height: 100vh !important;
  }

  .lt-re-map-fullscreen-content #lt-re-map .leaflet-container {
    height: 100% !important;
    width: 100% !important;
  }

  /* CRITICAL: Ensure marker styles work in fullscreen modal on mobile */
  .lt-re-map-fullscreen-content .leaflet-div-icon.lt-re-custom-marker,
  .lt-re-map-fullscreen-content .lt-re-custom-marker {
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Ensure Leaflet marker icon container has proper size */
  .lt-re-map-fullscreen-content .leaflet-marker-icon {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    box-sizing: border-box !important;
  }

  .lt-re-map-fullscreen-content
    .leaflet-div-icon.lt-re-custom-marker
    .lt-re-marker-circle,
  .lt-re-map-fullscreen-content .lt-re-custom-marker .lt-re-marker-circle,
  .lt-re-map-fullscreen-content .leaflet-marker-icon .lt-re-marker-circle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    border-radius: 50% !important;
    background: #502761 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    box-shadow: 0 2px 8px rgba(80, 39, 97, 0.3) !important;
    border: 2px solid white !important;
    transition: all 0.2s ease !important;
    position: relative !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 1 / 1 !important;
  }

  .lt-re-map-fullscreen-content
    .leaflet-div-icon.lt-re-custom-marker
    .lt-re-marker-number,
  .lt-re-map-fullscreen-content .lt-re-custom-marker .lt-re-marker-number,
  .lt-re-map-fullscreen-content .leaflet-marker-icon .lt-re-marker-number {
    color: white !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: "DM Sans", sans-serif !important;
    line-height: 1 !important;
    transition: color 0.2s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Ensure popup works on mobile */
  .lt-re-map-fullscreen-content .leaflet-popup-content-wrapper {
    border-radius: 24px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
    padding: 0 !important;
    background: transparent !important; /* Transparent - card has white background */
    border: none !important;
    overflow: visible !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
  }

  .lt-re-map-fullscreen-content .leaflet-popup-content {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
  }

  .lt-re-map-fullscreen-content .lt-re-map-popup-card {
    background: white !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    width: 100% !important;
    max-width: calc(100vw - 30px) !important;
    min-width: 260px !important;
    max-height: calc(100vh - 120px) !important;
    overflow-y: auto !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    position: relative !important;
    z-index: 10002 !important; /* Same as popup content */
    margin: 0 auto !important;
    box-sizing: border-box !important;
    transition: none !important; /* Prevent jumping */
  }

  /* Ensure popup links are clickable on mobile */
  .lt-re-map-fullscreen-content .lt-re-map-popup-card .property-link {
    pointer-events: auto !important;
    touch-action: manipulation !important;
    position: relative !important;
    z-index: 1 !important; /* Relative to parent card, not global */
    display: block !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: rgba(80, 39, 97, 0.2) !important;
  }

  /* Ensure popup container allows clicks and is visible */
  .lt-re-map-fullscreen-content .leaflet-popup {
    pointer-events: auto !important;
    z-index: 10000 !important; /* High z-index to stay above all map elements */
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    max-width: calc(100vw - 30px) !important;
    transition: none !important; /* Prevent jumping */
    transform: none !important; /* Prevent Leaflet transforms from causing jumps */
  }

  .lt-re-map-fullscreen-content .leaflet-popup-content-wrapper {
    pointer-events: auto !important;
    touch-action: manipulation !important;
    z-index: 10001 !important; /* Above popup container */
    max-width: calc(100vw - 30px) !important;
    width: auto !important;
    transition: none !important; /* Prevent jumping */
    box-sizing: border-box !important;
    background: transparent !important; /* Transparent - card has white background */
  }

  /* Popup Close Button (X) */
  .lt-re-map-fullscreen-content .lt-re-popup-close-btn {
    position: absolute !important;
    top: -17px !important;
    right: -10px !important;
    z-index: 10003 !important; /* Above popup content */
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.95) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: #502761 !important;
    font-weight: 300 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.2s ease !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    font-family: "DM Sans", sans-serif !important;
  }

  .lt-re-map-fullscreen-content .lt-re-popup-close-btn:hover {
    background: white !important;
    border-color: #502761 !important;
    transform: scale(1.1) !important;
  }

  .lt-re-map-fullscreen-content .lt-re-popup-close-btn:active {
    transform: scale(0.95) !important;
    background: #f7f7f7 !important;
  }

  .lt-re-map-fullscreen-content .leaflet-popup-content {
    pointer-events: auto !important;
    touch-action: manipulation !important;
    z-index: 10002 !important; /* Above popup wrapper */
  }

  /* Ensure cluster markers are round in fullscreen */
  .lt-re-map-fullscreen-content .lt-re-cluster-marker {
    border-radius: 50% !important;
    box-sizing: border-box !important;
  }

  .lt-re-map-fullscreen-content .lt-re-cluster-small {
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
  }

  .lt-re-map-fullscreen-content .lt-re-cluster-medium {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
  }

  .lt-re-map-fullscreen-content .lt-re-cluster-large {
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
  }

  /* Fix marker circle sizing in fullscreen - ensure it doesn't collapse */
  .lt-re-map-fullscreen-content .leaflet-div-icon.lt-re-custom-marker,
  .lt-re-map-fullscreen-content .lt-re-custom-marker {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
  }

  .lt-re-map-fullscreen-content
    .leaflet-div-icon.lt-re-custom-marker
    .lt-re-marker-circle,
  .lt-re-map-fullscreen-content .lt-re-custom-marker .lt-re-marker-circle,
  .lt-re-map-fullscreen-content .leaflet-marker-icon .lt-re-marker-circle {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    max-width: 32px !important;
    max-height: 32px !important;
    flex-shrink: 0 !important;
  }

  .lt-re-map-fullscreen-content
    .leaflet-div-icon.lt-re-custom-marker
    .lt-re-marker-number,
  .lt-re-map-fullscreen-content .lt-re-custom-marker .lt-re-marker-number,
  .lt-re-map-fullscreen-content .leaflet-marker-icon .lt-re-marker-number {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  /* Close Button (X) - Top Right, Same Style as Zoom Buttons */
  .lt-re-map-close-btn {
    position: absolute;
    top: 20px;
    right: 24px;
    z-index: 10001;
    background: #f7f7f7 !important;
    border: 1px solid #ededed !important;
    border-radius: 8px !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: "DM Sans", sans-serif !important;
  }

  .lt-re-map-close-btn:hover {
    background: #ededed !important;
    border-color: #502761 !important;
  }

  .lt-re-map-close-btn:active {
    transform: scale(0.95) !important;
    background: #e5e5e5 !important;
  }

  .lt-re-map-close-btn svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #502761 !important;
  }

  /* Adjust zoom controls position in fullscreen to align with close button */
  .lt-re-map-fullscreen .leaflet-top.leaflet-right {
    top: 58px !important; /* 24px (original) + 30px (close button) + 4px (gap) */
    right: 24px !important;
  }

  /* Ensure zoom buttons in fullscreen are same size as close button */
  .lt-re-map-fullscreen .leaflet-control-zoom a {
    width: 30px !important;
    height: 30px !important;
    line-height: 30px !important;
    font-size: 20px !important;
  }

  /* Reset Map Button in Fullscreen - uses desktop map button styles */
  .lt-re-map-fullscreen-content #lt-re-map > #lt-re-reset-map-location,
  .lt-re-map-fullscreen-content #lt-re-map > .lt-re-reset-map-btn {
    display: block !important;
    visibility: visible !important;
    position: absolute !important;
    top: 20px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    z-index: 10000 !important;
  }

  /* Sort Bottom Sheet (Mobile) */
  .lt-re-sort-sheet {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10001;
  }

  .lt-re-sort-sheet.active {
    display: block;
  }

  .lt-re-sort-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
  }

  .lt-re-sort-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    border-radius: 20px 20px 0 0;
    padding: 24px;
    animation: slideUpFromBottom 0.3s ease;
  }

  @keyframes slideUpFromBottom {
    from {
      transform: translateY(100%);
    }
    to {
      transform: translateY(0);
    }
  }

  .lt-re-sort-content h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--lt-re-text);
  }

  .lt-re-sort-options {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .sort-option {
    padding: 14px 16px;
    background: white;
    border: 1px solid var(--lt-re-border);
    border-radius: 8px;
    cursor: pointer;
    transition: var(--lt-re-transition);
    font-size: 15px;
    color: var(--lt-re-text);
  }

  .sort-option:hover,
  .sort-option.selected {
    background: #f7f7f7;
    border-color: var(--lt-re-primary);
    color: var(--lt-re-primary);
    font-weight: 600;
  }
}

/* ===================================
   Reklama Cards
   =================================== */

.reklama-cards-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 32px;
  margin: 40px 0;
}

@media (max-width: 991px) {
  .reklama-cards-wrapper {
    grid-template-columns: 1fr;
    gap: 24px;
    margin: 24px 0;
  }
}

/* Reklama card inline with properties */
.lt-re-properties-grid .reklama-card,
.lt-re-properties-list .reklama-card {
  grid-column: span 1;
}

.reklama-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px;
  border-radius: 24px;
  overflow: hidden;
  background: #502761;
  box-sizing: border-box;
  height: 100%;
}

@media (max-width: 991px) {
  .reklama-card {
    padding: 32px 24px;
    min-height: 350px;
  }
}

.reklama-card__background {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 24px;
}

.reklama-card__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 24px;
}

.reklama-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(80, 39, 97, 0.7);
  border-radius: 24px;
}

.reklama-card__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  z-index: 1;
}

.reklama-card__subtitle-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.reklama-card__subtitle {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  background: #f4f2f5;
  border: 1px solid #f4f2f5;
  border-radius: 8px;
  color: #502761;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .reklama-card__subtitle {
    font-size: 13px;
    padding: 5px 10px;
  }
}

.reklama-card__title {
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  width: 100%;
}

@media (max-width: 991px) {
  .reklama-card__title {
    font-size: 28px;
  }
}

@media (max-width: 480px) {
  .reklama-card__title {
    font-size: 24px;
  }
}

.reklama-card__text {
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6;
  text-align: center;
  width: 100%;
}

@media (max-width: 991px) {
  .reklama-card__text {
    font-size: 16px;
  }
}

.reklama-card__button {
  margin-top: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 24px;
  background: transparent;
  border: 1px solid #ffffff;
  border-radius: 12px;
  color: #ffffff;
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.3s ease;
}

.reklama-card__button:hover {
  background: #ffffff;
  color: #502761;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.reklama-card__button:active {
  transform: translateY(0);
}

@media (max-width: 991px) {
  .reklama-card__button {
    padding: 14px 20px;
    font-size: 13px;
    min-height: 44px;
  }
}

/* ===========================
   Single Property - Figma Design
   =========================== */

.lt-re-single-property-figma {
  padding: 0;
  overflow: visible !important;
  position: relative;
}

.lt-re-single-property-figma article {
  overflow: visible !important;
  position: relative;
}

.lt-re-single-property-figma .entry-content {
  overflow: visible !important;
  position: relative;
}

/* Ensure sticky works */
.single-property .site-main,
.single-property .content-area,
.single-property-figma,
.single-property #primary,
.single-property #main,
.single-property article,
.single-property .entry-content,
body.single-property,
html {
  overflow: visible !important;
  height: auto !important;
  position: relative !important;
}

/* Top Bar - Figma Design */
.lt-re-property-top-bar-figma {
  background: #f4f2f5;
  padding: 12px 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

.top-bar-figma-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.top-bar-title {
  flex: 1;
  min-width: 0;
}

.top-bar-title p {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #2d2b32;
  margin: 0;
}

.top-bar-right {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.top-bar-details {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.top-bar-price {
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #22211f;
}

.top-bar-rooms,
.top-bar-size {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  color: #22211f;
}

.top-bar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.top-bar-share-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: #f2f2f2;
  border: none;
  border-radius: 12px;
  color: #502761;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
}

.top-bar-share-btn:hover {
  background: #ededed;
}

.top-bar-share-btn svg {
  width: 24px;
  height: 24px;
  display: block;
}

.top-bar-share-btn svg path {
  fill: #502761 !important;
}

/* Back Link at top of gallery */
/* Back Button */
.back-link-figma {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #22211f;
  text-decoration: none;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s ease;
  margin: 18px 0;
}

.back-link-figma:hover {
  color: #502761;
}

.back-link-figma svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* Main Content Layout - Figma Design */
.property-main-content {
  padding-bottom: 96px !important;
  overflow: visible !important;
  position: relative;
  contain: none !important;
}

.lt-re-property-content-figma {
  display: grid;
  grid-template-columns: 636px 1fr;
  gap: 72px;
  margin-top: 0;
  overflow: visible !important;
  align-items: start;
  position: relative;
  contain: none !important;
  isolation: auto !important;
}

/* Left Side: Gallery Wrapper */
.property-gallery-wrapper-figma {
  display: flex;
  flex-direction: column;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 90px !important;
  align-self: flex-start;
  z-index: 10;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
  overflow-x: hidden;
}

/* Extra specificity to ensure sticky works */
.lt-re-single-property-figma
  .lt-re-property-content-figma
  .property-gallery-wrapper-figma {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 90px !important;
  max-height: calc(100vh - 100px);
}

/* Left Side: Gallery */
.property-gallery-figma {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.gallery-main-thumbnail {
  width: 100%;
  height: 400px;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}

.gallery-main-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-main-thumbnail a {
  display: block;
  width: 100%;
  height: 100%;
}

/* Gallery Badges on Main Thumbnail */
.gallery-counter-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #ffffff;
  border: 1px solid #ededed;
  border-radius: 16px;
  padding: 4px 8px;
  z-index: 10;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.gallery-counter-badge span {
  font-family: "Inter", "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 18px;
  color: #22211f;
  text-transform: none;
  white-space: nowrap;
}

.gallery-status-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  padding: 8px 12px;
  border-radius: 12px;
  z-index: 10;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  color: #22211f;
  white-space: nowrap;
}

.gallery-status-naujas {
  background: #bcf719;
  border: 1px solid #bcf719;
}

.gallery-status-rezervuota {
  background: #f77719;
  border: 1px solid #f77719;
}

.gallery-status-specialus-pasiulymas {
  background: #19e2f7;
  border: 1px solid #19e2f7;
}

/* Share button on thumbnail - hidden on desktop */
.gallery-share-btn-mobile {
  display: none;
}

/* Mobile header info - hidden on desktop */
.property-mobile-header-info {
  display: none;
}

/* Image List Modal - hidden on desktop */
.gallery-list-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  pointer-events: none;
}

/* Gallery Thumbnails Row */
.gallery-thumbnails-row {
  display: flex;
  gap: 12px;
  height: 80px;
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
}

.gallery-thumbnails-row::-webkit-scrollbar {
  height: 4px;
}

.gallery-thumbnails-row::-webkit-scrollbar-track {
  background: transparent;
}

.gallery-thumbnails-row::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}

.gallery-thumbnails-row::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.4);
}

.gallery-thumbnail-item {
  flex: 1 0 0;
  min-width: 80px;
  max-width: 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
}

.gallery-thumbnail-item.gallery-thumbnail-hidden {
  display: none;
}

/* Action Thumbnails (Video, Street, Maps, +X) - separate from gallery */
.gallery-action-thumbnail {
  background: #000000;
  position: relative;
}

.gallery-action-thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

.gallery-action-thumbnail-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  color: #ffffff;
  border-radius: 12px;
}

.gallery-action-thumbnail-placeholder svg {
  width: 32px;
  height: 32px;
  stroke: #ffffff;
}

.gallery-action-thumbnail-placeholder span {
  font-family: "DM Sans", sans-serif;
  font-size: 24px;
  font-weight: 600;
  color: #22211f;
}

.gallery-thumbnail-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-thumbnail-item a {
  display: block;
  width: 100%;
  height: 100%;
}

/* Action Buttons Overlay on Thumbnails */
.gallery-thumbnail-action-btn {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(34, 33, 31, 0.5);
  border: none;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  z-index: 10;
  pointer-events: auto;
}

.gallery-thumbnail-action-btn:hover {
  background: rgba(34, 33, 31, 0.7);
}

.gallery-thumbnail-action-btn svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  fill: none;
}

/* Hide text in action buttons (video, street, map) - show only icons */
.gallery-video-btn span,
.gallery-streetview-btn span,
.gallery-maps-btn span {
  display: none;
}

/* "+X" button - text only, no icon */
.gallery-more-btn svg {
  display: none !important;
}

.gallery-more-btn span {
  display: block;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 150%; /* 19.5px */
  color: white;
}

/* Ensure thumbnail link is still clickable except where button is */
.gallery-thumbnail-item a {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

.gallery-thumbnail-item:hover .gallery-thumbnail-action-btn {
  z-index: 10;
}

/* When button is present, make link non-clickable */
.gallery-thumbnail-item.has-action-btn a {
  pointer-events: none;
}

/* Gallery More Modal (+X Modal) */
.gallery-more-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999999;
}

.gallery-more-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(10px);
}

.gallery-more-modal-content {
  position: relative;
  width: 90%;
  max-width: 1200px;
  max-height: 90vh;
  margin: 5vh auto;
  background: #fff;
  border-radius: 24px;
  padding: 40px;
  overflow-y: auto;
  z-index: 2;
}

.gallery-more-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  font-size: 24px;
  color: #22211f;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 10;
}

.gallery-more-modal-close:hover {
  background: rgba(0, 0, 0, 0.2);
  transform: scale(1.1);
}

.gallery-more-modal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.gallery-more-item {
  aspect-ratio: 1;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

.gallery-more-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-more-item a {
  display: block;
  width: 100%;
  height: 100%;
}

.gallery-more-action-item {
  background: #000;
}

.gallery-more-action-item .gallery-thumbnail-item {
  width: 100%;
  height: 100%;
  max-width: none;
  min-width: auto;
}

@media (max-width: 768px) {
  .gallery-more-modal-content {
    width: 95%;
    padding: 20px;
  }

  .gallery-more-modal-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 12px;
  }
}

/* Right Side: Property Info */
.property-info-figma {
  display: flex;
  flex-direction: column;
  padding-top: 34px;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 90px !important;
  align-self: flex-start;
  overflow: visible;
  height: auto;
  max-height: none;
  z-index: 1;
}

.property-update-date-wrapper {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.property-update-date {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: rgba(34, 33, 31, 0.6);
  text-transform: uppercase;
  margin-bottom: 0!important;
}

.property-id-display {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: rgba(34, 33, 31, 0.6);
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
}

.property-info-title {
  font-family: "DM Sans", sans-serif;
  color: #22211f;
  margin-bottom: 24px;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%; /* 28.8px */
  margin: 0 0 24px 0;
}

.property-basic-info {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
}

.property-address {
  padding-bottom: 32px;
}

.info-item {
  display: flex;
  align-items: center;
  gap: 0;
}

.info-label {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #22211f;
  min-width: 100px;
  flex-shrink: 0;
}

.info-value {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: rgba(34, 33, 31, 0.8);
  flex: 1;
}

/* Badge style for Tipas and Kategorija (Figma design) */
.info-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #502761;
  border: 1px solid #502761;
  border-radius: 8px;
  padding: 6px 8px 6px 8px;
  color: #ffffff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Address style (Figma design) */
.info-address {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  color: #22211f;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
  text-decoration-style: solid;
  flex: 1;
}

/* Features Section */
.property-features {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 32px;
}

/* Property Description Block */
.property-description-block {
  background: #f2f2f2;
  border-radius: 24px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

.property-description-title {
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #22211f;
  margin: 0;
}

.property-description-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.property-description-intro {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #22211f;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.property-description-block:not(.collapsed) .property-description-intro {
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  overflow: visible;
}

.property-description-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.property-description-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.property-description-bullet {
  font-family: "Inter", sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 2;
  color: #22211f;
  flex-shrink: 0;
  width: 10px;
  text-align: center;
}

.property-description-text {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #22211f;
  margin: 0;
  flex: 1;
}

.property-description-toggle {
  background: none;
  border: none;
  border-bottom: 1px solid #502761;
  padding: 2px 0;
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #502761;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  text-align: left;
  transition: opacity 0.2s ease;
  align-self: flex-start;
}

.property-description-toggle:hover {
  opacity: 0.7;
}

.property-description-content {
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.property-description-block.collapsed .property-description-content {
  overflow: hidden;
  position: relative;
}

.property-description-block.collapsed .property-description-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(to bottom, transparent, #f2f2f2);
  pointer-events: none;
}

.property-description-block:not(.collapsed) .property-description-content {
  max-height: none;
}

/* Property Technical Description Block */
.property-technical-block {
  background: #f2f2f2;
  border-radius: 24px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

.property-technical-title {
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #22211f;
  margin: 0;
}

.property-technical-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.property-technical-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.property-technical-item {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
}

.property-technical-item-full {
  align-items: flex-start;
  width: 100%;
}

.property-technical-label {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #22211f;
  width: 200px;
  flex-shrink: 0;
  @media (max-width: 576px) {
    width: 100px;
  }
}

.property-technical-value {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #22211f;
  flex: 1;
}

/* Scroll to Top Button */
.scroll-to-top-btn {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 8px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #502761;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  transition: opacity 0.2s ease;
 
  width: 100%;
  margin-top: auto;
}

.scroll-to-top-btn:hover {
  opacity: 0.7;
}

.scroll-to-top-btn svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.features-title {
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #22211f;
  margin: 0;
}

.features-list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
}

.feature-item {
  display: flex;
  flex-direction: column;
  gap: 1px;
  align-items: flex-start;
  justify-content: center;
  background-color: #f2f2f2;
  border: 1px solid #f2f2f2;
  border-radius: 12px;
  padding: 10px 12px;
  flex-shrink: 0;
}

.feature-label {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #22211f;
  margin: 0;
}

.feature-value {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: #22211f;
  margin: 0;
}

/* Agent Info Card */
.agent-info-card {
  background: #ffffff;
  border: 1px solid #ededed;
  border-radius: 24px;
  margin-bottom: 24px;
  overflow: visible;
  box-shadow: 0px 1px 4px 0px rgba(12, 12, 13, 0.1),
    0px 1px 4px 0px rgba(12, 12, 13, 0.05);
  position: relative;
}

.agent-header {
  background: #f4f2f5;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-radius: 24px 24px 0 0;
}

.agent-name-cities {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.agent-name {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #502761;
  margin: 0;
}

.agent-cities {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #502761;
  margin: 0;
  white-space: pre-wrap;
}

.agent-details {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  overflow: visible;
}

.agent-contact-form-wrapper {
  padding: 0;
  margin-top: 12px;
  width: 100%;
  box-sizing: border-box;
  background: transparent;
  display: none;
  min-height: 0;
  overflow: hidden;
}

.agent-contact-form-wrapper:not([style*="display: none"]) {
  display: block;
  padding: 12px 20px 20px 20px;
}

.agent-contact-links {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
}

.agent-contact-link {
  display: flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  color: #22211f;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  transition: opacity 0.2s ease;
}

.agent-contact-link:hover {
  opacity: 0.7;
}

.agent-contact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 8px;
  border-radius: 8px;
  flex-shrink: 0;
}

.agent-contact-link svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.agent-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  width: 100%;
}

.divider-line {
  flex: 1 1 0;
  height: 0;
  border-top: 1px solid #eaeaea;
}

.divider-text {
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  color: #2d2b32;
  margin: 0;
  white-space: normal;
  flex-shrink: 1;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.agent-contact-form-btn {
  width: 100%;
  height: 46px;
  padding: 16px 24px;
  background: #502761;
  border: 1px solid #502761;
  border-radius: 12px;
  color: #ffffff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
}

.agent-contact-form-btn:hover {
  background: #3d1f4a;
  border-color: #3d1f4a;
}

/* Description Section */
.property-description-figma {
  padding-top: 24px;
}

.description-title {
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  font-weight: 500;
  color: #22211f;
  margin: 0 0 20px 0;
}

.description-content {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(34, 33, 31, 0.8);
}

.description-content p {
  margin: 0 0 16px 0;
}

.description-content p:last-child {
  margin-bottom: 0;
}

/* Related Properties Section */
.related-properties-section {
  width: 100%;
  background: #f4f2f5;
  margin-top: 0;
  padding: 96px 0;
}

.related-properties-section .lt-re-container {
  padding: 0 72px;
}

.related-properties-header {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
  width: 100%;
}

.related-properties-label {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.14px;
  text-transform: uppercase;
  color: #502761;
  margin: 0;
}

.related-properties-title {
  font-family: "DM Sans", sans-serif;
  font-size: 36px;
  font-weight: 400;
  line-height: 1.2;
  color: #22211f;
  margin: 0;
}

.related-properties-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 100%;
}

.related-properties-grid .lt-re-property-card {
  margin: 0;
  /* All other styles inherit from base .lt-re-property-card class */
}

.related-properties-grid .reklama-card {
  margin: 0;
  height: 100%;
  min-height: 352px;
}

/* Back link styling */
.lt-re-single-property-figma .back-link {
  display: none; /* Hide old back link, using top bar instead */
}

/* Ensure proper spacing */
.lt-re-single-property-figma .lt-re-container {
  max-width: 1296px;
  margin: 0 auto;
  padding: 0 72px;
  overflow: visible !important;
}

@media (max-width: 1200px) {
  .lt-re-single-property-figma .lt-re-container {
    padding: 0 48px;
  }
}

@media (max-width: 991px) {
  .lt-re-single-property-figma .lt-re-container {
    padding: 0 24px;
  }
}

@media (max-width: 991px) {
  .lt-re-single-property-figma .lt-re-container {
    padding: 0 16px;
  }
}

/* Responsive Design */
@media (max-width: 1200px) {
  .lt-re-property-content-figma {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }

  .gallery-main-thumbnail {
    height: 350px;
  }
}

@media (max-width: 991px) {
  .lt-re-property-content-figma {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .property-gallery-wrapper-figma {
    order: 1;
  }

  .property-info-figma {
    order: 2;
  }

  .gallery-main-thumbnail {
    height: 268px;
  }

  .related-properties-section {
    padding: 80px 0 24px 0;
  }

  .related-properties-section .lt-re-container {
    padding: 0 48px;
  }

  .related-properties-title {
    font-size: 32px;
  }

  .related-properties-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991px) {
  .top-bar-figma-content {
    flex-wrap: wrap;
    gap: 16px;
  }

  .top-bar-title {
    width: 100%;
  }

  .top-bar-right {
    width: 100%;
    justify-content: space-between;
  }

  .top-bar-details {
    flex: 1;
  }
}

@media (max-width: 991px) {
  .top-bar-title p {
    font-size: 14px;
  }

  .top-bar-price {
    font-size: 16px;
  }

  .top-bar-rooms,
  .top-bar-size {
    font-size: 12px;
  }

  .top-bar-share-btn {
    width: 40px;
    height: 40px;
  }

  .top-bar-share-btn svg {
    width: 20px;
    height: 20px;
  }

  .gallery-main-thumbnail {
    height: 268px;
    border-radius: 12px;
  }

  .gallery-thumbnails-row {
    height: 48px;
    overflow-x: hidden;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    gap: 4px;
    display: flex;
    flex-wrap: nowrap;
  }

  .gallery-thumbnail-item {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    width: auto;
    height: 48px;
    flex-shrink: 1;
    border-radius: 12px;
    aspect-ratio: 1;
  }

  .gallery-thumbnail-item img {
    border-radius: 12px;
  }

  .gallery-thumbnail-action-btn {
    width: 48px;
    height: 48px;
    font-size: 13px;
  }

  .gallery-thumbnail-action-btn svg {
    width: 20px;
    height: 20px;
  }

  .gallery-counter-badge,
  .gallery-status-badge {
    font-size: 12px;
    padding: 6px 10px;
  }

  .property-info-title {
    font-size: 22px;
  }

  .related-properties-section {
    padding: 60px 0 24px 0;
  }

  .related-properties-section .lt-re-container {
    padding: 0 20px;
  }

  .related-properties-title {
    font-size: 28px;
  }

  .related-properties-grid {
    grid-template-columns: 1fr;
  }

  /* Hide top bar on mobile */
  .lt-re-property-top-bar-figma {
    display: none;
  }

  /* Share button on thumbnail (mobile only) */
  .gallery-share-btn-mobile {
    display: flex;
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: #f2f2f2;
    border: none;
    border-radius: 12px;
    padding: 12px;
    cursor: pointer;
    z-index: 15;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  }

  .gallery-share-btn-mobile svg {
    width: 24px;
    height: 24px;
  }

  .gallery-share-btn-mobile svg path {
    fill: #502761;
  }

  /* Mobile header info below thumbnails */
  .property-mobile-header-info {
    display: block;
    padding: 12px 0;
    margin-top: 0;
  }

  .mobile-header-details {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 12px;
  }

  .mobile-header-price {
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #22211f;
    flex: 1 0 0;
    min-width: 0;
  }

  .mobile-header-detail-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    justify-content: center;
  }

  .mobile-header-value {
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14px;
    text-transform: uppercase;
    color: #22211f;
  }

  .mobile-header-label {
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14px;
    text-transform: uppercase;
    color: #22211f;
  }

  /* Image List View Modal */
  .gallery-list-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #ffffff;
    z-index: 9999;
    overflow: hidden;
  }

  .gallery-list-modal.active {
    display: flex;
    flex-direction: column;
    pointer-events: auto;
  }

  .gallery-list-modal-header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 12px 16px;
    background: #ffffff;
    border-bottom: 1px solid #ededed;
    position: sticky;
    top: 0;
    z-index: 10000;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  }

  .gallery-list-modal-close {
    background: transparent;
    border: none;
    color: #22211f;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    transition: background-color 0.2s;
  }

  .gallery-list-modal-close:hover {
    background: #f2f2f2;
  }

  .gallery-list-modal-close svg {
    width: 24px;
    height: 24px;
    stroke: #22211f;
  }

  .gallery-list-modal-counter {
    display: none; /* Hidden on mobile */
  }

  .gallery-list-modal-content {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0;
    background: #ffffff;
  }

  .gallery-list-item {
    width: 100%;
    margin: 0;
    padding: 0;
    display: block;
    background: #ffffff;
    border-bottom: 1px solid #ededed;
  }

  .gallery-list-item:last-child {
    border-bottom: none;
  }

  .gallery-list-item img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
    object-fit: contain;
  }

  /* Mobile Fixed Action Buttons */
  .mobile-fixed-actions {
    display: flex;
    gap: 12px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px;
    background: #ffffff;
    border-top: 1px solid #ededed;
    z-index: 1000;
    box-shadow: 0px -2px 8px rgba(0, 0, 0, 0.08);
  }

  .mobile-action-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 24px;
    border-radius: 12px;
    border: 1px solid #502761;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.14px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
    height: 46px;
  }

  .mobile-form-btn {
    background: #ffffff;
    color: #502761;
  }

  .mobile-form-btn:hover {
    background: #f9f5ff;
  }

  .mobile-form-btn:active {
    background: #f4ebff;
  }

  .mobile-call-btn {
    background: #502761;
    color: #ffffff;
  }

  .mobile-call-btn:hover {
    background: #6b3380;
  }

  .mobile-call-btn:active {
    background: #421f4e;
  }

  .mobile-call-btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }

  /* Add padding to content to prevent overlap with fixed buttons */
  .lt-re-single-property-figma .property-main-content {
    padding-bottom: 50px !important; /* Space for fixed buttons */
  }

  /* Ensure images stack vertically with no gaps */
  .gallery-list-modal-content {
    display: block;
  }

  /* Fix overlapping content on mobile */
  .property-main-content {
    padding: 0 12px 96px 12px !important;
  }

  .lt-re-property-content-figma {
    gap: 24px;
    margin-top: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Remove all scroll behavior from gallery wrapper on mobile - Maximum specificity */
  body .property-gallery-wrapper-figma,
  body .lt-re-single-property-figma .property-gallery-wrapper-figma,
  body .lt-re-property-content-figma .property-gallery-wrapper-figma,
  body
    .lt-re-single-property-figma
    .lt-re-property-content-figma
    .property-gallery-wrapper-figma,
  body.single-property .property-gallery-wrapper-figma,
  body.single-property
    .lt-re-single-property-figma
    .lt-re-property-content-figma
    .property-gallery-wrapper-figma {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    position: static !important;
    top: auto !important;
    max-height: none !important;
    height: auto !important;
    -webkit-overflow-scrolling: auto !important;
    overscroll-behavior: none !important;
    align-self: stretch !important;
  }

  /* Also ensure the gallery itself doesn't have scroll */
  .property-gallery-figma {
    width: 100%;
    max-width: 100%;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
  }

  .gallery-main-thumbnail {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .gallery-thumbnails-row {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .property-info-figma {
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    position: static;
    top: auto;
    max-height: none;
  }

  .property-update-date {
    margin-bottom: 12px;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .property-info-title {
    margin-bottom: 12px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    font-size: 18px;
    line-height: 1.4;
  }

  .property-basic-info {
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  .property-features {
    margin-bottom: 0;
  }

  .features-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
  }

  .feature-item {
    min-width: 0;
    flex: 1 1 auto;
  }

  .agent-info-card {
    margin-bottom: 24px;
    width: 100%;
    max-width: 100%;
    border-radius: 24px;
  }

  .agent-header {
    padding: 12px 16px;
  }

  .agent-details {
    padding: 16px;
    gap: 10px;
  }

  .agent-contact-links {
    flex-direction: column;
    gap: 12px;
  }

  .agent-contact-link {
    font-size: 14px;
    width: 100%;
  }

  .agent-contact-icon {
    width: 36px;
    height: 36px;
  }

  .agent-contact-link svg {
    width: 20px;
    height: 20px;
  }

  .agent-divider {
    flex-direction: column;
    gap: 8px;
    padding: 10px 0;
  }

  .divider-line {
    width: 100%;
  }

  .divider-text {
    font-size: 11px;
    line-height: 1.4;
    padding: 0 8px;
    white-space: normal;
    text-align: center;
  }

  .agent-contact-form-btn {
    height: 44px;
    font-size: 13px;
    padding: 14px 20px;
  }

  .property-description-block {
    margin-bottom: 24px;
    width: 100%;
    max-width: 100%;
  }

  .property-technical-block {
    margin-bottom: 24px;
    width: 100%;
    max-width: 100%;
  }

  /* Make thumbnails clickable to open list view */
  .gallery-thumbnail-item {
    cursor: pointer;
    flex-shrink: 0;
  }

  .gallery-thumbnail-item a {
    pointer-events: auto;
  }

  /* Prevent link navigation on mobile - JavaScript will handle clicks */
  .gallery-main-thumbnail a,
  .gallery-thumbnail-item a {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
  }

  /* Ensure no horizontal overflow */
  .lt-re-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Fix any elements that might overflow */
  * {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Ensure text doesn't overflow */
  p,
  span,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* Back link adjustments */
  .back-link-figma {
    margin-bottom: 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
}

/* Custom Agent Contact Form Styling to Match Figma */
.agent-contact-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
  padding: 0;
  width: 100%;
}

.form-field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-label {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  color: #22211f;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  display: flex;
  align-items: center;
  gap: 2px;
}

.form-label .required {
  color: #7f56d9;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
}

.form-input,
.form-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ededed;
  border-radius: 12px;
  background: #ffffff;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #22211f;
  transition: border-color 0.2s ease;
  box-sizing: border-box;
}

.form-textarea {
  min-height: 160px;
  resize: vertical;
  padding: 12px 14px;
}

.form-input:focus,
.form-textarea:focus {
  outline: none;
  border-color: #502761;
}

.form-input::placeholder,
.form-textarea::placeholder {
  color: #717680;
  font-family: "DM Sans", sans-serif;
  font-weight: 300;
}

.form-input.error,
.form-textarea.error {
  border-color: #d93025;
}

.form-error {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  color: #d93025;
  margin-top: 4px;
  display: none;
}

.form-error:not(:empty) {
  display: block;
}

.form-checkbox-wrapper {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.form-checkbox-label {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  cursor: pointer;
  margin: 0;
}

.form-checkbox {
  width: 20px;
  height: 20px;
  min-width: 20px;
  border: 1px solid #d5d7da;
  border-radius: 6px;
  margin-top: 2px;
  cursor: pointer;
  flex-shrink: 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  position: relative;
}

.form-checkbox:checked {
  background-color: #502761;
  border-color: #502761;
}

.form-checkbox:checked::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
}

.checkbox-text {
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  color: #22211f;
  margin: 0;
}

.form-message {
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  padding: 16px;
  border-radius: 12px;
  display: none;
}

.form-message.success {
  background: #f0f9ff;
  border: 1px solid #502761;
  color: #22211f;
  display: block;
}

.form-message.error {
  background: #fff5f5;
  border: 1px solid #d93025;
  color: #d93025;
  display: block;
}

.form-submit-btn {
  width: 100%;
  height: 46px;
  padding: 16px 24px;
  background: #502761;
  border: 1px solid #502761;
  border-radius: 12px;
  color: #ffffff;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
}

.form-submit-btn:hover:not(:disabled) {
  background: #3d1f4a;
  border-color: #3d1f4a;
}

.form-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Hide mobile fixed buttons on desktop */
@media (min-width: 992px) {
  .mobile-fixed-actions {
    display: none;
  }
}

/* Sidebar Pagination Styles */
.lt-re-sidebar-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem;
  margin-top: 1rem;
  border-top: 1px solid #e0e0e0;
}

.lt-re-pagination-btn {
  background: #502761;
  color: white;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

.lt-re-pagination-btn:hover {
  background: #3d1f4a;
  transform: translateY(-1px);
}

.lt-re-pagination-btn:active {
  transform: translateY(0);
}

.lt-re-pagination-info {
  font-size: 0.9rem;
  color: #666;
  font-weight: 500;
}

/* Custom Marker Cluster Styles - Purple Theme */
.lt-re-cluster-icon {
  background: transparent !important;
  border: none !important;
}

.lt-re-cluster-marker {
  background: #502761 !important;
  border: 3px solid white !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: white !important;
  font-weight: bold !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 600 !important; /* Below popup (10000) */
}

.lt-re-cluster-marker:hover {
  background: #3d1f4a !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

.lt-re-cluster-small {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  font-size: 12px !important;
  border-radius: 50% !important;
}

.lt-re-cluster-medium {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  font-size: 14px !important;
  border-radius: 50% !important;
}

.lt-re-cluster-large {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  font-size: 16px !important;
  border-radius: 50% !important;
}

.lt-re-cluster-marker span {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

/* ===========================
   Agents List Styles
   =========================== */
.lt-re-agents-list-wrapper {
  padding: 0;
  max-width: 100%;
  margin: 0;
  width: 100%;
}

.lt-re-agents-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.lt-re-agents-filter-label {
  font-size: 16px;
  font-weight: 600;
  color: #502761;
  margin: 0;
}

.lt-re-agent-filter-select {
  min-width: 200px;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  background: #fff;
}

/* Select2 styling for agent filter selects to match Figma design */
.lt-re-agents-filters .select2-container {
  width: 200px !important;
  min-width: 200px;
  max-width: 200px;
}

.lt-re-agents-filters .select2-container--default .select2-selection--single {
  height: auto;
  min-height: 40px;
  border: 1px solid #E0E0E0;
  border-radius: 12px;
  background-color: #FFFFFF;
  padding: 0;
}

.lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 40px;
  color: #333333;
  padding-left: 12px;
  padding-right: 35px; /* Space for arrow */
  font-size: 14px;
  font-weight: 400;
}

.lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999999;
}

.lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
  right: 12px;
  width: 20px;
  z-index: 5;
}

.lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #666666 transparent transparent transparent;
  border-width: 5px 5px 0 5px;
  margin-top: -2.5px;
}

.lt-re-agents-filters .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #666666 transparent;
  border-width: 0 5px 5px 5px;
  margin-top: -2.5px;
}

/* Clear X button styling for agent filters - Hidden */
.lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__clear {
  display: none !important;
}

/* Focus state */
.lt-re-agents-filters .select2-container--default .select2-selection--single:focus,
.lt-re-agents-filters .select2-container--default.select2-container--focus .select2-selection--single {
  border-color: #E0E0E0;
  outline: 0;
  box-shadow: none;
}

.lt-re-agents-filters .select2-container--default.select2-container--open .select2-selection--single {
  border-color: #E0E0E0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* Dropdown styling */
.lt-re-agents-filters .select2-dropdown {
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  margin-top: -1px;
  width: 200px !important;
  max-width: 200px !important;
}

.lt-re-agents-filters .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #F5F5F5;
  color: #333333;
}

.lt-re-agents-filters .select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #F0F0F0;
  color: #333333;
}

.lt-re-agents-filters .select2-results__option {
  padding: 10px 12px;
  font-size: 14px;
}

.lt-re-agents-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.lt-re-agent-card {
  background: #FFFFFF;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.lt-re-agent-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Top section - Light purple background */
.lt-re-agent-card-top {
  background: #F2F2F2;
  padding: 16px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Bottom section - White background */
.lt-re-agent-card-bottom {
  background: #FFFFFF;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lt-re-agent-name {
  font-size: 16px;
  font-weight: 600;
  color: #502761;
  margin: 0;
  line-height: 150%;
}

.lt-re-agent-cities {
  font-size: 14px;
  color: #502761;
  margin: 0;
  line-height: 140%;
}

.lt-re-view-properties-btn {
  display: inline-block;
  padding: 12px 24px;
  background: transparent;
  border: 1px solid #5C347A;
  border-radius: 8px;
  color: #5C347A;
  text-decoration: none;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  transition: all 0.2s;
  width: 100%;
  max-width: 100%;
}

.lt-re-view-properties-btn:hover {
  background: #5C347A;
  color: #fff;
}

.lt-re-no-agents {
  text-align: center;
  padding: 40px;
  color: #666;
  font-size: 16px;
}

/* ===========================
   Agent Properties Page Styles
   =========================== */
.lt-re-agent-properties-wrapper {
  padding: 0;
  max-width: none;
  margin: 0;
}

/* Content wrapper for back button, agent card, and properties grid */
.lt-re-map-listings .lt-re-agent-content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  box-sizing: border-box;
  width: 100%;
  min-height: 0; /* Allow flex children to shrink */
}

.lt-re-agent-content-wrapper .back-link-figma {
  margin: 0;
}

/* Remove grid padding when inside agent content wrapper to avoid double padding */
.lt-re-agent-content-wrapper .lt-re-properties-grid {
  padding: 0;
}


.lt-re-back-button-wrapper {
  margin-bottom: 30px;
}

.lt-re-back-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: transparent;
  border: 1px solid #502761;
  border-radius: 4px;
  color: #502761;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}

.lt-re-back-button:hover {
  background: #502761;
  color: #fff;
}

.lt-re-back-button svg {
  width: 20px;
  height: 20px;
}


/* Responsive adjustments */
@media (max-width: 768px) {
  .lt-re-agents-filters {
    flex-direction: column;
    align-items: stretch;
  }
  
  .lt-re-agent-filter-select {
    width: 100%;
  }
  
  .lt-re-agents-filters .select2-container {
    width: 100% !important;
    min-width: 100%;
    max-width: 100%;
  }
  
  .lt-re-agents-filters .select2-dropdown {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .lt-re-agents-filters .select2-container--default .select2-selection--single {
    min-height: 38px;
  }
  
  .lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 38px;
    padding-right: 35px;
  }
  
  .lt-re-agents-filters .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px;
  }
  
  .lt-re-agents-grid {
    grid-template-columns: 1fr;
  }
  
  .lt-re-agent-card-top {
    padding: 16px;
  }
  
  .lt-re-agent-card-bottom {
    padding: 16px;
  }
  
  .lt-re-agent-name {
    font-size: 18px;
  }
  
  .lt-re-agent-cities {
    font-size: 14px;
  }
  
  .lt-re-view-properties-btn {
    padding: 10px 20px;
    font-size: 12px;
  }
  
  .lt-re-agent-properties-wrapper {
    padding: 15px;
  }
}

/* ===========================
   Featured Properties Styles
   =========================== */
.lt-re-featured-wrapper {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  background: #fff;
  overflow: hidden;
}

.lt-re-featured-container {
  width: 100%;
  max-width: 100%;
}

.lt-re-featured-section {
  width: 100%;
  padding: 24px;
  box-sizing: border-box;
}

.lt-re-featured-button-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  padding: 20px 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Button wrapper outside map container */
.lt-re-featured-wrapper .lt-re-results-wrapper + .lt-re-featured-button-wrapper,
.lt-re-featured-wrapper #lt-re-map-container + .lt-re-featured-button-wrapper,
.lt-re-featured-wrapper .lt-re-map-view-fullwidth + .lt-re-featured-button-wrapper {
  margin-top: 40px;
  padding: 20px 24px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Ensure button is visible and properly styled */
.lt-re-featured-wrapper .lt-re-featured-button-wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin-top: 40px;
  padding: 20px 24px;
}

.lt-re-view-all-button {
  display: inline-block;
  padding: 16px 17px;
  background: #ffffff;
  border: 1px solid #502761;
  border-radius: 12px;
  color: #502761;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  text-align: center;
  white-space: nowrap;
}

.lt-re-view-all-button:hover {
  background: #502761;
  color: #ffffff;
  text-decoration: none;
}

.lt-re-no-properties {
  text-align: center;
  padding: 40px 20px;
  color: #666;
  font-size: 16px;
}

/* Hide filters when show_filters is false */
.lt-re-archive-wrapper:not(.show-filters) .lt-re-top-bar,
.lt-re-archive-wrapper:not(.show-filters) #lt-re-filter-modal,
.lt-re-featured-wrapper:not(.show-filters) .lt-re-top-bar,
.lt-re-featured-wrapper:not(.show-filters) #lt-re-filter-modal {
  display: none;
}

/* Featured view: Hide results header */
.lt-re-featured-wrapper .lt-re-results-header {
  display: none !important;
}

/* Featured view: Remove 100vh height from results wrapper */
.lt-re-featured-wrapper .lt-re-results-wrapper.lt-re-full-width {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  background: #fff !important;
  border: none !important;
  position: relative;
  z-index: 1;
}

/* Featured view: Remove bottom margins from properties grid */
.lt-re-featured-wrapper .lt-re-properties-grid {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
}

/* Featured view: Make map height match listings height */
/* CRITICAL: Override archive page fixed positioning */
.lt-re-featured-wrapper .lt-re-map-view-fullwidth {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  height: auto !important;
  min-height: 740px !important;
  max-height: none !important;
  align-items: stretch;
  display: grid !important;
  grid-template-columns: 60% 40% !important;
  column-gap: 20px !important;
  background: #fff !important;
  border: none !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

/* Ensure map extends to viewport edge in featured projects */
.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth {
  width: 100% !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
}

.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth .lt-re-map {
  margin-right: 0 !important;
  padding-right: 0 !important;
  border-radius: 24px 0 0 24px !important;
}

.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth .lt-re-map .leaflet-container {
  border-radius: 24px 0 0 24px !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
}

.lt-re-featured-wrapper .lt-re-map-listings {
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  background: #fff !important;
  border: none !important;
  position: relative;
  z-index: 1;
}

.lt-re-featured-wrapper .lt-re-map {
  height: 100% !important;
  min-height: 740px !important;
  max-height: none !important;
  position: relative !important;
  top: auto !important;
  align-self: stretch;
  border-radius: 24px 0 0 24px !important;
  overflow: hidden !important;
}

/* Make map match the height of the listings container */
.lt-re-featured-wrapper #lt-re-map-container {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  align-items: stretch;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  background: transparent !important;
  border: none !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  z-index: auto !important;
}

.lt-re-featured-wrapper #lt-re-map-container .lt-re-map-listings {
  height: auto !important;
  min-height: auto !important;
  background: transparent !important;
  border: none !important;
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Properties grid in featured view */
.lt-re-featured-wrapper .lt-re-map-listings .lt-re-properties-grid {
  /* padding: 24px !important; */
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
}

.lt-re-featured-wrapper #lt-re-map-container .lt-re-map {
  height: 100% !important;
  min-height: 660px !important;
  border-radius: 24px 0 0 24px;
  margin-right: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

/* Ensure map extends to viewport edge */
.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth {
  width: 100% !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  max-width: none !important;
}

.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth .lt-re-map {
  margin-right: 0 !important;
  padding-right: 0 !important;
  border-radius: 24px 0 0 24px !important;
  width: 100% !important;
}

.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth .lt-re-map .leaflet-container {
  border-radius: 24px 0 0 24px !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}

.featured-projects .lt-re-featured-wrapper .lt-re-map-view-fullwidth .lt-re-map .leaflet-container .leaflet-map-pane {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

/* Responsive adjustments for featured section */
@media (max-width: 768px) {
  .lt-re-featured-section {
    padding: 16px;
  }
  
  .lt-re-featured-button-wrapper {
    margin-top: 30px;
    padding: 16px 0;
  }
  
  .lt-re-view-all-button {
    padding: 12px 24px;
    font-size: 12px;
    width: 100%;
    max-width: 100%;
  }
}

/* Featured view mobile styles from 991px and below */
@media (max-width: 991px) {
  /* Hide show map button on mobile for featured view */
  .lt-re-featured-wrapper .lt-re-show-map-btn {
    display: none !important;
  }
  
  /* Make properties grid 2 columns from 991px and below */
  .lt-re-featured-wrapper .lt-re-properties-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  /* Make map container full width on mobile for featured view */
  .lt-re-featured-wrapper .lt-re-map-view-fullwidth {
    grid-template-columns: 1fr !important;
  }
  
  /* Hide map on mobile for featured view */
  .lt-re-featured-wrapper .lt-re-map {
    display: none !important;
  }
  
  /* Make listings full width on mobile for featured view */
  .lt-re-featured-wrapper .lt-re-map-listings {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Featured view mobile styles from 576px and below - 2 columns with full-width reklama */
@media (max-width: 576px) {
  /* Keep properties grid 2 columns on mobile */
  .lt-re-featured-wrapper .lt-re-properties-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Reklama cards span full width on mobile in featured view */
  .lt-re-featured-wrapper .lt-re-properties-grid .reklama-card {
    grid-column: 1 / -1 !important;
  }
}

/* Filter Widget Styles */
.lt-re-filter-widget {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  background: #FFFFFF;
  border-radius: 20px;
  padding: 8px;
}

.lt-re-filter-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 12px;
  flex-wrap: wrap;
  width: 100%;
}

.lt-re-filter-tab {
  flex: 1 1 auto;
  min-width: calc(50% - 2px);
  padding: 12px 16px;
  border: none;
  border-radius: 8px;
  background: #F6F4F9;
  color: #5F307E;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  font-family: inherit;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .lt-re-filter-tab {
    font-size: 14px;
    padding: 12px 20px;
  }
}

/* Responsive layout for 991px and below */
@media (max-width: 991px) {
  .lt-re-filter-tab {
    min-width: calc(50% - 2px);
  }
  
  .lt-re-filter-tab:nth-child(5) {
    min-width: 100%;
  }
  
  .lt-re-filter-form {
    flex-direction: column;
    gap: 12px;
  }
  
  .lt-re-filter-select,
  .lt-re-filter-widget .select2-container {
    width: 100%;
    flex: 1 1 100%;
  }
  
  .lt-re-filter-submit-btn {
    width: 100%;
    flex: 1 1 100%;
  }
}

/* Desktop layout - one line for tabs and form */
@media (min-width: 992px) {
  .lt-re-filter-tabs {
    flex-wrap: nowrap;
  }
  
  .lt-re-filter-tab {
    flex:auto;
    min-width: auto;
  }
  
  .lt-re-filter-form-row {
    flex-wrap: nowrap;
  }
  
  .lt-re-filter-form {
    flex-wrap: nowrap;
  }
}

.lt-re-filter-tab:hover {
  background: #EDE9F4;
}

.lt-re-filter-tab.active {
  background: #5F307E;
  color: #FFFFFF;
}

.lt-re-filter-form-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}

/* Filter widget field wrapper */
.lt-re-filter-widget .lt-re-filter-field-wrapper {
  flex: 1 1 0;
  min-width: 0;
  width: 100%;
}

.lt-re-filter-widget .lt-re-filter-field-wrapper .lt-re-filter-select,
.lt-re-filter-widget .lt-re-filter-field-wrapper .select2-container {
  width: 100% !important;
}

/* Filter widget broker validation error - hidden by default */
.lt-re-filter-widget .filter-widget-error {
  display: none;
  color: #C02324;
  font-size: 12px;
  font-weight: 500;
  line-height: 130%;
  margin-top: 4px;
  font-family: "DM Sans", sans-serif;
}

.lt-re-filter-widget .filter-widget-error:not(:empty) {
  display: block;
}

.lt-re-filter-form {
  display: flex;
  gap: 12px;
  width: 100%;
  flex-wrap: wrap;
  align-items: flex-end;
}

.lt-re-filter-select {
  flex: 1 1 0;
  min-width: 0;
  padding: 12px 16px;
  border: 1px solid #DDDDDD;
  border-radius: 8px;
  background: #FFFFFF;
  color: #222222;
  font-size: 14px;
  font-family: inherit;
  appearance: none;
  cursor: pointer;
  transition: border-color 0.3s ease;
}

.lt-re-filter-select:focus {
  outline: none;
  border-color: #5F307E;
}

.lt-re-filter-submit-btn {
  padding: 17px 24px;
  border: none;
  border-radius: 12px;
  background: #5F307E;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  flex-shrink: 0;
  font-family: inherit;
  line-height: 1;
}

.lt-re-filter-submit-btn:hover {
  background: #4D2666;
}

.lt-re-filter-submit-btn:active {
  transform: translateY(1px);
}

/* Select2 styling for filter widget */
.lt-re-filter-widget .select2-container {
  flex: 1 1 0;
  min-width: 0;
}

.lt-re-filter-widget .select2-container--default .select2-selection--single {
  height: 44px;
  border: 1px solid #E0E0E0;
  border-radius: 8px;
  background: #FFFFFF;
}

.lt-re-filter-widget .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px;
  padding-left: 16px;
  padding-right: 30px;
  color: #222222;
  font-size: 14px;
}

.lt-re-filter-widget .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999999;
}

.lt-re-filter-widget .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 42px;
  right: 12px;
}

.lt-re-filter-widget .select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #5F307E transparent transparent transparent;
  border-width: 6px 6px 0 6px;
  margin-top: -3px;
}

.lt-re-filter-widget .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #5F307E transparent;
  border-width: 0 6px 6px 6px;
  margin-top: -3px;
}

.lt-re-filter-widget .select2-dropdown {
  border: 1px solid #DDDDDD;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.lt-re-filter-widget .select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5F307E;
  color: #FFFFFF;
}

.lt-re-filter-widget .select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #F6F4F9;
  color: #5F307E;
}

.lt-re-filter-widget .select2-results__option {
  padding: 10px 16px;
  font-size: 14px;
}

/* Responsive adjustments for filter widget - Mobile (767px and below) */
@media (max-width: 767px) {
  .lt-re-filter-tabs {
    gap: 6px;
    margin-bottom: 12px;
  }
  
  .lt-re-filter-tab {
    min-width: calc(50% - 3px);
    padding: 10px 12px;
    font-size: 12px;
  }
  
  .lt-re-filter-tab:nth-child(5) {
    min-width: 100%;
  }
  
  .lt-re-filter-form {
    flex-direction: column;
    gap: 12px;
  }
  
  .lt-re-filter-select,
  .lt-re-filter-widget .select2-container {
    width: 100%;
    flex: 1 1 100%;
  }
  
  .lt-re-filter-submit-btn {
    width: 100%;
    flex: 1 1 100%;
  }
}
