/* Individual directory category pages. Loaded only on /business-directory/business-category/... pages. */

/* Lead sentence and subcategory chips */
.bo-cat-intro { margin: 0 0 1.75rem; }
.bo-cat-intro__lead { max-width: 64ch; margin: 0 0 1rem; font-size: 1.1rem; line-height: 1.55; }
.bo-cat-intro__heading { margin: 1.25rem 0 0.65rem; font-size: 1.15rem; }

.bo-chip-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.bo-chip { display: inline-block; min-height: 24px; padding: 0.45rem 0.95rem; border: 1px solid var(--bo-dir-border, #ded9d2); border-radius: 999px; background: #fff; color: var(--bo-dir-accent-dark, #7a0000); font-size: 0.95rem; text-decoration: none; }
.bo-chip:hover, .bo-chip:focus-visible { border-color: var(--bo-dir-accent, #990000); text-decoration: underline; }
.bo-chip__n { margin-left: 0.25rem; color: #4f4b46; font-size: 0.85rem; }

.bo-chip-more { margin-top: 0.9rem; }
.bo-chip-more summary { min-height: 24px; padding: 0.4rem 0; color: var(--bo-dir-accent-dark, #7a0000); font-weight: 700; cursor: pointer; }
.bo-chip-more__list { columns: 3 230px; column-gap: 1.75rem; margin: 0.5rem 0 0; padding: 0; list-style: none; }
.bo-chip-more__list li { break-inside: avoid; padding: 0.3rem 0; line-height: 1.35; }

/* Related categories after the listings */
.bo-cat-related { margin: 2.5rem 0 1rem; padding-top: 1.5rem; border-top: 1px solid var(--bo-dir-border, #ded9d2); }
.bo-cat-related h2 { margin: 0 0 0.8rem; font-size: 1.25rem; }
.bo-cat-related__all { margin: 1rem 0 0; font-size: 0.95rem; }

/* Cleaner page: a compact search panel, and no "Suggest a correction" repeated on every card (it stays on each profile) */
body.tax-wpbdp_category #wpbdp-main-box { padding: 1rem 1.25rem; margin-bottom: 1.25rem; }
body.tax-wpbdp_category #wpbdp-main-box .wpbdp-main-links-container { margin-top: 0.6rem; padding-top: 0.6rem; }
body.tax-wpbdp_category.bo-directory-route .bo-listing-card > .listing-actions { display: none !important; }

@media (max-width: 560px) {
	.bo-chip-list { gap: 0.4rem; }
	.bo-chip { padding: 0.35rem 0.75rem; font-size: 0.88rem; }
}

/* Feature chips (links) and the small feature line on each listing card */
.bo-chip-list--features .bo-chip { background: #faf8f4; }
.bo-listing-card__features { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.1rem 0 0.7rem; padding: 0; list-style: none; }
.bo-listing-card__features li { padding: 0.12rem 0.6rem; border-radius: 999px; background: #f3efe8; color: #4a4642; font-size: 0.78rem; line-height: 1.5; }

/* Visits indicator (real analytics numbers, shown only for listings with at least 25 visits a month) */
.bo-visits { display: inline-flex; align-items: center; gap: 0.3rem; color: #5a5650; font-size: 0.82rem; line-height: 1.4; }
.bo-visits__icon { flex: none; color: var(--bo-dir-accent-dark, #7a0000); }
.bo-visits--card { margin: 0 0 0.55rem; }
.bo-visits--profile { margin-right: 0.9rem; }

/* Sort control */
.bo-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin: 0 0 1rem; }
.bo-sort__label { color: #4f4b46; font-size: 0.9rem; font-weight: 700; }
.bo-sort__list { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.bo-sort__link { display: inline-block; min-height: 24px; padding: 0.35rem 0.85rem; border: 1px solid var(--bo-dir-border, #ded9d2); border-radius: 999px; background: #fff; color: var(--bo-dir-accent-dark, #7a0000); font-size: 0.9rem; text-decoration: none; }
.bo-sort__link:hover, .bo-sort__link:focus-visible { border-color: var(--bo-dir-accent, #990000); text-decoration: underline; }
.bo-sort__link.is-current { border-color: var(--bo-dir-accent, #990000); background: var(--bo-dir-accent, #990000); color: #fff; text-decoration: none; }

/* Private panel for the person who manages a listing */
.bo-owner-stats { margin: 1.25rem 0; padding: 1rem 1.25rem; border: 1px solid #d8c9a6; border-left: 4px solid #b78a00; border-radius: 10px; background: #fffaf0; color: #3d3a35; font-size: 0.95rem; line-height: 1.5; }
.bo-owner-stats p { margin: 0 0 0.4rem; }
.bo-owner-stats__tag { color: #6b4e00; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.bo-owner-stats__main strong { font-size: 1.15rem; }
.bo-owner-stats__standing { color: #1d5c2f; font-weight: 700; }
.bo-owner-stats__steps-title { margin-top: 0.6rem !important; font-weight: 700; }
.bo-owner-stats__steps { margin: 0 0 0.6rem; padding-left: 1.2rem; }
.bo-owner-stats__src { color: #5a5650; font-size: 0.82rem; }
.bo-owner-stats--compact { margin: 0.4rem 0 0.8rem; padding: 0.6rem 0.8rem; font-size: 0.88rem; }
