/* Dein Himmelreich – Mobiler Shop-Filter, Schublade (aus Custom CSS Abschnitt 7, Fassung 4).
   Gehört zum Skript assets/js/shop-filter.js im Child Theme. */
@media only screen and (max-width: 767px) {

	.dh-filterbar { position: sticky; top: 0; z-index: 800; display: flex; align-items: stretch; gap: 10px; padding: 10px 15px; margin: 0 -15px 10px; background: #fff; border-bottom: 1px solid #ececec; }
	.dh-filterbar > * { flex: 1 1 50% !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; }
	.dh-filterbar .dh-open,
	.dh-filterbar .woocommerce-ordering select {
		display: block !important; box-sizing: border-box !important; width: 100% !important;
		height: 48px !important; min-height: 48px !important; margin: 0 !important; padding: 0 12px;
		font-size: 15px; font-weight: 600; line-height: 1; color: #254D4D; background: #fff;
		border: 1px solid #254D4D; border-radius: 0;
	}
	.dh-filterbar .dh-open .dh-count { display: inline-block; min-width: 20px; margin-left: 8px; padding: 1px 6px; font-size: 12px; font-weight: 600; line-height: 1.4; color: #fff; background: #1C3C49; border-radius: 10px; }
	.dh-filterbar .dh-open .dh-count:empty { display: none; }

	.dh-filterbar .woocommerce-ordering { position: relative; }
	.dh-filterbar .woocommerce-ordering::after {
		content: "Sortieren"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
		pointer-events: none; box-sizing: border-box; font-size: 15px; font-weight: 600; color: #254D4D;
		background: #fff; border: 1px solid #254D4D;
	}
	.dh-filterbar .woocommerce-ordering.dh-sort-active::after { content: "Sortieren ●"; }

	.mfn-active-filters:not(:has(label)) { display: none !important; }
	.dh-chips-slot:empty { display: none; }
	.dh-chips-slot .mfn-active-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; padding: 0; }
	.dh-chips-slot .mfn-active-filters label { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; font-size: 14px; color: #254D4D; background: #f4f4f2; border: 1px solid #e0e0dc; cursor: pointer; }
	.dh-chips-slot .mfn-active-filters label input { display: none; }

	body.dh-filtering ul.products { opacity: .45; transition: opacity .15s; }
	body.dh-filtering .dh-filter-apply button { opacity: .7; }

	.column_filters.hide-desktop {
		position: fixed !important; inset: 0 !important; z-index: 100002 !important;
		width: 100% !important; max-width: none !important; margin: 0 !important;
		background: #fff !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch;
		transform: translateY(100%); visibility: hidden; transition: transform .28s ease, visibility 0s .28s;
	}
	body.dh-filter-open .column_filters.hide-desktop { transform: translateY(0); visibility: visible; transition: transform .28s ease; }
	body.dh-filter-open { overflow: hidden; }
	.column_filters.hide-desktop .mcb-column-inner { padding: 68px 20px 100px !important; margin: 0 !important; }

	.dh-filter-head { position: fixed; top: 0; left: 0; right: 0; z-index: 100003; display: none; align-items: center; justify-content: space-between; height: 58px; padding: 0 16px; background: #fff; border-bottom: 1px solid #ececec; font-size: 17px; font-weight: 600; color: #1C3C49; }
	body.dh-filter-open .dh-filter-head { display: flex; }
	.dh-filter-head > span:last-child { display: flex; align-items: center; gap: 14px; }
	.dh-filter-head .dh-reset { font-size: 14px; font-weight: 400; text-decoration: underline; color: #6b6b6b; }
	.dh-filter-head .dh-close { width: 44px; height: 44px; margin-right: -12px; font-size: 24px; line-height: 44px; text-align: center; color: #1C3C49; }

	.dh-filter-apply { position: fixed; bottom: 0; left: 0; right: 0; z-index: 100003; display: none; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #ececec; }
	body.dh-filter-open .dh-filter-apply { display: block; }
	.dh-filter-apply button { width: 100%; min-height: 50px; font-size: 16px; font-weight: 600; color: #fff; background: #1C3C49; border: 0; border-radius: 0; }

	.column_filters.hide-desktop .mfn-advanced-filters-label { display: flex; align-items: center; min-height: 46px; padding: 4px 0; }
	.column_filters.hide-desktop .mfn-advanced-filters-switch-label { min-height: 42px; padding: 9px 14px; }
	.column_filters.hide-desktop .mfn-advanced-filters-group-label { padding: 14px 0; cursor: pointer; }
	.column_filters.hide-desktop .mfn-advanced-filters-tax-count { margin-left: 6px; opacity: .55; }
	.column_filters.hide-desktop form.mfn-advanced-filters-auto-submit button[type="submit"],
	.column_filters.hide-desktop form.mfn-advanced-filters-auto-submit input[type="submit"] { display: none; }

	.woocommerce-ordering { display: none !important; }
	.dh-filterbar .woocommerce-ordering { display: block !important; }
}
