.listing-page .container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.listing-hero { background-size: cover; background-position: center; }
.listing-hero .hero-overlay { backdrop-filter: saturate(1.2); background: rgba(0,0,0,.35); color:#fff; display:flex; gap:16px; align-items:center; padding: 24px 16px; }
.biz-logo { width:84px; height:84px; object-fit:cover; border-radius:12px; border:2px solid rgba(255,255,255,.7); background:#fff; }
.biz-title { margin:0 0 6px; font-size: clamp(22px, 3vw, 32px); }
.badge { font-size:12px; padding:2px 6px; border-radius:6px; margin-left:6px; }
.badge.verified { background:#1ec28b; color:#fff; }
.badge.featured { background:#ffb300; color:#111; }
.biz-meta { opacity:.95; font-size:14px; display:flex; gap:8px; flex-wrap:wrap; }
.open-badge { padding:6px 10px; border-radius:20px; font-weight:600; }
.open-badge.open { background:#e9fff4; color:#0a995c; }
.open-badge.closed { background:#ffe9e9; color:#b40b0b; }
.actions-bar { display:flex; flex-wrap:wrap; gap:10px; padding:14px 0; border-bottom:1px solid #eee; }
.action { background:#f6f7f8; border:1px solid #e3e5e8; border-radius:24px; padding:8px 12px; text-decoration:none; }
.action.primary { background:#2f6fed; color:#fff; border-color:#2f6fed; }
.inline { display:inline; }
.tabs { display:flex; gap:8px; padding:14px 0; }
.tab { background:#f6f7f8; border:1px solid #e3e5e8; border-radius:8px; padding:8px 12px; cursor:pointer; }
.tab.is-active { background:#fff; border-color:#cfd3d8; }
.tab-panel { display:none; padding:16px 0; }
.tab-panel.is-active { display:block; }
.grid-2 { display:grid; grid-template-columns: 2fr 1fr; gap:16px; }
.card { background:#fff; border:1px solid #eee; border-radius:12px; padding:16px; }
.owner-box .owner-head { display:flex; gap:10px; align-items:center; }
.owner-avatar { width:52px; height:52px; border-radius:50%; object-fit:cover; }
.owner-actions { display:flex; gap:8px; margin:10px 0; }
.btn { background:#2f6fed; color:#fff; border:none; padding:10px 12px; border-radius:8px; cursor:pointer; }
.btn.small { padding:6px 10px; font-size:12px; }
.btn.block { width:100%; }
.contact-list { list-style:none; padding:0; margin:12px 0; display:grid; gap:6px; }
.muted { color:#6b7280; font-size:12px; }
.gallery-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(180px,1fr)); gap:10px; }
.g-item img { width:100%; height:160px; object-fit:cover; border-radius:10px; }
.embed { position:relative; padding-top:56.25%; }
.embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.hours, .features { margin:0; padding-left:18px; }
.reviews { list-style:none; padding:0; display:grid; gap:14px; }
.r-head { display:flex; gap:8px; align-items:center; }
.stars { color:#ff9800; }
@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; }
  .hero-right { display:none; }
}
/* ===============================
   [LC-SR-01] Search page polish
   =============================== */

/* Wrap-safe selectors (work even if markup varies slightly) */
.search-page,
.search-results,
.results-list { /* marker only */ }

/* Results container spacing */
.search-results,
.results-list,
.results-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
}

/* Use cards with dark background + clear borders */
.result,
.result-item,
.result-card,
.search-result,
.listing-result {
  background: #151923;            /* card bg (dark) */
  border: 1px solid #222736;      /* subtle border */
  border-radius: 12px;
  padding: 14px 16px;
  color: #e8ecf1;                 /* high-contrast text */
}

/* Make sure faint utility classes don’t wash out */
.result *, .result-item *, .result-card *,
.search-result *, .listing-result * {
  text-shadow: none !important;
}
.result .muted, .result-item .muted, .result-card .muted,
.search-result .muted, .listing-result .muted,
.result .text-muted, .result-item .text-muted, .result-card .text-muted,
.search-result .text-muted, .listing-result .text-muted {
  color: #b7c0cc !important;      /* readable muted */
  opacity: 1 !important;
}

/* Title/link */
.result a, .result-item a, .result-card a,
.search-result a, .listing-result a {
  color: #7bd389;                 /* bright readable link */
  text-decoration: none;
  font-weight: 600;
}
.result a:hover, .result-item a:hover, .result-card a:hover,
.search-result a:hover, .listing-result a:hover {
  color: #4da3ff;                 /* hover accent */
}

/* Title element (cover common class names) */
.result-title, .title, .listing-title {
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.25;
  margin: 0 0 4px;
  color: #e8ecf1;
}

/* Meta row */
.result-meta, .meta, .subline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 13px;
  color: #cfd3db;
}

/* If results are in columns on wide screens */
@media (min-width: 920px) {
  .search-results,
  .results-list,
  .results-grid {
    grid-template-columns: 1fr 1fr;   /* two columns */
  }
}

/* Search bar: make placeholder and inputs readable on dark */
.search-bar input[type="text"],
.search-bar input[type="search"],
.search-controls input[type="search"] {
  background: #0f1115;
  border: 1px solid #222736;
  color: #e8ecf1;
  border-radius: 10px;
  padding: 10px 12px;
}
.search-bar input::placeholder,
.search-controls input::placeholder {
  color: #9aa4b2;
  opacity: 1;
}

/* Filter selects */
.search-bar select,
.search-controls select {
  background: #0f1115;
  border: 1px solid #222736;
  color: #e8ecf1;
  border-radius: 10px;
  padding: 10px 12px;
}

/* Filter button */
.search-bar .btn, .search-controls .btn {
  background: #4da3ff;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 10px 14px;
}
.search-bar .btn:hover, .search-controls .btn:hover {
  background: #66b6ff;
}
/* ===========================================================
   [LC-SR] Search Results styling (listings/search.php)
   =========================================================== */

.listings-search { padding: 16px 0 24px; }

/* Heading */
.listings-search .sr-heading {
  margin: 0 0 10px;
  font-size: clamp(18px, 2.2vw, 22px);
  color: #e8ecf1;
}

/* Results grid */
.listings-search .sr-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

@media (min-width: 900px) {
  .listings-search .sr-grid {
    grid-template-columns: 1fr 1fr; /* two columns on wide screens */
  }
}

/* Result card */
.listings-search .sr-card {
  background: #151923;          /* dark card */
  border: 1px solid #222736;    /* subtle border */
  border-radius: 12px;
  padding: 14px 16px;
  color: #e8ecf1;               /* readable text */
}

/* Ensure nothing fades the text */
.listings-search .sr-card * {
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Title + link */
.listings-search .sr-title {
  margin: 0 0 6px;
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.25;
}
.listings-search .sr-title a {
  color: #7bd389;               /* bright green */
  text-decoration: none;
  font-weight: 600;
}
.listings-search .sr-title a:hover {
  color: #4da3ff;               /* hover accent */
}

/* Meta row */
.listings-search .sr-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 13px;
  color: #cfd3db;               /* readable muted */
}

/* Small tag pill */
.listings-search .tag {
  background: #1e293b;
  border: 1px solid #2b364a;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 12px;
  color: #cfe3ff;
}

/* Empty state */
.listings-search .sr-empty {
  background: #121620;
  border: 1px dashed #2a3142;
  border-radius: 12px;
  padding: 18px;
  color: #b7c0cc;
  text-align: center;
}
/* [LC-V-SHOW-BC-CSS] Breadcrumbs */
.breadcrumbs { margin: 0 0 12px; font-size: .95rem; }
.bc-list { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; }
.bc-item, .bc-sep { color: #7a8493; }
.bc-link { text-decoration: none; color: #2b6cb0; }
.bc-link:hover { text-decoration: underline; }
.bc-current { color: #111; font-weight: 600; }
