/* QistWay Products — shop categories + filters */
.qwp-cats { display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:12px; margin:8px 0 22px; }
.qwp-cat { display:flex; align-items:center; gap:12px; padding:14px 16px; background:#fff; border:1px solid #E2E6EE; border-radius:14px; text-decoration:none; color:#0B1A3A; font-weight:700; font-size:15px; min-height:64px; transition:border-color .15s, transform .15s; }
.qwp-cat:hover { border-color:#12357A; color:#0B1A3A; transform:translateY(-1px); }
.qwp-cat.is-on { border:2px solid #12357A; background:#EEF2FA; }
.qwp-cat small { display:block; font-weight:500; font-size:12px; color:#566074; }
.qwp-cat__icon { width:44px; height:44px; border-radius:12px; background:#12357A; color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.qwp-cat.is-on .qwp-cat__icon { background:#087A6B; }

.qwp-shop { display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; }
.qwp-filters { flex:1 1 270px; max-width:320px; background:#fff; border:1px solid #E2E6EE; border-radius:16px; padding:6px 18px 18px; position:sticky; top:90px; max-height:calc(100vh - 110px); overflow:auto; }
.admin-bar .qwp-filters { top:122px; }
.qwp-shop__main { flex:999 1 560px; min-width:0; }
.qwp-shop__toggle { display:none; }

.qwp-group { border-bottom:1px solid #E2E6EE; padding:12px 0; }
.qwp-group:last-of-type { border-bottom:0; }
.qwp-group summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:13px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#0B1A3A; min-height:32px; }
.qwp-group summary::-webkit-details-marker { display:none; }
.qwp-group summary::after { content:''; width:8px; height:8px; border-right:2px solid #566074; border-bottom:2px solid #566074; transform:rotate(45deg); margin:-4px 4px 0 auto; transition:transform .15s; }
.qwp-group[open] summary::after { transform:rotate(-135deg); margin-top:4px; }
.qwp-badge-n { background:#087A6B; color:#fff; border-radius:999px; font-size:11px; padding:1px 7px; letter-spacing:0; }

.qwp-sorts { display:grid; gap:8px; margin-top:8px; }
.qwp-sort { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:0 0 0 14px; border-radius:10px; background:#F0F3F8; color:#0B1A3A; text-decoration:none; font-size:14px; font-weight:600; overflow:hidden; }
.qwp-sort svg { width:48px; height:44px; padding:12px; background:#12357A; color:#fff; flex-shrink:0; }
.qwp-sort:hover { color:#0B1A3A; background:#E7ECF5; }
.qwp-sort.is-on { background:#EEF2FA; box-shadow:inset 0 0 0 2px #087A6B; }
.qwp-sort.is-on svg { background:#087A6B; }

.qwp-check { display:flex; align-items:center; gap:10px; min-height:36px; font-size:14px; color:#2A3550; cursor:pointer; }
.qwp-check input { width:18px; height:18px; accent-color:#087A6B; flex-shrink:0; margin:0; }
.qwp-check span { flex:1; }
.qwp-check small { color:#566074; font-size:12px; background:#F0F3F8; border-radius:999px; padding:1px 8px; }
.qwp-options { margin-top:4px; }
.qwp-options.is-long { max-height:260px; overflow:auto; padding-right:4px; }

.qwp-ranges { display:grid; gap:8px; margin-top:8px; }
.qwp-range { display:flex; align-items:center; justify-content:center; min-height:40px; border-radius:10px; background:#12357A; color:#fff; text-decoration:none; font-size:14px; font-weight:700; }
.qwp-range:hover { background:#0B1F4F; color:#fff; }
.qwp-range.is-on { background:#087A6B; box-shadow:0 0 0 2px #fff inset; }
.qwp-minmax { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.qwp-minmax label, .qwp-monthly { display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; color:#4B5568; }
.qwp-monthly { margin-top:10px; }
.qwp-minmax input, .qwp-monthly select { width:100%; min-height:40px; padding:8px 10px; border:1px solid #C9D0DC; border-radius:10px; font-size:14px; background:#fff; color:#0B1A3A; }
.qwp-filters__actions { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:14px; }
.qwp-filters .qwp-apply { background:#087A6B !important; color:#fff !important; border-radius:10px !important; font-weight:700 !important; padding:10px 16px !important; border:0 !important; min-height:44px; }
.qwp-clear { color:#8A1C1C; font-weight:700; font-size:14px; }

.qwp-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.qwp-chip { display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:4px 12px; border-radius:999px; background:#EEF2FA; color:#12357A; text-decoration:none; font-size:13px; font-weight:700; }
.qwp-chip span { font-size:16px; line-height:1; }
.qwp-chip:hover { background:#DDE5F4; color:#0B1F4F; }
.qwp-chip--clear { background:transparent; color:#8A1C1C; }

.qwp-group a:focus-visible, .qwp-check input:focus-visible, .qwp-cat:focus-visible, .qwp-chip:focus-visible, .qwp-shop__toggle:focus-visible { outline:2px solid #3FD4B8; outline-offset:2px; }

@media (max-width: 900px) {
	.qwp-shop__toggle { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; border:1px solid #12357A; border-radius:12px; background:#fff; color:#12357A; font-weight:800; font-size:15px; cursor:pointer; }
	.qwp-shop__count:not(:empty) { background:#087A6B; color:#fff; border-radius:999px; font-size:12px; padding:1px 8px; }
	.qwp-filters { display:none; max-width:none; flex-basis:100%; position:static; max-height:none; }
	.qwp-filters.is-open { display:block; }
	.qwp-cats { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
