/* ========================================================================
   VAPE LAB — Light WooCommerce archives
   ======================================================================== */
.vl-shop-archive,
.vl-search-results{padding:clamp(44px,6vw,80px) 20px;background:var(--paper)}
.vl-shop-archive__container{width:min(var(--content-max),100%);margin:0 auto}

.vl-archive-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.55fr);align-items:end;gap:clamp(28px,6vw,76px);margin:0 0 clamp(30px,5vw,54px);padding:clamp(24px,4vw,48px);border:1px solid var(--border-dark);border-radius:var(--r-card);background:var(--ink);overflow:hidden}
.vl-archive-hero__content{min-width:0}
.vl-archive-hero__eyebrow{display:block;margin:0 0 13px;color:var(--accent-on-dark);font-family:var(--font-h);font-size:var(--fs-badge);font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.vl-archive-hero__title{max-width:850px;margin:0;color:#fff;font-family:var(--font-h);font-size:clamp(2.55rem,6vw,6rem);font-weight:800;line-height:.92;letter-spacing:0;text-transform:uppercase}
.vl-archive-hero__description{max-width:680px;margin-top:18px;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.65}
.vl-archive-hero__description p{margin:0}
.vl-archive-hero__description p+p{margin-top:8px}
.vl-archive-hero__description .term-description{max-width:none;margin:0;color:inherit}
.vl-archive-hero__stat{position:relative;min-height:160px;padding:24px;border-radius:var(--r-card);background:var(--surface-soft);color:var(--ink);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.vl-archive-hero__stat::after{content:'VAPE\\A LAB';white-space:pre;position:absolute;right:-14px;bottom:-26px;color:rgba(0,0,0,.05);font-family:var(--font-h);font-size:5rem;font-weight:800;line-height:.78;text-align:right}
.vl-archive-hero__stat strong{position:relative;z-index:1;color:var(--ink);font-family:var(--font-h);font-size:clamp(3.4rem,7vw,6.6rem);font-weight:800;line-height:.95}
.vl-archive-hero__stat span{position:relative;z-index:1;margin-top:10px;color:var(--text-muted);font-size:var(--fs-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.vl-catalog{position:relative}
.vl-filter-bar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:14px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.vl-filter-trigger{display:none;align-items:center;gap:8px;min-height:46px;padding:9px 13px;border:1px solid var(--ink);border-radius:var(--r-btn);background:var(--ink);color:#fff;font-family:var(--font-h);font-size:var(--fs-badge);font-weight:800;text-transform:uppercase;cursor:pointer}
.vl-filter-trigger em{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-full);background:var(--accent-action);color:#fff;font-size:11px;font-style:normal}
.vl-active-filters{min-height:42px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 16px}
.vl-active-filter{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid #efb5b0;border-radius:var(--r-full);background:#fff1ef;color:#9e3036;font-size:var(--fs-small);font-weight:700;text-decoration:none}
.vl-active-filter:hover,.vl-active-filter:focus-visible{border-color:var(--accent-action);color:var(--accent-action)}
.vl-active-filters__clear{color:var(--text-muted);font-size:var(--fs-small);text-decoration:underline}

.vl-catalog__layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0 28px;align-items:start}
.vl-catalog__results{min-width:0}
.vl-catalog__results .vl-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

.vl-archive-filters{display:contents;min-width:0}
.vl-filter-panel{grid-column:1;grid-row:1 / span 2;position:sticky;top:calc(var(--header-h) + 18px);border:1px solid var(--border);border-radius:var(--r-card);background:var(--card);overflow:hidden;box-shadow:var(--shadow-1)}
.vl-archive-filters__header{min-height:64px;padding:14px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);background:var(--card)}
.vl-archive-filters__header h2{margin:0;font-family:var(--font-h);font-size:var(--fs-small);font-weight:800;text-transform:uppercase}
.vl-archive-filters__clear{margin-left:auto;color:var(--accent-action);font-size:var(--fs-small);font-weight:700}
.vl-archive-filters__close{display:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-soft);font-size:22px;cursor:pointer}
.vl-archive-filters__body{box-sizing:border-box;padding:4px 15px 15px}
.vl-filter-group{display:block;min-width:0;margin:0;padding:0;border:0;border-bottom:1px solid var(--border)}
.vl-filter-group:last-child{border-bottom:0}
.vl-filter-group legend{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;margin:0;padding:0;color:var(--ink);font-family:var(--font-h);font-size:var(--fs-badge);font-weight:800;text-transform:uppercase;cursor:pointer}
.vl-filter-group legend::after{content:'+';font-size:1rem}
.vl-filter-group.is-open legend::after{content:'−'}
.vl-filter-group__popover{display:none;padding:0 0 13px}
.vl-filter-group.is-open .vl-filter-group__popover{display:block}
.vl-filter-choice{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;min-height:44px;color:var(--text);font-size:var(--fs-small);cursor:pointer}
.vl-filter-choice input{width:17px;height:17px;margin:0;accent-color:var(--accent-action)}
.vl-filter-choice small{margin-left:auto;color:var(--text-muted)}
.vl-filter-choice--stock{padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-soft)}
.vl-brand-options{display:grid;gap:2px;max-height:238px;overflow:auto;padding-right:4px}
.vl-price-filter{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:7px;color:var(--text-muted);font-size:var(--fs-small)}
.vl-price-filter label span{display:block;margin-bottom:5px}
.vl-price-filter input{width:100%;height:44px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:#fff;color:var(--ink)}
.vl-archive-filters__footer{padding:14px;border-top:1px solid var(--border);background:var(--card)}
.vl-filter-apply{display:block;width:100%;min-height:44px;border:0;border-radius:var(--r-btn);background:var(--accent-action);color:#fff;font-family:var(--font-h);font-size:var(--fs-small);font-weight:800;cursor:pointer}
.vl-filter-apply:hover{background:var(--accent-hover)}

.vl-filter-utility{grid-column:2;grid-row:1;display:grid;gap:10px;margin-bottom:16px;padding:0}
.vl-filter-summary{color:var(--text-muted);font-size:var(--fs-small)}
.vl-filter-summary strong{color:var(--ink)}
.vl-filter-inline-controls{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.vl-filter-inline-control{min-height:46px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-btn);background:#fff;display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:var(--fs-small)}
.vl-filter-inline-control select{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);font-weight:700}

.vl-catalog__loading{position:absolute;inset:0;z-index:15;display:flex;align-items:flex-start;justify-content:center;gap:10px;padding-top:160px;background:rgba(247,244,240,.82);opacity:0;pointer-events:none;transition:opacity .15s}
.vl-catalog__loading span{width:20px;height:20px;border:2px solid var(--border-strong);border-top-color:var(--accent-action);border-radius:50%;animation:vl-spin .7s linear infinite}
.vl-catalog__loading b{font-size:var(--fs-small);color:var(--ink)}
.vl-catalog[aria-busy="true"] .vl-catalog__loading{opacity:1;pointer-events:auto}
@keyframes vl-spin{to{transform:rotate(360deg)}}

.vl-pagination,.woocommerce-pagination{margin-top:40px;text-align:center}
.vl-pagination .page-numbers,.woocommerce-pagination .page-numbers{display:inline-flex;gap:8px;list-style:none;margin:0;padding:0}
.vl-pagination a,.vl-pagination span,.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:7px 12px;border-radius:var(--r-sm);font-size:var(--fs-small)}
.vl-pagination .current,.woocommerce-pagination .current{background:var(--ink);color:#fff}
.vl-pagination a,.woocommerce-pagination a{border:1px solid var(--border);background:#fff;color:var(--ink)}
.vl-pagination a:hover,.woocommerce-pagination a:hover{border-color:var(--accent-action);color:var(--accent-action)}
.vl-filter-backdrop{display:none}

@media(max-width:1024px){
  .vl-filter-bar{display:flex;align-items:center}
  .vl-filter-trigger{display:flex}
  .vl-catalog__layout{display:block}
  .vl-filter-utility{padding-left:0}
  .vl-catalog__results .vl-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vl-archive-filters{display:flex;flex-direction:column;position:fixed;z-index:91;top:0;right:0;width:100%;max-width:420px;height:100dvh;background:var(--card);transform:translateX(105%);transition:transform .24s ease;overflow:hidden}
  .vl-filter-panel{position:static;flex:1;min-height:0;height:auto;border:0;border-radius:0;display:flex;flex-direction:column;box-shadow:none}
  .vl-archive-filters__close{display:block}
  .vl-archive-filters__body{flex:1;overflow:auto;padding:0 16px}
  .vl-archive-filters__footer{flex:0 0 auto}
  .vl-filter-utility{display:block;flex:0 0 auto;padding:14px 16px;background:var(--surface-soft);border-top:1px solid var(--border)}
  .vl-filter-inline-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;justify-content:stretch}
  .vl-filter-inline-control{display:grid;gap:6px}
  .vl-filter-inline-control select{width:100%}
  .vl-filter-inline-control select,.vl-price-filter input{font-size:16px}
  .vl-filter-backdrop{position:fixed;inset:0;z-index:90;display:block;background:rgba(24,23,25,.6);opacity:0;pointer-events:none;transition:opacity .2s}
  body.vl-filter-open{overflow:hidden}
  body.vl-filter-open .vl-filter-backdrop{opacity:1;pointer-events:auto}
  body.vl-filter-open .vl-archive-filters{transform:translateX(0)}
}

@media(max-width:768px){
  .vl-shop-archive,.vl-search-results{padding-inline:14px}
  .vl-archive-hero{grid-template-columns:1fr;gap:22px;margin-bottom:22px;padding:24px 16px}
  .vl-archive-hero__title{font-size:clamp(2.25rem,11vw,3.7rem)}
  .vl-archive-hero__description{font-size:var(--fs-small)}
  .vl-archive-hero__stat{min-height:120px}
  .vl-archive-hero__stat strong{font-size:3.7rem}
  .vl-filter-inline-controls{grid-template-columns:1fr 1fr}
  .vl-catalog__results .vl-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
}

@media(max-width:380px){
  .vl-filter-inline-controls{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .vl-archive-filters,.vl-filter-backdrop,.vl-catalog__loading{transition:none}
}
