/* Vast Bijoux v0.3 — boutique catalog filters */
.vbj-filters { margin:32px 0 29px; clear:both; }
.vbj-filter-intro { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:0 0 21px; }
.vbj-filter-intro h2 { font:400 clamp(27px,2.9vw,39px)/1.16 var(--vbj-serif); letter-spacing:-.035em; margin:7px 0 7px; }
.vbj-filter-intro p { color:var(--vbj-muted); font-size:13px; margin:0; }
.vbj-filter-count { flex-shrink:0; border:1px solid #d6c6b1; padding:6px 10px; font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:#8f7255; background:#fbf6ef; }
.vbj-filter-panel { border:1px solid var(--vbj-line); background:#faf7f1; }
.vbj-filter-panel > summary { cursor:pointer; list-style:none; padding:16px 23px; display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--vbj-ink); }
.vbj-filter-panel > summary::-webkit-details-marker { display:none; }
.vbj-filter-panel > summary::marker { content:''; }
.vbj-filter-chevron { border-right:1.5px solid var(--vbj-gold); border-bottom:1.5px solid var(--vbj-gold); height:9px; width:9px; transform:rotate(225deg); transition:transform .2s; margin:4px; }
.vbj-filter-panel:not([open]) .vbj-filter-chevron { transform:rotate(45deg); }
.vbj-filter-form { display:grid; grid-template-columns:1.3fr 1.4fr .8fr .8fr; gap:18px 15px; padding:19px 23px 22px; border-top:1px solid var(--vbj-line); align-items:end; }
.vbj-filter-field { display:flex; flex-direction:column; min-width:0; gap:8px; }
.vbj-filter-field label { font-size:11px; font-weight:600; letter-spacing:.035em; color:#6d5e50; }
.woocommerce .vbj-filter-field input,
.woocommerce .vbj-filter-field select { width:100%; min-width:0; display:block; height:48px; box-sizing:border-box; background:#fffefa!important; border:1px solid #dacdbd!important; padding:10px 13px!important; border-radius:0!important; color:#39302a; font-size:13px; line-height:1.3; }
.woocommerce .vbj-filter-field select { cursor:pointer; }
.woocommerce .vbj-filter-field input:focus-visible,
.woocommerce .vbj-filter-field select:focus-visible { outline:2px solid var(--vbj-gold); outline-offset:2px; }
.vbj-filter-actions { grid-column:1/-1; display:flex; align-items:center; gap:21px; flex-wrap:wrap; padding-top:4px; }
.woocommerce .vbj-filter-submit { display:inline-flex; justify-content:center; align-items:center; gap:19px; min-height:47px; background:var(--vbj-ink)!important; border:1px solid var(--vbj-ink)!important; padding:12px 23px!important; color:#fff!important; font-size:11px!important; letter-spacing:.11em; text-transform:uppercase; font-weight:600; }
.woocommerce .vbj-filter-submit:hover { background:var(--vbj-gold)!important; border-color:var(--vbj-gold)!important; }
.vbj-filter-reset { font-size:12px; padding:7px 0; color:#716357; border-bottom:1px solid #c6b49d; }
.vbj-filter-active { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:16px 0 0; font-size:11px; color:var(--vbj-muted); }
.vbj-filter-active > span:first-child { margin-right:5px; }
.vbj-filter-pill { border:1px solid #e6d7c5; background:#fffaf4; color:#6b5845; padding:5px 9px; }
.vbj-filter-active > a { margin-left:auto; color:#85694b; text-decoration:underline; text-underline-offset:3px; }
.vbj-filter-empty { text-align:center; border:1px solid var(--vbj-line); background:#fffdf9; padding:58px 24px; margin:34px 0 22px; }
.vbj-filter-empty > span { font-size:30px; color:var(--vbj-gold); }
.vbj-filter-empty h2 { font:400 clamp(27px,3vw,40px)/1.2 var(--vbj-serif); margin:12px 0 9px; }
.vbj-filter-empty p { color:var(--vbj-muted); font-size:13px; margin:0 auto 25px; }
.vbj-filter-empty .vbj-button { width:max-content; max-width:100%; }
.woocommerce .woocommerce-result-count { float:left; margin:0 0 21px!important; }
.woocommerce .woocommerce-ordering { float:right; margin:0 0 21px!important; }
.woocommerce ul.products { clear:both; }
/* In-page demo art has an explicit notice; no implied image of the actual item. */
.woocommerce .vbj-placeholder-single { position:relative; background:#f1ebe3; }
.woocommerce .vbj-placeholder-single img { width:100%; aspect-ratio:4/4.6; object-fit:cover; }
.woocommerce .vbj-placeholder-single .vbj-demo-overlay { position:absolute; bottom:12px; left:12px; right:12px; text-align:center; background:rgba(255,253,248,.9); border:1px solid #e7dacb; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:#795f4d; padding:8px; }
@media (max-width:950px) { .vbj-filter-form { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) {
 .vbj-filters { margin:23px 0; }
 .vbj-filter-intro { align-items:start; }
 .vbj-filter-intro h2 { font-size:29px; }
 .vbj-filter-intro p { font-size:12px; }
 .vbj-filter-count { font-size:9px; }
 .vbj-filter-panel > summary { padding:15px; }
 .vbj-filter-form { padding:15px; gap:14px 10px; }
 .vbj-filter-category,.vbj-filter-availability { grid-column:1/-1; }
 .vbj-filter-actions { align-items:stretch; gap:11px; }
 .woocommerce .vbj-filter-submit { width:100%; }
 .vbj-filter-reset { margin:0 auto; }
 .vbj-filter-active > a { margin-left:0; }
 .woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { float:none; display:block; }
}
