/* Container & header */
.bbl-listings-page { padding: 28px 16px; }
.bbl-container { max-width: 1280px; margin: 0 auto; }
.bbl-title { font-weight: 800; color: #183C66; margin: 0 0 .35rem; font-size: clamp(1.8rem, 2.6vw, 2.4rem); }

/* Filters */
.bbl-filters { background: #fff; border: 1px solid #E9ECEF; border-radius: 12px; padding: 14px; margin-bottom: 16px; box-shadow: 0 6px 18px rgba(16,24,40,.05); }
.bbl-filter-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; align-items: end; }
.bbl-field label { display: block; font-size: .9rem; color: #6B7280; margin-bottom: 6px; }
.bbl-field input[type="text"],
.bbl-field input[type="number"],
.bbl-field select { width: 100%; border: 1px solid #E5E7EB; border-radius: 10px; padding: 10px 12px; }
.bbl-price-inputs { display: flex; align-items: center; gap: 8px; }
.bbl-dash { color: #9CA3AF; }
.bbl-featured { display: flex; align-items: center; }
.bbl-featured label { margin-top: 22px; }
.bbl-actions { display: flex; gap: 8px; justify-content: flex-end; }
.bbl-btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; border-radius: 10px; font-weight: 700; text-decoration: none; }
.bbl-btn-primary { background: #3156e2; color: #fff; box-shadow: 0 8px 20px rgba(49,86,226,.25); }
.bbl-btn-ghost { border: 1px solid #E5E7EB; color: #374151; background: #fff; }

@media (max-width: 1100px) { .bbl-filter-row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .bbl-filter-row { grid-template-columns: 1fr; } }

/* Grid & cards */
.bbl-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1100px) { .bbl-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .bbl-grid { grid-template-columns: 1fr; } }

.bbl-card { background: #fff; border: 1px solid #E9ECEF; border-radius: 16px; box-shadow: 0 10px 28px rgba(16,24,40,.08); overflow: hidden; display: flex; flex-direction: column; }
.bbl-media { position: relative; }
.bbl-media img { width: 100%; height: 220px; object-fit: cover; display: block; }
.bbl-badge { position: absolute; top: 12px; right: 12px; background: #26C281; color: #fff; font-weight: 800; font-size: .8rem; border-radius: 999px; padding: .35rem .6rem; display: inline-flex; align-items: center; gap: .4rem; box-shadow: 0 4px 14px rgba(38,194,129,.35); }
.bbl-badge-dot { width: 8px; height: 8px; background: #fff; border-radius: 999px; display: inline-block; }

.bbl-body { padding: 1rem 1rem .75rem; }
.bbl-title-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.bbl-card-title { font-size: 1.15rem; font-weight: 800; color: #1F2937; margin: 0; }
.bbl-card-title a { color: inherit; text-decoration: none; }
.bbl-card-title a:hover { text-decoration: underline; }
.bbl-rating { display: inline-flex; align-items: center; gap: 3px; color: #111; font-weight: 600; }
.bbl-rating .is-filled path { fill: #F5B301; }
.bbl-reviews { color: #4B5563; font-size: .95rem; }
.bbl-location { display: flex; align-items: center; gap: .4rem; color: #6B7280; margin: .35rem 0 .6rem; }

.bbl-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .75rem; }
.bbl-chip { background: #EEF2FF; color: #3156e2; border: 1px solid rgba(49,86,226,.25); padding: .28rem .55rem; border-radius: 999px; font-size: .85rem; font-weight: 700; }

.bbl-footer { display: flex; align-items: center; justify-content: space-between; padding: 0 .9rem 1rem; }
.bbl-price-amount { font-size: 1.2rem; font-weight: 800; color: #111827; }
.bbl-cta-link { color: #3156e2; font-weight: 800; text-decoration: none; }
.bbl-cta-link:hover { text-decoration: underline; }

/* Load More */
.bbl-loadmore { display:flex; justify-content:center; align-items:center; padding: 14px 0; }
.bbl-loadmore [data-bbl-sentinel] { height: 1px; width: 100%; }
