/* vsz-core - product archive polish (frontend/81-archive-layout.php)
   Loaded on product archives only (shop, category, brand, tag), after site.css,
   while option vsz_arch_v2 = 1. Every rule is scoped to body.vsz-arch, so
   switching the option off restores the [archive-grid] look exactly.
   Brand and tag archives also get body.vsz-cat-band from the component, which
   turns on the existing royal band from site.css [archive-grid]. */

body.vsz-arch{--arch-royal:#0A1F8F;--arch-ink:#050A24;--arch-muted:#5A6580;--arch-line:#DBE2F0;--arch-panel:#EDF1F9}

/* 1. Toolbar: count + sort on one row above the grid, never fixed to the screen */
body.vsz-arch .ast-shop-toolbar-container{position:static !important;inset:auto !important;display:flex !important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;margin:0 0 20px !important;padding:0 !important;background:none !important;box-shadow:none !important;border:0 !important;transform:none !important}
body.vsz-arch .ast-shop-toolbar-container > *{margin:0 !important}
body.vsz-arch .ast-sticky-shop-filters,body.vsz-arch .ast-shop-toolbar-aside-wrap{position:static !important;display:flex;align-items:center;margin:0 !important;padding:0 !important;background:none !important;box-shadow:none !important}
/* Astra prints the count twice on phones (one outside the toolbar, the inner one hidden): keep the inner one */
body.vsz-arch .ast-woocommerce-container > .woocommerce-result-count{display:none !important}
body.vsz-arch .ast-sticky-shop-filters{width:100%;justify-content:space-between;gap:12px;border:0 !important}
body.vsz-arch .ast-sticky-shop-filters .woocommerce-result-count{display:block !important}
body.vsz-arch .woocommerce-result-count{margin:0 !important;font-size:.9rem;font-weight:700;color:var(--arch-muted)}
body.vsz-arch .woocommerce-ordering{margin:0 !important}
body.vsz-arch .woocommerce-ordering select{min-height:44px;max-width:52vw;padding-block:0;padding-inline:14px 36px;border:1px solid var(--arch-line);border-radius:12px;background-color:#fff;color:var(--arch-ink);font-size:.9rem;font-weight:700}

/* 2. The category name on every card says nothing on a category with no
      sub-categories - every card is in it. Parent categories, brands, tags
      and the shop keep it. */
body.vsz-arch.vsz-leaf-cat ul.products li.product .ast-woo-product-category{display:none !important}
body.vsz-arch.vsz-leaf-cat ul.products li.product .astra-shop-summary-wrap{padding-top:14px !important}

/* 3. Brand + tag archives: same band as categories (site.css), sane H1 size */
body.vsz-arch.tax-product_brand .woocommerce-products-header__title.page-title,
body.vsz-arch.tax-product_tag .woocommerce-products-header__title.page-title{margin-bottom:20px !important}
body.vsz-arch .woocommerce-products-header{margin-bottom:20px !important}

/* 4. Description under the grid: a readable column in a soft panel */
body.vsz-arch .vsz-archive-desc{margin:8px 0 40px;padding:28px;border:1px solid var(--arch-line);border-radius:18px;background:var(--arch-panel)}
body.vsz-arch .vsz-archive-desc .term-description{max-width:820px;margin:0;font-size:1rem;line-height:1.9;color:#2A3247}
body.vsz-arch .vsz-archive-desc .term-description p{margin:0 0 14px}
body.vsz-arch .vsz-archive-desc .term-description p:last-child{margin-bottom:0}
body.vsz-arch .vsz-archive-desc .term-description strong{color:var(--arch-royal);font-weight:800}
body.vsz-arch .vsz-archive-desc .term-description :is(h2,h3){margin:22px 0 10px;font-size:1.2rem;font-weight:800;color:var(--arch-ink)}
body.vsz-arch .vsz-archive-desc .term-description a{color:var(--arch-royal);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* 5. Pagination: 44px targets, royal current page */
body.vsz-arch .woocommerce-pagination{margin:8px 0 32px !important}
body.vsz-arch .woocommerce-pagination ul.page-numbers{display:flex !important;flex-wrap:wrap;justify-content:center;gap:8px;border:0 !important}
body.vsz-arch .woocommerce-pagination ul.page-numbers li{border:0 !important;margin:0 !important;float:none !important}
body.vsz-arch .woocommerce-pagination .page-numbers :is(a,span){display:flex !important;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px !important;border:1px solid var(--arch-line) !important;border-radius:12px;background:#fff;color:var(--arch-ink) !important;font-weight:700;line-height:1}
body.vsz-arch .woocommerce-pagination .page-numbers a:hover{border-color:var(--arch-royal) !important}
body.vsz-arch .woocommerce-pagination .page-numbers span.current{border-color:var(--arch-royal) !important;background:var(--arch-royal) !important;color:#fff !important}
body.vsz-arch .woocommerce-pagination .page-numbers span.dots{border-color:transparent !important;background:none}

@media(max-width:600px){
  body.vsz-arch .vsz-archive-desc{padding:20px 18px;border-radius:14px}
  body.vsz-arch .woocommerce-result-count{font-size:.82rem}
}
