/* VILLAIN Shop Archive. WooCommerce owns catalogue data and transactions. */
.vds-shop,.vds-shop *{box-sizing:border-box}
.vds-shop{width:100%;padding:21px 0 0 24px;color:#000;background:#fff;font-family:"Cabin",Arial,sans-serif;font-size:11px;line-height:1.4}
.vds-catalog{width:100%}
.vds-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;height:38px;margin:0 0 28px;padding:0}
.vds-toolbar__left{display:flex;align-items:center;gap:12px;min-width:0}
.vds-filter-trigger,.vds-sortbox__trigger{appearance:none;min-height:38px;padding:0 14px;border:1px solid #111;border-radius:0;background:#fff;color:#000;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none;cursor:pointer;text-transform:uppercase;font:600 11px/1 "Cabin",Arial,sans-serif;letter-spacing:.06em}
.villain-demo-site .vds-filter-trigger:hover,.villain-demo-site .vds-filter-trigger:focus,.villain-demo-site .vds-sortbox__trigger:hover,.villain-demo-site .vds-sortbox__trigger:focus{border-color:#111;background:#fff;color:#000}
.vds-filter-trigger__icon{position:relative;width:12px;height:12px;display:inline-block;border:1px solid #111;border-radius:50%}
.vds-filter-trigger__icon::before,.vds-filter-trigger__icon::after{content:"";position:absolute;background:#111}
.vds-filter-trigger__icon::before{left:2px;right:2px;top:4px;height:1px}
.vds-filter-trigger__icon::after{top:2px;bottom:2px;left:4px;width:1px}
.vds-filter-open .vds-filter-trigger__icon::after{display:none}
.vds-result-count{white-space:nowrap;color:#000;font:400 11px/38px "Cabin",Arial,sans-serif}
.vds-sortbox{position:relative;z-index:12;width:150px}
.vds-sortbox__trigger{width:85.5625px;min-width:85.5625px;padding:0 10px}
.vds-sortbox__arrow{width:7px;height:7px;border-right:1px solid #111;border-bottom:1px solid #111;transform:rotate(45deg) translateY(-2px)}
.vds-sortbox__menu{display:none;position:absolute;top:calc(100% + 6px);right:0;width:190px;padding:0;border:1px solid #111;background:#fff;box-shadow:none}
.vds-sort-open .vds-sortbox__menu,.vds-sortbox.is-open .vds-sortbox__menu{display:block}
.vds-sortbox__option{appearance:none;width:100%;height:38.5px;padding:11px 12px;border:0;background:#fff;color:#000;text-align:left;cursor:pointer;font:400 11px/16.5px "Cabin",Arial,sans-serif}
.vds-sortbox__option:hover,.vds-sortbox__option:focus,.vds-sortbox__option.is-active{background:#f4f4f4}

.vds-filter-layer{display:none}
.vds-filters{width:280px;padding-bottom:2px;background:#fff}
.vds-filter-backdrop{display:none}
.vds-filters__head{height:56px;padding:0 0 14px;border-bottom:1px solid #ddd;display:flex;align-items:flex-end;justify-content:space-between}
.vds-filters__head strong{font-size:13px;line-height:1.5;text-transform:uppercase;letter-spacing:.06em}
.vds-filters__close{position:relative;width:28px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}
.vds-filters__close::before,.vds-filters__close::after{content:"";position:absolute;left:6px;right:6px;top:13px;height:1px;background:#000}
.vds-filters__close::before{transform:rotate(45deg)}
.vds-filters__close::after{transform:rotate(-45deg)}
.vds-filter-section{margin:0;padding:0;border-bottom:1px solid #e6e6e6}
.vds-filter-section__toggle{appearance:none;width:100%;min-height:68px;margin:0;padding:15px 0;border:0;background:transparent;color:#000;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}
.vds-filter-section__toggle>span{display:flex;min-width:0;flex-direction:column;gap:4px}
.vds-filter-section__toggle strong{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.06em}
.vds-filter-section__toggle small{color:#777;font-size:11px;font-weight:400;text-transform:none}
.vds-filter-section__toggle i::before{content:"+";font-style:normal;font-size:15px;line-height:1}
.vds-filter-section.is-open .vds-filter-section__toggle i::before{content:"−"}
.vds-filter-section__body{display:none}
.vds-filter-section.is-open .vds-filter-section__body{display:block}
.vds-filter-section__body>div{padding:0 0 16px}
.vds-price-note{margin:0 0 12px;color:#777;font-size:11px}
.vds-price-range{position:relative;height:24px;margin:0 0 14px}
.vds-price-range::before,.vds-price-range span{content:"";position:absolute;left:0;right:0;top:11px;height:1px;background:#111}
.vds-price-range input[type=range]{position:absolute;inset:0;width:100%;height:24px;margin:0;padding:0;appearance:none;background:transparent;pointer-events:none}
.vds-price-range input[type=range]::-webkit-slider-runnable-track{height:1px;background:transparent}
.vds-price-range input[type=range]::-webkit-slider-thumb{width:12px;height:16px;margin-top:-7px;appearance:none;border:1px solid #111;border-radius:0;background:#fff;pointer-events:auto;cursor:ew-resize}
.vds-price-range input[type=range]::-moz-range-track{height:1px;background:transparent}
.vds-price-range input[type=range]::-moz-range-thumb{width:12px;height:16px;border:1px solid #111;border-radius:0;background:#fff;pointer-events:auto;cursor:ew-resize}
.vds-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vds-price-inputs label{height:50px;padding:0 10px;border:1px solid #ddd;display:flex;align-items:center;gap:6px}
.vds-price-inputs input{min-width:0;width:100%;padding:0;border:0;outline:0;background:transparent;font-size:11px}
.vds-checklist{display:grid;gap:10px}
.vds-checklist label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;font-size:11px}
.vds-checklist input{margin:1px 0 0}
.vds-checklist small{color:#777;font-size:inherit}
.vds-filter-actions{display:flex;align-items:center;gap:16px;padding:16px 0 0}
.vds-filter-actions button,.vds-filter-actions a{appearance:none;padding:0;border:0;background:transparent;color:#000;text-decoration:none;text-transform:uppercase;cursor:pointer;font:600 11px/1.5 "Cabin",Arial,sans-serif;letter-spacing:.06em}

.vds-products{width:100%;min-width:0}
.vds-products-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important;clear:both!important}
.vds-products-grid::before,.vds-products-grid::after{display:none!important;content:none!important}
.woocommerce .vds-products-grid>li.product,.woocommerce-page .vds-products-grid>li.product,.vds-products-grid>li.product{display:block!important;float:none!important;clear:none!important;width:auto!important;min-width:0!important;margin:-1px 0 0 -1px!important;padding:0!important;border:1px solid #111!important;background:#fff!important;overflow:hidden!important;position:relative!important}
.vds-product-card{height:100%;background:#fff}
.vds-card-media{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#fff}
.vds-card-media__link{position:absolute;inset:0;display:block;background:#fff}
.vds-card-image{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;opacity:0;visibility:hidden;transition:opacity .18s ease}
.vds-card-image.is-active{opacity:1;visibility:visible}
.vds-gallery-controls{position:absolute;z-index:3;left:8px;right:8px;top:50%;display:flex;justify-content:space-between;pointer-events:none;opacity:0;transform:translateY(-50%);transition:opacity .18s ease}
.vds-gallery-controls button{width:32px;height:48px;padding:0;border:0;border-radius:0;background:rgba(255,255,255,.9);color:#777;pointer-events:auto;cursor:pointer;font:400 22px/1 Arial,sans-serif}
.vds-card-wish{display:none;position:absolute;z-index:3;top:12px;right:11px;width:24px;height:24px;padding:0;border:1px solid #ddd;border-radius:50%;background:#fff;color:#777;place-items:center;cursor:pointer;font:400 16px/1 Arial,sans-serif;box-shadow:0 1px 5px rgba(0,0,0,.05)}.vds-card-wish.is-active{border-color:#111;color:#111}.vds-card-wish.is-active .vd-wishlist-toggle__icon{font-size:0}.vds-card-wish.is-active .vd-wishlist-toggle__icon:after{content:"♥";font-size:14px}.vds-card-wish:focus-visible{outline:2px solid #111;outline-offset:2px}
.vds-quickadd-trigger{position:absolute;z-index:4;right:11px;bottom:10px;width:24px;height:24px;padding:0;border:1px solid #d7d7d7;border-radius:0;background:#fff;color:#777;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease,visibility .18s;font:400 18px/22px Arial,sans-serif}
.vds-card-media:hover .vds-gallery-controls,.vds-card-media:focus-within .vds-gallery-controls,.vds-card-media:hover .vds-quickadd-trigger,.vds-card-media:focus-within .vds-quickadd-trigger{opacity:1;visibility:visible;transform:none}
.vds-quickadd{position:absolute;z-index:6;left:0;right:0;bottom:0;max-height:80%;padding:32px 14px 14px;border-top:1px solid #111;background:#fff;overflow:auto;transform:translateY(102%);transition:transform .24s ease}
.vds-product-cell.is-quick-open .vds-quickadd{transform:none}
.vds-quickadd__close{position:absolute;right:8px;top:6px;width:24px;height:24px;padding:0;border:0;background:transparent;color:#111;cursor:pointer;font-size:20px;line-height:1}
.vds-quickadd form.cart{margin:0!important}
.vds-quickadd table.variations{width:100%;margin:0 0 8px;border:0}
.vds-quickadd table.variations th{display:none}
.vds-quickadd table.variations td{display:block;padding:0;border:0}
.vds-quickadd table.variations select{width:100%;height:36px;margin:0 0 8px;padding:0 9px;border:1px solid #111;border-radius:0;background:#fff;color:#111;font:400 11px/1 "Cabin",Arial,sans-serif}
.vds-quickadd .reset_variations,.vds-quickadd .quantity,.vds-quickadd .woocommerce-variation-price,.vds-quickadd .woocommerce-variation-availability{display:none!important}
.vds-quickadd .single_variation{min-height:0!important;margin:0!important}
.vds-quickadd .single_add_to_cart_button,.vds-view-product{display:flex!important;width:100%;height:38px;align-items:center;justify-content:center;margin:0!important;padding:0!important;border:1px solid #111!important;border-radius:0!important;background:#111!important;color:#fff!important;text-decoration:none!important;text-transform:uppercase;font:600 10px/1 "Cabin",Arial,sans-serif!important;letter-spacing:.08em!important}
.vds-quickadd .single_add_to_cart_button.disabled{background:#888!important;border-color:#888!important}
.vds-card-body{display:block;width:100%;height:72px;padding:12px 14px;background:#fff;color:#000;text-decoration:none}
.vds-card-title-price{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:start}
.vds-products-grid .woocommerce-loop-product__title{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;margin:0!important;padding:0!important;color:#000!important;text-transform:uppercase!important;font:400 12px/1.15 "DM Sans",Arial,sans-serif!important}
.vds-products-grid .price{display:block!important;margin:0!important;color:#000!important;white-space:nowrap!important;text-align:right!important;font:400 11px/1.15 "DM Sans",Arial,sans-serif!important}
.vds-products-grid .price *{color:inherit!important;font:inherit!important;line-height:inherit!important}
.vds-gallery-data{display:none!important}
.vds-empty{padding:28px 0;margin:0;font-size:12px}
.vds-pagination{display:flex;justify-content:center;align-items:center;gap:14px;width:100%;margin:24px 0;padding:0}
.vds-pagination .page-numbers{padding:4px 2px;border:0;border-bottom:1px solid transparent;background:transparent;color:#000;text-decoration:none;font-size:12px;line-height:1}
.vds-pagination .current{border-bottom-color:#000}
.vds-mobilebar,.vds-mobile-sort-layer{display:none}

@media (min-width:1025px){
  /* Preserve the source-aligned closed toolbar. Only the expanded panel gets
     a desktop gutter, keeping its controls clear of the viewport edge. */
  .vds-shop{--vds-filter-panel-edge:clamp(48px,4.445vw,64px)}
  .vds-filter-open .vds-shop{padding-left:var(--vds-filter-panel-edge)}
  .vds-filter-open .vds-catalog{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-areas:"filters toolbar" "filters products";column-gap:24px;row-gap:0;align-items:start}
  .vds-filter-open .vds-filter-layer{display:block;grid-area:filters}
  .vds-filter-open .vds-toolbar{grid-area:toolbar}
  .vds-filter-open .vds-products{grid-area:products}
}
@media (max-width:1024px){
  body.vds-mobilebar-pad{padding-bottom:58px!important}
  .vds-shop{padding-left:0}
  .vds-filter-trigger,.vds-toolbar>.vds-sortbox{display:none}
  .vds-toolbar{height:auto;margin-bottom:12px;padding:0;justify-content:flex-start}
  .vds-result-count{line-height:1.4}
  .vds-filter-open .vds-filter-layer{display:block;position:fixed;inset:0;z-index:99991}
  .vds-filter-backdrop{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(0,0,0,.28)}
  .vds-filters{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(590.390625px,82vh);max-height:82vh;padding:0 18px 20px;border-top:1px solid #111;background:#fff;overflow:auto}
  .vds-filters__head{position:sticky;z-index:2;top:0;height:53px;padding:0;border-bottom:1px solid #e5e5e5;background:#fff;align-items:center}
  .vds-filters__head strong{letter-spacing:.14em}
  .vds-filter-form{padding-top:12px}
  .vds-filters__close::before,.vds-filters__close::after{background:#e83e73}
  .vds-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vds-mobilebar{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:99990;left:0;right:0;bottom:0;height:58px;border-top:1px solid #111;background:#fff}
  .vds-mobilebar button{padding:0;border:0;background:#fff;color:#000;text-transform:uppercase;font:600 11px/1 "Cabin",Arial,sans-serif;letter-spacing:.08em}
  .vds-mobilebar button+button{border-left:1px solid #111}
  .vds-mobile-sort-open .vds-mobile-sort-layer{display:block;position:fixed;z-index:99992;inset:0}
  .vds-mobile-sort-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(0,0,0,.28)}
  .vds-mobile-sort-sheet{position:absolute;left:0;right:0;bottom:0;height:124px;padding:0 18px;background:#fff}
  .vds-mobile-sort-head{height:54px;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between}
  .vds-mobile-sort-head strong{text-transform:uppercase;font:600 13px/1 "DM Sans",Arial,sans-serif;letter-spacing:.08em}
  .vds-mobile-sort-head button{width:18px;height:24px;padding:0;border:0;background:transparent;color:#e83e73;font:400 20px/24px Arial,sans-serif;cursor:pointer}
  .vds-mobile-sort-select{position:relative;display:flex;width:86px;height:38px;align-items:center;justify-content:center;margin-top:12px;border:1px solid #111;background:#fff;text-transform:uppercase;font:500 11px/1 "DM Sans",Arial,sans-serif}
  .vds-mobile-sort-select select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
}
@media (max-width:767px),(hover:none) and (pointer:coarse){
  .vds-shop{padding-top:21px;padding-bottom:30px}
  .vds-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .vds-card-body{height:64px;padding:9px 8px}
  .vds-card-title-price{gap:6px}
  .vds-products-grid .woocommerce-loop-product__title{font-size:10px!important;line-height:1.12!important;-webkit-line-clamp:3!important}
  .vds-products-grid .price{font-size:9.5px!important;line-height:1.12!important}
  .vds-gallery-controls{left:5px;right:5px}
  .vds-gallery-controls{opacity:1}
  .vds-gallery-controls button{width:28px;height:42px;border:0;background:transparent;color:#999;font-size:22px}
  .vds-card-wish{display:grid}
  .vds-quickadd-trigger{right:11px;bottom:4px;width:24px;height:24px;opacity:1;visibility:visible;transform:none;font-size:18px}
  .vds-pagination{margin-bottom:48px}
}
@media (prefers-reduced-motion:reduce){
  .vds-card-image,.vds-quickadd,.vds-quickadd-trigger{transition:none!important}
}
