.elementor-26225 .elementor-element.elementor-element-1b69418{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--flex-wrap:nowrap;--padding-top:60px;--padding-bottom:34px;--padding-left:62px;--padding-right:62px;}.elementor-26225 .elementor-element.elementor-element-1b69418:not(.elementor-motion-effects-element-type-background), .elementor-26225 .elementor-element.elementor-element-1b69418 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAF8;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-26225 .elementor-element.elementor-element-128c322{font-family:"Raleway", Sans-serif;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#33322F;}.elementor-26225 .elementor-element.elementor-element-128c322 a{color:#33322F;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-26225 .elementor-element.elementor-element-ecb151f{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-26225 .elementor-element.elementor-element-ecb151f .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:48px;font-weight:300;line-height:1.05em;letter-spacing:-0.028em;color:#1C1B19;}.elementor-26225 .elementor-element.elementor-element-344739e{margin:14px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.woocommerce .elementor-26225 .elementor-element.elementor-element-344739e .term-description{color:#33322F;}.elementor-26225 .elementor-element.elementor-element-1d56d05{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#DEDCD7;--border-color:#DEDCD7;--padding-top:34px;--padding-bottom:100px;--padding-left:62px;--padding-right:62px;}.elementor-26225 .elementor-element.elementor-element-1d56d05:not(.elementor-motion-effects-element-type-background), .elementor-26225 .elementor-element.elementor-element-1d56d05 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAF8;}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26225 .elementor-element.elementor-element-f5e0b2f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-26225 .elementor-element.elementor-element-f5e0b2f.elementor-wc-products ul.products li.product span.onsale{display:block;}@media(max-width:1024px){.elementor-widget-breadcrumbs{line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26225 .elementor-element.elementor-element-f5e0b2f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-26225 .elementor-element.elementor-element-1b69418{--padding-top:34px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px;}.elementor-widget-breadcrumbs{line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-26225 .elementor-element.elementor-element-ecb151f .elementor-heading-title{font-size:30px;}.elementor-26225 .elementor-element.elementor-element-1d56d05{--padding-top:24px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26225 .elementor-element.elementor-element-f5e0b2f.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for woocommerce-archive-description, class: .elementor-element-344739e *//* The widget's own typography_* controls save and echo back correctly but never
   reach the frontend (same trap as the EA gallery: text_color applies, typography
   does not). Elementor's widget CSS compiles at equal specificity, so !important
   is required. Token-linked so a Kit font change still propagates. */
.elementor-26225 .elementor-element.elementor-element-344739e,
.elementor-26225 .elementor-element.elementor-element-344739e .term-description,
.elementor-26225 .elementor-element.elementor-element-344739e .term-description p,
.elementor-26225 .elementor-element.elementor-element-344739e .term-description li {
  font-family: var(--e-global-typography-text-font-family), "Raleway", sans-serif !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}
@media (max-width: 767px) {
  .elementor-26225 .elementor-element.elementor-element-344739e,
  .elementor-26225 .elementor-element.elementor-element-344739e .term-description,
  .elementor-26225 .elementor-element.elementor-element-344739e .term-description p,
  .elementor-26225 .elementor-element.elementor-element-344739e .term-description li {
    font-size: 16px !important;
  }
}
/* Inline links in a category description (first used 2026-09-15, Turntables term 37).
   Without this they fall back to Hello Elementor's default pink #CC3366.
   Oxblood with a permanent underline: Oxblood and Graphite are too close in
   lightness to tell a link by colour alone. Hover goes deep Oxblood, gated for touch. */
.elementor-26225 .elementor-element.elementor-element-344739e .term-description a {
  color: var(--e-global-color-oxblood) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 4px !important;
}
@media (hover: hover) and (pointer: fine) {
  .elementor-26225 .elementor-element.elementor-element-344739e .term-description a:hover {
    color: #5C1420 !important;
  }
}/* End custom CSS */
/* Start custom CSS for wp-widget-woocommerce_layered_nav, class: .elementor-element-1599e40 *//* ===== PRODUCT TYPE FILTER ROW. WooCommerce layered nav, styled as tabs.
   Term counts and zero-count hiding are WooCommerce's own; it renders NOTHING
   on an archive where no pa_producttype term matches, so Turntables/Cables/
   Televisions/Electronics need no rule.
   ===== TYPE, SPACING AND ACTIVE MARK ARE COPIED FROM THE /projects/ FILTER TABS
   (owner, 2026-09-05; values MEASURED off the rendered page, not guessed):
   Raleway 500 / 11.5px / 2px tracking / uppercase, 48px rows, 34px gap,
   Graphite at rest and Ink when chosen. The active mark is a 1px OXBLOOD
   INSET BOX-SHADOW, not a border — that is how /projects/ draws it, and it is
   why the mark sits flush on the hairline instead of 1px above it. ===== */
.elementor-26225 .elementor-element.elementor-element-1599e40 .woocommerce-widget-layered-nav-list{display:flex;flex-wrap:wrap;gap:0 34px;margin:0 0 34px;padding:0;list-style:none;border-bottom:1px solid #DEDCD7}
.elementor-26225 .elementor-element.elementor-element-1599e40 .woocommerce-widget-layered-nav-list__item{margin:0;padding:0}
.elementor-26225 .elementor-element.elementor-element-1599e40 .woocommerce-widget-layered-nav-list__item a{display:inline-flex;align-items:center;min-height:48px;padding:15px 0;font-family:"Raleway",sans-serif;font-size:11.5px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#33322F;text-decoration:none}
.elementor-26225 .elementor-element.elementor-element-1599e40 .woocommerce-widget-layered-nav-list__item.chosen a{color:#1C1B19;box-shadow:inset 0 -1px 0 0 #7A1E2B}
/* ⛔ WooCommerce draws the chosen term's REMOVE control as an icon-font glyph in
   its own hardcoded #a00 via a::before. That is a third-party default leaking in,
   the same class as the Bootstrap info-blue found elsewhere in the store, and it
   is the ONLY non-Oxblood red on the site. Recoloured to Oxblood, which is correct
   because this glyph IS an action (click to clear the filter).
   ⛔ DO NOT hide it — it is the only visible way to clear a chosen filter. */
.elementor-26225 .elementor-element.elementor-element-1599e40 .woocommerce-widget-layered-nav-list__item.chosen a::before{color:#7A1E2B}
.elementor-26225 .elementor-element.elementor-element-1599e40 .count{font-weight:400;letter-spacing:0;margin-left:6px;color:#33322F}
@media (hover:hover) and (pointer:fine){.elementor-26225 .elementor-element.elementor-element-1599e40 .woocommerce-widget-layered-nav-list__item a:hover{color:#7A1E2B}}
/* ⛔ NO border-top, DELIBERATELY DIFFERENT FROM /projects/. That page's tab list
   carries a hairline above AND below. Here the archive already draws a FULL-BLEED
   Limestone rule 35px higher, from container 1d56d05 (#pa-grid-band) border-top,
   and it renders on every archive including those with no filter. A second,
   content-width line under it reads as a mistake. Do not "finish the match". */
/* Shown on product CATEGORY archives and on BRAND archives (owner, 2026-09-05 —
   reverses the categories-only default; Klipsch has 37 typed products over 3 pages).
   Woo drops the widget entirely where no pa_producttype term matches, so Chord,
   Linn and Loewe need no rule here. Explicit #id, never the scoping keyword, so
   there is no ancestor-prefix trap. */
body:not(.tax-product_cat):not(.tax-product_brand) #pa-filter{display:none}
/* A one-option row filters nothing: suppresses Elipson (Powered 1) and any future
   single-type brand automatically. If :has() is unsupported this rule is dropped
   and the only cost is one harmless tab. */
#pa-filter:has(.woocommerce-widget-layered-nav-list__item:only-child){display:none}/* End custom CSS */
/* Start custom CSS for woocommerce-products, class: .elementor-element-f5e0b2f *//* --- product grid --- */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 26px;margin:0;padding:0;list-style:none}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products::before,.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products::after{display:none}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products li.product{width:auto!important;margin:0!important;float:none!important;padding:0;text-align:left;clear:none!important}

/* --- plate: 1:1, Limestone until filled --- */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product a.woocommerce-LoopProduct-link{display:block;text-decoration:none}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product img{width:100%!important;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;margin:0!important;background:#DEDCD7;border-radius:0}

/* --- name. !important because Elementor's own widget typography compiles at equal specificity --- */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .woocommerce-loop-product__title{font-family:"Archivo",sans-serif!important;font-weight:300!important;font-size:19px!important;line-height:1.2!important;letter-spacing:-.014em!important;color:#1C1B19!important;margin:14px 0 0!important;padding:0!important}

/* --- price --- */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .price{display:block;font-family:"Raleway",sans-serif!important;font-size:14px!important;font-weight:400!important;color:#1C1B19!important;margin:8px 0 0!important;font-variant-numeric:tabular-nums}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .price del{color:#8B8880!important;font-size:12.5px!important;margin-right:8px;text-decoration-thickness:1px;opacity:1}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .price ins{text-decoration:none;background:transparent;color:#1C1B19!important}

/* enquire-only items have no .price element at all; WooCommerce omits .purchasable on them */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product:not(.purchasable) a.woocommerce-LoopProduct-link::after{content:"Price on request";display:block;font-family:"Raleway",sans-serif;font-size:14px;color:#8B8880;margin-top:8px}

/* --- the whole tile is the link, so the card carries no button --- */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product a.button,.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product a.added_to_cart{display:none!important}

/* --- hover: the mark darkens, nothing moves --- */
@media (hover:hover) and (pointer:fine){
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product img{transition:opacity .3s ease}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product a.woocommerce-LoopProduct-link:hover img{opacity:.86}
}

@media (max-width:1024px){.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products{grid-template-columns:repeat(2,1fr);gap:32px 22px}}
@media (max-width:767px){.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products{grid-template-columns:repeat(2,1fr);gap:28px 30px}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .woocommerce-loop-product__title{font-size:20px!important;min-height:72px}}


/* --- ONE WHOLE CARD, 2026-09-19 (owner-requested) ---
   The tile was transparent, so the photograph's own near-white background sat against
   the page's Gallery White and the name and price read as loose text below a picture.
   Extending the white behind the name and price makes the tile read as one product card.
   #FEFEFE is the product photography's own background, measured across the catalogue:
   15 of 18 shots are rgb(254,254,254) and 3 (the Klipsch finish shots) are pure white.
   A 1/255 difference is imperceptible; the 4-6 point gap against Gallery White was not.
   NOT a Kit token on purpose - this matches the photography, not the palette, and it is
   the one place in the system where that is the right call.
   Radius stays 0 per the design system; this is a flat colour block, not a raised card. */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product{ background:#FEFEFE; padding-bottom:22px; }
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .woocommerce-loop-product__title,
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .price{ padding-left:18px !important; padding-right:18px !important; }
/* enquiry-only tiles render their price as ::after, so it needs the same inset */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product:not(.purchasable) a.woocommerce-LoopProduct-link::after{ padding-left:18px; padding-right:18px; }

/* Specificity correction, same day: the card's padding-bottom above did NOT apply.
   The grid rule further up is `.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products li.product{...padding:0...}` at
   (0,2,2); the card rule was `.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product` at (0,1,1) and lost on specificity,
   not on order. Measured padding-bottom:0px, so the price sat flush on the card edge.
   Matching the grid rule's .elementor-26225 .elementor-element.elementor-element-f5e0b2f fixes it. */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f ul.products li.product{ padding-bottom:22px !important; }


/* --- SALE BADGE: pulled inside the card, and Oxblood. 2026-09-19 (owner-requested) ---
   WooCommerce ships this as a sticker: position:absolute; top:0; right:0 with a deliberate
   margin:-6.856px -6.856px 0 0, so it hung ~7px OUTSIDE the tile on both axes. That was
   invisible while the tile was transparent; giving the tile a white card edge made it read
   as hanging off the corner. margin:0 plus a 14px inset seats it inside the plate.
   Its offset parent is a.woocommerce-LoopProduct-link, whose top edge is the card's top,
   so top/right are measured from the card corner.

   COLOUR: Oxblood, the only red in the palette. ⚠️ THIS IS A DELIBERATE, OWNER-APPROVED
   EXCEPTION TO "OXBLOOD IS FOR ACTION ONLY" - a promo badge is a commercial signal, not an
   action and not decoration. Do not "correct" it back to a neutral.

   ⛔⛔ DO NOT SET `color` ON .onsale. Its own text is the literal string "Sale!" and site-wide
   snippet 27873 renders it TRANSPARENT, overlaying "Promo!" as a ::after. Giving .onsale a
   visible colour makes "Sale!" reappear underneath "Promo!". The visible label's colour lives
   on the ::after and is white - 9.81:1 on Oxblood, so it needs no change.
   ⚠️ The circle (border-radius:100%) and the system font are untouched here and remain the
   known outliers against a radius-0, Archivo/Raleway system. */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .onsale{
  margin:0 !important;
  top:14px !important;
  right:14px !important;
  background:var(--e-global-color-oxblood) !important;
}


/* Badge moved to the TOP LEFT, 2026-09-19 (owner's call, same day as the inset above).
   Seating it 14px inside the top RIGHT put it squarely on the "ABSOLUTE SOUND since 1992"
   watermark that is baked into the top-right of every product photograph. The watermark is
   top-right on every shot, so the top-left corner is clear.
   `right:auto` is required to cancel the `right:14px` set above, and WooCommerce's own
   `right:0` beneath that. */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f li.product .onsale{
  left:14px !important;
  right:auto !important;
}


/* --- PAGINATION, 2026-09-20 (owner-approved, "option A") -------------------
   Nothing here had EVER been styled: `pagination` and `page-numbers` appeared
   zero times in the Elementor data of 26225, 26263 and 21043. Every value was
   a third-party default -
     font        -apple-system (the system stack)
     links       #CC3366  = Hello Elementor reset.css's default `a` colour,
                            the same phantom hex documented on /hi-fi/
     current     #816F98 on #E9E6ED lavender  = WooCommerce core's own defaults
     hairlines   #CFC8D8  = ELEMENTOR's pagination border, not WooCommerce's
                            #d3ced2 - which is why show_pagination_border is
                            now "" on this widget, killing the box at source
     tap target  23x32px, on desktop AND mobile, against a 44px minimum

   The box is REMOVED rather than re-skinned, per the design system's own line:
   "hairlines, not cards - cards only where elevation communicates real
   hierarchy". A page number is not hierarchy. The replacement is the idiom the
   site already owns, shared with #abs-brands-link and the nine "View all
   projects" links: Archivo tracked caps over a 1px rule that fills on hover.

   ⚠️⚠️ THE CURRENT PAGE IS GRAPHITE AND THE CLICKABLE ONES ARE OXBLOOD. That is
   the INVERSE of WooCommerce's default and it is deliberate: Oxblood means
   action, and the current page is a <span>, not a link. The 1px rule beneath it
   is what carries "you are here". ⛔ Do not "fix" this by filling the current
   cell - that reintroduces Oxblood-as-decoration.

   Renders on exactly two URLs today (18 per page): /shop/loudspeakers/ at 38
   products and /shop-by-brand/klipsch/ at 37. Everything else is 13 or fewer
   and fits one page. Both are this template, so this is the single fix point,
   and it covers any future archive that grows past 18. */

.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination{ margin-top:64px !important; }

.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul,
.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul li{
  border:0 !important; margin:0 !important; padding:0 !important;
  overflow:visible !important;          /* Woo clips li; the bottom rule needs room */
  list-style:none !important;
}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul{
  display:flex !important; flex-wrap:wrap;
  justify-content:center; align-items:center; gap:10px;
}

.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul li .page-numbers{
  font-family:"Archivo",sans-serif !important;
  font-size:12px !important; font-weight:500 !important;
  letter-spacing:.16em !important;
  /* letter-spacing adds a space after the LAST character too, so centred tracked
     text lands ~1px left of true centre. Same compensation as the primary
     buttons. ⛔ These are NOT in snippet 27636's id list and must not be added
     to it - that snippet is an explicit list on purpose. */
  text-indent:.16em;
  min-width:44px !important; height:44px !important; line-height:44px !important;
  display:inline-block !important; text-align:center;
  padding:0 6px !important;
  background:transparent !important;
  color:var(--e-global-color-oxblood) !important;
  border:0 !important;
  border-bottom:1px solid transparent !important;
  border-radius:0 !important;
  text-decoration:none !important;
  font-variant-numeric:tabular-nums;
}

.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul li span.page-numbers.current{
  color:var(--e-global-color-text) !important;
  border-bottom-color:var(--e-global-color-oxblood) !important;
}

/* Woo emits an ellipsis span once a category passes ~5 pages (90+ products, so
   nothing reaches it today). Graphite, never Stone - Stone on Gallery White is
   3.39:1 and fails AA. Quietness comes from size and tracking, per the Stone rule. */
.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul li .page-numbers.dots{
  color:var(--e-global-color-text) !important;
  min-width:0 !important; padding:0 4px !important;
}

@media (hover:hover) and (pointer:fine){
  .elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul li a.page-numbers:hover{
    border-bottom-color:var(--e-global-color-oxblood) !important;
  }
}
.elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination ul li a.page-numbers:focus-visible{
  outline:2px solid var(--e-global-color-oxblood); outline-offset:2px;
}

@media (max-width:767px){
  .elementor-26225 .elementor-element.elementor-element-f5e0b2f nav.woocommerce-pagination{ margin-top:48px !important; }
}/* End custom CSS */