/* Classic, elegant, responsive homepage styles */
.hero-banner { background: linear-gradient(135deg, #2563eb 0%, #1f2937 100%); color: #fff; padding: 40px 0; }
.hero-title { font-size: clamp(26px, 5vw, 44px); font-weight: 800; letter-spacing: -0.4px; text-transform: none; }
.hero-subtitle { font-size: clamp(15px, 2.5vw, 18px); opacity: .9; }
.hero-cta .btn { border-radius: 24px; padding: 10px 22px; }

.section-title { font-size: 20px; font-weight: 700; }

.feature-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 14px; }
@media (max-width: 992px) { .feature-grid { grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 576px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } }

.feature-card { grid-column: span 3; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 14px; transition: box-shadow .2s ease, transform .2s ease; }
.feature-card:hover { box-shadow: 0 8px 20px rgba(0,0,0,.08); transform: translateY(-2px); }
.feature-icon { width: 48px; height: 48px; border-radius: 10px; display:flex; align-items:center; justify-content:center; background:#f1f5f9; color:#2563eb; }
.feature-title { font-weight: 700; margin: 6px 0 2px; }
.feature-desc { color:#6b7280; font-size: 13px; }

.category-pills { display:flex; flex-wrap:wrap; gap:8px; }
.category-pills .badge { padding:8px 12px; border:1px solid #e2e8f0; border-radius:999px; background:#fff; color:#111827; text-decoration:none; font-weight:500; }
.category-pills .badge:hover { background:#2563eb; color:#fff; border-color:#2563eb; }

.quick-access-section { margin-top: 20px; }

/* Sticky mobile search */
.sticky-search { position: sticky; top: 0; z-index: 10; background: #ffffff; border-bottom: 1px solid #e5e7eb; backdrop-filter: saturate(180%) blur(6px); }
.sticky-search .search-bar { display:flex; gap:8px; padding: 12px; }
.sticky-search input { flex:1; border:1px solid #e5e7eb; border-radius: 999px; padding:10px 14px; }
.sticky-search button { border-radius: 999px; }

.quick-access-card .card { transition: all 0.2s ease; border-radius: 12px; overflow: hidden; }
.quick-access-card:hover .card { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0,0,0,0.12) !important; }
.icon-circle { width: 56px; height: 56px; border-radius: 50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

/* Listing cards standardization */
.premium-card, .ad-card { border: 1px solid #e5e7eb; border-radius: 12px; background:#fff; box-shadow: 0 2px 8px rgba(0,0,0,.04); transition: box-shadow .2s ease, transform .2s ease; }
.premium-card:hover, .ad-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.premium-card .title, .ad-card .title { font-weight: 600; }
.premium-card .price, .ad-card .price { color:#2563eb; font-weight:700; }
.premium-card .location, .ad-card .location { color:#6b7280; font-size: 13px; }

/* Responsive unified filter + count row */
.filter-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
.filter-row .filters {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.filter-row .result-count {
	font-weight: 600;
	color: #1f2937;
}
@media (max-width: 576px) {
	.filter-row {
		flex-direction: column;
		align-items: stretch;
	}
	.filter-row .result-count {
		order: -1;
	}
}

/* Button standardization utilities (non-invasive with Bootstrap) */
.btn {
	border-radius: 8px;
}
.btn-sm { /* ensure consistent small size */
	padding: 0.375rem 0.625rem;
	font-size: 0.875rem;
	border-radius: 6px;
}
.btn-md { /* custom medium utility */
	padding: 0.5rem 0.9rem;
	font-size: 0.95rem;
}
.btn-lg {
	padding: 0.75rem 1.25rem;
	font-size: 1rem;
	border-radius: 10px;
}
.btn-icon { /* square icon buttons */
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
}
.btn-primary, .btn-success, .btn-danger, .btn-warning, .btn-info, .btn-secondary {
	box-shadow: 0 1px 2px rgba(0,0,0,0.06);
}
.btn-outline-primary, .btn-outline-success, .btn-outline-danger, .btn-outline-warning, .btn-outline-info, .btn-outline-secondary {
	border-width: 1.5px;
}

/* Spacing utilities for button groups in filter area */
.filter-row .btn-group, .filter-row .btn, .filter-row .form-select, .filter-row .form-control {
	margin-right: 0.25rem;
}
.filter-row .btn-group:last-child, .filter-row .btn:last-child {
	margin-right: 0;
}

/* Ensure pills in sticky search match button radii */
.category-pill, .search-pill {
	border-radius: 999px; /* keep chips fully rounded */
}
