/* ═══ RV Product Filters v2.3 ═══ */
.rv-filters{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:16px;padding:16px 0;margin-bottom:20px;border-bottom:1px solid #eee}
.rv-fg{display:flex;flex-direction:column;gap:4px}
.rv-fl{font-size:11px;font-weight:600;color:#777;text-transform:uppercase;letter-spacing:.8px}

/* Color swatches row */
.rv-fg-colors{flex-basis:100%;text-align:center}
.rv-swatches{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;justify-content:center}

/* Single color swatch */
.rv-sw{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s;padding:0;outline:none;overflow:hidden;flex-shrink:0}
.rv-sw:hover{transform:scale(1.15);box-shadow:0 2px 8px rgba(0,0,0,.2)}
.rv-sw.active{transform:scale(1.1);box-shadow:0 0 0 3px #333}

/* Checkmark */
.rv-chk{display:none;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none}
.rv-sw.active .rv-chk{display:block}

/* Multi-color swatch slices */
.rv-sw-multi{background:transparent !important}
.rv-sw-slice{position:absolute;top:0;left:0;width:100%;height:100%}
.rv-sw-2 .rv-sw-slice:nth-child(1){clip-path:polygon(0 0,50% 0,50% 100%,0 100%)}
.rv-sw-2 .rv-sw-slice:nth-child(2){clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%)}
.rv-sw-3 .rv-sw-slice:nth-child(1){clip-path:polygon(0 0,33% 0,33% 100%,0 100%)}
.rv-sw-3 .rv-sw-slice:nth-child(2){clip-path:polygon(33% 0,66% 0,66% 100%,33% 100%)}
.rv-sw-3 .rv-sw-slice:nth-child(3){clip-path:polygon(66% 0,100% 0,100% 100%,66% 100%)}
.rv-sw-4 .rv-sw-slice:nth-child(1){clip-path:polygon(0 0,50% 0,50% 50%,0 50%)}
.rv-sw-4 .rv-sw-slice:nth-child(2){clip-path:polygon(50% 0,100% 0,100% 50%,50% 50%)}
.rv-sw-4 .rv-sw-slice:nth-child(3){clip-path:polygon(0 50%,50% 50%,50% 100%,0 100%)}
.rv-sw-4 .rv-sw-slice:nth-child(4){clip-path:polygon(50% 50%,100% 50%,100% 100%,50% 100%)}

/* ── Dropdowns — styled ── */
.rv-sel{
    padding:10px 36px 10px 14px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
    font-size:14px;
    color:#333;
    cursor:pointer;
    min-width:170px;
    appearance:none;-webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 12px center;
    transition:border-color .2s,box-shadow .2s;
    box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.rv-sel:hover{border-color:#aaa;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.rv-sel:focus{border-color:#009347;box-shadow:0 0 0 3px rgba(0,147,71,.15);outline:none}

/* ── Reset button ── */
.rv-reset{
    display:inline-flex;align-items:center;gap:5px;
    padding:10px 18px;
    border:1px solid #ddd;
    border-radius:8px;
    background:#fff;
    font-size:13px;
    font-weight:600;
    color:#888;
    cursor:pointer;
    transition:all .2s;
    box-shadow:0 1px 3px rgba(0,0,0,.04);
    white-space:nowrap;
    align-self:flex-end;
}
.rv-reset:hover{border-color:#cc0000;color:#cc0000;background:#fff5f5}
.rv-reset svg{width:14px;height:14px}

/* Active filters bar */
.rv-active{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;flex-basis:100%;padding-top:8px}
.rv-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#f0f0f0;border-radius:20px;font-size:12px;color:#333}
.rv-tag-x{cursor:pointer;font-weight:700;color:#999;margin-left:2px;font-size:14px;line-height:1}
.rv-tag-x:hover{color:#cc0000}
.rv-clear{padding:4px 12px;border:1px solid #ccc;border-radius:20px;background:#fff;font-size:12px;color:#666;cursor:pointer;transition:all .2s}
.rv-clear:hover{background:#cc0000;color:#fff;border-color:#cc0000}

/* Counts */
.rv-count{flex-basis:100%;font-size:13px;color:#888;padding-top:4px;text-align:center}
.rv-empty{text-align:center;padding:40px 20px;color:#888;font-size:15px}

/* Loading */
.rv-loading{opacity:.4;pointer-events:none;transition:opacity .2s}

/* AJAX Pagination */
.rv-pagination{display:flex;justify-content:center;align-items:center;gap:6px;padding:20px 0;margin-top:10px}
.rv-page-link{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #ddd;background:#fff;color:#333;font-size:14px;text-decoration:none;cursor:pointer;transition:all .15s}
.rv-page-link:hover{border-color:#333;background:#f8f8f8;color:#333}
.rv-page-current{background:#009347;border-color:#009347;color:#fff;font-weight:600;cursor:default}
.rv-page-current:hover{background:#009347;border-color:#009347;color:#fff}
.rv-page-dots{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:38px;color:#999;font-size:14px}

/* Responsive */
@media(max-width:768px){
    .rv-filters{gap:12px}
    .rv-fg{flex-basis:calc(50% - 6px)}
    .rv-fg-colors{flex-basis:100%}
    .rv-sel{min-width:0;width:100%}
    .rv-sw{width:28px;height:28px}
}
@media(max-width:480px){
    .rv-fg{flex-basis:100%}
}
