:root { --wcnf-accent: #0071a1; --wcnf-secondary: #94a3b8; }
.wcnf-sidebar{width:260px;background:#fafafa;border:1px solid #eee;border-radius:12px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.wcnf-filter-group+.wcnf-filter-group{margin-top:14px}
.wcnf-filter-group .wcnf-group-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;border-bottom:1px solid #eee;padding:6px 0;margin-bottom:8px}
.wcnf-filter-group .toggle{cursor:pointer;color:var(--wcnf-accent)}
.wcnf-filter-group .wcnf-group-body{display:block}
.wcnf-filter-group:not(.open)[data-display="accordion"] .wcnf-group-body{display:none}
.wcnf-filter-group label{display:block;font-size:14px;margin:6px 0;cursor:pointer}
.wcnf-filter-group input[type=checkbox]{margin-right:8px}
.wcnf-search{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}
.wcnf-show-more{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;cursor:pointer;color:#334155}
.wcnf-main{min-height:200px}
.wcnf-selected{position:sticky;top:0;background:#fff;border:1px solid #eee;border-radius:10px;padding:10px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;z-index:2}
.wcnf-selected .label{font-weight:600;color:#333;margin-right:4px}
.wcnf-selected .chip{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:6px}
.wcnf-selected .chip i{font-style:normal;cursor:pointer;opacity:.6}
.wcnf-selected .chip i:hover{opacity:1}
.wcnf-selected .clear-all { background-color: #fb7700 !important; color: #fe492c !important; border:none; padding:6px 10px; border-radius:4px; cursor:pointer; }

.wcnf-grid{display:grid;gap:20px}
@media(min-width:1025px){ .wcnf-grid{grid-template-columns:repeat(3,1fr);} }
@media(max-width:1024px){ .wcnf-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:640px){ .wcnf-grid{grid-template-columns:1fr;} }

.wcnf-card{background:var(--card-bg,#fff);border-radius:var(--card-radius,12px);border:var(--card-border,1px solid #eaeaea);overflow:hidden;transition:.25s;box-shadow:0 4px 15px rgba(0,0,0,.06)}
.wcnf-card .wcnf-thumb img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .35s}
.wcnf-card:hover .wcnf-thumb img{transform:scale(1.04)}
.wcnf-card .wcnf-title{margin:10px}
.wcnf-card .wcnf-title a{display:block;text-align:center;font-size:16px;font-weight:600;color:#222;text-decoration:none;transition:color .2s}
.wcnf-card:hover .wcnf-title a{color:var(--wcnf-accent);text-decoration:underline}
.wcnf-price{text-align:center;margin-bottom:8px;color:#111;font-weight:600}
.wcnf-rating{text-align:center;margin-bottom:12px}
.wcnf-empty{display:flex;align-items:center;justify-content:center;padding:40px}
.wcnf-empty-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:24px 28px;box-shadow:0 2px 12px rgba(0,0,0,.05);text-align:center}
.wcnf-empty-card .icon{font-size:28px;margin-bottom:8px}

.wcnf-pagi-list{display:flex;list-style:none;gap:6px;justify-content:center;margin:16px 0;padding:0}
.wcnf-pagi-list a{display:block;padding:6px 12px;border:1px solid #ddd;border-radius:999px;text-decoration:none;color:#333}
.wcnf-pagi-list a.current{background:var(--wcnf-accent);border-color:var(--wcnf-accent);color:#fff}
.wcnf-pagi-list a:hover{border-color:var(--wcnf-accent);color:var(--wcnf-accent)}
.wcnf-loadmore{background:var(--wcnf-accent);color:#fff;border:none;border-radius:999px;padding:8px 16px;cursor:pointer}
.wcnf-loadmore-wrap{text-align:center;margin:16px 0}

.wcnf-loading{display:none;position:fixed;inset:0;background:rgba(255,255,255,.7);z-index:9999;display:flex;align-items:center;justify-content:center}
.wcnf-loading .dot{width:10px;height:10px;margin:0 4px;background:var(--wcnf-accent);border-radius:50%;display:inline-block;animation:wcnf-bounce 1.2s infinite ease-in-out both}
.wcnf-spinner-circle .dot{width:12px;height:12px;border-radius:50%;animation:wcnf-scale 1s infinite ease-in-out}
.wcnf-spinner-bars .dot{width:4px;height:18px;border-radius:2px;animation:wcnf-bars 1s infinite ease-in-out}
.wcnf-loading .dot:nth-child(1){animation-delay:-0.32s}
.wcnf-loading .dot:nth-child(2){animation-delay:-0.16s}
@keyframes wcnf-bounce{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
@keyframes wcnf-scale{0%,100%{transform:scale(.8);opacity:.5}50%{transform:scale(1);opacity:1}}
@keyframes wcnf-bars{0%{transform:scaleY(.5);opacity:.6}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.5);opacity:.6}}

.wcnf-selected .clear-all:hover { background-color: #e96500 !important; }

.wcnf-selected{display:none}