/* Listing rows, cards, breadcrumb. Colours: Elementor globals / currentColor only; fonts inherited. */
.vs-ls{--vs-a:var(--e-global-color-accent,currentColor);--vs-line:color-mix(in srgb,currentColor 16%,transparent);--vs-soft:color-mix(in srgb,currentColor 6%,transparent)}
.vs-ls [hidden]{display:none!important}
.vs-ls-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:20px}
.vs-fc,.vs-so{display:flex;flex-wrap:wrap;gap:8px}
.vs-ls-bar button{border:0;cursor:pointer;padding:12px 18px;border-radius:8px;background:var(--vs-soft);color:inherit;font:inherit}
.vs-ls-bar button.on{background:color-mix(in srgb,var(--vs-a) 18%,transparent);color:var(--vs-a)}
.vs-ls-bar button:focus-visible{outline:2px solid var(--vs-a)}
.vs-li{display:grid;grid-template-columns:minmax(160px,1.2fr) 1fr 1fr 1.6fr auto;gap:20px;align-items:center;padding:28px 0;border-top:1px solid var(--vs-line)}
.vs-li-n{display:flex;align-items:center;gap:12px;font-size:1.4em}.vs-li-n a{color:inherit;text-decoration:none}
.vs-fi{width:40px;height:auto;border-radius:3px}
.vs-li-s{margin-top:6px;text-transform:uppercase;letter-spacing:.08em;font-size:.8em;opacity:.7}
.vs-li-m b{display:block;font-size:1.3em;font-weight:inherit}.vs-li-m small{text-transform:uppercase;letter-spacing:.08em;opacity:.65}
.vs-li-b{list-style:none;margin:0;padding:0;font-size:.85em;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.vs-li-b li:before{content:"— "}
.vs-ls .vs-btn{display:inline-block;padding:14px 26px;background:var(--vs-a);color:#fff;border-radius:6px;text-decoration:none;text-align:center}
@media(max-width:900px){.vs-li{grid-template-columns:1fr 1fr}.vs-li-c,.vs-li-b{grid-column:1/-1}}
.vs-ls-cards .vs-ls-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.vs-cd{position:relative;display:block;aspect-ratio:4/5;border-radius:16px;overflow:hidden;color:#fff;text-decoration:none;background:var(--vs-soft)}
.vs-cd>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vs-cd:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.65))}
.vs-cd .vs-cd-b{position:absolute;z-index:1;top:16px;left:16px;display:flex;align-items:center;gap:8px;background:#fff;color:#222;padding:8px 12px;border-radius:8px;font-size:.9em}.vs-cd .vs-cd-b img{width:24px;height:auto}
.vs-cd-t{position:absolute;z-index:1;left:20px;bottom:20px;font-size:1.5em;line-height:1.2}.vs-cd-t strong,.vs-cd-t em{display:block;font-weight:inherit;font-style:normal}
.vs-cd-a{position:absolute;z-index:1;right:20px;bottom:22px;font-size:1.8em}
.vs-bc ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;align-items:center}.vs-bc a{color:inherit;text-decoration:none}.vs-bc a:hover{text-decoration:underline}.vs-bc [aria-current]{opacity:.7}
/* Filter bar + hidden loop cards */
.vs-flt{--vs-a:var(--e-global-color-accent,currentColor);--vs-line:color-mix(in srgb,currentColor 16%,transparent);--vs-soft:color-mix(in srgb,currentColor 6%,transparent)}
.vs-flt .vs-ls-bar{align-items:center}.vs-fsel{padding:12px 14px;border:1px solid var(--vs-line);border-radius:8px;background:var(--vs-soft);color:inherit;font:inherit}
.vs-flt .vs-ls-bar button{border:0;cursor:pointer;padding:12px 18px;border-radius:8px;background:var(--vs-soft);color:inherit;font:inherit}
.vs-flt .vs-ls-bar button.on{background:color-mix(in srgb,var(--vs-a) 18%,transparent);color:var(--vs-a)}
.vs-so button[data-dir=asc]:after{content:" ↑"}.vs-so button[data-dir=desc]:after{content:" ↓"}
.vs-none{padding:24px 0}.vs-flt [hidden]{display:none!important}
.e-loop-item[hidden],.elementor-post[hidden]{display:none!important}
/* sort = segmented control with icon */
.vs-so{display:flex;gap:0;background:var(--vs-soft);border-radius:8px;overflow:hidden}
.vs-ls .vs-so button,.vs-flt .vs-so button{border-radius:0;background:transparent}
.vs-so button:before{content:"\2261 ";opacity:.6}
.vs-ls .vs-so button.on,.vs-flt .vs-so button.on{background:color-mix(in srgb,var(--vs-a) 18%,transparent)}
