/* ==========================================================================
   SL Directory — Business Finder ([sl_business_finder] / Elementor widget)
   ========================================================================== */

.sl-finder {
	--sl-finder-accent: #00F0FF;
	--sl-finder-columns: 3;
	--sl-finder-text-dim: #6b7280;
	--sl-finder-border: rgba(0,0,0,0.08);
	font-family: inherit;
}

.sl-finder *, .sl-finder *::before, .sl-finder *::after { box-sizing: border-box; }

/* Filter bar ---------------------------------------------------------------*/
.sl-finder__filters {
	display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px;
	margin-bottom: 20px; padding: 16px;
	border: 1px solid var(--sl-finder-border); border-radius: 12px;
	background: rgba(0,0,0,0.02);
}
.sl-finder__field { display: flex; flex-direction: column; gap: 4px; flex: 1 1 180px; min-width: 160px; }
.sl-finder__field label { font-size: 12px; font-weight: 600; color: var(--sl-finder-text-dim); }
.sl-finder__select,
.sl-finder__filters select {
	width: 100%; padding: 9px 12px; border-radius: 8px;
	border: 1px solid var(--sl-finder-border); background: #fff; font-size: 14px;
}
.sl-finder__select:focus,
.sl-finder__filters select:focus { outline: 2px solid var(--sl-finder-accent); outline-offset: 1px; }
.sl-finder__search-btn {
	padding: 10px 22px; border: none; border-radius: 8px; cursor: pointer;
	background: var(--sl-finder-accent); color: #06121a; font-weight: 600; font-size: 14px;
	transition: opacity .15s ease;
}
.sl-finder__search-btn:hover { opacity: 0.85; }
.sl-finder__search-btn:active { transform: scale(0.98); }

/* Results grid ---------------------------------------------------------------*/
.sl-finder__grid {
	display: grid;
	grid-template-columns: repeat(var(--sl-finder-columns), minmax(0, 1fr));
	gap: 18px;
}
@media (max-width: 900px) { .sl-finder__grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .sl-finder__grid { grid-template-columns: 1fr; } }

.sl-finder__empty {
	grid-column: 1 / -1; text-align: center; padding: 40px 20px;
	color: var(--sl-finder-text-dim); font-size: 14px;
}

/* Card ---------------------------------------------------------------------*/
.sl-finder__card {
	border: 1px solid var(--sl-finder-border); border-radius: 14px; overflow: hidden;
	display: flex; flex-direction: column; background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.sl-finder__card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.08); transform: translateY(-2px); }

.sl-finder__card-image { aspect-ratio: 16/10; overflow: hidden; background: #f3f4f6; display: flex; align-items: center; justify-content: center; }
.sl-finder__card-image img { width: 100%; height: 100%; object-fit: cover; }
.sl-finder__card-image-placeholder { color: #9ca3af; }

.sl-finder__card-body { padding: 14px 16px 16px; flex: 1; display: flex; flex-direction: column; }
.sl-finder__card-title-row { display: flex; align-items: center; gap: 6px; }
.sl-finder__card-title-row h3 { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; }
.sl-finder__card-title-row h3 a { color: inherit; text-decoration: none; }
.sl-finder__card-title-row h3 a:hover { color: var(--sl-finder-accent); }
.sl-finder__verified { display: inline-flex; flex-shrink: 0; }

.sl-finder__card-meta { margin: 4px 0 0; font-size: 12.5px; color: var(--sl-finder-text-dim); }
.sl-finder__card-meta--location { display: flex; align-items: center; gap: 4px; }

.sl-finder__card-rating-row { display: flex; align-items: center; gap: 8px; margin-top: 8px; row-gap: 4px; flex-wrap: wrap; }
.sl-finder__card-rating { display: flex; align-items: center; gap: 5px; font-size: 13px; }
.sl-finder__card-muted { color: var(--sl-finder-text-dim); }
.sl-finder__card-status { font-size: 12px; font-weight: 600; }
.sl-finder__card-status--open { color: #16a34a; }
.sl-finder__card-status--closed { color: #dc2626; }
.sl-finder__card-status--with-sep { padding-left: 9px; border-left: 1px solid var(--sl-finder-border); }
.sl-finder__card-price { font-size: 12.5px; color: var(--sl-finder-text-dim); margin: 6px 0 0; }

.sl-finder__card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--sl-finder-border); }
.sl-finder__card-actions { display: flex; gap: 8px; flex: 1; }
.sl-finder__cta {
	flex: 1; text-align: center; padding: 8px 10px; border-radius: 8px;
	font-size: 12.5px; font-weight: 600; text-decoration: none;
	border: 1px solid var(--sl-finder-border); color: inherit;
}
.sl-finder__cta--whatsapp { background: #25D366; border-color: #25D366; color: #fff; }
.sl-finder__cta:not(.sl-finder__cta--whatsapp):hover { border-color: var(--sl-finder-accent); color: var(--sl-finder-accent); }

.sl-finder__card-gauge { position: relative; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.sl-finder__card-gauge-progress { transition: stroke-dashoffset 1.2s cubic-bezier(.16,.84,.44,1); }
.sl-finder__card-gauge-label { position: absolute; text-align: center; line-height: 1; }
.sl-finder__card-gauge-label p:first-child { font-size: 6.5px; letter-spacing: 0.04em; color: var(--sl-finder-text-dim); margin: 0; }
.sl-finder__card-gauge-value { font-size: 12px; font-weight: 700; margin: 1px 0 0; }

/* Pagination ---------------------------------------------------------------*/
.sl-finder__pages { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-top: 24px; }
.sl-finder__page {
	min-width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
	border-radius: 8px; border: 1px solid var(--sl-finder-border);
	text-decoration: none; color: inherit; font-size: 13px;
}
.sl-finder__page.is-active { background: var(--sl-finder-accent); color: #06121a; border-color: var(--sl-finder-accent); font-weight: 700; }

/* Loading state --------------------------------------------------------------*/
.sl-finder__results.is-loading { opacity: 0.5; pointer-events: none; transition: opacity .15s ease; }
