/* Search and category browsing. Loaded after the shared site stylesheet. */
.wc-theme:is(.page-search, .page-category) {
    background: #f6f7f8;
    --browse-ink: #24343d;
    --browse-muted: #667780;
    --browse-line: #e0e5e8;
}
.browse-breadcrumb {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--browse-muted);
    font-size: 13px;
}
.browse-breadcrumb a { color: inherit; text-decoration: none; }
.page-search .browse-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-bottom: 28px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}
.browse-heading h1 { margin: 0 0 6px; font-size: 30px; font-weight: 700; line-height: 1.3; }
.wc-theme.page-search .browse-heading h1 { font-weight: 700; }
.browse-heading p { margin: 0; color: var(--browse-muted); font-size: 14px; }
.browse-search {
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(520px, 52%);
    padding: 6px 14px 6px 6px;
    border: 1px solid #cbd6dc;
    border-radius: 10px;
    background: #fff;
}
.browse-search > i { color: var(--browse-muted); }
.browse-search input { flex: 1; min-width: 0; padding: 8px 0; border: 0; background: none; color: var(--browse-ink); font: inherit; font-size: 14px; outline: none; }
.browse-search:focus-within { border-color: #087ea4; box-shadow: 0 0 0 3px #087ea41a; }
.browse-search .btn { padding: 9px 22px; border-radius: 6px; box-shadow: none; }
.browse-results { min-width: 0; }
.browse-results-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 54px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--browse-line);
}
.browse-result-count { color: var(--browse-muted); font-size: 14px; white-space: nowrap; }
.browse-result-count strong { color: var(--browse-ink); font-size: 18px; font-weight: 700; }
.browse-result-controls { display: flex; align-items: center; gap: 12px; }
.browse-result-controls > select { width: auto; max-width: 190px; min-height: 38px; border-color: var(--browse-line); border-radius: 6px; font-size: 13px; }
.wc-theme:is(.page-search, .page-category) .view-toggle { padding: 3px; border: 1px solid var(--browse-line); border-radius: 7px; background: #fff; box-shadow: none; }
.wc-theme:is(.page-search, .page-category) .view-toggle a { min-width: 34px; min-height: 32px; justify-content: center; border-radius: 4px; font-weight: 500; }
.wc-theme:is(.page-search, .page-category) .view-toggle a.active { background: #e8f3f7; color: #096b8b; box-shadow: none; }

/* One quiet sidebar, with dividers instead of cards nested inside cards. */
.wc-theme:is(.page-search, .page-category) .filter-sidebar {
    padding: 20px;
    background: #fff;
    border: 1px solid var(--browse-line);
    border-radius: 10px;
    box-shadow: none;
}
.wc-theme:is(.page-search, .page-category) .filter-sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 0 0 17px; margin-bottom: 0 !important; border-bottom: 1px solid var(--browse-line); }
.wc-theme:is(.page-search, .page-category) .filter-sheet-head h2 { margin: 0; font-size: 17px; font-weight: 700; }
.wc-theme:is(.page-search, .page-category) :is(.browse-filter-group, .category-filter-group) {
    margin: 0;
    padding: 19px 0;
    border: 0;
    border-bottom: 1px solid var(--browse-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
}
.browse-filter-group h3, .browse-filter-more summary,
.wc-theme.page-category .category-filter-group-title { margin: 0 0 14px; color: var(--browse-ink); font-size: 14px; font-weight: 650; }
.wc-theme.page-category .category-filter-group-title i { width: auto; height: auto; border-radius: 0; background: none; color: var(--browse-muted); font-size: 13px; }
.browse-filter-more summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; margin: 0; }
.browse-filter-more summary::-webkit-details-marker { display: none; }
.browse-filter-more summary i { font-size: 11px; transition: transform .15s; }
.browse-filter-more[open] summary { margin-bottom: 18px; }
.browse-filter-more[open] summary i { transform: rotate(180deg); }
.wc-theme:is(.page-search, .page-category) .filter-sidebar .form-label { margin-bottom: 6px; color: var(--browse-muted); font-size: 12px; font-weight: 500; }
.wc-theme:is(.page-search, .page-category) .filter-sidebar :is(.form-control, .form-select) { min-width: 0; min-height: 40px; border: 1px solid #d7dfe3; border-radius: 6px; background-color: #fff; color: var(--browse-ink); font-size: 13px; font-weight: 400; box-shadow: none; }
.wc-theme:is(.page-search, .page-category) .filter-sidebar :is(.form-control, .form-select):focus { border-color: #087ea4; box-shadow: 0 0 0 3px #087ea41a; }
.browse-filter-group > .mb-3:last-child { margin-bottom: 0 !important; }
.browse-filter-actions { padding-top: 18px; }
.wc-theme:is(.page-search, .page-category) .filter-sidebar .btn-primary { min-height: 42px; border-radius: 6px; background: #087ea4; border-color: #087ea4; font-weight: 600; box-shadow: none; }
.page-category .filter-sidebar form > .btn-primary { margin-top: 18px; }
.wc-theme.page-category .category-filter-actions { padding-top: 18px; }
.wc-theme:is(.page-search, .page-category) .active-filter-chip { border: 1px solid #cddfe6; border-radius: 6px; background: #eef6f9; color: #24596d; font-weight: 500; box-shadow: none; }

/* Consistent image / information / price rhythm, with restrained type. */
.wc-theme:is(.page-search, .page-category) .listing-card {
    border: 1px solid var(--browse-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.wc-theme:is(.page-search, .page-category) .listing-card:hover { transform: none; border-color: #a9c1cb; box-shadow: 0 3px 10px #203b4910; }
.wc-theme:is(.page-search, .page-category) .listing-card .title { color: var(--browse-ink); font-weight: 600; line-height: 1.5; }
.wc-theme:is(.page-search, .page-category) .listing-card .price { color: #163d4c; font-weight: 700; letter-spacing: -.3px; }
.wc-theme:is(.page-search, .page-category) .listing-card .meta { color: var(--browse-muted); font-weight: 400; line-height: 1.6; }
.wc-theme:is(.page-search, .page-category) .listing-card .fav-btn { width: 32px; height: 32px; background: #fffffff2; border: 1px solid #e2e7ea; box-shadow: none; }
.wc-theme:is(.page-search, .page-category) .listing-card:hover .img-wrap img { transform: none; }
.wc-theme:is(.page-search, .page-category) .listing-card.is-list { display: grid; grid-template-columns: 176px minmax(0, 1fr) minmax(110px, auto); gap: 20px; padding: 12px; align-items: center; }
.wc-theme:is(.page-search, .page-category) .listing-card.is-list .img-wrap { width: 176px; height: 126px; flex: none; border-radius: 6px; margin: 0; grid-column: 1; grid-row: 1; }
.wc-theme:is(.page-search, .page-category) .listing-card.is-list .body { padding: 0; margin: 0; min-width: 0; grid-column: 2; grid-row: 1; }
.wc-theme:is(.page-search, .page-category) .listing-card.is-list .body { gap: 4px; }
.wc-theme:is(.page-search, .page-category) .listing-card .browse-card-category { color: #78878f; font-size: 11px; font-weight: 400; line-height: 1.4; margin-bottom: 3px; }
.wc-theme:is(.page-search, .page-category) .listing-card .browse-card-location { margin-top: 3px; font-size: 12px; }
.wc-theme:is(.page-search, .page-category) .listing-card.is-list .title { font-size: 17px; margin-bottom: 8px; }
.wc-theme:is(.page-search, .page-category) .listing-card.is-list .price { padding: 0 12px; margin: 0; border: 0; min-width: 0; font-size: 21px; text-align: end; grid-column: 3; grid-row: 1; }
.wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) { display: flex !important; flex-direction: column; }
.wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .img-wrap { flex-shrink: 0; border-radius: 9px 9px 0 0; aspect-ratio: 4 / 3; }
.wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .body { flex: 1; padding: 14px 14px 6px; }
.wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .title { font-size: 15px; }
.wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .price { padding: 4px 14px 15px; font-size: 20px; }
.wc-theme:is(.page-search, .page-category) :is(a, button, summary):focus-visible { outline: 3px solid #087ea4; outline-offset: 3px; }

/* Category headers share the browsing hierarchy without a promotional hero. */
.wc-theme.page-category .category-hero { padding: 6px 0 24px; border: 0; border-radius: 0; background: none; box-shadow: none; }
.wc-theme.page-category .category-hero::before, .wc-theme.page-category .category-hero::after { display: none; }
.wc-theme.page-category .category-hero-icon { width: 46px; height: 46px; border: 1px solid var(--browse-line); border-radius: 9px; background: #fff; color: var(--category-accent); box-shadow: none; font-size: 21px; }
.wc-theme.page-category .category-hero-icon { flex-basis: 46px; }
.wc-theme.page-category .category-hero h1 { font-size: 30px; font-weight: 700; }
.wc-theme.page-category .category-hero-kicker { color: var(--browse-muted); font-weight: 500; }
.wc-theme.page-category .category-hero-meta { display: none; }
.wc-theme.page-category .category-results-toolbar { padding: 0 0 14px; border: 0; border-bottom: 1px solid var(--browse-line); border-radius: 0; background: none; box-shadow: none; }
.wc-theme.page-category .category-results-summary strong { font-size: 17px; font-weight: 650; }
.wc-theme.page-category :is(.category-rich-navigation, .category-subcats-panel) { border: 1px solid var(--browse-line); border-radius: 10px; background: #fff; box-shadow: none; }
.wc-theme.page-category .category-subcats-panel { border: 0; border-radius: 0; }
.wc-theme.page-category .category-sort-form { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.wc-theme.page-category .category-sort-form label { padding: 0; background: none; color: var(--browse-muted); font-weight: 500; }
.wc-theme.page-category .category-sort-form .form-select { min-height: 40px; border-radius: 6px; font-weight: 500; }
.wc-theme.page-category .category-publish-action { border-radius: 6px; color: #fff; font-weight: 600; box-shadow: none; }

@media (min-width: 992px) {
    .browse-layout > #filterSidebar { width: 276px; }
    .browse-layout > .browse-results { width: calc(100% - 276px); }
    .wc-theme:is(.page-search, .page-category) .filter-sidebar { position: static; max-height: none; overflow: visible; }
    .page-search .browse-listings > .listing-col-5 { width: 33.333333%; }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .page-search .browse-listings > .listing-col-5 { width: 50%; }
}
@media (max-width: 991.98px) {
    .page-search .browse-heading { flex-direction: column; align-items: stretch; gap: 18px; margin-bottom: 20px; }
    .browse-search { width: 100%; }
    .wc-theme:is(.page-search, .page-category) #filterSidebar.is-open .filter-sidebar { padding: 20px; border-radius: 16px 16px 0 0; max-height: 88dvh; overflow-y: auto; }
    .wc-theme:is(.page-search, .page-category) #filterSidebar.is-open .filter-sheet-head { position: sticky; top: -20px; z-index: 5; padding-top: 15px; padding-bottom: 15px; background: #fff; }
    .browse-filter-actions { position: sticky; bottom: -20px; z-index: 4; padding: 12px 0 20px; border-top: 1px solid var(--browse-line); background: #fff; }
}
@media (max-width: 575.98px) {
    .wc-theme.page-category .category-hero { padding-bottom: 0; margin-bottom: 6px; }
    .wc-theme.page-category .category-subcats-panel { padding-top: 8px; }
    .wc-theme.page-category #toggleFilters > .fa-sliders { margin-inline-end: 0; }
    .browse-breadcrumb { margin-bottom: 14px; font-size: 12px; }
    .browse-heading h1, .wc-theme.page-category .category-hero h1 { font-size: 25px; }
    .browse-heading p { font-size: 13px; }
    .browse-search { gap: 8px; }
    .browse-search input { font-size: 13px; }
    .browse-search .btn { padding: 9px 14px; }
    .browse-results-toolbar { flex-wrap: wrap; gap: 12px; }
    .browse-result-controls { width: 100%; gap: 8px; }
    .browse-result-controls > select { flex: 1; max-width: none; min-width: 0; }
    .browse-result-controls > .btn { min-height: 38px; border-color: #ccdce3; border-radius: 6px; }
    .wc-theme:is(.page-search, .page-category) .listing-card.is-list { grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: 1fr auto; gap: 6px 12px; padding: 10px; height: auto; min-height: 126px; }
    .wc-theme:is(.page-search, .page-category) .listing-card.is-list .img-wrap { grid-row: 1 / 3; width: 112px; height: 106px; }
    .wc-theme:is(.page-search, .page-category) .listing-card.is-list .body { grid-column: 2; grid-row: 1; align-self: center; }
    .wc-theme:is(.page-search, .page-category) .listing-card.is-list .title { font-size: 14px; margin-bottom: 4px; min-height: 0; }
    .wc-theme:is(.page-search, .page-category) .listing-card.is-list .meta { font-size: 11px; flex-wrap: wrap; gap: 4px; }
    .wc-theme:is(.page-search, .page-category) .listing-card.is-list .price { grid-column: 2; grid-row: 2; padding: 0; text-align: right; font-size: 18px; }
    .wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .body { padding: 10px 10px 4px; }
    .wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .title { font-size: 13px; }
    .wc-theme:is(.page-search, .page-category) .listing-card:not(.is-list) .price { padding: 4px 10px 12px; font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .wc-theme:is(.page-search, .page-category) .listing-card,
    .browse-filter-more summary i { transition: none; }
}

/* Compact subcategory navigation, with wrapping labels and touch-sized links. */
.wc-theme.page-category .category-subcats-panel { --category-accent: var(--marketplace-accent, #00aeef); padding: 12px 0; border: 0; border-radius: 0; background: transparent; }
.wc-theme.page-category .category-subcats-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 0 0 10px; }
.wc-theme.page-category .category-subcats-title > span { font-size: 15px; line-height: 1.4; font-weight: 600; }
.wc-theme.page-category .category-subcats-title > small { font-size: 12px; line-height: 1.5; color: #697f8b; }
.wc-theme.page-category .category-subcats-panel .subcat-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; overflow: visible; }
.wc-theme.page-category .category-subcats-panel .subcat-chip { flex: 0 1 auto; max-width: 100%; min-width: 0; min-height: 44px; padding: 8px 12px; gap: 7px; white-space: normal; text-align: start; background: #fff; border: 1px solid #dfe9ed; border-radius: 9px; font-size: 13px; line-height: 1.45; font-weight: 500; box-shadow: none; }
.wc-theme.page-category .subcat-chip > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.wc-theme.page-category .subcat-chip .subcat-chip-icon { flex: 0 0 18px; width: 18px; height: 20px; border-radius: 0; background: transparent; }
.wc-theme.page-category .category-subcats-panel .subcat-chip .subcat-chip-icon i { font-size: 14px; }
.wc-theme.page-category .category-subcats-panel .subcat-chip:hover { border-color: var(--category-accent, #008cb8); background: #f8fbfc; box-shadow: none; transform: none; }
.wc-theme.page-category .subcat-chip:focus-visible { outline: 2px solid var(--category-accent, #008cb8); outline-offset: 2px; }
/* On phones, direct range entry avoids competing handles inside a scrolling sheet. */
.wc-range-number-label { display: flex; flex: 1 1 0; min-width: 0; flex-direction: column; gap: 6px; margin: 0; }
.wc-range-number-label > span { color: #726b79; font-size: 12px; font-weight: 400; }
.wc-range-number-label .form-control { width: 100%; min-width: 0; }
.wc-range-field.is-invalid-range .wc-range-fill { visibility: hidden; }
.wc-range-field.is-invalid-range .wc-range-num-hi { border-color: #b94343; }
@media (max-width: 991.98px) {
    .wc-theme.page-category .wc-range-field .wc-range { display: none; }
    .wc-theme.page-category .wc-range-number-label .form-control { min-height: 46px; font-size: 16px; }
    .wc-theme.page-category .wc-range-number-label .form-control::placeholder { font-size: 13px; }
}
/* Compact floor choices, ordered from zero on the right. */
.wc-floor-filter { display: flex; direction: rtl; gap: 8px; flex-wrap: wrap; }
.wc-floor-option { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 36px; padding: 0 12px; border: 1px solid #c4c4c4; border-radius: 999px; background: #fff; color: #333; font: inherit; font-size: 13px; cursor: pointer; }
.wc-floor-option[aria-pressed="true"] { border-color: var(--marketplace-accent, #00aeef); background: var(--marketplace-accent, #00aeef); color: #fff; }
.wc-floor-option:focus-visible { outline: 2px solid var(--marketplace-accent, #00aeef); outline-offset: 2px; }
