/* Easy Directory: Pro Component Stylesheet (Isolated & High Specificity)
 * Copyright (C) 2011 - 2026 JoomlaX. All rights reserved.
 * License GNU General Public License version 3 or later
 */

/* Scoped Box-Sizing & Reset Fortress */
.ed-component-wrapper,
.ed-component-wrapper *,
.ed-component-wrapper *::before,
.ed-component-wrapper *::after {
  box-sizing: border-box !important;
}

.ed-component-wrapper .text-primary,
.ed-component-wrapper a.text-primary,
.ed-component-wrapper .ed-sidebar-widget-header i,
.ed-component-wrapper .ed-overview-heading i {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper {
  font-family: var(--ed-font-family, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif) !important;
  font-size: var(--ed-font-size-base, 15px) !important;
  color: var(--ed-text, #0f172a) !important;
  line-height: 1.55 !important;
  max-width: 100% !important;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: 3.5rem !important;
  position: relative;
  width: 100%;
}

/* ==========================================================================
   Theme Skins: Editorial Clean & Minimal Flat
   ========================================================================== */

/* 1. EDITORIAL SKIN: Serif headings and tighter radii. Colors come from backend tokens. */
.ed-component-wrapper.ed-skin-editorial {
  --ed-font-heading: 'Newsreader', 'Playfair Display', Georgia, 'Times New Roman', serif;
}

.ed-component-wrapper.ed-skin-editorial .ed-page-title,
.ed-component-wrapper.ed-skin-editorial .ed-card-title,
.ed-component-wrapper.ed-skin-editorial .ed-card-title a,
.ed-component-wrapper.ed-skin-editorial .ed-sidebar-title,
.ed-component-wrapper.ed-skin-editorial .ed-results-count-title,
.ed-component-wrapper.ed-skin-editorial .ed-detail-title-wrap h1,
.ed-component-wrapper.ed-skin-editorial .ed-overview-heading,
.ed-component-wrapper.ed-skin-editorial .ed-sidebar-widget-title,
.ed-component-wrapper.ed-skin-editorial .ed-similar-title,
.ed-component-wrapper.ed-skin-editorial .ed-similar-mini-title a {
  font-family: var(--ed-font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-card {
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  box-shadow: var(--ed-shadow-card, 0 1px 4px rgba(28, 25, 23, 0.05)) !important;
  border-radius: var(--ed-radius-xl, 8px) !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-card-media,
.ed-component-wrapper.ed-skin-editorial .ed-card-media img {
  border-top-left-radius: 7px !important;
  border-top-right-radius: 7px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-card:hover {
  border-color: var(--ed-border-hover, var(--ed-primary, #2563eb)) !important;
  box-shadow: var(--ed-shadow-card-hover, 0 8px 20px -4px rgba(28, 25, 23, 0.09)) !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-filter-sidebar,
.ed-component-wrapper.ed-skin-editorial .ed-detail-hero-card,
.ed-component-wrapper.ed-skin-editorial .ed-detail-panel,
.ed-component-wrapper.ed-skin-editorial .ed-sidebar-widget {
  border-color: var(--ed-border, #e2e8f0) !important;
  box-shadow: 0 1px 4px rgba(28, 25, 23, 0.04) !important;
  border-radius: var(--ed-radius-xl, 8px) !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-btn,
.ed-component-wrapper.ed-skin-editorial .ed-view-details-btn,
.ed-component-wrapper.ed-skin-editorial .ed-get-directions-btn,
.ed-component-wrapper.ed-skin-editorial .ed-mobile-filter-trigger {
  border-radius: 6px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-card-fav {
  border-radius: 6px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-badge,
.ed-component-wrapper.ed-skin-editorial .ed-card-tag,
.ed-component-wrapper.ed-skin-editorial .ed-count-badge {
  border-radius: 4px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-page-link {
  border-radius: 6px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-view-switch {
  border-radius: 6px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-view-btn {
  border-radius: 4px !important;
}

.ed-component-wrapper.ed-skin-editorial .ed-cf-chip {
  border-radius: 6px !important;
}

/* 2. MINIMAL SKIN: Flat surfaces and crisp hairlines. Colors come from backend tokens. */
.ed-component-wrapper.ed-skin-minimal {
  --ed-font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
}

.ed-component-wrapper.ed-skin-minimal .ed-card,
.ed-component-wrapper.ed-skin-minimal .ed-filter-sidebar,
.ed-component-wrapper.ed-skin-minimal .ed-filter-bar,
.ed-component-wrapper.ed-skin-minimal .ed-detail-hero-card,
.ed-component-wrapper.ed-skin-minimal .ed-detail-panel,
.ed-component-wrapper.ed-skin-minimal .ed-sidebar-widget,
.ed-component-wrapper.ed-skin-minimal .ed-amenities-features-panel {
  box-shadow: var(--ed-shadow-card, none) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-lg, 6px) !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-card-media,
.ed-component-wrapper.ed-skin-minimal .ed-card-media img {
  border-top-left-radius: 5px !important;
  border-top-right-radius: 5px !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-card:hover {
  transform: none !important;
  box-shadow: var(--ed-shadow-card-hover, none) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-btn,
.ed-component-wrapper.ed-skin-minimal .ed-view-details-btn,
.ed-component-wrapper.ed-skin-minimal .ed-get-directions-btn,
.ed-component-wrapper.ed-skin-minimal .ed-mobile-filter-trigger {
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-card-fav {
  border-radius: 4px !important;
  box-shadow: none !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-badge,
.ed-component-wrapper.ed-skin-minimal .ed-card-tag,
.ed-component-wrapper.ed-skin-minimal .ed-count-badge {
  box-shadow: none !important;
  border-radius: 3px !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-page-link {
  border-radius: 4px !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-view-switch {
  box-shadow: none !important;
  border-radius: var(--ed-radius-md, 5px) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  background: var(--ed-surface, #ffffff) !important;
  padding: 2px !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-view-btn {
  border-radius: 3px !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-view-btn.active {
  box-shadow: none !important;
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-cf-chip {
  border-radius: 4px !important;
}

.ed-component-wrapper.ed-skin-minimal .ed-keyword-search-box,
.ed-component-wrapper.ed-skin-minimal .ed-search-box,
.ed-component-wrapper.ed-skin-minimal .ed-filter-select,
.ed-component-wrapper.ed-skin-minimal .ed-sort-select,
.ed-component-wrapper.ed-skin-minimal .ed-category-search-box,
.ed-component-wrapper.ed-skin-minimal .ed-area-search-box {
  border-radius: 4px !important;
}

/* Joomla Page Heading */
.ed-component-wrapper .ed-page-header {
  margin-bottom: 1.5rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid var(--ed-border, #e2e8f0) !important;
}

.ed-component-wrapper .ed-page-header .ed-page-title {
  font-size: 1.85rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.ed-container {
  width: 100%;
  max-width: var(--ed-container-max, 1280px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--ed-space-4, 1rem);
  padding-right: var(--ed-space-4, 1rem);
}

/* Form Inputs & Filter Bar Isolation */
.ed-component-wrapper .ed-filter-bar {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 0.75rem 0.95rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.65rem !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
  margin-top: 0.5rem !important;
  margin-bottom: 1.5rem !important;
}

.ed-component-wrapper .ed-filter-main-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cf-chips-bar {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  padding-top: 0.6rem !important;
  border-top: 1px dashed var(--ed-border, #e2e8f0) !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cf-chips-label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-cf-chips-list {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
}

.ed-component-wrapper .ed-cf-chips-vertical {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cf-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  padding: 0.35rem 0.75rem !important;
  border-radius: 9999px !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  background: var(--ed-bg, #f8fafc) !important;
  color: var(--ed-text, #334155) !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
}

.ed-component-wrapper .ed-cf-chip:hover {
  background: var(--ed-surface, #ffffff) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-cf-chip.active {
  background: var(--ed-primary, #2563eb) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  box-shadow: 0 2px 6px rgba(var(--ed-primary-rgb), 0.25) !important;
}

.ed-component-wrapper .ed-cf-chip input[type="checkbox"] {
  display: none !important;
}

.ed-component-wrapper .ed-cf-chip i {
  font-size: 0.8rem !important;
  transition: transform 0.2s ease !important;
}

.ed-component-wrapper .ed-cf-chip:hover i {
  transform: scale(1.1) !important;
}

.ed-component-wrapper .ed-search-box {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-filter-bar .ed-search-box {
  min-width: 200px !important;
}

.ed-component-wrapper .ed-filter-sidebar .ed-search-box,
.ed-component-wrapper .ed-filter-sidebar-form .ed-search-box {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.ed-component-wrapper .ed-search-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--ed-text-muted, #64748b) !important;
  pointer-events: none !important;
  font-size: 0.9rem !important;
  z-index: 2;
}

div.ed-component-wrapper input[type="text"].ed-search-input,
div.ed-component-wrapper .ed-search-box input,
.ed-component-wrapper input.ed-search-input {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  line-height: 42px !important;
  padding: 0 1rem 0 2.85rem !important;
  padding-left: 2.85rem !important;
  padding-right: 1rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  background: var(--ed-bg, #f8fafc) !important;
  color: var(--ed-text, #0f172a) !important;
  font-size: 0.875rem !important;
  font-family: inherit !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

div.ed-component-wrapper input[type="text"].ed-search-input:focus,
div.ed-component-wrapper .ed-search-box input:focus,
.ed-component-wrapper input.ed-search-input:focus {
  border-color: var(--ed-primary, #2563eb) !important;
  background: var(--ed-surface, #ffffff) !important;
  box-shadow: 0 0 0 3px rgba(var(--ed-primary-rgb), 0.15) !important;
}

.ed-component-wrapper .ed-select-wrapper {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 1 auto !important;
}

.ed-component-wrapper .ed-select-prefix-icon {
  position: absolute !important;
  left: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: var(--ed-text-muted, #64748b) !important;
  pointer-events: none !important;
  font-size: 0.85rem !important;
  z-index: 2;
}

div.ed-component-wrapper select.ed-filter-select,
div.ed-component-wrapper .ed-select-wrapper select,
div.ed-component-wrapper form select,
.ed-component-wrapper select.ed-filter-select {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  line-height: 42px !important;
  min-width: 175px !important;
  padding: 0 2.4rem 0 2.85rem !important;
  padding-left: 2.85rem !important;
  padding-right: 2.4rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  background-color: var(--ed-surface, #ffffff) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  color: var(--ed-text, #0f172a) !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.95rem center !important;
  background-size: 13px !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  transition: all 0.2s ease !important;
}

div.ed-component-wrapper select.ed-filter-select:hover,
div.ed-component-wrapper select.ed-filter-select:focus,
.ed-component-wrapper select.ed-filter-select:hover,
.ed-component-wrapper select.ed-filter-select:focus {
  border-color: var(--ed-primary, #2563eb) !important;
  background-color: var(--ed-bg, #f8fafc) !important;
}

/* Button Resets & Overrides */
div.ed-component-wrapper button.ed-btn,
div.ed-component-wrapper a.ed-btn,
.ed-component-wrapper .ed-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 1.35rem !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  font-family: inherit !important;
  cursor: pointer !important;
  border: 1px solid transparent !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-decoration: none !important;
  margin: 0 !important;
  transition: all 0.2s ease !important;
}

div.ed-component-wrapper .ed-btn-primary,
.ed-component-wrapper .ed-btn-primary {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  box-shadow: 0 2px 8px rgba(var(--ed-primary-rgb), 0.25) !important;
}

div.ed-component-wrapper .ed-btn-primary:hover,
.ed-component-wrapper .ed-btn-primary:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-primary-rgb), 0.35) !important;
}

div.ed-component-wrapper .ed-btn-outline,
.ed-component-wrapper .ed-btn-outline {
  background: var(--ed-surface, #ffffff) !important;
  border-color: var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text, #0f172a) !important;
}

div.ed-component-wrapper .ed-btn-outline:hover,
.ed-component-wrapper .ed-btn-outline:hover {
  border-color: var(--ed-primary, #2563eb) !important;
  color: var(--ed-primary, #2563eb) !important;
  background: rgba(var(--ed-primary-rgb), 0.06) !important;
}

div.ed-component-wrapper .ed-near-me-btn.active,
.ed-component-wrapper .ed-near-me-btn.active {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  box-shadow: 0 2px 8px rgba(var(--ed-primary-rgb), 0.3) !important;
}

div.ed-component-wrapper .ed-near-me-group,
.ed-component-wrapper .ed-near-me-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

div.ed-component-wrapper .ed-radius-wrapper,
.ed-component-wrapper .ed-radius-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  animation: edFadeIn 0.25s ease !important;
}

div.ed-component-wrapper select.ed-radius-select,
.ed-component-wrapper select.ed-radius-select {
  padding-left: 1rem !important;
  padding-right: 2.2rem !important;
  height: 44px !important;
  min-height: 44px !important;
  font-weight: 700 !important;
  color: var(--ed-primary, #2563eb) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  background-color: rgba(var(--ed-primary-rgb), 0.04) !important;
  min-width: 95px !important;
}

@keyframes edFadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

/* User Location Radar Pulse on Map */
.ed-user-location-icon {
  background: transparent !important;
  border: none !important;
}

.ed-user-pulse-dot {
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: var(--ed-primary, #2563eb) !important;
  border: 2.5px solid #ffffff !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.35) !important;
  position: relative !important;
}

.ed-user-pulse-dot::after {
  content: '' !important;
  position: absolute !important;
  top: -6px !important;
  left: -6px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 2px solid var(--ed-primary, #2563eb) !important;
  animation: edPulse 2s infinite cubic-bezier(0.4, 0, 0.6, 1) !important;
  pointer-events: none !important;
}

@keyframes edPulse {
  0% { transform: scale(0.6); opacity: 1; }
  100% { transform: scale(2.2); opacity: 0; }
}

div.ed-component-wrapper .ed-btn-sm,
.ed-component-wrapper .ed-btn-sm {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 0.85rem !important;
  font-size: 0.8rem !important;
}

/* Results Header & View Switcher (Sticky at top of scrollable pane) */
.ed-component-wrapper .ed-results-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
  background: var(--ed-surface, #ffffff) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.5rem !important;
  margin-bottom: 1rem !important;
  padding-top: 0.35rem !important;
  padding-bottom: 0.75rem !important;
  border-bottom: 1px solid var(--ed-border, #e2e8f0) !important;
}

.ed-component-wrapper .ed-results-header-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-active-filters-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  padding-top: 2px !important;
}

.ed-component-wrapper .ed-active-filters-bar:empty {
  display: none !important;
}

.ed-component-wrapper .ed-active-filters-label {
  font-size: 0.775rem !important;
  font-weight: 700 !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: inline-flex !important;
  align-items: center !important;
  margin-right: 2px !important;
}

.ed-component-wrapper .ed-active-filter-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 3px 8px 3px 10px !important;
  background: rgba(var(--ed-primary-rgb), 0.08) !important;
  border: 1px solid rgba(var(--ed-primary-rgb), 0.2) !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  font-size: 0.775rem !important;
  font-weight: 600 !important;
  color: var(--ed-primary, #2563eb) !important;
  line-height: 1.3 !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-active-filter-chip:hover {
  background: rgba(var(--ed-primary-rgb), 0.14) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-active-filter-remove {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  color: var(--ed-primary, #2563eb) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  transition: all 0.15s ease !important;
}

.ed-component-wrapper .ed-active-filter-remove:hover {
  background: #ef4444 !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

.ed-component-wrapper .ed-active-filter-clear-all {
  background: transparent !important;
  border: none !important;
  padding: 0 4px !important;
  margin: 0 !important;
  cursor: pointer !important;
  color: var(--ed-text-muted, #64748b) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-active-filter-clear-all:hover {
  color: #ef4444 !important;
}

.ed-component-wrapper .ed-results-count {
  font-size: 1rem !important;
  color: var(--ed-text, #0f172a) !important;
  font-weight: 700 !important;
}

.ed-component-wrapper .ed-view-switch {
  display: inline-flex !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  padding: 3px !important;
  gap: 3px !important;
}

.ed-component-wrapper .ed-view-btn {
  height: 34px !important;
  width: 36px !important;
  padding: 0 !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  border: none !important;
  background: transparent !important;
  color: var(--ed-text-muted, #64748b) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.95rem !important;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-view-btn:hover:not(.active) {
  background: var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-view-btn.active {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  box-shadow: 0 2px 6px rgba(var(--ed-primary-rgb), 0.35) !important;
  transform: scale(1.04);
}

/* Smooth View Switching Transition */
@keyframes ed-view-switch-fade-in {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.ed-component-wrapper .ed-view-animating .ed-card {
  animation: ed-view-switch-fade-in 0.32s cubic-bezier(0.16, 1, 0.3, 1) both !important;
  will-change: transform, opacity;
}

.ed-component-wrapper .ed-view-animating .ed-card:nth-child(1) { animation-delay: 0.015s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(2) { animation-delay: 0.030s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(3) { animation-delay: 0.045s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(4) { animation-delay: 0.060s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(5) { animation-delay: 0.075s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(6) { animation-delay: 0.090s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(7) { animation-delay: 0.105s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(8) { animation-delay: 0.120s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(9) { animation-delay: 0.135s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(10) { animation-delay: 0.150s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(11) { animation-delay: 0.165s !important; }
.ed-component-wrapper .ed-view-animating .ed-card:nth-child(12) { animation-delay: 0.180s !important; }

/* Synchronized Split Layout with Vertical Scroll & Collapsible Drawer */
.ed-component-wrapper .ed-split-layout {
  display: grid !important;
  grid-template-columns: var(--ed-sidebar-width, 245px) minmax(300px, 360px) auto minmax(360px, 1fr) !important;
  gap: 0.85rem !important;
  height: var(--ed-split-height, 750px) !important;
  max-height: var(--ed-split-height, 750px) !important;
  align-items: stretch !important;
  margin-bottom: 3.5rem !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 1rem !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
  position: relative !important;
  transition: grid-template-columns 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-resizer:not(.ed-drawer-collapsed):not(.ed-no-sidebar) {
  grid-template-columns: var(--ed-sidebar-width, 245px) minmax(300px, 360px) minmax(360px, 1fr) !important;
  gap: 0.85rem !important;
}

.ed-component-wrapper .ed-split-layout.ed-has-resizer:not(.ed-drawer-collapsed):not(.ed-no-sidebar) {
  grid-template-columns: var(--ed-sidebar-width, 245px) minmax(300px, 360px) auto minmax(360px, 1fr) !important;
}

.ed-component-wrapper .ed-split-layout.ed-has-custom-width:not(.ed-drawer-collapsed):not(.ed-no-sidebar) {
  grid-template-columns: var(--ed-sidebar-width, 245px) var(--ed-split-custom-sidebar-width, minmax(300px, 360px)) auto minmax(360px, 1fr) !important;
  transition: none !important;
}

.ed-component-wrapper .ed-split-layout .ed-filter-sidebar {
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  position: relative !important;
  top: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 1.1rem !important;
  box-sizing: border-box !important;
  background: var(--ed-surface, #ffffff) !important;
}

.ed-component-wrapper .ed-split-layout.ed-resizing,
.ed-component-wrapper .ed-split-layout.ed-resizing * {
  transition: none !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-map {
  grid-template-columns: var(--ed-sidebar-width, 245px) 1fr !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-sidebar {
  grid-template-columns: var(--ed-sidebar-width, 245px) 1fr !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-sidebar .ed-split-map-col {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-filters:not(.ed-no-sidebar):not(.ed-no-map).ed-has-resizer {
  grid-template-columns: minmax(300px, 360px) auto minmax(360px, 1fr) !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-filters:not(.ed-no-sidebar):not(.ed-no-map).ed-no-resizer {
  grid-template-columns: minmax(300px, 360px) minmax(360px, 1fr) !important;
}

.ed-component-wrapper .ed-split-layout.ed-no-filters.ed-no-map,
.ed-component-wrapper .ed-split-layout.ed-no-filters.ed-no-sidebar,
.ed-component-wrapper .ed-split-layout.ed-drawer-collapsed.ed-no-filters {
  grid-template-columns: 1fr !important;
}

.ed-component-wrapper .ed-split-layout.ed-drawer-collapsed {
  grid-template-columns: var(--ed-sidebar-width, 245px) 1fr !important;
  gap: 0.85rem !important;
}

.ed-component-wrapper .ed-split-layout.ed-drawer-collapsed .ed-split-resizer {
  display: none !important;
}

.ed-component-wrapper .ed-split-layout.ed-drawer-collapsed .ed-split-content {
  display: none !important;
}

.ed-component-wrapper .ed-split-layout.ed-drawer-collapsed .ed-split-map-col {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

.ed-component-wrapper .ed-split-layout.ed-drawer-collapsed .ed-map-drawer-btn {
  display: inline-flex !important;
}

/* Fullscreen Mode */
.ed-component-wrapper .ed-split-layout.ed-fullscreen-mode {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  z-index: 999999 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: 1rem !important;
  background: var(--ed-surface, #ffffff) !important;
  box-shadow: none !important;
}

/* Draggable Split Resizer */
.ed-component-wrapper .ed-split-resizer {
  width: 16px !important;
  min-width: 16px !important;
  max-width: 16px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: col-resize !important;
  user-select: none !important;
  touch-action: none !important;
  position: relative !important;
  z-index: 15 !important;
  padding: 0 !important;
  margin: 0 -2px !important;
  transition: background 0.2s ease !important;
}

.ed-component-wrapper .ed-split-resizer .ed-resizer-handle,
.ed-component-wrapper .ed-split-resizer .ed-resizer-line {
  width: 4px !important;
  height: 48px !important;
  border-radius: 9999px !important;
  background: var(--ed-border, #cbd5e1) !important;
  transition: all 0.2s ease !important;
  pointer-events: none !important;
}

.ed-component-wrapper .ed-split-resizer:hover .ed-resizer-handle,
.ed-component-wrapper .ed-split-resizer:hover .ed-resizer-line,
.ed-component-wrapper .ed-split-resizer.active .ed-resizer-handle,
.ed-component-wrapper .ed-split-resizer.active .ed-resizer-line {
  background: var(--ed-primary, #2563eb) !important;
  height: 80px !important;
  width: 5px !important;
  box-shadow: 0 0 10px rgba(var(--ed-primary-rgb), 0.45) !important;
}

body.ed-resizing,
body.ed-resizing * {
  cursor: col-resize !important;
  user-select: none !important;
}

body.ed-resizing .ed-split-layout,
body.ed-resizing .ed-split-content,
body.ed-resizing .ed-split-map-col,
body.ed-resizing .ed-split-resizer,
body.ed-resizing .ed-map-container {
  transition: none !important;
}

body.ed-resizing #ed-interactive-map,
body.ed-resizing iframe {
  pointer-events: none !important;
}

.ed-component-wrapper .ed-split-content {
  height: 100% !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 0.65rem !important;
  padding-bottom: 2rem !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--ed-border-hover, #cbd5e1) transparent !important;
  transition: opacity 0.25s ease, width 0.35s ease !important;
}

.ed-component-wrapper .ed-split-content::-webkit-scrollbar {
  width: 6px !important;
}

.ed-component-wrapper .ed-split-content::-webkit-scrollbar-track {
  background: transparent !important;
  border-radius: 9999px !important;
}

.ed-component-wrapper .ed-split-content::-webkit-scrollbar-thumb {
  background: var(--ed-border-hover, #cbd5e1) !important;
  border-radius: 9999px !important;
}

.ed-component-wrapper .ed-split-content::-webkit-scrollbar-thumb:hover {
  background: var(--ed-text-light, #94a3b8) !important;
}

.ed-component-wrapper .ed-split-map-col {
  height: 100% !important;
  max-height: 100% !important;
  position: relative !important;
  top: 0 !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
}

.ed-component-wrapper .ed-map-container,
.ed-component-wrapper .ed-split-map {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}

/* Floating Map Control Buttons */
.ed-component-wrapper .ed-map-floating-controls {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 1000 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

div.ed-component-wrapper button.ed-map-control-btn,
div.ed-component-wrapper button.ed-map-drawer-toggle-btn,
.ed-component-wrapper .ed-map-control-btn,
.ed-component-wrapper .ed-map-drawer-toggle-btn,
.ed-component-wrapper .ed-map-near-me-btn,
.ed-component-wrapper .ed-map-fullscreen-btn {
  width: 38px !important;
  height: 38px !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-icon, 50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ed-text, #0f172a) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  font-size: 0.9rem !important;
}

div.ed-component-wrapper button.ed-map-drawer-toggle-btn,
.ed-component-wrapper .ed-map-drawer-toggle-btn {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 1000 !important;
}

.ed-component-wrapper .ed-map-control-btn:hover,
.ed-component-wrapper .ed-map-drawer-toggle-btn:hover,
.ed-component-wrapper .ed-map-near-me-btn:hover,
.ed-component-wrapper .ed-map-fullscreen-btn:hover {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  transform: scale(1.08) !important;
}

/* Map Left Bottom Corner: Near Me Geolocation & Radius Search Widget */
.ed-component-wrapper .ed-map-near-me-widget {
  position: absolute !important;
  bottom: 18px !important;
  left: 14px !important;
  z-index: 1000 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

div.ed-component-wrapper button.ed-map-near-me-trigger-btn,
.ed-component-wrapper .ed-map-near-me-trigger-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  height: 38px !important;
  padding: 0 14px !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  color: var(--ed-text, #0f172a) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-map-near-me-trigger-btn:hover {
  background: var(--ed-bg, #f8fafc) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  color: var(--ed-primary, #2563eb) !important;
  transform: translateY(-1px) !important;
}

.ed-component-wrapper .ed-map-near-me-trigger-btn.active {
  background: var(--ed-primary, #2563eb) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  box-shadow: 0 4px 14px rgba(var(--ed-primary-rgb), 0.35) !important;
}

.ed-component-wrapper .ed-map-radius-popup {
  position: absolute !important;
  bottom: 46px !important;
  left: 0 !important;
  width: 250px !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18) !important;
  animation: edFadeSlideUp 0.2s ease-out !important;
}

@keyframes edFadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ed-component-wrapper .ed-split-map .leaflet-top.leaflet-left {
  top: 56px !important;
  left: 4px !important;
}

/* Leaflet Attribution Hide */
.leaflet-control-attribution,
.ed-component-wrapper .leaflet-control-attribution {
  display: none !important;
}

/* Feed List & Grid Switch Modes */
.ed-component-wrapper .ed-list-feed {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cards-grid-2col {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.25rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-grid.ed-grid-cols-1 {
  grid-template-columns: 1fr !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-grid.ed-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Horizontal Cards (List Mode) */
.ed-component-wrapper .ed-card-horizontal {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  transition: all 0.25s ease !important;
  position: relative !important;
}

.ed-component-wrapper .ed-card-horizontal:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-card-horizontal.ed-card-highlighted {
  border-color: var(--ed-primary, #2563eb) !important;
  box-shadow: 0 0 0 3px rgba(var(--ed-primary-rgb), 0.25) !important;
  transform: scale(1.01) !important;
}

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

.ed-component-wrapper .ed-card-media,
.ed-component-wrapper .ed-card .ed-card-media,
.ed-component-wrapper .ed-card-horizontal .ed-card-media,
.ed-component-wrapper .ed-split-content .ed-card .ed-card-media,
.ed-component-wrapper .ed-cards-grid-list .ed-card-media,
.ed-component-wrapper .ed-similar-mini-media,
.ed-component-wrapper .ed-popup-media,
.ed-component-wrapper .ed-related-article-img-wrap {
  position: relative !important;
  overflow: hidden !important;
  background: linear-gradient(90deg, var(--ed-surface-alt, #f1f5f9) 25%, var(--ed-border, #e2e8f0) 50%, var(--ed-surface-alt, #f1f5f9) 75%) !important;
  background-size: 200% 100% !important;
  animation: ed-skeleton-shimmer 2s infinite ease-in-out !important;
}

.ed-component-wrapper .ed-card-horizontal .ed-card-media {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  align-self: stretch !important;
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

.ed-component-wrapper .ed-card-horizontal .ed-card-media img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease, opacity 0.3s ease !important;
}

.ed-component-wrapper .ed-card-horizontal:hover .ed-card-media img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-card-horizontal .ed-card-body {
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* When List switches to Grid in Split View (Strict 50% Columns) */
.ed-component-wrapper .ed-list-feed.ed-view-mode-grid .ed-card-horizontal {
  flex-direction: column !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-grid .ed-card-horizontal .ed-card-media {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-grid .ed-card-horizontal .ed-card-desc {
  display: none !important;
}

/* Vertical Cards (.ed-card) */
.ed-component-wrapper .ed-card {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: var(--ed-shadow-card, 0 2px 8px rgba(0, 0, 0, 0.04)) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all 0.25s ease !important;
  position: relative !important;
}

.ed-component-wrapper .ed-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--ed-shadow-card-hover, 0 8px 20px rgba(0, 0, 0, 0.08)) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-card .ed-card-media {
  width: 100% !important;
  height: 160px !important;
  min-height: 160px !important;
  max-height: 160px !important;
  position: relative !important;
  overflow: hidden !important;
}

.ed-component-wrapper .ed-card .ed-card-media img,
.ed-component-wrapper .ed-card-media img,
.ed-component-wrapper .ed-split-content .ed-card .ed-card-media img,
.ed-component-wrapper .ed-cards-grid-list .ed-card-media img,
.ed-component-wrapper .ed-similar-mini-media img,
.ed-component-wrapper .ed-popup-media img,
.ed-component-wrapper .ed-related-article-img-wrap img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease, opacity 0.3s ease !important;
}

.ed-component-wrapper .ed-card-media img[src=""],
.ed-component-wrapper .ed-card-media img:not([src]),
.ed-component-wrapper .ed-card-media img.ed-img-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
}

.ed-component-wrapper .ed-card:hover .ed-card-media img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-card .ed-card-body {
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

/* Badges & Favs */
.ed-component-wrapper .ed-card-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
}

.ed-component-wrapper .ed-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 0.25rem 0.65rem !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

.ed-component-wrapper .ed-badge-top-pick {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

.ed-component-wrapper .ed-badge-featured {
  background: #10b981 !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

.ed-component-wrapper .ed-badge-blue { background: var(--ed-primary, #2563eb) !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-emerald,
.ed-component-wrapper .ed-badge-green { background: #10b981 !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-amber { background: #f59e0b !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-rose,
.ed-component-wrapper .ed-badge-red { background: #ef4444 !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-purple { background: #8b5cf6 !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-indigo { background: #6366f1 !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-cyan { background: #06b6d4 !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-orange { background: #f97316 !important; color: var(--ed-on-primary, #ffffff) !important; }
.ed-component-wrapper .ed-badge-dark { background: #1e293b !important; color: var(--ed-on-primary, #ffffff) !important; }

.ed-component-wrapper .ed-card-fav {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: var(--ed-radius-icon, 50%) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  cursor: pointer !important;
  color: var(--ed-text-muted, #64748b) !important;
  transition: all 0.2s ease !important;
  z-index: 2 !important;
  font-size: 0.9rem !important;
  padding: 0 !important;
}

.ed-component-wrapper .ed-card-fav.active {
  color: #ef4444 !important;
}

.ed-component-wrapper .ed-card-fav:hover {
  background: var(--ed-surface, #ffffff) !important;
  transform: scale(1.1) !important;
}

.ed-component-wrapper .ed-reset-btn {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.05rem !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-reset-btn:hover {
  background: rgba(239, 68, 68, 0.08) !important;
  border-color: #ef4444 !important;
  color: #ef4444 !important;
  transform: rotate(-45deg) !important;
}

.ed-component-wrapper .ed-card-header {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin-bottom: 4px !important;
}

.ed-component-wrapper .ed-card-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  display: block !important;
}

.ed-component-wrapper .ed-card-title a {
  display: inline !important;
  color: var(--ed-text, #0f172a) !important;
  text-decoration: none !important;
}

.ed-component-wrapper .ed-card-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-card-price-wrap {
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  line-height: 1 !important;
}

.ed-component-wrapper .ed-price-indicator {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
  letter-spacing: 1.5px !important;
}

.ed-component-wrapper .ed-price-indicator .ed-price-active {
  color: var(--ed-primary, #2563eb) !important;
  font-weight: 700 !important;
}

.ed-component-wrapper .ed-price-indicator .ed-price-inactive {
  color: var(--ed-text-muted, #94a3b8) !important;
  opacity: 0.45 !important;
  font-weight: 400 !important;
}

.ed-component-wrapper .ed-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 0.35rem 0.65rem !important;
  font-size: 0.8rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  flex-wrap: wrap !important;
}

.ed-component-wrapper .ed-meta-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.ed-component-wrapper .ed-meta-phone .ed-card-phone {
  color: var(--ed-text-muted, #64748b) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-weight: 600 !important;
  font-size: 0.8rem !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-meta-phone .ed-card-phone:hover {
  color: var(--ed-primary, #2563eb) !important;
  text-decoration: underline !important;
}

/* Card Footer & Action Buttons (Clean 2-Row Stacked Layout) */
.ed-component-wrapper .ed-card-footer {
  margin-top: auto !important;
  padding-top: 0.65rem !important;
  border-top: 1px solid var(--ed-border, #e2e8f0) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ed-component-wrapper .ed-card-phone-wrap {
  font-size: 0.825rem !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.ed-component-wrapper .ed-card-phone {
  color: var(--ed-text-muted, #64748b) !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-weight: 600 !important;
  font-size: 0.825rem !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-card-phone:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-card-btn {
  width: 100% !important;
  min-width: 100% !important;
  height: 36px !important;
  padding: 0 0.85rem !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border-radius: var(--ed-radius, 8px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-horizontal .ed-card-footer,
.ed-component-wrapper .ed-list-feed.ed-view-mode-grid .ed-card-horizontal .ed-card-footer,
.ed-component-wrapper .ed-card .ed-card-footer {
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 7px !important;
  padding-top: 0.65rem !important;
  margin-top: auto !important;
}

.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-horizontal .ed-card-btn,
.ed-component-wrapper .ed-list-feed.ed-view-mode-grid .ed-card-horizontal .ed-card-btn,
.ed-component-wrapper .ed-card .ed-card-btn {
  width: 100% !important;
  min-width: 100% !important;
  height: 36px !important;
  justify-content: center !important;
}

/* AJAX Pagination: Load More & Page Numbers */
.ed-component-wrapper .ed-pagination-ajax {
  margin-top: 1.5rem !important;
  margin-bottom: 0.5rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-load-more-btn {
  height: 44px !important;
  padding: 0 1.75rem !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1.5px solid var(--ed-primary, #2563eb) !important;
  color: var(--ed-primary, #2563eb) !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.ed-component-wrapper .ed-load-more-btn:hover {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-primary-rgb), 0.25) !important;
}

.ed-component-wrapper .ed-page-list {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-page-item {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ed-component-wrapper .ed-page-link {
  width: 38px !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  background: var(--ed-surface, #ffffff) !important;
  color: var(--ed-text, #0f172a) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.ed-component-wrapper .ed-page-item.active .ed-page-link {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-primary-rgb), 0.35) !important;
}

.ed-component-wrapper .ed-page-item:not(.disabled):not(.active) .ed-page-link:hover {
  background: var(--ed-bg, #f8fafc) !important;
  border-color: var(--ed-text-light, #94a3b8) !important;
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-page-item.disabled .ed-page-link {
  opacity: 0.35 !important;
  cursor: not-allowed !important;
  background: var(--ed-bg, #f8fafc) !important;
  border-color: var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text-light, #94a3b8) !important;
}

.ed-component-wrapper .ed-page-first .ed-page-link,
.ed-component-wrapper .ed-page-last .ed-page-link,
.ed-component-wrapper .ed-page-prev .ed-page-link,
.ed-component-wrapper .ed-page-next .ed-page-link {
  font-size: 0.82rem !important;
  line-height: 1 !important;
}

/* Google Maps & Leaflet Modern Card Popups */
.gm-style .gm-style-iw.gm-style-iw-c,
.ed-component-wrapper .gm-style .gm-style-iw.gm-style-iw-c {
  padding: 0 !important;
  border-radius: 16px !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  box-shadow: 0 16px 36px -6px rgba(var(--ed-text-rgb), 0.22), 0 4px 12px rgba(var(--ed-text-rgb), 0.08) !important;
  background: var(--ed-surface, #ffffff) !important;
  width: 240px !important;
  max-width: 240px !important;
  min-width: 240px !important;
  overflow: hidden !important;
  outline: none !important;
}

.gm-style .gm-style-iw.gm-style-iw-c:focus,
.gm-style .gm-style-iw.gm-style-iw-c:focus-visible,
.gm-style .gm-style-iw.gm-style-iw-c:focus-within {
  outline: none !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
}

.gm-style .gm-style-iw-ch,
.ed-component-wrapper .gm-style .gm-style-iw-ch {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.gm-style .gm-style-iw-chr,
.ed-component-wrapper .gm-style .gm-style-iw-chr {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 30 !important;
  pointer-events: auto !important;
}

.gm-style .gm-style-iw-d,
.ed-component-wrapper .gm-style .gm-style-iw-d {
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  max-height: none !important;
  width: 100% !important;
}

.gm-style .gm-style-iw-d > div,
.ed-component-wrapper .gm-style .gm-style-iw-d > div {
  overflow: hidden !important;
  width: 100% !important;
}

.gm-style .gm-style-iw-tc::after,
.ed-component-wrapper .gm-style .gm-style-iw-tc::after {
  background: var(--ed-surface, #ffffff) !important;
  box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.06) !important;
}

.gm-style .gm-style-iw-chr button,
.gm-style button.gm-ui-hover-effect,
.ed-component-wrapper .gm-style button.gm-ui-hover-effect {
  position: relative !important;
  top: 0 !important;
  right: 0 !important;
  width: 26px !important;
  height: 26px !important;
  background: rgba(var(--ed-text-rgb), 0.65) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
  z-index: 30 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.gm-style .gm-style-iw-chr button:hover,
.gm-style button.gm-ui-hover-effect:hover,
.ed-component-wrapper .gm-style button.gm-ui-hover-effect:hover {
  background: rgba(var(--ed-text-rgb), 0.9) !important;
  transform: scale(1.08) !important;
}

.gm-style .gm-style-iw-chr button > span,
.gm-style button.gm-ui-hover-effect > span,
.ed-component-wrapper .gm-style button.gm-ui-hover-effect > span {
  margin: 0 !important;
  width: 14px !important;
  height: 14px !important;
  filter: invert(1) brightness(2) !important;
}

.leaflet-popup-content-wrapper,
.ed-component-wrapper .leaflet-popup-content-wrapper {
  padding: 0 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 16px 36px -6px rgba(var(--ed-text-rgb), 0.22), 0 4px 12px rgba(var(--ed-text-rgb), 0.08) !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
}

.leaflet-popup-content,
.ed-component-wrapper .leaflet-popup-content {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  width: 240px !important;
}

.leaflet-popup-close-button,
.ed-component-wrapper .leaflet-popup-close-button {
  top: 8px !important;
  right: 8px !important;
  width: 26px !important;
  height: 26px !important;
  background: rgba(var(--ed-text-rgb), 0.65) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25) !important;
  z-index: 20 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.leaflet-popup-close-button:hover,
.ed-component-wrapper .leaflet-popup-close-button:hover {
  background: rgba(var(--ed-text-rgb), 0.9) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: scale(1.08) !important;
}

.leaflet-popup-tip,
.ed-component-wrapper .leaflet-popup-tip {
  background: var(--ed-surface, #ffffff) !important;
  box-shadow: 0 4px 10px rgba(var(--ed-text-rgb), 0.12) !important;
}

.ed-map-infowindow {
  width: 240px !important;
  font-family: var(--ed-font-family, sans-serif) !important;
  background: var(--ed-surface, #ffffff) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.ed-map-infowindow .ed-popup-media {
  position: relative !important;
  width: 100% !important;
  height: 130px !important;
  overflow: hidden !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
}

.ed-map-infowindow .ed-popup-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.ed-map-infowindow:hover .ed-popup-media img {
  transform: scale(1.04) !important;
}

.ed-map-infowindow .ed-popup-media .ed-card-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 5 !important;
  font-size: 10px !important;
  padding: 3px 8px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}

.ed-map-infowindow .ed-popup-body {
  padding: 11px 13px 13px 13px !important;
}

.ed-map-infowindow .ed-popup-title {
  margin: 0 0 3px 0 !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.ed-map-infowindow .ed-popup-title a {
  color: var(--ed-text, #0f172a) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.ed-map-infowindow .ed-popup-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-map-infowindow .ed-popup-subtitle {
  font-size: 11.5px !important;
  color: var(--ed-text-muted, #64748b) !important;
  margin-bottom: 4px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.ed-map-infowindow .ed-card-submeta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  font-size: 11px !important;
  color: var(--ed-text-muted, #64748b) !important;
}

.ed-map-infowindow .ed-popup-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 7px 12px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border: none !important;
  transition: all 0.2s ease !important;
}

.ed-map-infowindow .ed-popup-btn:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(var(--ed-primary-rgb), 0.25) !important;
}

/* Faceted Grid Sidebar Layout */
.ed-component-wrapper .ed-grid-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, var(--ed-sidebar-width, 245px)) minmax(0, 1fr) !important;
  gap: 1.25rem !important;
  align-items: start !important;
  margin-bottom: 3.5rem !important;
}

.ed-component-wrapper .ed-grid-sidebar-layout.ed-no-filters {
  grid-template-columns: minmax(0, 1fr) !important;
}

.ed-component-wrapper .ed-filter-sidebar {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 1.25rem !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.ed-component-wrapper .ed-filter-sidebar-form,
.ed-component-wrapper .ed-filter-sidebar .mb-3 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-grid-sidebar-layout .ed-filter-sidebar.ed-sidebar-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 90px !important;
  max-height: calc(100vh - 110px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: thin !important;
}

.ed-component-wrapper .ed-grid-sidebar-layout .ed-filter-sidebar:not(.ed-sidebar-sticky) {
  position: relative !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.ed-component-wrapper .ed-filter-sidebar::-webkit-scrollbar {
  width: 5px !important;
}

.ed-component-wrapper .ed-filter-sidebar::-webkit-scrollbar-track {
  background: transparent !important;
}

.ed-component-wrapper .ed-filter-sidebar::-webkit-scrollbar-thumb {
  background: var(--ed-border-hover, #cbd5e1) !important;
  border-radius: 4px !important;
}

.ed-component-wrapper .ed-filter-sidebar::-webkit-scrollbar-thumb:hover {
  background: var(--ed-text-light, #94a3b8) !important;
}

.ed-component-wrapper .ed-mobile-filter-trigger {
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  background: var(--ed-surface, #ffffff) !important;
  color: var(--ed-text, #0f172a) !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
}

@media (min-width: 992px) {
  div.ed-component-wrapper button.ed-mobile-filter-trigger,
  div.ed-component-wrapper .ed-mobile-filter-trigger,
  .ed-component-wrapper .ed-mobile-filter-trigger,
  div.ed-component-wrapper button.ed-filter-close-btn,
  .ed-component-wrapper .ed-filter-close-btn {
    display: none !important;
  }
}

.ed-component-wrapper .ed-filter-close-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-filter-close-btn:hover {
  background: var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-mobile-filter-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(var(--ed-text-rgb), 0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 1040 !important;
}

.ed-component-wrapper .ed-clear-all-link {
  color: var(--ed-primary, #2563eb) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease !important;
  cursor: pointer !important;
}

.ed-component-wrapper .ed-clear-all-link:hover {
  opacity: 0.8 !important;
  text-decoration: underline !important;
}

.ed-component-wrapper .ed-filter-group {
  border-bottom: 1px solid var(--ed-surface-alt, #f1f5f9) !important;
  padding-bottom: 0.85rem !important;
  margin-bottom: 0.85rem !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-filter-group:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.ed-component-wrapper .ed-filter-group-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  user-select: none !important;
  margin-bottom: 0.75rem !important;
  padding: 2px 0 !important;
}

.ed-component-wrapper .ed-filter-group-title {
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-accordion-arrow {
  font-size: 0.75rem !important;
  color: var(--ed-text-light, #94a3b8) !important;
  transition: transform 0.25s ease, color 0.2s ease !important;
}

.ed-component-wrapper .ed-filter-group-header:hover .ed-accordion-arrow {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-filter-group.collapsed {
  padding-bottom: 0.4rem !important;
  margin-bottom: 0.4rem !important;
}

.ed-component-wrapper .ed-filter-group.collapsed .ed-filter-group-header {
  margin-bottom: 0 !important;
}

.ed-component-wrapper .ed-filter-group.collapsed .ed-accordion-arrow {
  transform: rotate(180deg) !important;
}

.ed-component-wrapper .ed-filter-group.collapsed .ed-filter-group-body {
  display: none !important;
}

.ed-component-wrapper .ed-filter-checkboxes-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  max-height: 220px !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}

.ed-component-wrapper .ed-filter-checkbox-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 4px 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  margin: 0 !important;
  transition: color 0.15s ease !important;
}

.ed-component-wrapper .ed-filter-checkbox-item input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  border-radius: 4px !important;
  border: 1.5px solid var(--ed-border-hover, #cbd5e1) !important;
  accent-color: var(--ed-primary, #2563eb) !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-checkbox-label {
  flex: 1 !important;
  margin-left: 8px !important;
  font-size: 0.85rem !important;
  color: var(--ed-text-body, #334155) !important;
  font-weight: 500 !important;
}

.ed-component-wrapper .ed-filter-checkbox-item:hover .ed-checkbox-label {
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-count-badge {
  font-size: 0.775rem !important;
  color: var(--ed-text-light, #94a3b8) !important;
  font-weight: 500 !important;
  margin-left: 6px !important;
}

/* Category & Area Search Input inside sidebar */
.ed-component-wrapper .ed-category-search-wrap,
.ed-component-wrapper .ed-category-search-box,
.ed-component-wrapper .ed-area-search-wrap,
.ed-component-wrapper .ed-area-search-box {
  display: flex !important;
  align-items: center !important;
  background: var(--ed-bg, #f8fafc) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: 8px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 10px !important;
  margin-bottom: 8px !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-category-search-wrap:focus-within,
.ed-component-wrapper .ed-category-search-box:focus-within,
.ed-component-wrapper .ed-area-search-wrap:focus-within,
.ed-component-wrapper .ed-area-search-box:focus-within {
  border-color: var(--ed-primary, #2563eb) !important;
  box-shadow: 0 0 0 2px rgba(var(--ed-primary-rgb), 0.15) !important;
}

.ed-component-wrapper .ed-category-search-icon,
.ed-component-wrapper .ed-area-search-icon {
  color: var(--ed-text-light, #94a3b8) !important;
  font-size: 0.8rem !important;
  margin-right: 6px !important;
  flex-shrink: 0 !important;
}

.ed-component-wrapper input.ed-category-search-input,
.ed-component-wrapper input.ed-area-search-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  height: 28px !important;
  min-height: 0 !important;
  max-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.82rem !important;
  width: 100% !important;
  outline: none !important;
  color: var(--ed-text, #0f172a) !important;
  line-height: normal !important;
}

/* Header Near Me Button */
.ed-component-wrapper .ed-near-me-header-btn {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border: none !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 7px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  line-height: 1.2 !important;
}

.ed-component-wrapper .ed-near-me-header-btn:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-primary-rgb), 0.3) !important;
}

.ed-component-wrapper .ed-near-me-header-btn.active {
  background: #10b981 !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

/* Price Range Segmented Pills */
.ed-component-wrapper .ed-price-segmented-bar {
  display: flex !important;
  gap: 2px !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  padding: 3px !important;
  border-radius: 8px !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ed-component-wrapper .ed-price-pill-btn {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  border: none !important;
  background: transparent !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  color: var(--ed-text-muted, #64748b) !important;
  padding: 5px 2px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  text-align: center !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

.ed-component-wrapper .ed-price-pill-btn[data-price="4"] {
  font-size: 0.7rem !important;
  letter-spacing: -0.5px !important;
}

.ed-component-wrapper .ed-price-pill-btn:hover:not(.active) {
  background: var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-price-pill-btn.active {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  box-shadow: 0 2px 6px rgba(var(--ed-primary-rgb), 0.3) !important;
}

.ed-component-wrapper .ed-grid-main {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 1.25rem !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
  min-width: 0 !important;
  container-type: inline-size;
  container-name: ed-grid-main;
}

.ed-component-wrapper .ed-sidebar-title {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-results-count-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}

.ed-component-wrapper .ed-results-count-title strong {
  font-weight: 800 !important;
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-results-count-subtitle {
  font-size: 0.78rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  margin-top: 2px !important;
  font-weight: 500 !important;
}

.ed-component-wrapper .ed-cards-grid-3col {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 1.25rem !important;
}

.ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-1 {
  grid-template-columns: 1fr !important;
}

.ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

@media (max-width: 1399.98px) {
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1199.98px) {
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991.98px) {
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-3,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575.98px) {
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-2,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-3,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5,
  .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 992px) {
  @container ed-grid-main (max-width: 860px) {
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
      grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
  }

  @container ed-grid-main (max-width: 640px) {
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-3,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
  }

  @container ed-grid-main (max-width: 420px) {
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-2,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-3,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-4,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-5,
    .ed-component-wrapper .ed-cards-grid-3col.ed-grid-cols-6 {
      grid-template-columns: 1fr !important;
    }
  }
}

.ed-component-wrapper .ed-badge-inline {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
}

.ed-component-wrapper .ed-cards-grid-3col .ed-badge-inline {
  display: none !important;
}

.ed-component-wrapper .ed-cards-grid-3col .ed-card-title-badge {
  display: none !important;
}

.ed-component-wrapper .ed-cards-grid-3col .ed-card-list-actions {
  display: none !important;
}

.ed-component-wrapper .ed-cards-grid-3col .ed-card-media-badge {
  display: inline-flex !important;
}

/* 1:1 List View Design */
.ed-component-wrapper .ed-cards-grid-list,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list,
.ed-component-wrapper .ed-split-content .ed-list-feed:not(.ed-view-mode-grid) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.15rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-badge-inline,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-badge-inline {
  display: inline-flex !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  min-height: 165px !important;
  max-height: none !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: var(--ed-shadow-card, 0 1px 3px rgba(var(--ed-text-rgb), 0.04)) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card:hover,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--ed-shadow-card-hover, 0 8px 24px rgba(var(--ed-text-rgb), 0.08)) !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-media,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-media {
  flex: 0 0 200px !important;
  width: 200px !important;
  min-width: 200px !important;
  max-height: none !important;
  height: auto !important;
  aspect-ratio: auto !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-media img,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card:hover .ed-card-media img,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card:hover .ed-card-media img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-media-badge,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-media-badge {
  display: none !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-title-row,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-title-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 4px !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-title,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-title {
  display: block !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--ed-text, #0f172a) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-title a,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-title a {
  display: inline !important;
  text-decoration: none !important;
  color: var(--ed-text, #0f172a) !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-title a:hover,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-title-badge,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-title-badge {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-title-badge .ed-badge,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-title-badge .ed-badge {
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.02em !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-body,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 1rem 1.25rem !important;
  gap: 1rem !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-main-info,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-main-info {
  flex: 1 1 0% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-subtitle,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-subtitle {
  display: none !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-submeta,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-submeta {
  font-size: 0.8rem !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-submeta-cat,
.ed-component-wrapper .ed-cards-grid-list .ed-submeta-area,
.ed-component-wrapper .ed-cards-grid-list .ed-submeta-price,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-submeta-cat,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-submeta-area,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-submeta-price {
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-tags,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 8px !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-list-actions,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-list-actions {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-end !important;
  text-align: right !important;
  min-width: auto !important;
  width: auto !important;
  height: auto !important;
  border-left: 1px dashed var(--ed-surface-alt, #f1f5f9) !important;
  padding-left: 1rem !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-contact-info,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-contact-info {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 8px !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-contact-row,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-contact-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  font-size: 0.835rem !important;
  color: var(--ed-text-body, #334155) !important;
  font-weight: 500 !important;
  gap: 6px !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-contact-row a,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-contact-row a {
  color: var(--ed-text-body, #334155) !important;
  text-decoration: none !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-contact-row a:hover,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-contact-row a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-card-actions-row,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-actions-row {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-view-details-btn,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-view-details-btn {
  border: 1px solid var(--ed-border-hover, #cbd5e1) !important;
  color: var(--ed-text-body, #334155) !important;
  background: var(--ed-surface, #ffffff) !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  font-weight: 600 !important;
  font-size: 0.825rem !important;
  padding: 6px 14px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-view-details-btn:hover,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-view-details-btn:hover {
  background: var(--ed-bg, #f8fafc) !important;
  border-color: var(--ed-text-light, #94a3b8) !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-get-directions-btn,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-get-directions-btn {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border: 1px solid var(--ed-primary, #2563eb) !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  font-weight: 600 !important;
  font-size: 0.825rem !important;
  padding: 6px 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-cards-grid-list .ed-get-directions-btn:hover,
.ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-get-directions-btn:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  border-color: var(--ed-primary-hover, #1d4ed8) !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

/* Split View specific card styling (Matches Modern Places Guide Design) */
.ed-component-wrapper .ed-split-content .ed-list-feed {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-split-content .ed-card {
  display: flex !important;
  flex-direction: column !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: var(--ed-shadow-card, 0 1px 3px rgba(var(--ed-text-rgb), 0.04)) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  position: relative !important;
  min-height: auto !important;
}

.ed-component-wrapper .ed-split-content .ed-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--ed-shadow-card-hover, 0 8px 24px rgba(var(--ed-text-rgb), 0.08)) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-media {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 165px !important;
  min-height: 165px !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.ed-component-wrapper .ed-split-content .ed-card:hover .ed-card-media img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-media-badge {
  display: inline-flex !important;
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-fav {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 2 !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-body {
  padding: 0.95rem 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-title-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
  margin-bottom: 2px !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-title {
  display: block !important;
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--ed-text, #0f172a) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-title a {
  display: inline !important;
  text-decoration: none !important;
  color: var(--ed-text, #0f172a) !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-badge-inline {
  display: none !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-subtitle {
  display: block !important;
  font-size: 0.825rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  margin-top: 1px !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-submeta {
  font-size: 0.8rem !important;
  margin-top: 2px !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 6px !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-contact-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;
  margin-top: 6px !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-contact-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  font-size: 0.8rem !important;
  color: var(--ed-text-body, #334155) !important;
  font-weight: 500 !important;
  gap: 6px !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-contact-row a {
  color: var(--ed-text-body, #334155) !important;
  text-decoration: none !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-contact-row a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-list-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  border-left: none !important;
  border-top: 1px dashed var(--ed-surface-alt, #f1f5f9) !important;
  padding-left: 0 !important;
  padding-top: 0.65rem !important;
  margin-top: 0.4rem !important;
  width: 100% !important;
  text-align: left !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-card-actions-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-view-details-btn,
.ed-component-wrapper .ed-split-content .ed-card .ed-get-directions-btn {
  flex: 1 1 0% !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-view-details-btn {
  border: 1px solid var(--ed-border-hover, #cbd5e1) !important;
  color: var(--ed-text-body, #334155) !important;
  background: var(--ed-surface, #ffffff) !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  padding: 5px 12px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-view-details-btn:hover {
  background: var(--ed-bg, #f8fafc) !important;
  border-color: var(--ed-text-light, #94a3b8) !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-get-directions-btn {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border: 1px solid var(--ed-primary, #2563eb) !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  padding: 5px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-split-content .ed-card .ed-get-directions-btn:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  border-color: var(--ed-primary-hover, #1d4ed8) !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

/* Single Column Card Feed in Split Content */
.ed-component-wrapper .ed-split-content .ed-list-feed,
.ed-component-wrapper .ed-split-content .ed-split-feed,
.ed-component-wrapper .ed-split-content .ed-list-feed.ed-view-mode-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 1.15rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-split-content .ed-card {
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 991px) {
  .ed-component-wrapper .ed-cards-grid-list .ed-card,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card {
    flex-direction: column !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-card-media,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-media {
    width: 100% !important;
    min-width: 100% !important;
    height: 180px !important;
    aspect-ratio: 16 / 9 !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-card-body,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-body {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 1rem !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-card-list-actions,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-list-actions {
    align-items: flex-start !important;
    text-align: left !important;
    border-left: none !important;
    border-top: 1px dashed var(--ed-border, #e2e8f0) !important;
    padding-left: 0 !important;
    padding-top: 0.75rem !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-card-contact-info,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-contact-info {
    align-items: flex-start !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-contact-row,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-contact-row {
    justify-content: flex-start !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-card-actions-row,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-card-actions-row {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .ed-component-wrapper .ed-cards-grid-list .ed-view-details-btn,
  .ed-component-wrapper .ed-cards-grid-list .ed-get-directions-btn,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-view-details-btn,
  .ed-component-wrapper .ed-list-feed.ed-view-mode-list .ed-get-directions-btn {
    flex: 1 !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* 1:1 Card Design */
.ed-component-wrapper .ed-card {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}

.ed-component-wrapper .ed-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--ed-shadow-card-hover, 0 12px 28px rgba(var(--ed-text-rgb), 0.08)) !important;
}

.ed-component-wrapper .ed-card-media {
  position: relative !important;
  aspect-ratio: 16 / 10 !important;
  max-height: 175px !important;
  overflow: hidden !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
}

.ed-component-wrapper .ed-card-img-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.ed-component-wrapper .ed-card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

.ed-component-wrapper .ed-card:hover .ed-card-media img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-card-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  z-index: 2 !important;
}

.ed-component-wrapper .ed-card-fav {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border: none !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
  transition: all 0.2s ease !important;
  z-index: 2 !important;
  padding: 0 !important;
}

.ed-component-wrapper .ed-card-fav:hover {
  color: #ef4444 !important;
  background: var(--ed-surface, #ffffff) !important;
  transform: scale(1.1) !important;
}

.ed-component-wrapper .ed-card-fav.active {
  color: #ef4444 !important;
  background: var(--ed-surface, #ffffff) !important;
}

.ed-component-wrapper .ed-card-body {
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
}

.ed-component-wrapper .ed-card-main-info {
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-card-contact-info {
  margin-top: auto !important;
  padding-top: 8px !important;
}

.ed-component-wrapper .ed-card-title {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--ed-text, #0f172a) !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-card-title a {
  text-decoration: none !important;
  color: var(--ed-text, #0f172a) !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-card-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-card-subtitle {
  font-size: 0.82rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  font-weight: 500 !important;
}

.ed-component-wrapper .ed-card-submeta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.3em 0.4em !important;
  font-size: 0.78rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  line-height: 1.35 !important;
}

.ed-component-wrapper .ed-submeta-area {
  display: inline !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-submeta-tail {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35em !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.ed-component-wrapper .ed-meta-dot {
  display: inline !important;
  color: var(--ed-border-hover, #cbd5e1) !important;
  font-size: 0.8rem !important;
  line-height: 1 !important;
}

.ed-component-wrapper .ed-submeta-price {
  display: inline-flex !important;
  align-items: center !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-card-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-top: 8px !important;
}

.ed-component-wrapper .ed-card-tag {
  display: inline-flex !important;
  align-items: center !important;
  padding: 2px 7px !important;
  border-radius: 5px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
}

.ed-component-wrapper .ed-tag-purple {
  background: #ede9fe !important;
  color: #6d28d9 !important;
}

.ed-component-wrapper .ed-tag-blue {
  background: #e0f2fe !important;
  color: #0369a1 !important;
}

.ed-component-wrapper .ed-tag-green {
  background: #dcfce7 !important;
  color: #15803d !important;
}

.ed-component-wrapper .ed-tag-teal {
  background: #ccfbf1 !important;
  color: #0f766e !important;
}

.ed-component-wrapper .ed-tag-orange {
  background: #ffedd5 !important;
  color: #c2410c !important;
}

/* Lightbox Modal */
.ed-lightbox-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(10, 15, 30, 0.92) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 99999 !important;
}

.ed-lightbox-overlay.active {
  display: flex !important;
}

.ed-lightbox-container {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 1.5rem !important;
  box-sizing: border-box !important;
}

.ed-lightbox-media-wrap {
  position: relative !important;
  max-width: 90vw !important;
  max-height: 85vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.ed-lightbox-media-wrap img {
  max-width: 90vw !important;
  max-height: 80vh !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.6) !important;
  user-select: none !important;
}

.ed-lightbox-info {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding-top: 0.75rem !important;
  color: var(--ed-on-primary, #ffffff) !important;
  font-size: 0.9rem !important;
}

.ed-lightbox-counter {
  font-weight: 700 !important;
  opacity: 0.8 !important;
}

.ed-lightbox-caption {
  font-weight: 500 !important;
  opacity: 0.9 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  max-width: 70% !important;
}

.ed-lightbox-btn {
  position: absolute !important;
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  z-index: 100000 !important;
  outline: none !important;
}

.ed-lightbox-btn:hover {
  background: rgba(255, 255, 255, 0.35) !important;
  transform: scale(1.1) !important;
  color: var(--ed-on-primary, #ffffff) !important;
}

.ed-lightbox-close {
  top: 1.5rem !important;
  right: 1.5rem !important;
  width: 44px !important;
  height: 44px !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
}

.ed-lightbox-prev {
  left: 1.5rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 48px !important;
  font-size: 1.15rem !important;
}

.ed-lightbox-prev:hover {
  transform: translateY(-50%) scale(1.1) !important;
}

.ed-lightbox-next {
  right: 1.5rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 48px !important;
  height: 48px !important;
  font-size: 1.15rem !important;
}

.ed-lightbox-next:hover {
  transform: translateY(-50%) scale(1.1) !important;
}

/* Map Pin Styling */
.ed-leaflet-svg-pin {
  background: transparent !important;
  border: none !important;
}

/* Single Listing Detail View Layout & Styling */
.ed-component-wrapper .ed-breadcrumbs {
  font-size: 0.85rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 1.25rem !important;
}

.ed-component-wrapper .ed-breadcrumbs a {
  color: var(--ed-text-muted, #64748b) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-breadcrumbs a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-detail-hero-gallery {
  width: 100% !important;
  margin-bottom: 1.75rem !important;
}

/* Cover with Thumbnail Slider Layout */
.ed-component-wrapper .ed-gallery-cover-slider {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-gallery-cover-box {
  position: relative !important;
  width: 100% !important;
  height: 480px !important;
  max-height: 480px !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  background: var(--ed-bg, #f8fafc) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  cursor: pointer !important;
}

.ed-component-wrapper .ed-gallery-cover-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: opacity 0.25s ease, transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.ed-component-wrapper .ed-gallery-cover-box:hover img {
  transform: scale(1.02) !important;
}

.ed-component-wrapper .ed-gallery-nav-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(var(--ed-text-rgb), 0.6) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  z-index: 5 !important;
  opacity: 0.8 !important;
}

.ed-component-wrapper .ed-gallery-cover-box:hover .ed-gallery-nav-btn {
  opacity: 1 !important;
}

.ed-component-wrapper .ed-gallery-nav-btn:hover {
  background: var(--ed-primary, #2563eb) !important;
  border-color: var(--ed-primary, #2563eb) !important;
  transform: translateY(-50%) scale(1.1) !important;
}

.ed-component-wrapper .ed-gallery-nav-prev {
  left: 14px !important;
}

.ed-component-wrapper .ed-gallery-nav-next {
  right: 14px !important;
}

.ed-component-wrapper .ed-gallery-cover-meta {
  position: absolute !important;
  bottom: 14px !important;
  right: 14px !important;
  left: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

.ed-component-wrapper .ed-gallery-counter {
  pointer-events: auto !important;
  background: rgba(var(--ed-text-rgb), 0.7) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  padding: 5px 12px !important;
  border-radius: var(--ed-radius-full, 9999px) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.ed-component-wrapper .ed-gallery-expand-btn {
  pointer-events: auto !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(var(--ed-text-rgb), 0.7) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.85rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-gallery-expand-btn:hover {
  background: var(--ed-primary, #2563eb) !important;
  transform: scale(1.1) !important;
}

.ed-component-wrapper .ed-gallery-thumbs-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-thumbs-scroll-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 50% !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text, #0f172a) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
}

.ed-component-wrapper .ed-thumbs-scroll-btn:hover {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-gallery-thumbs-track {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  scroll-behavior: smooth !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  padding: 4px 2px !important;
  flex: 1 1 auto !important;
}

.ed-component-wrapper .ed-gallery-thumbs-track::-webkit-scrollbar {
  display: none !important;
}

.ed-component-wrapper .ed-gallery-thumb {
  width: 110px !important;
  min-width: 110px !important;
  max-width: 110px !important;
  height: 72px !important;
  border-radius: var(--ed-radius-md, 10px) !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  background: var(--ed-bg, #f1f5f9) !important;
  padding: 0 !important;
  cursor: pointer !important;
  opacity: 0.65 !important;
  transition: all 0.2s ease !important;
  position: relative !important;
}

.ed-component-wrapper .ed-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.ed-component-wrapper .ed-gallery-thumb:hover {
  opacity: 0.95 !important;
  transform: translateY(-2px) !important;
}

.ed-component-wrapper .ed-gallery-thumb.active {
  opacity: 1 !important;
  border-color: var(--ed-primary, #2563eb) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-primary-rgb), 0.3) !important;
  transform: scale(1.03) !important;
}

.ed-component-wrapper .ed-gallery-mosaic {
  display: grid !important;
  gap: 0.75rem !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  max-height: 440px !important;
  background: var(--ed-bg, #f8fafc) !important;
}

.ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-1 {
  grid-template-columns: 1fr !important;
  height: 420px !important;
}

.ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-2 {
  grid-template-columns: 1fr 1fr !important;
  height: 420px !important;
}

.ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-3 {
  grid-template-columns: 2fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  height: 420px !important;
}

.ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-3 .ed-mosaic-main {
  grid-row: span 2 !important;
}

.ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-multi {
  grid-template-columns: 2fr 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  height: 420px !important;
}

.ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-multi .ed-mosaic-main {
  grid-row: span 2 !important;
}

.ed-component-wrapper .ed-mosaic-item {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 100% !important;
  background: var(--ed-bg, #f1f5f9) !important;
}

.ed-component-wrapper .ed-mosaic-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  cursor: pointer !important;
}

.ed-component-wrapper .ed-mosaic-item:hover img {
  transform: scale(1.04) !important;
}

/* ==========================================================================
   Single Listing Detail Page (Modern Places Guide Design Style)
   ========================================================================== */

.ed-component-wrapper .ed-detail-page-container {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 0.5rem !important;
}

/* Top Navigation Bar */
.ed-component-wrapper .ed-detail-topbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 1.25rem !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

.ed-component-wrapper .ed-detail-breadcrumbs {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.45rem !important;
  font-size: 0.85rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  line-height: 1.5 !important;
}

.ed-component-wrapper .ed-bc-current {
  color: var(--ed-text, #0f172a) !important;
  font-weight: 600 !important;
  max-width: 260px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

.ed-component-wrapper .ed-bc-link {
  color: var(--ed-text-muted, #64748b) !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.ed-component-wrapper .ed-bc-link:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-bc-sep {
  font-size: 0.65rem !important;
  color: var(--ed-text-light, #94a3b8) !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-bc-current {
  color: var(--ed-text, #0f172a) !important;
  font-weight: 600 !important;
}

.ed-component-wrapper .ed-back-link {
  color: var(--ed-primary, #2563eb) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: transform 0.2s ease, color 0.2s ease !important;
}

.ed-component-wrapper .ed-back-link:hover {
  color: var(--ed-primary-hover, #1d4ed8) !important;
  transform: translateX(-2px) !important;
}

/* Main Detail 2-Column Grid Layout */
.ed-component-wrapper .ed-detail-layout-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 280px !important;
  gap: 1.25rem !important;
  align-items: start !important;
  margin-bottom: 3.5rem !important;
}

.ed-component-wrapper .ed-detail-main-column {
  min-width: 0 !important;
}

/* Top Hero Card */
.ed-component-wrapper .ed-detail-hero-card {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 1.25rem !important;
  box-shadow: 0 2px 12px rgba(var(--ed-text-rgb), 0.04) !important;
}

.ed-component-wrapper .ed-detail-hero-grid {
  display: grid !important;
  grid-template-columns: minmax(260px, 310px) minmax(0, 1fr) !important;
  gap: 1.25rem !important;
  align-items: stretch !important;
}

/* Hero Media Wrap & Cover Box */
.ed-component-wrapper .ed-detail-media-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-detail-cover-box {
  position: relative !important;
  width: 100% !important;
  height: 235px !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  background: linear-gradient(90deg, var(--ed-surface-alt, #f1f5f9) 25%, var(--ed-border, #e2e8f0) 50%, var(--ed-surface-alt, #f1f5f9) 75%) !important;
  background-size: 200% 100% !important;
  animation: ed-skeleton-shimmer 2s infinite ease-in-out !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
  cursor: pointer !important;
}

.ed-component-wrapper .ed-detail-cover-box img {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease, opacity 0.2s ease !important;
}

.ed-component-wrapper .ed-detail-cover-box:hover img {
  transform: scale(1.03) !important;
}

.ed-component-wrapper .ed-detail-hero-badge,
.ed-component-wrapper .ed-badge.ed-detail-hero-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 2 !important;
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  font-size: 0.725rem !important;
  font-weight: 700 !important;
  padding: 4px 10px !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-hero-nav-btn {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  color: var(--ed-text, #0f172a) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.75rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  z-index: 3 !important;
}

.ed-component-wrapper .ed-hero-nav-btn:hover {
  background: var(--ed-surface, #ffffff) !important;
  transform: translateY(-50%) scale(1.1) !important;
}

.ed-component-wrapper .ed-hero-nav-prev {
  left: 8px !important;
}

.ed-component-wrapper .ed-hero-nav-next {
  right: 8px !important;
}

.ed-component-wrapper .ed-hero-view-gallery-btn {
  position: absolute !important;
  bottom: 8px !important;
  right: 8px !important;
  z-index: 3 !important;
  background: rgba(var(--ed-text-rgb), 0.75) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  font-size: 0.725rem !important;
  font-weight: 600 !important;
  padding: 3px 9px !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-hero-view-gallery-btn:hover {
  background: rgba(var(--ed-text-rgb), 0.9) !important;
  transform: scale(1.05) !important;
}

/* Thumbs Track */
.ed-component-wrapper .ed-detail-thumbs-track {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
  width: 100% !important;
}

.ed-component-wrapper .ed-detail-thumbs-track .ed-gallery-thumb {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 52px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  padding: 0 !important;
  cursor: pointer !important;
  opacity: 0.7 !important;
  transition: all 0.2s ease !important;
  position: relative !important;
}

.ed-component-wrapper .ed-gallery-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.ed-component-wrapper .ed-gallery-thumb:hover {
  opacity: 1 !important;
}

.ed-component-wrapper .ed-gallery-thumb.active {
  opacity: 1 !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-thumb-play-badge {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(var(--ed-text-rgb), 0.45) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  font-size: 0.8rem !important;
  pointer-events: none !important;
}

/* Hero Listing Info Wrap */
.ed-component-wrapper .ed-detail-info-wrap {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 100% !important;
  min-width: 0 !important;
}

.ed-component-wrapper .ed-detail-title-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 0.5rem !important;
  width: 100% !important;
  margin-bottom: 0px !important;
  overflow: visible !important;
}

.ed-component-wrapper .ed-detail-title-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 0.45rem !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

.ed-component-wrapper .ed-detail-title {
  font-size: clamp(1.2rem, 1.8vw, 1.55rem) !important;
  font-weight: 800 !important;
  color: var(--ed-text, #0f172a) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  word-break: break-word !important;
}

.ed-component-wrapper .ed-verified-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ed-primary, #2563eb) !important;
  flex-shrink: 0 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

.ed-component-wrapper .ed-verified-check svg {
  display: block !important;
  width: 1.1em !important;
  height: 1.1em !important;
  overflow: visible !important;
}

.ed-component-wrapper .ed-detail-title-wrap .ed-verified-check {
  margin-top: 0.22em !important;
}

.ed-component-wrapper .ed-detail-title-wrap .ed-verified-check svg {
  width: 1.15em !important;
  height: 1.15em !important;
}

.ed-component-wrapper .ed-card-title .ed-verified-check,
.ed-component-wrapper .ed-card-title-row .ed-verified-check {
  display: inline-flex !important;
  margin-left: 0.35em !important;
  vertical-align: -0.08em !important;
}

.ed-component-wrapper .ed-card-title .ed-verified-check svg,
.ed-component-wrapper .ed-card-title-row .ed-verified-check svg {
  width: 0.95em !important;
  height: 0.95em !important;
}

.ed-component-wrapper .ed-detail-top-actions {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

.ed-component-wrapper .ed-detail-top-actions .ed-btn-save-fav,
.ed-component-wrapper .ed-detail-top-actions .ed-btn-share {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  padding: 0 !important;
  font-size: 1.15rem !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
  box-shadow: none !important;
  outline: none !important;
}

.ed-component-wrapper .ed-detail-top-actions .ed-btn-save-fav:hover,
.ed-component-wrapper .ed-detail-top-actions .ed-btn-share:hover {
  background: transparent !important;
  color: var(--ed-primary, #2563eb) !important;
  transform: scale(1.15) !important;
}

.ed-component-wrapper .ed-detail-top-actions .ed-btn-save-fav:hover {
  color: #ef4444 !important;
}

.ed-component-wrapper .ed-detail-top-actions .ed-btn-save-fav.active i,
.ed-component-wrapper .ed-detail-top-actions .ed-btn-save-fav.ed-favorited i {
  color: #ef4444 !important;
  font-weight: 900 !important;
}

.ed-component-wrapper .ed-detail-rating-price-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
  flex-wrap: wrap !important;
  margin-top: 2px !important;
  margin-bottom: 0px !important;
}

.ed-component-wrapper .ed-price-range-group {
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-stars {
  font-size: 0.85rem !important;
  letter-spacing: 1px !important;
}

.ed-component-wrapper .ed-rating-score {
  font-size: 0.95rem !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-price-symbols {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
  letter-spacing: 1px !important;
}

/* Floating Toast Notification */
.ed-toast-notification {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 99999 !important;
  background: var(--ed-text, #0f172a) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  padding: 10px 18px !important;
  border-radius: 9999px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  opacity: 0 !important;
  transform: translateY(12px) scale(0.96) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none !important;
}

.ed-toast-notification.ed-toast-show {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

/* Dynamic Social Icons in Sidebar Contact Widget */
.ed-component-wrapper .ed-sidebar-social-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.ed-component-wrapper .ed-social-icon-btn {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ed-bg, #f8fafc) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  color: #475569 !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.ed-component-wrapper .ed-social-icon-btn:hover {
  background: var(--brand-color, var(--ed-primary, #2563eb)) !important;
  border-color: var(--brand-color, var(--ed-primary, #2563eb)) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: translateY(-2px) scale(1.05) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

/* Compact Share Popover */
.ed-component-wrapper .ed-share-dropdown-wrap {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-share-popover {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  z-index: 1050 !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 25px -5px rgba(var(--ed-text-rgb), 0.15), 0 4px 10px -2px rgba(var(--ed-text-rgb), 0.05) !important;
  padding: 6px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(-6px) scale(0.96) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-share-popover.ed-popover-open {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
}

.ed-component-wrapper .ed-share-icons-flex {
  display: flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 2px !important;
}

.ed-component-wrapper .ed-share-icon-btn {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--share-bg, var(--ed-surface-alt, #f1f5f9)) !important;
  color: var(--share-color, #475569) !important;
  font-size: 0.85rem !important;
  border: none !important;
  padding: 0 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
}

.ed-component-wrapper .ed-share-icon-btn:hover {
  background: var(--share-color, var(--ed-primary, #2563eb)) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: translateY(-2px) scale(1.1) !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15) !important;
}

@media (max-width: 576px) {
  .ed-component-wrapper .ed-share-popover {
    right: -10px !important;
    max-width: 250px !important;
    white-space: normal !important;
  }
  .ed-component-wrapper .ed-share-icons-flex {
    flex-wrap: wrap !important;
    max-width: 220px !important;
    justify-content: center !important;
  }
}

.ed-component-wrapper .ed-detail-subtitle-line {
  font-size: 0.875rem !important;
  color: var(--ed-text-muted, #64748b) !important;
  font-weight: 500 !important;
}

.ed-component-wrapper .ed-detail-tags-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.ed-component-wrapper .ed-detail-introtext {
  font-size: 0.85rem !important;
  line-height: 1.55 !important;
  color: #475569 !important;
  margin-bottom: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.ed-component-wrapper .ed-tag-gray {
  background: var(--ed-surface-alt, #f1f5f9) !important;
  color: #475569 !important;
}

.ed-component-wrapper .ed-gallery-mosaic-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 0.85rem !important;
}

.ed-component-wrapper .ed-gallery-mosaic-grid.ed-gallery-size-small {
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important;
  gap: 0.5rem !important;
}

.ed-component-wrapper .ed-gallery-mosaic-grid.ed-gallery-size-medium {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
  gap: 0.75rem !important;
}

.ed-component-wrapper .ed-gallery-mosaic-grid.ed-gallery-size-large {
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 1rem !important;
}

.ed-component-wrapper .ed-mosaic-card {
  display: flex !important;
  flex-direction: column !important;
}

.ed-component-wrapper .ed-mosaic-thumb-wrap {
  aspect-ratio: 4 / 3 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  position: relative !important;
}

.ed-component-wrapper .ed-mosaic-thumb-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.ed-component-wrapper .ed-mosaic-zoom-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(var(--ed-text-rgb), 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ed-on-primary, #ffffff) !important;
  font-size: 1.1rem !important;
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}

.ed-component-wrapper .ed-mosaic-thumb-wrap:hover .ed-mosaic-zoom-overlay {
  opacity: 1 !important;
}

.ed-component-wrapper .ed-mosaic-thumb-wrap:hover img {
  transform: scale(1.06) !important;
}

.ed-component-wrapper .ed-mosaic-caption {
  font-size: 0.78rem !important;
  line-height: 1.3 !important;
  color: var(--ed-text-muted, #64748b) !important;
  word-break: break-word !important;
}

/* Related Articles Grid & Cards */
.ed-component-wrapper .ed-related-articles-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 1.25rem !important;
}

.ed-component-wrapper .ed-related-article-card {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ed-component-wrapper .ed-related-article-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
}

.ed-component-wrapper .ed-related-article-img-wrap {
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
}

.ed-component-wrapper .ed-related-article-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.ed-component-wrapper .ed-related-article-card:hover .ed-related-article-img-wrap img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-related-article-body {
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
}

.ed-component-wrapper .ed-related-article-category {
  font-size: 0.7rem !important;
  letter-spacing: 0.05em !important;
}

.ed-component-wrapper .ed-related-article-title {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.ed-component-wrapper .ed-related-article-title a {
  color: var(--ed-text, #0f172a) !important;
  text-decoration: none !important;
}

.ed-component-wrapper .ed-related-article-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-related-article-intro {
  line-height: 1.45 !important;
  flex: 1 1 auto !important;
}

.ed-component-wrapper .ed-detail-quick-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: auto !important;
  padding-top: 0.85rem !important;
}

.ed-component-wrapper .ed-detail-quick-actions .ed-btn {
  height: 38px !important;
  padding: 0 16px !important;
  font-size: 0.825rem !important;
  font-weight: 600 !important;
  border-radius: var(--ed-radius-md, 6px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-btn-get-directions {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border: 1px solid var(--ed-primary, #2563eb) !important;
  box-shadow: 0 2px 8px rgba(var(--ed-primary-rgb), 0.25) !important;
}

.ed-component-wrapper .ed-btn-get-directions:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-primary-rgb), 0.35) !important;
}

.ed-component-wrapper .ed-btn-whatsapp-outline {
  border-color: #86efac !important;
  color: #15803d !important;
  background: var(--ed-surface, #ffffff) !important;
}

.ed-component-wrapper .ed-btn-whatsapp-outline:hover {
  background: #f0fdf4 !important;
  border-color: #22c55e !important;
}

/* Unified Detail Content Panel */
.ed-component-wrapper .ed-detail-panel {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(var(--ed-text-rgb), 0.04) !important;
}

/* Tabs Navigation Bar Header inside Unified Panel */
.ed-component-wrapper .ed-detail-tabs-nav-bar {
  border-bottom: 1px solid var(--ed-border, #e2e8f0) !important;
  background: var(--ed-surface, #ffffff) !important;
  border-radius: 0 !important;
  padding: 0 1.25rem !important;
  margin-bottom: 0 !important;
}

.ed-component-wrapper .ed-detail-tabs-list {
  display: flex !important;
  align-items: center !important;
  gap: 1.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.ed-component-wrapper .ed-detail-tabs-list::-webkit-scrollbar {
  display: none !important;
}

.ed-component-wrapper .ed-tab-item {
  margin: 0 !important;
  padding: 0 !important;
}

.ed-component-wrapper .ed-tab-btn {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 0.85rem 0.25rem !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--ed-text-muted, #64748b) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

.ed-component-wrapper .ed-tab-item.active .ed-tab-btn {
  color: var(--ed-primary, #2563eb) !important;
  border-bottom-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-tab-badge {
  background: #e0e7ff !important;
  color: var(--ed-primary, #2563eb) !important;
  font-size: 0.725rem !important;
  padding: 2px 7px !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  font-weight: 700 !important;
}

.ed-component-wrapper .ed-detail-tab-panes {
  background: var(--ed-surface, #ffffff) !important;
}

.ed-component-wrapper .ed-overview-heading {
  font-size: 1.08rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
  margin-top: 0 !important;
  margin-bottom: 0.75rem !important;
}

.ed-component-wrapper .ed-overview-body-text {
  font-size: 0.875rem !important;
  line-height: 1.6 !important;
  color: #475569 !important;
}

.ed-component-wrapper .ed-highlights-list-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0.65rem 0.75rem !important;
}

.ed-component-wrapper .ed-highlight-item {
  display: flex !important;
  align-items: center !important;
  font-size: 0.835rem !important;
  color: var(--ed-text-body, #334155) !important;
  font-weight: 500 !important;
}

/* Amenities & Features Dedicated Panel */
.ed-component-wrapper .ed-amenities-features-panel {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  padding: 1.25rem 1.5rem !important;
  box-shadow: 0 2px 12px rgba(var(--ed-text-rgb), 0.04) !important;
}

/* Amenities Features Cards Grid */
.ed-component-wrapper .ed-amenities-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
  gap: 0.85rem !important;
}

.ed-component-wrapper .ed-amenity-feature-card {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-lg, 12px) !important;
  padding: 0.85rem 0.5rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-amenity-feature-card:hover {
  border-color: var(--ed-primary, #2563eb) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(var(--ed-text-rgb), 0.06) !important;
}

.ed-component-wrapper .ed-amenity-feature-icon {
  font-size: 1.35rem !important;
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-amenity-feature-title {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--ed-text-body, #334155) !important;
  line-height: 1.2 !important;
}

/* Similar Places Nearby Section */
.ed-component-wrapper .ed-similar-nearby-section {
  background: transparent !important;
}

.ed-component-wrapper .ed-similar-section-title {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
}

.ed-component-wrapper .ed-view-all-similar-link {
  color: var(--ed-primary, #2563eb) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

.ed-component-wrapper .ed-similar-places-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--ed-similar-cols, 4), minmax(0, 1fr)) !important;
  gap: 0.85rem !important;
}

.ed-component-wrapper .ed-similar-mini-card {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: var(--ed-shadow-card, 0 1px 4px rgba(var(--ed-text-rgb), 0.04)) !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.ed-component-wrapper .ed-similar-mini-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--ed-shadow-card-hover, 0 6px 18px rgba(var(--ed-text-rgb), 0.08)) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-similar-mini-media {
  position: relative !important;
  width: 100% !important;
  height: 105px !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
  overflow: hidden !important;
}

.ed-component-wrapper .ed-similar-mini-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.3s ease !important;
}

.ed-component-wrapper .ed-similar-mini-card:hover .ed-similar-mini-media img {
  transform: scale(1.05) !important;
}

.ed-component-wrapper .ed-similar-mini-media .ed-card-fav {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: none !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--ed-text-muted, #64748b) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.8rem !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
  z-index: 2 !important;
}

.ed-component-wrapper .ed-similar-mini-media .ed-card-fav:hover {
  background: var(--ed-surface, #ffffff) !important;
  color: #ef4444 !important;
  transform: scale(1.1) !important;
}

.ed-component-wrapper .ed-similar-mini-media .ed-card-fav.active i,
.ed-component-wrapper .ed-similar-mini-media .ed-card-fav.ed-favorited i {
  color: #ef4444 !important;
  font-weight: 900 !important;
}

.ed-component-wrapper .ed-similar-mini-body {
  padding: 0.65rem 0.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.ed-component-wrapper .ed-similar-mini-title {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.ed-component-wrapper .ed-similar-mini-title a {
  color: var(--ed-text, #0f172a) !important;
  text-decoration: none !important;
}

.ed-component-wrapper .ed-similar-mini-title a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

/* Right Sticky Sidebar Column */
.ed-component-wrapper .ed-detail-sidebar-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.85rem !important;
  position: sticky !important;
  top: 90px !important;
}

.ed-component-wrapper .ed-sidebar-widget {
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: var(--ed-radius-xl, 10px) !important;
  overflow: hidden !important;
  box-shadow: 0 1px 4px rgba(var(--ed-text-rgb), 0.04) !important;
}

.ed-component-wrapper .ed-sidebar-widget-header {
  padding: 0.65rem 0.85rem !important;
  border-bottom: 1px solid var(--ed-border, #f1f5f9) !important;
  background: #fafbfc !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.ed-component-wrapper .ed-sidebar-widget-title {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--ed-text, #0f172a) !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sidebar Map Card */
.ed-component-wrapper .ed-sidebar-map-container {
  position: relative !important;
  width: 100% !important;
  height: var(--ed-sidebar-map-height, 160px) !important;
  overflow: hidden !important;
}

.ed-component-wrapper .ed-sidebar-mini-map {
  width: 100% !important;
  height: 100% !important;
  background: var(--ed-surface-alt, #f1f5f9) !important;
}

.ed-component-wrapper .ed-sidebar-mini-map .leaflet-top.leaflet-left {
  top: 8px !important;
  left: 8px !important;
}

.ed-component-wrapper .ed-sidebar-mini-map .leaflet-control-zoom {
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
  margin: 0 !important;
}

.ed-component-wrapper .ed-sidebar-mini-map .leaflet-control-zoom a {
  width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  font-size: 12px !important;
  color: var(--ed-text, #0f172a) !important;
  background: var(--ed-surface, #ffffff) !important;
}

.ed-component-wrapper .ed-map-view-badge-btn {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  z-index: 500 !important;
  background: var(--ed-surface, #ffffff) !important;
  border: 1px solid var(--ed-border, #e2e8f0) !important;
  color: var(--ed-text, #0f172a) !important;
  font-size: 0.725rem !important;
  font-weight: 600 !important;
  padding: 3px 9px !important;
  border-radius: var(--ed-radius-sm, 4px) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}

.ed-component-wrapper .ed-map-view-badge-btn:hover {
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-map-floating-place-card {
  position: absolute !important;
  bottom: 8px !important;
  left: 8px !important;
  right: 8px !important;
  z-index: 500 !important;
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  border-radius: 8px !important;
  padding: 5px 8px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  font-size: 0.775rem !important;
  line-height: 1.25 !important;
  pointer-events: none !important;
}

/* Sidebar Opening Hours List */
.ed-component-wrapper .ed-sidebar-hours-list {
  padding: 0.5rem 0.75rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}

.ed-component-wrapper .ed-sidebar-hours-row {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 2.5px 5px !important;
  font-size: 0.785rem !important;
  color: #475569 !important;
  border-radius: 5px !important;
  line-height: 1.35 !important;
}

.ed-component-wrapper .ed-sidebar-hours-row.ed-today-active {
  background: #f0fdf4 !important;
  color: #166534 !important;
  font-weight: 600 !important;
}

.ed-component-wrapper .ed-today-badge {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
}

/* Sidebar Contact Details */
.ed-component-wrapper .ed-sidebar-contact-list {
  padding: 0.65rem 0.85rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.45rem !important;
}

.ed-component-wrapper .ed-sidebar-contact-row {
  display: flex !important;
  align-items: center !important;
  font-size: 0.815rem !important;
  line-height: 1.35 !important;
}

.ed-component-wrapper .ed-sidebar-contact-row a {
  color: var(--ed-text, #0f172a) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
  word-break: break-all !important;
}

.ed-component-wrapper .ed-sidebar-contact-row a:hover {
  color: var(--ed-primary, #2563eb) !important;
}

.ed-component-wrapper .ed-social-icon-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease !important;
}

.ed-component-wrapper .ed-social-icon-link:hover {
  transform: scale(1.15) !important;
}

/* Sidebar CTA Button */
.ed-component-wrapper .ed-sidebar-cta-btn {
  height: 38px !important;
  background: var(--ed-primary, #2563eb) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  border-radius: 10px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(var(--ed-primary-rgb), 0.25) !important;
  transition: all 0.2s ease !important;
  margin-top: 0.25rem !important;
}

.ed-component-wrapper .ed-sidebar-cta-btn:hover {
  background: var(--ed-primary-hover, #1d4ed8) !important;
  color: var(--ed-on-primary, #ffffff) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(var(--ed-primary-rgb), 0.35) !important;
}

/* ==========================================================================
   Comprehensive Responsive Styles for Single Listing Detail Page
   ========================================================================== */

@media (max-width: 1080px) {
  .ed-component-wrapper .ed-detail-layout-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
  .ed-component-wrapper .ed-detail-sidebar-column {
    position: static !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1.25rem !important;
  }
  .ed-component-wrapper .ed-sidebar-booking-btn-wrap {
    grid-column: 1 / -1 !important;
  }
  .ed-component-wrapper .ed-amenities-cards-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .ed-component-wrapper .ed-similar-places-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 860px) {
  .ed-component-wrapper .ed-detail-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .ed-component-wrapper .ed-detail-cover-box {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: 380px !important;
  }
  .ed-component-wrapper .ed-detail-thumbs-track .ed-gallery-thumb {
    height: 62px !important;
  }
  .ed-component-wrapper .ed-overview-dual-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .ed-component-wrapper .ed-detail-topbar {
    gap: 0.5rem !important;
    margin-bottom: 0.85rem !important;
  }
  .ed-component-wrapper .ed-detail-breadcrumbs {
    font-size: 0.775rem !important;
  }
  .ed-component-wrapper .ed-back-link {
    font-size: 0.775rem !important;
  }
  .ed-component-wrapper .ed-detail-hero-card {
    padding: 0.85rem !important;
    border-radius: 12px !important;
  }
  .ed-component-wrapper .ed-detail-title-row {
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
  }
  .ed-component-wrapper .ed-detail-title-wrap {
    flex: 1 1 auto !important;
    width: auto !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }
  .ed-component-wrapper .ed-detail-top-actions {
    width: auto !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
  }
  .ed-component-wrapper .ed-detail-title {
    font-size: 1.25rem !important;
  }
  .ed-component-wrapper .ed-detail-quick-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .ed-component-wrapper .ed-detail-quick-actions .ed-btn-get-directions {
    grid-column: span 2 !important;
  }
  .ed-component-wrapper .ed-detail-quick-actions .ed-btn {
    width: 100% !important;
    height: 38px !important;
    padding: 0 8px !important;
    font-size: 0.775rem !important;
  }
  .ed-component-wrapper .ed-detail-tabs-list {
    gap: 0.85rem !important;
  }
  .ed-component-wrapper .ed-tab-btn {
    font-size: 0.825rem !important;
    padding: 0.65rem 0.15rem !important;
  }
  .ed-component-wrapper .ed-highlights-list-grid {
    grid-template-columns: 1fr !important;
  }
  .ed-component-wrapper .ed-amenities-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.6rem !important;
  }
  .ed-component-wrapper .ed-amenity-feature-card {
    padding: 0.65rem 0.35rem !important;
  }
  .ed-component-wrapper .ed-similar-places-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.6rem !important;
  }
  .ed-component-wrapper .ed-similar-mini-media {
    height: 90px !important;
  }
  .ed-component-wrapper .ed-similar-mini-body {
    padding: 0.5rem !important;
  }
  .ed-component-wrapper .ed-similar-mini-title {
    font-size: 0.775rem !important;
  }
  .ed-component-wrapper .ed-detail-sidebar-column {
    grid-template-columns: 1fr !important;
  }
  .ed-component-wrapper .ed-sidebar-widget {
    border-radius: 12px !important;
  }
  .ed-component-wrapper .ed-sidebar-map-container {
    height: var(--ed-sidebar-map-height, 160px) !important;
  }
  .ed-component-wrapper .ed-sidebar-hours-list {
    padding: 0.5rem 0.65rem !important;
  }
  .ed-component-wrapper .ed-sidebar-hours-row {
    font-size: 0.775rem !important;
    padding: 3px 4px !important;
  }
  .ed-component-wrapper .ed-sidebar-cta-btn {
    height: 42px !important;
    font-size: 0.875rem !important;
  }
}

@media (max-width: 380px) {
  .ed-component-wrapper .ed-similar-places-grid {
    grid-template-columns: 1fr !important;
  }
  .ed-component-wrapper .ed-amenities-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .ed-component-wrapper .ed-detail-thumbs-track .ed-gallery-thumb {
    height: 46px !important;
  }
}

/* Responsive Breakpoints */
@media (max-width: 991.98px) {
  .ed-component-wrapper .ed-grid-sidebar-layout {
    display: block !important;
    grid-template-columns: none !important;
  }

  .ed-component-wrapper .ed-grid-sidebar-layout .ed-filter-sidebar,
  .ed-component-wrapper .ed-grid-sidebar-layout .ed-filter-sidebar:not(.ed-sidebar-sticky),
  .ed-component-wrapper .ed-grid-sidebar-layout .ed-filter-sidebar.ed-sidebar-sticky,
  .ed-component-wrapper.ed-skin-editorial .ed-filter-sidebar,
  .ed-component-wrapper.ed-skin-minimal .ed-filter-sidebar,
  .ed-component-wrapper .ed-filter-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: min(320px, 88vw) !important;
    max-width: 88vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 1050 !important;
    background: var(--ed-surface, #ffffff) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25) !important;
    border-radius: 0 !important;
    border-left: none !important;
    transform: translateX(-105%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.3s !important;
    padding-bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px)) !important;
  }

  .ed-component-wrapper .ed-grid-sidebar-layout .ed-filter-sidebar.ed-drawer-open,
  .ed-component-wrapper .ed-filter-sidebar.ed-drawer-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .ed-component-wrapper .ed-mobile-filter-backdrop.active {
    display: block !important;
  }

  .ed-component-wrapper .ed-detail-grid {
    grid-template-columns: 1fr !important;
  }

  .ed-component-wrapper .ed-detail-sidebar {
    position: static !important;
  }

  .ed-component-wrapper .ed-gallery-cover-box {
    height: 360px !important;
    max-height: 360px !important;
  }

  .ed-component-wrapper .ed-gallery-wrap .ed-gallery-thumb {
    width: 90px !important;
    min-width: 90px !important;
    max-width: 90px !important;
    height: 60px !important;
  }

  .ed-component-wrapper .ed-gallery-mosaic,
  .ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-1,
  .ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-2,
  .ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-3,
  .ed-component-wrapper .ed-gallery-mosaic.ed-mosaic-multi {
    height: 320px !important;
    max-height: 320px !important;
  }

  .ed-component-wrapper .ed-split-layout {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    max-height: none !important;
    padding: 1rem !important;
  }

  .ed-component-wrapper .ed-split-resizer {
    display: none !important;
  }

  .ed-component-wrapper .ed-split-map-col {
    order: 1 !important;
    height: 380px !important;
    max-height: 380px !important;
    margin-bottom: 1.5rem !important;
  }

  .ed-component-wrapper .ed-split-content {
    order: 2 !important;
    height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
    padding-right: 0 !important;
  }

  .ed-component-wrapper .ed-card-horizontal {
    flex-direction: column !important;
  }

  .ed-component-wrapper .ed-card-horizontal .ed-card-media {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 200px !important;
    min-height: 200px !important;
  }
}

@media (max-width: 767.98px) {
  .ed-component-wrapper .ed-filter-bar {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
  }

  .ed-component-wrapper .ed-search-box {
    flex: none !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .ed-component-wrapper .ed-select-wrapper {
    flex: none !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  .ed-component-wrapper select.ed-filter-select {
    width: 100% !important;
    min-width: 100% !important;
  }

  .ed-component-wrapper .ed-filter-bar .ed-btn {
    width: 100% !important;
  }

  .ed-component-wrapper .ed-results-header-row {
    flex-wrap: wrap !important;
    gap: 0.65rem !important;
    align-items: flex-start !important;
  }

  .ed-component-wrapper .ed-results-header-row > .d-flex {
    width: 100% !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
  }

  .ed-component-wrapper .ed-mobile-filter-trigger {
    min-height: 44px !important;
    min-width: 44px !important;
    flex: 1 1 auto !important;
  }

  .ed-component-wrapper .ed-view-switch {
    flex: 0 0 auto !important;
  }

  .ed-component-wrapper .ed-view-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .ed-component-wrapper .ed-grid-main {
    padding: 0.9rem !important;
  }

  .ed-component-wrapper .ed-page-link {
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .ed-component-wrapper .ed-cards-grid-2col {
    grid-template-columns: 1fr !important;
  }

  .ed-component-wrapper .ed-list-feed.ed-view-mode-grid {
    grid-template-columns: 1fr !important;
  }

  .ed-component-wrapper .ed-gallery-cover-box {
    height: 260px !important;
    max-height: 260px !important;
  }

  .ed-component-wrapper .ed-gallery-wrap .ed-gallery-thumb {
    width: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    height: 52px !important;
  }

  .ed-lightbox-btn {
    width: 38px !important;
    height: 38px !important;
  }

  .ed-lightbox-prev {
    left: 0.5rem !important;
  }

  .ed-lightbox-next {
    right: 0.5rem !important;
  }

  .ed-lightbox-close {
    top: 0.5rem !important;
    right: 0.5rem !important;
  }
}

/* Open Now Quick Filter Row */
.ed-component-wrapper .ed-open-now-filter-row {
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: 1px solid var(--ed-surface-alt, #f1f5f9) !important;
  padding: 0.15rem 0.25rem 0.85rem !important;
  margin-bottom: 0.85rem !important;
}

.ed-component-wrapper .ed-open-now-filter-row label {
  user-select: none !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  cursor: pointer !important;
}

.ed-component-wrapper .ed-open-now-filter-row .form-check-input {
  cursor: pointer !important;
  width: 2em !important;
  height: 1.15em !important;
}

.ed-component-wrapper .ed-open-now-filter-row .form-check-input:checked {
  background-color: var(--ed-primary, #2563eb) !important;
  border-color: var(--ed-primary, #2563eb) !important;
}

/* Custom Social Brand Icons (TripAdvisor, Bluesky) */
.ed-component-wrapper .fa-brands.fa-tripadvisor,
.ed-component-wrapper .fa-tripadvisor,
.ed-component-wrapper .ed-icon-tripadvisor,
.fa-brands.fa-tripadvisor,
.fa-tripadvisor,
.ed-icon-tripadvisor {
  display: inline-block !important;
  width: 1.1em !important;
  height: 1.1em !important;
  vertical-align: -0.15em !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M12.006 4.385c-2.457 0-4.744.87-6.536 2.324L4.015 5.254a.58.58 0 0 0-.949.524l.656 4.098a.58.58 0 0 0 .584.487h.063l3.411-.546a.58.58 0 0 0 .285-.978L6.72 7.502a8.55 8.55 0 0 1 5.286-1.837c2.052 0 3.94.724 5.433 1.933l-1.42 1.42a.58.58 0 0 0 .285.979l3.411.545h.063a.58.58 0 0 0 .584-.487l.656-4.098a.58.58 0 0 0-.949-.524l-1.528 1.528c-1.802-1.499-4.148-2.39-6.647-2.39zM5.39 9.878A4.623 4.623 0 1 0 10.012 14.5a4.62 4.62 0 0 0-4.623-4.622zm13.22 0A4.623 4.623 0 1 0 23.232 14.5a4.62 4.62 0 0 0-4.623-4.622zm-13.22 1.764a2.859 2.859 0 1 1-2.858 2.858 2.862 2.862 0 0 1 2.858-2.858zm13.22 0a2.859 2.859 0 1 1-2.858 2.858 2.862 2.862 0 0 1 2.858-2.858zm-11.91 2.858a1.31 1.31 0 1 1 1.31 1.31 1.31 1.31 0 0 1-1.31-1.31zm13.22 0a1.31 1.31 0 1 1 1.31 1.31 1.31 1.31 0 0 1-1.31-1.31zM12.006 13.08a1.42 1.42 0 0 0-1.417 1.42 1.42 1.42 0 0 0 1.417 1.42 1.42 1.42 0 0 0 1.418-1.42 1.42 1.42 0 0 0-1.418-1.42z'/%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M12.006 4.385c-2.457 0-4.744.87-6.536 2.324L4.015 5.254a.58.58 0 0 0-.949.524l.656 4.098a.58.58 0 0 0 .584.487h.063l3.411-.546a.58.58 0 0 0 .285-.978L6.72 7.502a8.55 8.55 0 0 1 5.286-1.837c2.052 0 3.94.724 5.433 1.933l-1.42 1.42a.58.58 0 0 0 .285.979l3.411.545h.063a.58.58 0 0 0 .584-.487l.656-4.098a.58.58 0 0 0-.949-.524l-1.528 1.528c-1.802-1.499-4.148-2.39-6.647-2.39zM5.39 9.878A4.623 4.623 0 1 0 10.012 14.5a4.62 4.62 0 0 0-4.623-4.622zm13.22 0A4.623 4.623 0 1 0 23.232 14.5a4.62 4.62 0 0 0-4.623-4.622zm-13.22 1.764a2.859 2.859 0 1 1-2.858 2.858 2.862 2.862 0 0 1 2.858-2.858zm13.22 0a2.859 2.859 0 1 1-2.858 2.858 2.862 2.862 0 0 1 2.858-2.858zm-11.91 2.858a1.31 1.31 0 1 1 1.31 1.31 1.31 1.31 0 0 1-1.31-1.31zm13.22 0a1.31 1.31 0 1 1 1.31 1.31 1.31 1.31 0 0 1-1.31-1.31zM12.006 13.08a1.42 1.42 0 0 0-1.417 1.42 1.42 1.42 0 0 0 1.418-1.42 1.42 1.42 0 0 0 1.418-1.42z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

.ed-component-wrapper .fa-brands.fa-bluesky,
.ed-component-wrapper .fa-bluesky,
.ed-component-wrapper .ed-icon-bluesky,
.fa-brands.fa-bluesky,
.fa-bluesky,
.ed-icon-bluesky {
  display: inline-block !important;
  width: 1.1em !important;
  height: 1.1em !important;
  vertical-align: -0.15em !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566 1.01 1.5.99 1.5 3.5c0 .707.128 5.78 1.432 7.788 1.444 2.224 3.738 2.666 5.868 2.302-3.66.626-6.9 2.116-4.5 6.41 2.973 5.32 6.8 1.156 7.7-1.12.9 2.276 4.727 6.44 7.7 1.12 2.4-4.294-.84-5.784-4.5-6.41 2.13.364 4.424-.078 5.868-2.302C20.372 9.28 20.5 4.207 20.5 3.5c0-2.51-1.066-2.49-3.702-.695C14.046 4.747 11.087 8.686 12 10.8z'/%3E%3C/svg%3E") no-repeat center / contain !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M12 10.8c-1.087-2.114-4.046-6.053-6.798-7.995C2.566 1.01 1.5.99 1.5 3.5c0 .707.128 5.78 1.432 7.788 1.444 2.224 3.738 2.666 5.868 2.302-3.66.626-6.9 2.116-4.5 6.41 2.973 5.32 6.8 1.156 7.7-1.12.9 2.276 4.727 6.44 7.7 1.12 2.4-4.294-.84-5.784-4.5-6.41 2.13.364 4.424-.078 5.868-2.302C20.372 9.28 20.5 4.207 20.5 3.5c0-2.51-1.066-2.49-3.702-.695C14.046 4.747 11.087 8.686 12 10.8z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
