/* VT Product Filter — базовые стили + аккордеон + сватчи */
.vpf-form { border: 1px solid #e5e7eb; padding: 12px; border-radius: 10px; background: #fff; }
.vpf-form .vpf-field { margin-bottom: 12px; }
.vpf-form label { display:block; font-weight:600; margin-bottom:6px; }
.vpf-form select { width: 100%; min-height: 38px; }
.vpf-actions { display:flex; gap:10px; }
.vpf-results { margin-top: 16px; }
.vpf-pagination { display:flex; gap:8px; margin-top:12px; align-items:center; }
.vpf-pagination .button { cursor: pointer; }
.button.vpf-apply { background: #e53935; color: #fff; border-color: #e53935; }
.button.vpf-apply:hover, .button.vpf-apply:focus { background: #c62828; border-color: #c62828; color: #fff; }

/* Accordion */
.vpf-acc { border:1px solid #e5e7eb; border-radius:8px; margin-bottom:10px; background:#fff; }
.vpf-acc > summary { cursor:pointer; padding:10px 12px; font-weight:600; list-style:none; }
.vpf-acc[open] > summary { border-bottom:1px solid #e5e7eb; }
.vpf-acc-body { padding:10px 12px; }

/* Check/radio lists */
.vpf-checklist, .vpf-radiolist { display:flex; flex-direction:column; gap:6px; }
.vpf-check, .vpf-radio { display:flex; align-items:center; gap:8px; cursor:pointer; }

/* Swatches */
.vpf-swatches { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.vpf-swatch { width:26px; height:26px; border-radius:50%; border:2px solid rgba(0,0,0,.1); background:var(--vpf-swatch, #ccc); cursor:pointer; outline:none; }
.vpf-swatch.is-active { box-shadow:0 0 0 2px rgba(0,0,0,.15), inset 0 0 0 3px #fff; }
.vpf-swatch.vpf-any { width:auto; height:30px; border-radius:6px; padding:0 10px; background:#f3f4f6; border-color:#e5e7eb; }
