/* ==========================================================================
   DeshiWear — shop, category and search pages
   ========================================================================== */

.dw-shop-page { padding-bottom: 20px; }
.dw-shop-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin: 0 0 14px; }
.dw-shop-head__title { margin: 0; font-size: 1.125rem; font-weight: 600; color: var(--dw-ink); }
.dw-shop-head__desc { flex-basis: 100%; font-size: .8125rem; color: var(--dw-muted); max-width: 760px; }
.dw-shop-head__desc p { margin: 0; }
.dw-subcats { flex-basis: 100%; list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.dw-subcats a { display: inline-block; padding: 4px 14px; border: 1px solid #ddd; border-radius: 999px; font-size: .8125rem; color: #444; }
.dw-subcats a:hover { background: var(--dw-ink); color: #fff; border-color: var(--dw-ink); }

.dw-shop { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.dw-shop.has-filters { grid-template-columns: 220px minmax(0, 1fr); }
.dw-shop__main { min-width: 0; }
.dw-shop__main ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 700px) { .dw-shop__main ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1300px) { .dw-shop:not(.has-filters) .dw-shop__main ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Toolbar */
.dw-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-bottom: 14px; }
.dw-toolbar__count { margin-right: auto; font-size: .8125rem; color: var(--dw-muted); }
.dw-toolbar__count p { margin: 0; }
.dw-toolbar__sort form { display: flex; align-items: center; gap: 8px; margin: 0; }
.dw-toolbar__sort { display: flex; align-items: center; gap: 8px; }
.dw-toolbar__sortlabel { font-size: .8125rem; color: #333; white-space: nowrap; }
.dw-toolbar__sort select { min-height: 34px; padding: 4px 30px 4px 10px; font-size: .8125rem; width: auto; min-width: 170px; border-color: #e3e3e3; }
.dw-toolbar__filter { display: none; align-items: center; gap: 6px; border: 1px solid #ddd; border-radius: 4px; background: #fff; padding: 6px 14px; font-size: .8125rem; margin-right: auto; }
.dw-toolbar__filter .dw-icon { width: 16px; height: 16px; }

/* Sidebar filters */
.dw-shop__sidebar-head { display: none; }
.dw-drawer--desktop-static { position: static; transform: none; width: auto; box-shadow: none; visibility: visible; z-index: auto; display: block; background: none; }
.dw-drawer--desktop-static[hidden] { display: block; visibility: visible; }
.dw-drawer--desktop-static .dw-drawer__body { overflow: visible; }
.dw-filters-title { font-size: .9375rem; font-weight: 600; color: var(--dw-ink); margin: 0 0 8px; text-transform: uppercase; letter-spacing: .02em; }
.mfc-filter { border: 0; margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--dw-line); }
.mfc-filter__title { display: inline-block; list-style: none; cursor: pointer; font-size: .8438rem; font-weight: 600; color: var(--dw-ink); text-transform: uppercase; letter-spacing: .02em; padding-bottom: 4px; margin-bottom: 8px; border-bottom: 2px solid var(--dw-accent); }
.mfc-filter__title::-webkit-details-marker { display: none; }
.mfc-filter__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; }
.mfc-filter__list--scroll { max-height: 220px; overflow-y: auto; scrollbar-width: thin; padding-right: 4px; }
.mfc-filter__link, .mfc-filter__check { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: .8125rem; color: #444; }
.mfc-filter__link small, .mfc-filter__check small { margin-left: auto; color: #999; font-size: .75rem; }
.mfc-filter__link:hover, .mfc-filter__check:hover { color: var(--dw-ink); }
.mfc-filter__link.is-active { color: var(--dw-accent); font-weight: 600; }
.mfc-filter__box { flex: none; width: 14px; height: 14px; border: 1px solid #bbb; border-radius: 2px; background: #fff; display: grid; place-items: center; }
.mfc-filter__check.is-active .mfc-filter__box { background: var(--dw-accent); border-color: var(--dw-accent); }
.mfc-filter__check.is-active .mfc-filter__box::after { content: ""; width: 7px; height: 4px; border: solid #fff; border-width: 0 0 2px 2px; transform: rotate(-45deg) translate(1px, -1px); }
.mfc-filter__check.is-active { color: var(--dw-ink); font-weight: 500; }
.mfc-filter__dot { flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--swatch, #ccc); box-shadow: inset 0 0 0 1px rgb(0 0 0 / 15%); }
.mfc-price { margin-top: 10px; }
.mfc-price__inputs { display: grid; grid-template-columns: 1fr auto 1fr auto; gap: 6px; align-items: center; }
.mfc-price__inputs input { min-height: 32px; padding: 4px 8px; font-size: .75rem; }
.mfc-price__inputs .mfc-btn { min-height: 32px; padding: 4px 10px; }
.mfc-price__dash { color: #999; }

/* Active filter chips */
.mfc-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 14px; }
.mfc-chip-link { display: inline-flex; align-items: center; gap: 6px; padding: 3px 12px; border-radius: 999px; background: var(--dw-tint); font-size: .75rem; color: #333; }
.mfc-chip-link:hover { background: var(--dw-ink); color: #fff; }
.mfc-clear-filters { font-size: .75rem; color: var(--dw-sale); text-decoration: underline; }

[data-mfc-region="results"].is-loading { opacity: .5; pointer-events: none; }
[data-mfc-region="results"].is-loading::after { display: none; }

.woocommerce-no-products-found .woocommerce-info { justify-content: center; padding: 40px; }

@media (max-width: 899px) {
	.dw-shop.has-filters { grid-template-columns: minmax(0, 1fr); }
	.dw-drawer--desktop-static { position: fixed; top: 0; bottom: 0; left: 0; z-index: 200; width: min(320px, 88vw); background: #fff; box-shadow: var(--dw-shadow-lg); transform: translateX(-100%); visibility: hidden; display: flex; }
	.dw-drawer--desktop-static[hidden] { display: flex; }
	.dw-drawer--desktop-static.is-open { transform: none; visibility: visible; }
	.dw-drawer--desktop-static .dw-drawer__body { overflow: auto; padding: 14px 18px 90px; }
	.dw-shop__sidebar-head { display: flex; }
	.dw-toolbar__filter { display: inline-flex; }
	.dw-toolbar__count { display: none; }
	.dw-toolbar__sortlabel { display: none; }
	.dw-toolbar__sort select { min-width: 0; }
	.dw-shop__main ul.products { gap: 10px; }
}
