/* Hallmark · genre: editorial-commerce · macrostructure: Catalogue Index · theme: studied-DNA (source: https://lightinspiration.it/store/) · palette: warm paper / graphite / cyan · pre-emit critique: P5 H5 E5 S5 R5 V5 · contrast: pass · nav: existing N12+N11 · footer: existing commerce-index · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34,49,50–57) */

html,
body { overflow-x:clip; }

.li-shop-archive {
  --text-shop-title:clamp(2.35rem,4vw,4.5rem);
  --text-shop-section:clamp(1.75rem,2.8vw,2.5rem);
  --text-shop-product:1.0625rem;
  color:var(--ink);
  background:var(--paper);
}

.li-shop-archive :where(h1,h2,h3,p,ul,ol,figure) { margin-block-start:0; }
.li-shop-archive :where(h1,h2,h3) { padding-block-start:0 !important; overflow-wrap:anywhere; min-width:0; }
.li-shop-archive a { color:inherit; }
.li-shop-archive a:focus-visible,
.li-shop-archive button:focus-visible,
.li-shop-archive input:focus-visible,
.li-shop-archive select:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-archive a:active { color:var(--ink-soft); }
.li-shop-archive :where(button,input,select):disabled { opacity:.55; cursor:not-allowed; }

.li-shop-hero,
.li-shop-layout,
.li-shop-after { width:min(calc(100% - (2 * var(--gutter))),var(--shell)); margin-inline:auto; }

.li-shop-hero-shell { border-bottom:1px solid var(--rule); background:var(--paper); }
.li-shop-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr); gap:var(--space-2xl); align-items:end; padding-block:var(--space-xl) calc(var(--space-xl) + var(--space-lg)); }
.li-shop-hero--title-only { grid-template-columns:minmax(0,1fr); }
.li-shop-hero__copy { min-width:0; }
.li-shop-hero .li-breadcrumbs { margin-bottom:var(--space-xl); }
.li-shop-hero h1 { max-width:15ch; margin-bottom:0; font-family:var(--font-display); font-size:var(--text-shop-title); font-weight:400; line-height:1; letter-spacing:-.045em; text-wrap:balance; }
.li-shop-hero__intro { max-width:72ch; margin:0; color:var(--ink-soft); font-size:var(--text-md); line-height:1.7; }
.li-shop-hero__intro p:last-child { margin-bottom:0; }
.li-shop-hero__intro a { color:var(--ink); font-weight:700; text-decoration-color:var(--accent-deep); text-decoration-line:underline; text-decoration-thickness:2px; text-underline-offset:2px; }
.li-shop-hero__intro a:active { color:var(--ink-soft); text-decoration-color:var(--ink-soft); }
.li-shop-hero__intro a[aria-disabled="true"] { opacity:.55; cursor:not-allowed; pointer-events:none; }
.li-shop-hero__intro a[data-state="loading"] { cursor:wait; }
.li-shop-hero__intro a[data-state="error"] { color:var(--error); text-decoration-color:var(--error); }
.li-shop-hero__intro a[data-state="success"] { color:var(--success); text-decoration-color:var(--success); }

.li-shop-child-categories { border-top:1px solid var(--rule); background:var(--paper-soft); }
.li-shop-child-categories__inner { display:grid; grid-template-columns:minmax(12rem,.24fr) minmax(0,.76fr); gap:var(--space-xl); align-items:start; width:min(calc(100% - (2 * var(--gutter))),var(--shell)); margin-inline:auto; padding-block:var(--space-lg); }
.li-shop-child-categories h2 { margin:0; font-family:var(--font-display); font-size:var(--text-lg); font-weight:400; line-height:1.1; }
.li-shop-child-categories__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 var(--space-lg); }
.li-shop-child-categories a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-sm); align-items:center; min-height:3rem; border-top:1px solid var(--rule); text-decoration:none; }
.li-shop-child-categories a:nth-child(-n+2) { border-top-color:var(--rule-dark); }
.li-shop-child-categories__name { min-width:0; overflow:hidden; font-size:var(--text-sm); font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.li-shop-child-categories__count { display:grid; width:2rem; height:2rem; place-items:center; border:1px solid var(--rule); color:var(--muted); font-size:var(--text-xs); font-weight:700; line-height:1; }

.li-shop-main-shell { background:#fff; }
.li-shop-after-shell { padding-top:0 !important; }
.li-shop-layout { display:grid !important; grid-template-columns:minmax(15rem,.24fr) minmax(0,.76fr); gap:var(--space-2xl); align-items:start; padding-block:var(--space-2xl) var(--space-3xl); }
.li-shop-sidebar { min-width:0; align-self:start; }
.li-shop-sidebar > .li-shop-filter-widget,
.li-shop-filter-widget > .elementor-widget-container,
.li-shop-filter-widget .elementor-shortcode { height:auto; }
.li-shop-filters { position:static; max-height:none; overflow:visible; overscroll-behavior:auto; padding-right:0; scrollbar-width:auto; }
.li-shop-filters__head { display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); padding-bottom:var(--space-sm); border-bottom:1px solid var(--ink); }
.li-shop-filters__head h2 { margin:0; font-family:var(--font-display); font-size:var(--text-shop-section); font-weight:400; line-height:1.05; }
.li-shop-filters__head a { font-size:var(--text-sm); text-decoration-thickness:1px; text-underline-offset:var(--space-3xs); white-space:nowrap; }
.li-shop-filter { padding-block:var(--space-md); border-bottom:1px solid var(--rule); }
.li-shop-filter summary { display:flex; align-items:center; justify-content:space-between; gap:var(--space-sm); cursor:pointer; list-style:none; font-size:var(--text-sm); font-weight:700; line-height:1; }
.li-shop-filter summary::-webkit-details-marker { display:none; }
.li-shop-filter summary::after { content:"+"; font-family:var(--font-body); font-size:var(--text-lg); font-weight:400; line-height:1; }
.li-shop-filter[open] summary::after { content:"−"; }
.li-shop-filter summary:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-filter summary:active { color:var(--ink-soft); }
.li-shop-filter ul { display:grid; gap:var(--space-xs); margin:var(--space-md) 0 0; padding:0; list-style:none; }
.li-shop-filter ul[hidden] { display:none !important; }
.li-shop-filter li { margin:0; }
.li-shop-filter li > ul { gap:var(--space-2xs); margin:var(--space-xs) 0 0; padding-left:var(--space-2xs); border-left:1px solid var(--rule); }
.li-shop-filter li > ul a { color:var(--muted); font-size:var(--text-xs); }
.li-shop-filter__term-row { display:grid; grid-template-columns:minmax(0,1fr) 2.5rem 2rem; gap:var(--space-2xs); align-items:center; }
.li-shop-filter__term-row > a { display:block; min-width:0; }
.li-shop-filter__term-row > .li-shop-filter__count { width:2.5rem; text-align:right; }
.li-shop-filter__toggle-spacer { display:block; width:2rem; height:2rem; }
.li-shop-filter a { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-sm); align-items:center; color:var(--ink-soft); font-size:var(--text-sm); line-height:1.35; text-decoration:none; }
.li-shop-filter a > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.li-shop-filter a[aria-current="page"] { color:var(--ink); font-weight:700; }
.li-shop-filter__count { color:var(--muted); font-size:var(--text-xs); }
.li-shop-archive .li-shop-filter__toggle { display:grid; place-items:center end; box-sizing:border-box; width:2rem; min-width:2rem; max-width:2rem; height:2rem; min-height:2rem; padding:0 !important; border:0 !important; border-radius:0; color:var(--ink); background:transparent; cursor:pointer; font:inherit; line-height:1; }
.li-shop-filter__toggle::before { content:"+"; transform:translateY(-.04em); font-size:var(--text-md); font-weight:400; }
.li-shop-filter__toggle[aria-expanded="true"]::before { content:"−"; }
.li-shop-filter__toggle:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-filter__toggle:active { color:var(--ink-soft); background:transparent; }
.li-shop-filter__toggle:disabled { opacity:.45; cursor:not-allowed; }
.li-shop-filter__toggle[data-state="loading"] { cursor:wait; }
.li-shop-filter__toggle[data-state="error"] { color:var(--error); }
.li-shop-filter__toggle[data-state="success"] { color:var(--success); }

/* Hallmark · component: searchable brand multi-select · genre: editorial-commerce · theme: studied-DNA
 * states: default · hover · focus · active · disabled · loading · error · success
 * contrast: pass
 */
.li-shop-brand-filter { display:grid; gap:var(--space-sm); margin-top:var(--space-md); }
.li-shop-brand-filter__selected { display:flex; flex-wrap:wrap; gap:var(--space-2xs); }
.li-shop-brand-filter__selected:empty { display:none; }
.li-shop-archive .li-shop-brand-filter__chip { appearance:none; display:inline-flex; grid-template-columns:none; align-items:center; width:auto; min-height:2rem; padding:var(--space-2xs) var(--space-xs) !important; border:1px solid var(--rule) !important; border-radius:0; color:var(--ink); background:var(--paper-soft); font-family:var(--font-body); font-size:var(--text-xs); font-weight:700; line-height:1; text-align:left; text-decoration:none; white-space:nowrap; cursor:pointer; }
.li-shop-brand-filter__chip::after { margin-left:var(--space-2xs); content:"×"; color:var(--muted); font-size:var(--text-md); font-weight:400; line-height:.75; }
.li-shop-brand-filter__chip:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-brand-filter__chip:active { color:var(--on-dark); border-color:var(--ink); background:var(--ink); }
.li-shop-brand-filter__chip[aria-disabled="true"] { opacity:.55; cursor:not-allowed; pointer-events:none; }
.li-shop-brand-filter__chip[data-state="loading"] { cursor:wait; }
.li-shop-brand-filter__chip[data-state="error"] { border-color:var(--error); color:var(--error); }
.li-shop-brand-filter__chip[data-state="success"] { border-color:var(--success); color:var(--success); }
.li-shop-brand-picker { position:relative; display:grid; gap:var(--space-2xs); }
.li-shop-brand-picker__label { color:var(--muted); font-size:var(--text-xs); }
.li-shop-brand-picker__control { display:grid; grid-template-columns:minmax(0,1fr) 3rem; align-items:center; border:1px solid var(--rule); background:var(--paper); }
.li-shop-brand-picker__input { width:100%; min-width:0; min-height:3rem; padding-inline:var(--space-sm) !important; border:0 !important; border-radius:0 !important; outline:2px solid transparent; outline-offset:-2px; color:var(--ink); background:transparent !important; font-family:var(--font-body); font-size:var(--text-sm); }
.li-shop-brand-picker__input:focus-visible { outline-color:var(--focus); }
.li-shop-brand-picker__input:active { background:var(--paper-soft) !important; }
.li-shop-brand-picker__input:disabled { opacity:.55; cursor:not-allowed; }
.li-shop-brand-picker__input[aria-invalid="true"],
.li-shop-brand-picker[data-state="error"] .li-shop-brand-picker__control { border-color:var(--error); }
.li-shop-brand-picker[data-state="loading"] .li-shop-brand-picker__input { cursor:wait; }
.li-shop-brand-picker[data-state="success"] .li-shop-brand-picker__control { border-color:var(--success); }
.li-shop-archive .li-shop-brand-picker__trigger { position:relative; box-sizing:border-box; width:3rem; min-width:3rem; height:3rem; min-height:3rem; padding:0 !important; border:0 !important; border-left:1px solid var(--rule) !important; border-radius:0; color:var(--ink); background:transparent; cursor:pointer; }
.li-shop-brand-picker__trigger::before { position:absolute; top:50%; left:50%; width:.5rem; height:.5rem; border-right:1px solid currentColor; border-bottom:1px solid currentColor; content:""; transform:translate(-50%,-65%) rotate(45deg); }
.li-shop-brand-picker__trigger[aria-expanded="true"]::before { transform:translate(-50%,-35%) rotate(225deg); }
.li-shop-brand-picker__trigger:focus-visible { outline:2px solid var(--focus); outline-offset:-3px; }
.li-shop-brand-picker__trigger:active { color:var(--on-dark); background:var(--ink); }
.li-shop-brand-picker__trigger:disabled { opacity:.55; cursor:not-allowed; }
.li-shop-brand-picker__trigger[data-state="loading"] { cursor:wait; }
.li-shop-brand-picker__trigger[data-state="error"] { color:var(--error); }
.li-shop-brand-picker__trigger[data-state="success"] { color:var(--success); }
.li-shop-brand-picker__list { position:absolute; z-index:var(--z-dropdown,50); top:calc(100% + var(--space-2xs)); right:0; left:0; max-height:18rem; overflow-y:auto; border:1px solid var(--ink); background:var(--paper); }
.li-shop-brand-picker__list[hidden] { display:none !important; }
.li-shop-archive .li-shop-brand-picker__option { appearance:none; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--space-sm); align-items:center; width:100%; min-height:2.75rem; padding:var(--space-xs) var(--space-sm) !important; border:0 !important; border-bottom:1px solid var(--rule) !important; border-radius:0; color:var(--ink-soft); background:var(--paper); font-family:var(--font-body); font-size:var(--text-sm); line-height:1.25; text-align:left; text-decoration:none; cursor:pointer; }
.li-shop-archive .li-shop-brand-picker__option:last-of-type { border-bottom:0 !important; }
.li-shop-brand-picker__option > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.li-shop-brand-picker__option[aria-selected="true"] { color:var(--ink); background:var(--paper-soft); box-shadow:inset var(--space-3xs) 0 0 var(--accent-deep); font-weight:700; }
.li-shop-brand-picker__option:focus-visible { position:relative; z-index:1; outline:2px solid var(--focus); outline-offset:-2px; }
.li-shop-brand-picker__option:active { color:var(--on-dark); background:var(--ink); }
.li-shop-brand-picker__option[aria-disabled="true"] { opacity:.55; cursor:not-allowed; pointer-events:none; }
.li-shop-brand-picker__option[data-state="loading"] { cursor:wait; }
.li-shop-brand-picker__option[data-state="error"] { color:var(--error); }
.li-shop-brand-picker__option[data-state="success"] { color:var(--success); }
.li-shop-brand-picker__empty { padding:var(--space-sm); color:var(--muted); font-size:var(--text-sm); }
.li-shop-brand-filter__actions { display:flex; align-items:center; justify-content:flex-start; }
.li-shop-archive .li-shop-brand-filter__apply { min-height:2.75rem; padding:var(--space-xs) var(--space-sm) !important; border:1px solid var(--ink) !important; border-radius:0; color:var(--on-dark); background:var(--ink); font-family:var(--font-body); font-size:var(--text-sm); font-weight:700; line-height:1; cursor:pointer; }
.li-shop-brand-filter__apply:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-brand-filter__apply:active { color:var(--ink); background:var(--paper); }
.li-shop-brand-filter__apply:disabled { border-color:var(--rule) !important; color:var(--muted); background:var(--paper-soft); opacity:.72; cursor:not-allowed; }
.li-shop-brand-filter__apply[data-state="loading"] { cursor:wait; }
.li-shop-brand-filter__apply[data-state="error"] { border-color:var(--error) !important; color:var(--error); background:var(--paper); }
.li-shop-brand-filter__apply[data-state="success"] { border-color:var(--success) !important; color:var(--success); background:var(--paper); }

.li-shop-search,
.li-shop-price { display:grid; gap:var(--space-xs); margin-top:var(--space-md); }
.li-shop-search { grid-template-columns:minmax(0,1fr) auto; }
.li-shop-price__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-xs); }
.li-shop-search label,
.li-shop-price label { display:grid; gap:var(--space-2xs); min-width:0; color:var(--muted); font-size:var(--text-xs); }
.li-shop-search label { color:var(--ink-soft); }
.li-shop-search input,
.li-shop-price input,
.li-shop-archive .woocommerce-ordering select { width:100%; min-height:3rem; padding-inline:var(--space-sm); border:1px solid var(--rule); border-radius:0; outline:2px solid transparent; outline-offset:1px; color:var(--ink); background:var(--paper); font-family:var(--font-body); font-size:var(--text-sm); }
.li-shop-search button,
.li-shop-price button { min-height:3rem; padding-inline:var(--space-sm); border:1px solid var(--ink); border-radius:0; outline:2px solid transparent; outline-offset:2px; color:var(--on-dark); background:var(--ink); font-family:var(--font-body); font-size:var(--text-sm); font-weight:700; line-height:1; white-space:nowrap; transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out); }
.li-shop-price button { justify-self:start; }
.li-shop-search input[aria-invalid="true"],
.li-shop-price input[aria-invalid="true"] { border-color:var(--error); }

.li-shop-results { min-width:0; }
.li-shop-results .elementor-widget-woocommerce-archive-products { width:100%; }
.li-shop-archive .woocommerce-result-count { margin:0 0 var(--space-md); color:var(--muted); font-size:var(--text-sm); line-height:3rem; }
.li-shop-archive .woocommerce-ordering { margin:0 0 var(--space-md); }
.li-shop-archive .woocommerce-ordering select { min-width:15rem; }
.li-shop-archive .woocommerce::after { display:block; clear:both; content:""; }
.li-shop-archive ul.products { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-xl) var(--space-md); clear:both; margin:0 !important; padding:var(--space-lg) 0 0 !important; border-top:1px solid var(--ink); }
.li-shop-archive ul.products::before,
.li-shop-archive ul.products::after { display:none !important; content:none !important; }
.li-shop-archive ul.products li.product { width:auto !important; min-width:0; margin:0 !important; padding:0 0 var(--space-md) !important; float:none !important; border-bottom:1px solid var(--rule); text-align:left; }
.li-shop-archive ul.products li.product a.woocommerce-LoopProduct-link { display:block; text-decoration:none; }
.li-shop-archive ul.products li.product a img { width:100%; aspect-ratio:1/1; margin:0 0 var(--space-sm) !important; object-fit:contain; background:var(--paper-image); transition:filter var(--dur-medium) var(--ease-out); }
.li-shop-archive .elementor-widget-woocommerce-archive-products ul.products li.product span.onsale,
.li-shop-archive .wc-block-grid__product-onsale,
.li-shop-archive .wc-block-components-product-sale-badge,
.li-shop-archive .product-badge,
.li-shop-archive .badge { display:inline-flex !important; align-items:center; justify-content:center; width:auto !important; min-width:0 !important; min-height:0 !important; margin:0 !important; padding:var(--space-2xs) var(--space-xs) !important; border:0 !important; border-radius:0 !important; box-sizing:border-box; color:var(--accent-ink) !important; background:#fff !important; font-family:var(--font-body); font-size:var(--text-xs) !important; font-weight:700; line-height:1 !important; white-space:nowrap; }
.li-shop-archive .elementor-widget-woocommerce-archive-products ul.products li.product span.onsale { top:var(--space-xs) !important; right:auto !important; left:var(--space-xs) !important; }
.li-shop-archive ul.products li.product .woocommerce-loop-product__title { margin:0 0 var(--space-xs) !important; padding:0 !important; font-family:var(--font-display); font-size:var(--text-shop-product) !important; font-weight:400; line-height:1.25; letter-spacing:-.015em; }
.li-shop-archive ul.products li.product .price { display:block; margin:0 0 var(--space-sm) !important; color:var(--ink); font-size:var(--text-sm) !important; font-weight:700; line-height:1.35; }
.li-shop-archive ul.products li.product .price :where(del,ins,bdi,.woocommerce-Price-amount) { font-family:var(--font-body) !important; font-size:var(--text-md) !important; line-height:1.35 !important; }
.li-shop-archive ul.products li.product .price del { display:inline; color:var(--muted); font-weight:400; }
.li-shop-archive ul.products li.product .price ins { display:inline; color:var(--ink); font-weight:700; text-decoration:none; }
.li-shop-archive ul.products li.product .button { display:inline-flex; align-items:center; min-height:2.75rem; margin:0 !important; padding-inline:var(--space-sm) !important; border:1px solid var(--ink) !important; border-radius:0 !important; outline:2px solid transparent; outline-offset:2px; color:var(--on-dark) !important; background:var(--ink) !important; box-shadow:none !important; font-family:var(--font-body); font-size:var(--text-xs); font-weight:700; line-height:1; text-decoration:none; white-space:nowrap; transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out); }
.li-shop-archive ul.products li.product .button.loading { cursor:wait; }
.li-shop-archive ul.products li.product .button.added { border-color:var(--success) !important; }
.li-shop-archive ul.products li.product .button:disabled { color:var(--muted) !important; border-color:var(--rule) !important; background:var(--paper-soft) !important; }
.li-shop-archive ul.products li.product .added_to_cart { display:inline-flex; align-items:center; min-height:2.75rem; margin-left:var(--space-xs); color:var(--accent-deep); font-size:var(--text-xs); font-weight:700; white-space:nowrap; }

.li-shop-archive .woocommerce-pagination { margin-top:var(--space-2xl); }
.li-shop-archive .woocommerce-pagination ul.page-numbers { display:flex; flex-wrap:wrap; gap:var(--space-2xs); justify-content:flex-start; margin:0 !important; padding:0 !important; border:0 !important; }
.li-shop-archive .woocommerce-pagination ul.page-numbers li { margin:0 !important; border:0 !important; }
.li-shop-archive .woocommerce-pagination .page-numbers :where(a,span) { display:grid; width:2.75rem; height:2.75rem; place-items:center; border:1px solid var(--rule); border-radius:0; outline:2px solid transparent; outline-offset:2px; color:var(--ink); background:var(--paper); font-size:var(--text-sm); font-weight:700; line-height:1; text-decoration:none; }
.li-shop-archive .woocommerce-pagination .page-numbers span.current { color:var(--on-dark); border-color:var(--ink); background:var(--ink); }
.li-shop-archive .woocommerce-pagination .page-numbers a:active { color:var(--on-dark); background:var(--ink-soft); }
.li-shop-archive .woocommerce-info { padding:var(--space-md) !important; border:1px solid var(--rule); border-top-color:var(--accent-deep); color:var(--ink); background:var(--paper-soft); }

@media (hover:hover) and (pointer:fine) {
  .li-shop-child-categories a:hover { color:var(--accent-deep); }
  .li-shop-hero__intro a:hover { color:var(--accent-deep); }
  .li-shop-filters__head a:hover { color:var(--accent-deep); }
  .li-shop-filter summary:hover { color:var(--accent-deep); }
  .li-shop-filter a:hover { color:var(--accent-deep); }
  .li-shop-filter__toggle:not(:disabled):hover { color:var(--accent-deep); background:transparent; }
  .li-shop-filter .li-shop-brand-filter__chip:hover { border-color:var(--ink); }
  .li-shop-brand-picker__input:hover { background:var(--paper-soft) !important; }
  .li-shop-brand-picker__trigger:not(:disabled):hover { background:var(--paper-soft); }
  .li-shop-filter .li-shop-brand-picker__option:hover { color:var(--ink); background:var(--paper-soft); }
  .li-shop-brand-filter__apply:not(:disabled):hover { color:var(--ink); background:var(--paper); }
  .li-shop-search input:hover,
  .li-shop-price input:hover,
  .li-shop-archive .woocommerce-ordering select:hover { background:var(--paper-soft); }
  .li-shop-search button:hover,
  .li-shop-price button:hover,
  .li-shop-archive ul.products li.product .button:hover { color:var(--ink) !important; background:var(--paper) !important; }
  .li-shop-archive ul.products li.product a:hover img { filter:brightness(.92); }
  .li-shop-archive ul.products li.product a:hover .woocommerce-loop-product__title { color:var(--accent-deep); }
  .li-shop-archive .woocommerce-pagination .page-numbers a:hover { border-color:var(--ink); background:var(--paper-soft); }
}

@media (max-width:64rem) {
  .li-shop-hero { grid-template-columns:minmax(0,1fr); gap:var(--space-lg); }
  .li-shop-hero__intro { max-width:72ch; }
  .li-shop-layout { grid-template-columns:minmax(0,1fr); gap:var(--space-xl); }
  .li-shop-filters { position:static; max-height:none; overflow:visible; overscroll-behavior:auto; padding-right:0; scrollbar-width:auto; }
  .li-shop-sidebar > .li-shop-filter-widget,
  .li-shop-filter-widget > .elementor-widget-container,
  .li-shop-filter-widget .elementor-shortcode { height:auto; }
  .li-shop-sidebar { order:0; }
  .li-shop-results { order:1; }
}

@media (max-width:48rem) {
  .li-shop-hero { padding-block:var(--space-lg) calc(var(--space-lg) + var(--space-sm)); }
  .li-shop-hero .li-breadcrumbs { margin-bottom:var(--space-lg); }
  .li-shop-child-categories__inner { grid-template-columns:minmax(0,1fr); gap:var(--space-md); }
  .li-shop-layout { padding-block:var(--space-xl) var(--space-2xl); }
  .li-shop-archive ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-lg) var(--space-sm); }
}

@media (max-width:34rem) {
  .li-shop-child-categories__grid { grid-template-columns:minmax(0,1fr); }
  .li-shop-child-categories a:nth-child(2) { border-top-color:var(--rule); }
  .li-shop-search { grid-template-columns:minmax(0,1fr); }
  .li-shop-search button { width:100%; }
  .li-shop-archive .woocommerce-result-count,
  .li-shop-archive .woocommerce-ordering { width:100%; float:none; line-height:1.5; }
  .li-shop-archive .woocommerce-ordering select { min-width:0; }
  .li-shop-archive ul.products { grid-template-columns:minmax(0,1fr); }
}

@media (prefers-reduced-motion:reduce) {
  .li-shop-search button,
  .li-shop-price button,
  .li-shop-archive ul.products li.product a img,
  .li-shop-archive ul.products li.product .button { transition-duration:.01ms; }
}

/* Revisione filtri: sette gruppi, un solo invio, pannello mobile full-height. */
.li-shop-archive .li-shop-filters-open { display:none; min-height:3rem; padding:0 var(--space-md); border:1px solid var(--ink) !important; border-radius:0 !important; color:var(--on-dark) !important; background:var(--ink) !important; box-shadow:none !important; font:700 var(--text-sm)/1 var(--font-body) !important; }
.li-shop-filter-form { display:grid; gap:0; }
.li-shop-filters__head button { display:none; }
.li-shop-checks { display:grid; gap:var(--space-2xs); margin-top:var(--space-sm); }
.li-shop-checks label { display:grid; grid-template-columns:1.25rem minmax(0,1fr) auto; gap:var(--space-xs); align-items:center; min-height:2.5rem; color:var(--ink-soft); cursor:pointer; }
.li-shop-checks input { width:1.125rem; height:1.125rem; margin:0; accent-color:var(--ink); }
.li-shop-checks small { color:var(--muted); font-size:var(--text-xs); font-variant-numeric:tabular-nums; }
.li-shop-filter-form__apply { position:sticky; bottom:0; width:100%; min-height:3.25rem; margin-top:var(--space-md); border:1px solid var(--ink); border-radius:0; color:var(--on-dark); background:var(--ink); font:700 var(--text-sm)/1 var(--font-body); cursor:pointer; }
.li-shop-filter-form__apply:focus-visible,.li-shop-filters-open:focus-visible,.li-shop-filters__head button:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-filter-form__apply:active,.li-shop-filters-open:active { color:var(--ink); background:var(--paper-soft); transform:translateY(1px); }
.li-shop-archive .li-shop-filters-open:active { border-color:var(--ink) !important; color:var(--ink) !important; background:var(--paper-soft) !important; }
.li-shop-filter-form__apply:disabled,.li-shop-filters-open:disabled,.li-shop-filters__head button:disabled { opacity:.55; cursor:not-allowed; }
.li-shop-filter-form__apply[data-state="loading"],.li-shop-filters-open[data-state="loading"] { cursor:wait; }
.li-shop-filter-form__apply[data-state="error"],.li-shop-filters-open[data-state="error"] { border-color:var(--error); color:var(--error); }
.li-shop-filter-form__apply[data-state="success"],.li-shop-filters-open[data-state="success"] { border-color:var(--success); color:var(--success); }
.li-shop-active-filters { display:flex; flex-wrap:wrap; gap:var(--space-2xs); margin-bottom:var(--space-md); }
.li-shop-active-filters a { display:inline-flex; align-items:center; gap:var(--space-2xs); min-height:2rem; padding:var(--space-2xs) var(--space-xs); border:1px solid var(--rule); color:var(--ink); background:var(--paper-soft); font-size:var(--text-xs); font-weight:700; text-decoration:none; white-space:nowrap; }
.li-shop-active-filters a:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.li-shop-active-filters a:active { color:var(--on-dark); background:var(--ink); }
.li-shop-after { display:grid; gap:var(--space-2xl); margin-top:0; padding-block:var(--space-lg); border-top:1px solid var(--ink); }
.li-shop-after__description { width:100%; max-width:none; color:var(--ink-soft); }
.li-archive-faq-title { margin:0 0 var(--space-lg); color:var(--ink); font-family:var(--font-display); font-size:clamp(1.5rem,2.4vw,2rem); font-weight:500; line-height:1.15; }
.li-shop-hero__intro { display:block; overflow:visible; }
.li-shop-archive ul.products li.product.li-product-card { padding-bottom:var(--space-md) !important; }
.li-shop-archive ul.products li.product.li-product-card > .button,.li-shop-archive ul.products li.product.li-product-card > a.woocommerce-LoopProduct-link { display:none !important; }
@media (hover:hover) and (pointer:fine) {
  .li-shop-filter-form__apply:hover,.li-shop-archive .li-shop-filters-open:hover { border-color:var(--ink) !important; color:var(--ink) !important; background:var(--paper) !important; }
  .li-shop-active-filters a:hover { border-color:var(--ink); }
}
@media (max-width:64rem) {
  .li-shop-archive .li-shop-filters-open { display:inline-flex; align-items:center; justify-content:center; margin-bottom:var(--space-md); }
  .li-shop-filters { position:fixed !important; z-index:10000; inset:0; display:block; height:100dvh !important; padding:var(--space-lg) var(--gutter) !important; overflow-y:auto !important; color:var(--ink); background:var(--paper); visibility:hidden; transform:translateX(100%); transition:transform var(--dur-medium) var(--ease-in-out),visibility 0s linear var(--dur-medium); }
  .li-shop-filters.is-open { visibility:visible; transform:none; transition-delay:0s; }
  .li-shop-filters__head { position:sticky; z-index:2; top:calc(-1 * var(--space-lg)); padding-block:var(--space-sm); background:var(--paper); }
  .li-shop-archive .li-shop-filters__head button { display:grid; width:2.75rem; height:2.75rem; padding:0; place-items:center; border:1px solid var(--ink) !important; border-radius:0 !important; color:var(--ink) !important; background:var(--paper) !important; box-shadow:none !important; font-size:var(--text-lg) !important; }
  .li-shop-archive .li-shop-filters__head button:active { color:var(--paper) !important; background:var(--ink) !important; }
  .li-shop-hero__intro { display:block; }
}
@media (prefers-reduced-motion:reduce) { .li-shop-filters { transition-duration:.01ms; } }

/* Native WooCommerce category cards: hierarchy stays intact; only the former
   oversized highlighted count is restyled across every product category. */
.li-shop-archive ul.products li.product-category { display:flex; flex-direction:column; min-width:0; margin:0 !important; padding:0 !important; }
.li-shop-archive ul.products li.product-category > a { display:flex; flex-direction:column; gap:var(--space-xs); color:var(--ink); text-decoration:none; }
.li-shop-archive ul.products li.product-category img { order:0; width:100%; aspect-ratio:1; object-fit:cover; }
.li-shop-archive ul.products li.product-category h2 { order:2; display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-2xs); margin:0 !important; font-family:var(--font-display); font-size:clamp(1.15rem,1.8vw,1.65rem) !important; font-weight:400; line-height:1.15; }
.li-shop-archive ul.products li.product-category mark { order:-1; padding:0; color:var(--muted); background:transparent; font-family:var(--font-body); font-size:var(--text-xs); font-weight:600; line-height:1.35; }

/* Curated tag links for product category archives. */
.li-category-associated-tags { width:100%; margin:0 0 var(--space-xs); padding:0; background:transparent; }
.li-category-associated-tags__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr)); gap:var(--space-xs); }
.li-category-associated-tags__link { display:flex; min-height:2.25rem; align-items:center; justify-content:center; padding:.35rem .6rem; border:1px solid var(--rule); color:var(--ink) !important; background:transparent; font-size:var(--text-xs); font-weight:700; line-height:1.2; text-align:center; text-decoration:none; transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out); }
.li-category-associated-tags__link:hover { border-color:var(--ink); color:var(--on-dark) !important; background:var(--ink); }
.li-category-associated-tags__link:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }

@media (max-width:767px) {
  /* A flex-column archive results container stretches the shortcode widget on mobile. */
  .li-shop-layout { row-gap:var(--space-sm); }
  .li-shop-archive .li-shop-filters-open { margin-bottom:var(--space-sm); }
  .li-shop-layout .li-shop-results { display:block; }
}

