/* =====================================================================
   ASM SPORTS TECH — GLOBAL CSS  ·  "BLUEPRINT" REDESIGN
   ---------------------------------------------------------------------
   Direction: an engineered performance platform, not a shop.
   Signature: technical hairline framing + corner ticks + mono data
   labels + a single disciplined ignition-red accent. Sharp, cinematic,
   OEM+/Brabus register. Zero radius. Atmosphere comes from linework,
   not blur.
   ---------------------------------------------------------------------
   0 tokens · 1 base/type · 2 ui fixes · 3 buttons · 4 shop/archive
   5 single product · 6 blog · 7 forms · 8 mobile menu · 9 motion
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Expanded:wght@600;700;800&family=Space+Mono:wght@400;700&display=swap');

/* ============================== 0 · TOKENS ============================== */
:root{
  --f-display:"Archivo Expanded","Archivo","Plus Jakarta Sans",sans-serif;
  --f-body:"Plus Jakarta Sans",sans-serif;
  --f-mono:"Space Mono","JetBrains Mono",ui-monospace,monospace;

  /* surfaces — near-black, cool graphite */
  --c-void:#040506;
  --c-base:#070809;
  --c-panel:#0b0d0f;
  --c-panel-2:#101316;
  --c-raise:#15191d;

  /* hairlines */
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --line-bright:rgba(255,255,255,.24);

  /* ink */
  --ink:#f4f6f7;
  --ink-2:rgba(244,246,247,.66);
  --ink-3:rgba(244,246,247,.42);

  /* ignition red — deep, not candy */
  --red:#c1121f;
  --red-hi:#e11d2a;
  --red-deep:#7a0c14;
  --red-glow:rgba(193,18,31,.16);

  --tick:14px;          /* corner tick length */
  --pad:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ============================== 1 · BASE / TYPE ============================== */
html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
html,body{
  background:var(--c-void) !important;
  overflow-x:hidden !important;
}
body{
  font-family:var(--f-body) !important;
  font-size:16px; line-height:1.65;
  letter-spacing:.01em; color:var(--ink);
}
.website-wrapper,.main-page-wrapper,.page-wrapper,.site-content,
.content-area,.wd-content-layout,.wd-page-content,.wpb_wrapper{
  background:var(--c-void) !important;
}
.container,.container-fluid{ background:transparent !important; }

body,p,li,input,textarea,select,button,label,small,span{
  font-family:var(--f-body) !important;
}
p{ margin:0 0 14px; font-size:clamp(15px,1.1vw,17px); line-height:1.72; color:var(--ink-2); }
li{ line-height:1.7; }

/* display heads — Archivo Expanded, tight, engineered */
h1,h2,h3,h4,h5,h6{
  margin-top:0; color:var(--ink);
  font-family:var(--f-display) !important;
  font-weight:700; letter-spacing:-.01em;
}
h1{ font-size:clamp(34px,6.2vw,84px); line-height:.96; letter-spacing:-.025em; text-transform:uppercase; }
h2{ font-size:clamp(26px,4.4vw,52px); line-height:1.0;  letter-spacing:-.02em;  text-transform:uppercase; }
h3{ font-size:clamp(20px,2.6vw,30px); line-height:1.12; letter-spacing:-.01em; }
h4{ font-size:clamp(17px,1.8vw,22px); line-height:1.2; text-transform:uppercase; letter-spacing:.02em; }
h5,h6{ font-family:var(--f-mono) !important; font-weight:400; font-size:12px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ink-3); }

.elementor-widget-heading h1,.elementor-widget-heading h2{ text-transform:uppercase !important; }
.elementor-heading-title{ font-family:var(--f-display) !important; }

/* mono utility label — the "telemetry" voice */
small,.asm-label{
  font-family:var(--f-mono) !important; font-size:11px;
  letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3);
}

@media (max-width:767px){
  h1{ font-size:34px !important; line-height:1.0 !important; }
  h2{ font-size:27px !important; }
  h3{ font-size:20px !important; }
  p,li{ line-height:1.6; }
}

/* ============================== 2 · UI / THEME FIXES ============================== */
.wd-dropdown{ background-color:rgba(4,5,6,.92) !important; border:1px solid var(--line) !important; }
.elementor-widget-text-editor{ display:block !important; }
.runtext-container{ border-bottom:1px solid var(--line-2); }
.wc-block-components-notice-banner.is-info{ display:none !important; }
li.menu-item.fkcart-custom-menu-link{ display:none !important; }

/* font import — display + mono families this theme won't ship by default */

/* hide wishlist icon globally */
.wd-wishlist-btn,.wd-add-btn.wd-wishlist-btn,.product-actions .wd-wishlist-btn,
.wd-product .wd-wishlist-btn,.wd-hover-base .wd-wishlist-btn,
.wd-hover-standard .wd-wishlist-btn,.wd-products .wd-wishlist-btn,
.wd-product-grid .wd-wishlist-btn{
  display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important;
}

/* ============================== 3 · BUTTONS ==============================
   ONE engineered CTA: charcoal slab, hairline frame, red ignition edge
   on hover, mono-spaced caps. Sweep is a single red wipe, not white shine.
   Full-width only inside cards/forms (handled in those sections).
   ========================================================================= */
.elementor-button,button,.button,.single_add_to_cart_button,.add_to_cart_button,
.woocommerce button,.woocommerce a.button,.woocommerce input.button{
  position:relative; overflow:hidden;
  font-family:var(--f-mono) !important; font-size:11px; font-weight:700 !important;
  letter-spacing:.2em !important; text-transform:uppercase;
  border-radius:0 !important;
  transition:color .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);
}

/* primary commerce CTA */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce .button,.woocommerce .add_to_cart_button,.woocommerce .product_type_simple,
.woocommerce .product_type_variable,.woocommerce .product_type_external,
.single_add_to_cart_button,.wd-products .asm-view-product-btn,.products .asm-view-product-btn{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:56px !important; padding:0 26px !important;
  background:linear-gradient(180deg,var(--c-raise),var(--c-panel)) !important;
  border:1px solid var(--line-2) !important;
  color:var(--ink) !important; text-decoration:none !important;
  font-size:12px !important; letter-spacing:.2em !important; line-height:1 !important;
}
/* the red ignition wipe */
.woocommerce a.button::after,.woocommerce button.button::after,.woocommerce input.button::after,
.woocommerce .add_to_cart_button::after,.single_add_to_cart_button::after,
.wd-products .asm-view-product-btn::after,.products .asm-view-product-btn::after{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(180deg,var(--red-hi),var(--red-deep));
  transform:scaleY(0); transform-origin:bottom;
  transition:transform .34s var(--ease);
}
.woocommerce a.button span,.woocommerce button.button span,.single_add_to_cart_button span{ position:relative; z-index:1; }
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce .button:hover,.woocommerce .add_to_cart_button:hover,
.woocommerce .product_type_simple:hover,.woocommerce .product_type_variable:hover,
.single_add_to_cart_button:hover,.wd-products .asm-view-product-btn:hover,.products .asm-view-product-btn:hover{
  border-color:var(--red) !important; color:#fff !important;
}
.woocommerce a.button:hover::after,.woocommerce button.button:hover::after,
.woocommerce input.button:hover::after,.woocommerce .add_to_cart_button:hover::after,
.single_add_to_cart_button:hover::after,.wd-products .asm-view-product-btn:hover::after,
.products .asm-view-product-btn:hover::after{ transform:scaleY(1); }

.woocommerce a.button:active,.woocommerce button.button:active,.woocommerce .button:active{ transform:translateY(1px); }
.woocommerce .button.disabled,.woocommerce button.button.disabled,.woocommerce .add_to_cart_button.disabled{
  opacity:.45 !important; color:var(--ink-3) !important; border-color:var(--line) !important;
}
.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible,.button:focus-visible{
  outline:2px solid var(--red-hi) !important; outline-offset:2px !important;
}

/* zero radius everywhere */
button,a.button,input[type="button"],input[type="submit"],input[type="reset"],
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.wd-button,.btn,.elementor-button,.elementor a.elementor-button,
.wd-btn,.wd-shop-btn,.wd-tools-element a,.wd-add-btn,.add_to_cart_button{ border-radius:0 !important; }
button *,a.button *,.elementor-button *,.wd-button *{ border-radius:0 !important; }

@media (max-width:767px){
  .woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
  .woocommerce .button,.woocommerce .add_to_cart_button,.single_add_to_cart_button{
    min-height:52px !important; font-size:11px !important; padding:0 18px !important;
  }
}

/* ============================== 4 · SHOP / ARCHIVE — FIXED SAFE VERSION ==============================
   ASM Sports Tech — Woodmart/WooCommerce archive styling.
   Fixes product images by not hiding Woodmart image/action wrappers.
   ================================================================================ */

/* full archive surface */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.tax-product_brand,
body.woocommerce-shop {
    background:
        radial-gradient(circle at 76% 18%, rgba(120,0,0,.12) 0%, rgba(120,0,0,0) 32%),
        linear-gradient(180deg, var(--c-void, #040506) 0%, var(--c-base, #070809) 42%, var(--c-void, #040506) 100%) !important;
}

/* subtle technical grid */
body.post-type-archive-product::before,
body.tax-product_cat::before,
body.tax-product_tag::before,
body.tax-product_brand::before,
body.woocommerce-shop::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: .28;
    background-image:
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
    background-size: 64px 64px;
    -webkit-mask-image: radial-gradient(circle at 50% 18%, #000 0%, transparent 72%);
    mask-image: radial-gradient(circle at 50% 18%, #000 0%, transparent 72%);
}

/* archive full-width layout only */
body.post-type-archive-product .main-page-wrapper,
body.post-type-archive-product .site-content,
body.post-type-archive-product .content-layout-wrapper,
body.post-type-archive-product .container,
body.post-type-archive-product .row,
body.post-type-archive-product .wd-content-layout,
body.post-type-archive-product .wd-content-area,
body.tax-product_cat .main-page-wrapper,
body.tax-product_cat .site-content,
body.tax-product_cat .content-layout-wrapper,
body.tax-product_cat .container,
body.tax-product_cat .row,
body.tax-product_cat .wd-content-layout,
body.tax-product_cat .wd-content-area,
body.tax-product_tag .main-page-wrapper,
body.tax-product_tag .site-content,
body.tax-product_tag .content-layout-wrapper,
body.tax-product_tag .container,
body.tax-product_tag .row,
body.tax-product_tag .wd-content-layout,
body.tax-product_tag .wd-content-area,
body.tax-product_brand .main-page-wrapper,
body.tax-product_brand .site-content,
body.tax-product_brand .content-layout-wrapper,
body.tax-product_brand .container,
body.tax-product_brand .row,
body.tax-product_brand .wd-content-layout,
body.tax-product_brand .wd-content-area,
body.woocommerce-shop .main-page-wrapper,
body.woocommerce-shop .site-content,
body.woocommerce-shop .content-layout-wrapper,
body.woocommerce-shop .container,
body.woocommerce-shop .row,
body.woocommerce-shop .wd-content-layout,
body.woocommerce-shop .wd-content-area {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    position: relative !important;
    z-index: 1 !important;
}

body.post-type-archive-product .wd-content-layout,
body.post-type-archive-product .row,
body.tax-product_cat .wd-content-layout,
body.tax-product_cat .row,
body.tax-product_tag .wd-content-layout,
body.tax-product_tag .row,
body.tax-product_brand .wd-content-layout,
body.tax-product_brand .row,
body.woocommerce-shop .wd-content-layout,
body.woocommerce-shop .row {
    display: block !important;
}

/* archive title area */
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header,
body.tax-product_brand .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header {
    position: relative !important;
    z-index: 2 !important;
    padding: var(--pad, clamp(20px,4vw,56px)) var(--pad, clamp(20px,4vw,56px)) 0 !important;
    background: transparent !important;
    border: none !important;
}

body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title,
body.tax-product_brand .woocommerce-products-header__title,
body.woocommerce-shop .woocommerce-products-header__title {
    color: var(--ink, #f4f6f7) !important;
    font-family: var(--f-display, "Plus Jakarta Sans", sans-serif) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: -.02em !important;
    margin: 0 !important;
}

/* shop top bar */
body.post-type-archive-product .shop-loop-head,
body.tax-product_cat .shop-loop-head,
body.tax-product_tag .shop-loop-head,
body.tax-product_brand .shop-loop-head,
body.woocommerce-shop .shop-loop-head,
body.post-type-archive-product .wd-shop-tools,
body.tax-product_cat .wd-shop-tools,
body.tax-product_tag .wd-shop-tools,
body.tax-product_brand .wd-shop-tools,
body.woocommerce-shop .wd-shop-tools {
    position: relative !important;
    z-index: 2 !important;
    margin: 18px var(--pad, clamp(20px,4vw,56px)) 0 !important;
    padding: 14px 0 !important;
    border-top: 1px solid var(--line, rgba(255,255,255,.08)) !important;
    border-bottom: 1px solid var(--line, rgba(255,255,255,.08)) !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count,
body.tax-product_brand .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    color: var(--ink-3, rgba(244,246,247,.42)) !important;
    font-family: var(--f-mono, monospace) !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

body.post-type-archive-product .woocommerce-ordering select,
body.tax-product_cat .woocommerce-ordering select,
body.tax-product_tag .woocommerce-ordering select,
body.tax-product_brand .woocommerce-ordering select,
body.woocommerce-shop .woocommerce-ordering select,
body.post-type-archive-product .orderby,
body.tax-product_cat .orderby,
body.tax-product_tag .orderby,
body.tax-product_brand .orderby,
body.woocommerce-shop .orderby {
    background: var(--c-panel, #0b0d0f) !important;
    color: var(--ink, #f4f6f7) !important;
    border: 1px solid var(--line-2, rgba(255,255,255,.14)) !important;
    border-radius: 0 !important;
    font-family: var(--f-mono, monospace) !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    padding: 10px 14px !important;
}

/* breadcrumbs kept visible but quiet */
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb,
body.tax-product_brand .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    margin: 0 var(--pad, clamp(20px,4vw,56px)) !important;
    padding: 18px 0 0 !important;
    font-family: var(--f-mono, monospace) !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
    color: var(--ink-3, rgba(244,246,247,.42)) !important;
}

body.post-type-archive-product .woocommerce-breadcrumb a,
body.tax-product_cat .woocommerce-breadcrumb a,
body.tax-product_tag .woocommerce-breadcrumb a,
body.tax-product_brand .woocommerce-breadcrumb a,
body.woocommerce-shop .woocommerce-breadcrumb a {
    color: var(--ink-2, rgba(244,246,247,.66)) !important;
}

/* product grid */
body.post-type-archive-product .products.wd-products,
body.tax-product_cat .products.wd-products,
body.tax-product_tag .products.wd-products,
body.tax-product_brand .products.wd-products,
body.woocommerce-shop .products.wd-products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products,
body.tax-product_tag ul.products,
body.tax-product_brand ul.products,
body.woocommerce-shop ul.products {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: clamp(28px,4vw,56px) var(--pad, clamp(20px,4vw,56px)) clamp(60px,8vw,110px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1px !important;
    background: var(--line, rgba(255,255,255,.08)) !important;
    border: 1px solid var(--line, rgba(255,255,255,.08)) !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
}

/* product card */
body.post-type-archive-product .wd-products .wd-product,
body.tax-product_cat .wd-products .wd-product,
body.tax-product_tag .wd-products .wd-product,
body.tax-product_brand .wd-products .wd-product,
body.woocommerce-shop .wd-products .wd-product,
body.post-type-archive-product .products .product,
body.tax-product_cat .products .product,
body.tax-product_tag .products .product,
body.tax-product_brand .products .product,
body.woocommerce-shop .products .product {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 0 22px !important;
    background: var(--c-base, #070809) !important;
    border-radius: 0 !important;
    transition: background .34s var(--ease, ease), transform .34s var(--ease, ease) !important;
}

/* keep product wrapper visible */
body.post-type-archive-product .product-wrapper,
body.tax-product_cat .product-wrapper,
body.tax-product_tag .product-wrapper,
body.tax-product_brand .product-wrapper,
body.woocommerce-shop .product-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    overflow: hidden !important;
    background: transparent !important;
}

/* card corner tick */
body.post-type-archive-product .wd-products .wd-product::before,
body.tax-product_cat .wd-products .wd-product::before,
body.tax-product_tag .wd-products .wd-product::before,
body.tax-product_brand .wd-products .wd-product::before,
body.woocommerce-shop .wd-products .wd-product::before,
body.post-type-archive-product .products .product::before,
body.tax-product_cat .products .product::before,
body.tax-product_tag .products .product::before,
body.tax-product_brand .products .product::before,
body.woocommerce-shop .products .product::before {
    content: "" !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    width: var(--tick, 14px) !important;
    height: var(--tick, 14px) !important;
    border-top: 1px solid var(--line-bright, rgba(255,255,255,.24)) !important;
    border-left: 1px solid var(--line-bright, rgba(255,255,255,.24)) !important;
    z-index: 8 !important;
    pointer-events: none !important;
}

/* card red baseline */
body.post-type-archive-product .wd-products .wd-product::after,
body.tax-product_cat .wd-products .wd-product::after,
body.tax-product_tag .wd-products .wd-product::after,
body.tax-product_brand .wd-products .wd-product::after,
body.woocommerce-shop .wd-products .wd-product::after,
body.post-type-archive-product .products .product::after,
body.tax-product_cat .products .product::after,
body.tax-product_tag .products .product::after,
body.tax-product_brand .products .product::after,
body.woocommerce-shop .products .product::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    z-index: 8 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, transparent, var(--red, #c1121f), transparent) !important;
    transform: scaleX(.58) !important;
    transform-origin: center !important;
    opacity: .7 !important;
    transition: transform .34s var(--ease, ease), opacity .34s var(--ease, ease) !important;
}

body.post-type-archive-product .wd-products .wd-product:hover,
body.tax-product_cat .wd-products .wd-product:hover,
body.tax-product_tag .wd-products .wd-product:hover,
body.tax-product_brand .wd-products .wd-product:hover,
body.woocommerce-shop .wd-products .wd-product:hover,
body.post-type-archive-product .products .product:hover,
body.tax-product_cat .products .product:hover,
body.tax-product_tag .products .product:hover,
body.tax-product_brand .products .product:hover,
body.woocommerce-shop .products .product:hover {
    background: var(--c-panel, #0b0d0f) !important;
}

body.post-type-archive-product .wd-products .wd-product:hover::after,
body.tax-product_cat .wd-products .wd-product:hover::after,
body.tax-product_tag .wd-products .wd-product:hover::after,
body.tax-product_brand .wd-products .wd-product:hover::after,
body.woocommerce-shop .wd-products .wd-product:hover::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
}

/* image area */
body.post-type-archive-product .product-element-top,
body.tax-product_cat .product-element-top,
body.tax-product_tag .product-element-top,
body.tax-product_brand .product-element-top,
body.woocommerce-shop .product-element-top,
body.post-type-archive-product .product-image-wrap,
body.tax-product_cat .product-image-wrap,
body.tax-product_tag .product-image-wrap,
body.tax-product_brand .product-image-wrap,
body.woocommerce-shop .product-image-wrap,
body.post-type-archive-product .wrap-product-img,
body.tax-product_cat .wrap-product-img,
body.tax-product_tag .wrap-product-img,
body.tax-product_brand .wrap-product-img,
body.woocommerce-shop .wrap-product-img,
body.post-type-archive-product .product-image-link,
body.tax-product_cat .product-image-link,
body.tax-product_tag .product-image-link,
body.tax-product_brand .product-image-link,
body.woocommerce-shop .product-image-link,
body.post-type-archive-product .woocommerce-LoopProduct-link,
body.tax-product_cat .woocommerce-LoopProduct-link,
body.tax-product_tag .woocommerce-LoopProduct-link,
body.tax-product_brand .woocommerce-LoopProduct-link,
body.woocommerce-shop .woocommerce-LoopProduct-link {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 250px !important;
    height: auto !important;
    overflow: hidden !important;
    background: #050505 !important;
    pointer-events: auto !important;
    border-bottom: 1px solid var(--line, rgba(255,255,255,.08)) !important;
}

/* product image itself */
body.post-type-archive-product .products img,
body.tax-product_cat .products img,
body.tax-product_tag .products img,
body.tax-product_brand .products img,
body.woocommerce-shop .products img,
body.post-type-archive-product .wd-products img,
body.tax-product_cat .wd-products img,
body.tax-product_tag .wd-products img,
body.tax-product_brand .wd-products img,
body.woocommerce-shop .wd-products img,
body.post-type-archive-product img.attachment-woocommerce_thumbnail,
body.tax-product_cat img.attachment-woocommerce_thumbnail,
body.tax-product_tag img.attachment-woocommerce_thumbnail,
body.tax-product_brand img.attachment-woocommerce_thumbnail,
body.woocommerce-shop img.attachment-woocommerce_thumbnail,
body.post-type-archive-product img.wp-post-image,
body.tax-product_cat img.wp-post-image,
body.tax-product_tag img.wp-post-image,
body.tax-product_brand img.wp-post-image,
body.woocommerce-shop img.wp-post-image {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 250px !important;
    min-height: 250px !important;
    object-fit: cover !important;
    position: relative !important;
    z-index: 4 !important;
    transform: none !important;
    filter: brightness(.86) contrast(1.05) saturate(.96) !important;
    transition: transform .55s var(--ease, ease), filter .34s var(--ease, ease) !important;
}

body.post-type-archive-product .wd-product:hover img,
body.tax-product_cat .wd-product:hover img,
body.tax-product_tag .wd-product:hover img,
body.tax-product_brand .wd-product:hover img,
body.woocommerce-shop .wd-product:hover img {
    transform: scale(1.045) !important;
    filter: brightness(.95) contrast(1.07) saturate(.98) !important;
}

/* lazy image recovery */
body.post-type-archive-product img.lazy,
body.post-type-archive-product img.lazyload,
body.post-type-archive-product img.lazyloaded,
body.post-type-archive-product img.woodmart-lazy-load,
body.tax-product_cat img.lazy,
body.tax-product_cat img.lazyload,
body.tax-product_cat img.lazyloaded,
body.tax-product_cat img.woodmart-lazy-load,
body.tax-product_tag img.lazy,
body.tax-product_tag img.lazyload,
body.tax-product_tag img.lazyloaded,
body.tax-product_tag img.woodmart-lazy-load,
body.tax-product_brand img.lazy,
body.tax-product_brand img.lazyload,
body.tax-product_brand img.lazyloaded,
body.tax-product_brand img.woodmart-lazy-load,
body.woocommerce-shop img.lazy,
body.woocommerce-shop img.lazyload,
body.woocommerce-shop img.lazyloaded,
body.woocommerce-shop img.woodmart-lazy-load {
    opacity: 1 !important;
    visibility: visible !important;
}

/* overlay layers must not block images */
body.post-type-archive-product .product-element-top::before,
body.post-type-archive-product .product-element-top::after,
body.tax-product_cat .product-element-top::before,
body.tax-product_cat .product-element-top::after,
body.tax-product_tag .product-element-top::before,
body.tax-product_tag .product-element-top::after,
body.tax-product_brand .product-element-top::before,
body.tax-product_brand .product-element-top::after,
body.woocommerce-shop .product-element-top::before,
body.woocommerce-shop .product-element-top::after,
body.post-type-archive-product .product-image-wrap::before,
body.post-type-archive-product .product-image-wrap::after,
body.tax-product_cat .product-image-wrap::before,
body.tax-product_cat .product-image-wrap::after,
body.tax-product_tag .product-image-wrap::before,
body.tax-product_tag .product-image-wrap::after,
body.tax-product_brand .product-image-wrap::before,
body.tax-product_brand .product-image-wrap::after,
body.woocommerce-shop .product-image-wrap::before,
body.woocommerce-shop .product-image-wrap::after {
    pointer-events: none !important;
    z-index: 2 !important;
}

/* hide only floating icon layer, not Woodmart image/action structures */
body.post-type-archive-product .product-element-top .wd-buttons,
body.tax-product_cat .product-element-top .wd-buttons,
body.tax-product_tag .product-element-top .wd-buttons,
body.tax-product_brand .product-element-top .wd-buttons,
body.woocommerce-shop .product-element-top .wd-buttons,
body.post-type-archive-product .product-element-top .wd-quick-view-btn,
body.tax-product_cat .product-element-top .wd-quick-view-btn,
body.tax-product_tag .product-element-top .wd-quick-view-btn,
body.tax-product_brand .product-element-top .wd-quick-view-btn,
body.woocommerce-shop .product-element-top .wd-quick-view-btn,
body.post-type-archive-product .product-element-top .quick-view,
body.tax-product_cat .product-element-top .quick-view,
body.tax-product_tag .product-element-top .quick-view,
body.tax-product_brand .product-element-top .quick-view,
body.woocommerce-shop .product-element-top .quick-view,
body.post-type-archive-product .product-element-top .wd-compare-btn,
body.tax-product_cat .product-element-top .wd-compare-btn,
body.tax-product_tag .product-element-top .wd-compare-btn,
body.tax-product_brand .product-element-top .wd-compare-btn,
body.woocommerce-shop .product-element-top .wd-compare-btn,
body.post-type-archive-product .product-element-top .wd-wishlist-btn,
body.tax-product_cat .product-element-top .wd-wishlist-btn,
body.tax-product_tag .product-element-top .wd-wishlist-btn,
body.tax-product_brand .product-element-top .wd-wishlist-btn,
body.woocommerce-shop .product-element-top .wd-wishlist-btn {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* explicitly stop collapsed action wrappers from killing product images */
body.post-type-archive-product .wd-action-btn,
body.tax-product_cat .wd-action-btn,
body.tax-product_tag .wd-action-btn,
body.tax-product_brand .wd-action-btn,
body.woocommerce-shop .wd-action-btn,
body.post-type-archive-product .wd-tools-element,
body.tax-product_cat .wd-tools-element,
body.tax-product_tag .wd-tools-element,
body.tax-product_brand .wd-tools-element,
body.woocommerce-shop .wd-tools-element {
    display: initial !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* content area */
body.post-type-archive-product .product-element-bottom,
body.tax-product_cat .product-element-bottom,
body.tax-product_tag .product-element-bottom,
body.tax-product_brand .product-element-bottom,
body.woocommerce-shop .product-element-bottom,
body.post-type-archive-product .wrap-product-loop,
body.tax-product_cat .wrap-product-loop,
body.tax-product_tag .wrap-product-loop,
body.tax-product_brand .wrap-product-loop,
body.woocommerce-shop .wrap-product-loop,
body.post-type-archive-product .product-information,
body.tax-product_cat .product-information,
body.tax-product_tag .product-information,
body.tax-product_brand .product-information,
body.woocommerce-shop .product-information,
body.post-type-archive-product .wd-product-content,
body.tax-product_cat .wd-product-content,
body.tax-product_tag .wd-product-content,
body.tax-product_brand .wd-product-content,
body.woocommerce-shop .wd-product-content {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 20px 20px 0 !important;
    text-align: left !important;
    background: transparent !important;
}

/* title */
body.post-type-archive-product .wd-entities-title,
body.tax-product_cat .wd-entities-title,
body.tax-product_tag .wd-entities-title,
body.tax-product_brand .wd-entities-title,
body.woocommerce-shop .wd-entities-title,
body.post-type-archive-product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce-loop-product__title,
body.tax-product_tag .woocommerce-loop-product__title,
body.tax-product_brand .woocommerce-loop-product__title,
body.woocommerce-shop .woocommerce-loop-product__title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 10px !important;
    color: var(--ink, #f4f6f7) !important;
    font-family: var(--f-display, "Plus Jakarta Sans", sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(15px,1.3vw,18px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.01em !important;
    text-transform: uppercase !important;
}

body.post-type-archive-product .wd-entities-title a,
body.tax-product_cat .wd-entities-title a,
body.tax-product_tag .wd-entities-title a,
body.tax-product_brand .wd-entities-title a,
body.woocommerce-shop .wd-entities-title a {
    color: var(--ink, #f4f6f7) !important;
}

/* price */
body.post-type-archive-product .price,
body.tax-product_cat .price,
body.tax-product_tag .price,
body.tax-product_brand .price,
body.woocommerce-shop .price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 0 18px !important;
    color: var(--ink, #f4f6f7) !important;
    font-family: var(--f-mono, monospace) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-align: left !important;
}

/* hide only rating/sku */
body.post-type-archive-product .star-rating,
body.tax-product_cat .star-rating,
body.tax-product_tag .star-rating,
body.tax-product_brand .star-rating,
body.woocommerce-shop .star-rating,
body.post-type-archive-product .wd-product-sku,
body.tax-product_cat .wd-product-sku,
body.tax-product_tag .wd-product-sku,
body.tax-product_brand .wd-product-sku,
body.woocommerce-shop .wd-product-sku,
body.post-type-archive-product .posted_in,
body.tax-product_cat .posted_in,
body.tax-product_tag .posted_in,
body.tax-product_brand .posted_in,
body.woocommerce-shop .posted_in {
    display: none !important;
}

/* CTA */
body.post-type-archive-product .products .button,
body.tax-product_cat .products .button,
body.tax-product_tag .products .button,
body.tax-product_brand .products .button,
body.woocommerce-shop .products .button,
body.post-type-archive-product .asm-view-product-btn,
body.tax-product_cat .asm-view-product-btn,
body.tax-product_tag .asm-view-product-btn,
body.tax-product_brand .asm-view-product-btn,
body.woocommerce-shop .asm-view-product-btn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 40px) !important;
    min-height: 56px !important;
    margin: 0 20px !important;
    padding: 0 20px !important;
    border-radius: 0 !important;
}

/* pagination */
body.post-type-archive-product nav.woocommerce-pagination,
body.tax-product_cat nav.woocommerce-pagination,
body.tax-product_tag nav.woocommerce-pagination,
body.tax-product_brand nav.woocommerce-pagination,
body.woocommerce-shop nav.woocommerce-pagination {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 2 !important;
    margin: 0 var(--pad, clamp(20px,4vw,56px)) clamp(50px,7vw,90px) !important;
    text-align: center !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul,
body.tax-product_cat nav.woocommerce-pagination ul,
body.tax-product_tag nav.woocommerce-pagination ul,
body.tax-product_brand nav.woocommerce-pagination ul,
body.woocommerce-shop nav.woocommerce-pagination ul {
    border: none !important;
    display: inline-flex !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.post-type-archive-product nav.woocommerce-pagination ul li,
body.tax-product_cat nav.woocommerce-pagination ul li,
body.tax-product_tag nav.woocommerce-pagination ul li,
body.tax-product_brand nav.woocommerce-pagination ul li,
body.woocommerce-shop nav.woocommerce-pagination ul li {
    border: none !important;
}

body.post-type-archive-product nav.woocommerce-pagination a,
body.post-type-archive-product nav.woocommerce-pagination span,
body.tax-product_cat nav.woocommerce-pagination a,
body.tax-product_cat nav.woocommerce-pagination span,
body.tax-product_tag nav.woocommerce-pagination a,
body.tax-product_tag nav.woocommerce-pagination span,
body.tax-product_brand nav.woocommerce-pagination a,
body.tax-product_brand nav.woocommerce-pagination span,
body.woocommerce-shop nav.woocommerce-pagination a,
body.woocommerce-shop nav.woocommerce-pagination span {
    min-width: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--c-panel, #0b0d0f) !important;
    border: 1px solid var(--line-2, rgba(255,255,255,.14)) !important;
    color: var(--ink, #f4f6f7) !important;
    font-family: var(--f-mono, monospace) !important;
    font-size: 13px !important;
}

body.post-type-archive-product nav.woocommerce-pagination .current,
body.tax-product_cat nav.woocommerce-pagination .current,
body.tax-product_tag nav.woocommerce-pagination .current,
body.tax-product_brand nav.woocommerce-pagination .current,
body.woocommerce-shop nav.woocommerce-pagination .current {
    background: var(--red-deep, #7a0c14) !important;
    border-color: var(--red, #c1121f) !important;
    color: #fff !important;
}

/* sidebar/filter widgets */
body.post-type-archive-product .wd-sidebar .widget,
body.tax-product_cat .wd-sidebar .widget,
body.tax-product_tag .wd-sidebar .widget,
body.tax-product_brand .wd-sidebar .widget,
body.woocommerce-shop .wd-sidebar .widget {
    background: var(--c-panel, #0b0d0f) !important;
    border: 1px solid var(--line, rgba(255,255,255,.08)) !important;
    padding: 20px !important;
    margin-bottom: 14px !important;
}

/* custom shop hero full bleed */
body.post-type-archive-product .asm-shop-hero {
    position: relative !important;
    left: 50% !important;
    margin-left: -50vw !important;
    width: 100vw !important;
    max-width: 100vw !important;
    z-index: 1 !important;
}

/* responsive grid */
@media (max-width: 1024px) {
    body.post-type-archive-product .products.wd-products,
    body.tax-product_cat .products.wd-products,
    body.tax-product_tag .products.wd-products,
    body.tax-product_brand .products.wd-products,
    body.woocommerce-shop .products.wd-products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.tax-product_brand ul.products,
    body.woocommerce-shop ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body.post-type-archive-product .products.wd-products,
    body.tax-product_cat .products.wd-products,
    body.tax-product_tag .products.wd-products,
    body.tax-product_brand .products.wd-products,
    body.woocommerce-shop .products.wd-products,
    body.post-type-archive-product ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products,
    body.tax-product_brand ul.products,
    body.woocommerce-shop ul.products {
        grid-template-columns: 1fr !important;
    }

    body.post-type-archive-product .product-element-top,
    body.tax-product_cat .product-element-top,
    body.tax-product_tag .product-element-top,
    body.tax-product_brand .product-element-top,
    body.woocommerce-shop .product-element-top,
    body.post-type-archive-product .product-image-wrap,
    body.tax-product_cat .product-image-wrap,
    body.tax-product_tag .product-image-wrap,
    body.tax-product_brand .product-image-wrap,
    body.woocommerce-shop .product-image-wrap,
    body.post-type-archive-product .product-image-link,
    body.tax-product_cat .product-image-link,
    body.tax-product_tag .product-image-link,
    body.tax-product_brand .product-image-link,
    body.woocommerce-shop .product-image-link {
        min-height: 200px !important;
    }

    body.post-type-archive-product .products img,
    body.tax-product_cat .products img,
    body.tax-product_tag .products img,
    body.tax-product_brand .products img,
    body.woocommerce-shop .products img {
        height: 200px !important;
        min-height: 200px !important;
    }
}


/* ============================== 5 · SINGLE PRODUCT ==============================
   Graphite stage, hairline-framed tabs as a spec dossier, mono attribute
   tables. Tab JS preserved (display guard intact). Gallery functional.
   ================================================================================ */
body.single-product{
  background:linear-gradient(180deg,var(--c-base) 0%,var(--c-void) 60%,var(--c-base) 100%) !important;
  color:var(--ink);
}
body.single-product .main-page-wrapper,body.single-product .site-content,
body.single-product .content-layout-wrapper,body.single-product .wd-content-layout,
body.single-product .container,body.single-product .container-fluid,
body.single-product .row.content-layout-wrapper,body.single-product .site-content.shop-content-area{
  background:transparent !important; width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important;
}
body.single-product .summary,body.single-product .images,
body.single-product .woocommerce-tabs,body.single-product .related{ position:relative; z-index:2; background:transparent !important; }
body.single-product section,body.single-product .elementor-section{ background:transparent !important; }
body.single-product .elementor-widget-wrap,body.single-product .elementor-column,
body.single-product .elementor-container{ border:none !important; }

/* product title / price in summary */
body.single-product .product_title{
  font-family:var(--f-display) !important; font-weight:800 !important;
  text-transform:uppercase !important; letter-spacing:-.02em !important; color:var(--ink) !important;
}
body.single-product .summary .price{
  font-family:var(--f-mono) !important; font-weight:700 !important; color:var(--ink) !important; letter-spacing:.03em !important;
}
body.single-product .summary .price ins{ color:var(--red-hi) !important; text-decoration:none !important; }

/* readable native content */
body.single-product .entry-content,body.single-product .entry-content *,
body.single-product .summary,body.single-product .summary *,
body.single-product .woocommerce-tabs,body.single-product .woocommerce-tabs *,
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description *{
  font-family:var(--f-body) !important; color:var(--ink);
}

/* variation + quantity controls */
.single-product table.variations,.single-product table.variations td.value{ width:100% !important; }
.single-product table.variations select{
  width:100% !important; max-width:100% !important; border-radius:0 !important;
  background:var(--c-panel) !important; color:var(--ink) !important; border:1px solid var(--line-2) !important;
  font-family:var(--f-mono) !important; letter-spacing:.06em !important; padding:12px 14px !important;
}
.single-product .quantity{ border-radius:0 !important; overflow:hidden !important; border:1px solid var(--line-2) !important; }
.single-product .quantity input[type="number"],.single-product .quantity input[type="button"]{
  background:var(--c-panel) !important; color:var(--ink) !important; border:none !important; font-family:var(--f-mono) !important;
}

/* GALLERY — functional, hide only zoom triggers */
body.single-product .wd-single-product-gallery,body.single-product .wd-product-gallery,
body.single-product .woocommerce-product-gallery,body.single-product .images,
body.single-product .product-images-inner,body.single-product .wd-carousel-inner{
  background:transparent !important; margin:0 !important; padding:0 !important; box-shadow:none !important; border:none !important;
}
/* hide only zoom UI, never the real gallery image link */
body.single-product .woocommerce-product-gallery__trigger,
body.single-product .wd-zoom-icon,
body.single-product .zoomImg{
  display:none !important; opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
}

body.single-product a.zoom,
body.single-product .woocommerce-product-gallery__image a,
body.single-product .wd-product-gallery a,
body.single-product .images a{
  display:block !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
}
body.single-product .woocommerce-product-gallery__image,body.single-product .wd-carousel .wd-slide{
  border:1px solid var(--line) !important;
}
body.single-product .wd-single-product-gallery .owl-nav>div,
body.single-product .woocommerce-product-gallery .flex-direction-nav a{
  background:var(--c-panel) !important; color:var(--ink) !important; border:1px solid var(--line-2) !important; border-radius:0 !important;
}
body.single-product .wd-thumbs img,body.single-product .flex-control-thumbs img{
  aspect-ratio:1/1 !important; object-fit:cover !important; border:1px solid var(--line) !important;
}

/* lightbox controls below custom header */
.pswp__top-bar,div.pswp__top-bar,body .pswp__top-bar{ top:28px !important; padding:0 18px !important; box-sizing:border-box !important; }
@media (max-width:767px){ .pswp__top-bar,div.pswp__top-bar,body .pswp__top-bar{ top:72px !important; padding:0 14px !important; } }

/* TABS — spec dossier (function-safe .wd-nav, display guard intact) */
.single-product .woocommerce-tabs{
  position:relative; padding:clamp(40px,6vw,68px) 0 clamp(28px,4vw,40px) !important;
  background:var(--c-base) !important;
  border-top:1px solid var(--line) !important; border-bottom:1px solid var(--line) !important;
}
.single-product .woocommerce-tabs .wd-nav,
.single-product .woocommerce-tabs ul.tabs,.single-product .woocommerce-tabs .wc-tabs{
  display:flex !important; justify-content:center !important; flex-wrap:wrap !important; gap:0 !important;
  margin:0 auto clamp(24px,3vw,34px) !important; padding:0 !important; list-style:none !important;
  border:1px solid var(--line-2) !important; width:max-content !important; max-width:calc(100% - 2*var(--pad)) !important;
}
.single-product .woocommerce-tabs .wd-nav>li,
.single-product .woocommerce-tabs ul.tabs li,.single-product .woocommerce-tabs .wc-tabs li{
  margin:0 !important; padding:0 !important; list-style:none !important; background:none !important; border:none !important;
}
.single-product .woocommerce-tabs .wd-nav>li::before,
.single-product .woocommerce-tabs .wd-nav>li::after,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; content:none !important; }
.single-product .woocommerce-tabs .wd-nav>li>a,
.single-product .woocommerce-tabs ul.tabs li a,.single-product .woocommerce-tabs .wc-tabs li a{
  display:inline-flex !important; align-items:center !important; min-height:46px !important; padding:0 22px !important;
  background:transparent !important; border:none !important; border-right:1px solid var(--line-2) !important;
  color:var(--ink-3) !important; text-decoration:none !important;
  font-family:var(--f-mono) !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important; transition:all .25s var(--ease) !important;
}
.single-product .woocommerce-tabs .wd-nav>li:last-child>a,
.single-product .woocommerce-tabs ul.tabs li:last-child a{ border-right:none !important; }
.single-product .woocommerce-tabs .wd-nav>li.active>a,
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs .wd-nav>li>a:hover{
  color:#fff !important; background:var(--red-deep) !important;
}
/* panels */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce-tabs .wc-tab,.single-product .woocommerce-tabs .panel{
  width:min(calc(100% - 2*var(--pad)),1100px) !important; max-width:1100px !important;
  margin:0 auto !important; padding:clamp(26px,3vw,40px) !important;
  background:var(--c-panel) !important; border:1px solid var(--line) !important; position:relative;
}
.single-product .woocommerce-tabs .woocommerce-Tabs-panel[style*="display: none"]{ display:none !important; }
.single-product .woocommerce-tabs .panel p,.single-product .woocommerce-tabs .woocommerce-Tabs-panel p{
  margin:0 0 16px !important; color:var(--ink-2) !important; font-size:15px !important; line-height:1.8 !important;
}
.single-product .woocommerce-tabs .panel h2,.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2{
  font-family:var(--f-display) !important; font-weight:700 !important; text-transform:uppercase !important;
  color:var(--ink) !important; margin:0 0 16px !important; font-size:clamp(20px,2vw,28px) !important;
}
/* attribute table — spec sheet */
.single-product .woocommerce-tabs table,.single-product .woocommerce-tabs .shop_attributes{
  width:100% !important; border-collapse:collapse !important; background:none !important;
}
.single-product .woocommerce-tabs table th,.single-product .woocommerce-tabs .shop_attributes th{
  color:var(--ink-3) !important; font-family:var(--f-mono) !important; font-weight:400 !important;
  font-size:11px !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  width:34% !important; padding:14px 16px !important; border-bottom:1px solid var(--line) !important;
  background:var(--c-base) !important; text-align:left !important;
}
.single-product .woocommerce-tabs table td,.single-product .woocommerce-tabs .shop_attributes td{
  color:var(--ink) !important; font-size:14px !important; padding:14px 16px !important;
  border-bottom:1px solid var(--line) !important;
}

/* RELATED / "complete your build" carousel — mini blueprint cards */
body.single-product .related .product,body.single-product .up-sells .product,
body.single-product .wd-products .product-wrapper{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; padding-bottom:16px !important;
}
body.single-product .related img,body.single-product .wd-products img{
  filter:grayscale(.3) brightness(.86) !important; transition:filter .4s var(--ease), transform .5s var(--ease) !important;
}
body.single-product .related .product:hover img,
body.single-product .wd-products .product-wrapper:hover img{ filter:grayscale(0) brightness(1) !important; transform:scale(1.04) !important; }

@media (max-width:767px){
  .single-product .woocommerce-tabs .wd-nav,
  .single-product .woocommerce-tabs ul.tabs{ width:100% !important; }
  .single-product .woocommerce-tabs .wd-nav>li>a,
  .single-product .woocommerce-tabs ul.tabs li a{ padding:0 14px !important; font-size:10px !important; }
  .single-product .woocommerce-tabs table th,.single-product .woocommerce-tabs .shop_attributes th{ width:42% !important; }
}

/* ============================== 6 · BLOG / ARCHIVE ==============================
   Editorial dossier grid. Hairline-framed cards, mono meta, display
   headlines. Article content preserved; only clutter (comments/social) hidden.
   ================================================================================ */
body.blog,body.archive.category,body.archive.tag,body.archive.author,
body.archive.date,body.search.search-results{
  background:linear-gradient(180deg,var(--c-base) 0%,var(--c-void) 50%,var(--c-base) 100%) !important;
  overflow-x:hidden !important;
}
body.blog .main-page-wrapper,body.blog .site-content,body.blog .content-layout-wrapper,
body.blog .container,body.blog .row,body.blog .wd-content-layout,body.blog .wd-content-area,
body.archive.category .main-page-wrapper,body.archive.category .site-content,
body.archive.category .content-layout-wrapper,body.archive.category .container,
body.archive.category .wd-content-layout,body.archive.tag .main-page-wrapper,
body.archive.tag .site-content,body.archive.tag .container,body.archive.tag .wd-content-layout{
  background:transparent !important; width:100% !important; max-width:100% !important;
  margin:0 !important; padding-left:0 !important; padding-right:0 !important;
}
body.blog .wd-content-layout,body.archive.category .wd-content-layout,body.archive.tag .wd-content-layout,
body.blog .row,body.archive.category .row,body.archive.tag .row{ display:block !important; }

/* loop wrapper as a framed dossier grid */
body.blog .wd-blog-holder,body.archive.category .wd-blog-holder,body.archive.tag .wd-blog-holder,
body.archive.author .wd-blog-holder,body.archive.date .wd-blog-holder,
body.search.search-results .wd-blog-holder{
  position:relative; height:auto !important;
  width:100% !important; max-width:100% !important; box-sizing:border-box !important;
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1px !important; background:var(--line) !important;
  margin:0 !important; padding:clamp(34px,5vw,64px) var(--pad) clamp(60px,8vw,100px) !important;
}
/* stop woodmart absolute placement */
body.blog .wd-blog-holder>article,body.archive.category .wd-blog-holder>article,
body.archive.tag .wd-blog-holder>article{
  position:relative !important; top:auto !important; left:auto !important; right:auto !important;
  bottom:auto !important; width:100% !important; max-width:100% !important; margin:0 !important;
}
/* card */
body.blog article.wd-post,body.archive.category article.wd-post,body.archive.tag article.wd-post,
body.archive.author article.wd-post,body.archive.date article.wd-post,
body.search.search-results article.wd-post{
  position:relative !important; overflow:hidden !important;
  display:flex !important; flex-direction:column !important; height:100% !important;
  background:var(--c-base) !important; border-radius:0 !important;
  transition:background .34s var(--ease) !important;
}
body.blog article.wd-post *,body.archive.category article.wd-post *,body.archive.tag article.wd-post *{ border-radius:0 !important; }
body.blog article.wd-post:hover,body.archive.category article.wd-post:hover{ background:var(--c-panel) !important; }
/* corner tick + red baseline */
body.blog article.wd-post::before,body.archive.category article.wd-post::before{
  content:""; position:absolute; top:10px; left:10px; width:var(--tick); height:var(--tick);
  border-top:1px solid var(--line-bright); border-left:1px solid var(--line-bright); z-index:4; transition:border-color .3s var(--ease);
}
body.blog article.wd-post::after,body.archive.category article.wd-post::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:4;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease);
}
body.blog article.wd-post:hover::before{ border-color:var(--red-hi); }
body.blog article.wd-post:hover::after{ transform:scaleX(1); }
/* image */
body.blog .post-img-wrapp,body.blog .post-image,body.archive.category .post-img-wrapp,
body.archive.category .post-image,body.archive.tag .post-img-wrapp,body.archive.tag .post-image{
  position:relative !important; overflow:hidden !important; background:var(--c-void) !important;
  margin:0 !important; flex:0 0 auto !important; border-bottom:1px solid var(--line) !important;
}
body.blog .wd-post img,body.archive.category .wd-post img,body.archive.tag .wd-post img{
  display:block !important; width:100% !important; height:auto !important;
  filter:grayscale(.3) brightness(.84) !important; transition:transform .55s var(--ease), filter .4s var(--ease) !important;
}
body.blog article.wd-post:hover img,body.archive.category article.wd-post:hover img{
  transform:scale(1.05) !important; filter:grayscale(0) brightness(1) !important;
}
/* content box */
body.blog .wd-blog-holder article.wd-post .post-description,
body.blog .wd-blog-holder article.wd-post .article-body-container,
body.blog .wd-blog-holder article.wd-post .post-content,
body.archive.category .wd-blog-holder article.wd-post .post-description,
body.archive.tag .wd-blog-holder article.wd-post .post-description{
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important;
  background:transparent !important; color:var(--ink) !important; padding:22px 22px 24px !important; text-align:left !important;
}
/* title */
body.blog .wd-blog-holder article.wd-post .entry-title,
body.blog .wd-blog-holder article.wd-post .post-title,
body.blog .wd-blog-holder article.wd-post .entry-title a,
body.blog .wd-blog-holder article.wd-post .post-title a,
body.archive.category .wd-blog-holder article.wd-post .entry-title a,
body.archive.tag .wd-blog-holder article.wd-post .entry-title a{
  display:block !important; color:var(--ink) !important; font-family:var(--f-display) !important;
  font-size:clamp(17px,1.5vw,21px) !important; line-height:1.12 !important; font-weight:700 !important;
  letter-spacing:-.01em !important; text-transform:uppercase !important; text-align:left !important; margin:0 0 12px !important;
}
/* meta — mono */
body.blog .wd-blog-holder article.wd-post .post-meta,
body.archive.category .wd-blog-holder article.wd-post .post-meta{
  display:block !important; margin:0 0 12px !important; color:var(--ink-3) !important;
  font-family:var(--f-mono) !important; font-size:10px !important; letter-spacing:.16em !important;
  text-transform:uppercase !important; text-align:left !important;
}
/* excerpt */
body.blog .wd-blog-holder article.wd-post .entry-content,
body.blog .wd-blog-holder article.wd-post .post-excerpt,
body.blog .wd-blog-holder article.wd-post .post-description p,
body.archive.category .wd-blog-holder article.wd-post .post-description p{
  display:block !important; color:var(--ink-2) !important; font-size:14.5px !important;
  line-height:1.7 !important; text-align:left !important; margin:0 0 18px !important;
}
/* read more — armed mono link */
body.blog .wd-blog-holder article.wd-post .btn-read-more,
body.blog .wd-blog-holder article.wd-post .read-more,
body.blog .wd-blog-holder article.wd-post .more-link,
body.archive.category .wd-blog-holder article.wd-post .btn-read-more,
body.archive.tag .wd-blog-holder article.wd-post .btn-read-more{
  display:inline-flex !important; align-items:center !important; margin-top:auto !important; align-self:flex-start !important;
  min-height:44px !important; padding:0 20px !important;
  background:transparent !important; border:1px solid var(--line-2) !important; color:var(--ink) !important;
  font-family:var(--f-mono) !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important; text-decoration:none !important;
  transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease) !important;
}
body.blog .wd-blog-holder article.wd-post .btn-read-more:hover,
body.archive.category .wd-blog-holder article.wd-post .btn-read-more:hover{
  border-color:var(--red) !important; background:var(--red-deep) !important; color:#fff !important;
}
/* hide category chips */
body.blog .post-categories,body.archive.category .post-categories,body.archive.tag .post-categories{ display:none !important; }

/* pagination */
body.blog nav.pagination,body.blog .wd-pagination,body.archive.category nav.pagination,
body.archive.category .wd-pagination,body.archive.tag nav.pagination,body.archive.tag .wd-pagination,
body.search.search-results nav.pagination,body.search.search-results .wd-pagination{
  margin:clamp(34px,5vw,56px) var(--pad) clamp(50px,7vw,80px) !important; text-align:center !important;
}
body.blog nav.pagination a,body.blog nav.pagination span,body.blog .wd-pagination a,body.blog .wd-pagination span,
body.archive.category nav.pagination a,body.archive.category nav.pagination span,
body.archive.tag nav.pagination a,body.archive.tag nav.pagination span,
body.search.search-results nav.pagination a,body.search.search-results nav.pagination span{
  min-width:46px !important; height:46px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
  margin:0 4px !important; background:var(--c-panel) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important;
  font-family:var(--f-mono) !important; font-size:13px !important; transition:border-color .25s var(--ease) !important;
}
body.blog nav.pagination a:hover,body.archive.category nav.pagination a:hover{ border-color:var(--red) !important; color:#fff !important; }
body.blog nav.pagination .current,body.archive.category nav.pagination .current,
body.search.search-results nav.pagination .current{ background:var(--red-deep) !important; border-color:var(--red) !important; color:#fff !important; }

/* SINGLE POST article — readable, clutter removed */
.single-post,.blog,.archive{ color:var(--ink) !important; }
.single-post .entry-content,.single-post .entry-content p,.single-post .entry-content li,
.single-post h1,.single-post h2,.single-post h3,.single-post h4,.single-post a{ color:var(--ink) !important; }
.single-post .entry-content{ font-size:clamp(16px,1.1vw,18px); line-height:1.8; }
.single-post .entry-content p{ color:var(--ink-2) !important; }
/* clutter only */
.post-date,.entry-meta .posted-on,.wd-post-date,.meta-post-date,.blog-post-date,.post-date-wrapper,
.post-author,.author,.meta-author,.entry-meta .author,
.wd-single-post-social,.wd-social-icons,.single-post-social,.post-share,
.wd-page-nav,.post-navigation,.nav-links,
#comments,.comments-area,.comment-respond,.comment-form,#respond{ display:none !important; }

/* blog columns responsive */
@media (max-width:1024px){
  body.blog .wd-blog-holder,body.archive.category .wd-blog-holder,body.archive.tag .wd-blog-holder,
  body.archive.author .wd-blog-holder,body.archive.date .wd-blog-holder,body.search.search-results .wd-blog-holder{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:600px){
  body.blog .wd-blog-holder,body.archive.category .wd-blog-holder,body.archive.tag .wd-blog-holder,
  body.archive.author .wd-blog-holder,body.archive.date .wd-blog-holder,body.search.search-results .wd-blog-holder{
    grid-template-columns:1fr !important;
  }
}

/* ============================== 7 · FORMS (CF7) ============================== */
.asm-dealer-form-match input.wpcf7-submit,.asm-dealer-form-match .wpcf7-submit,
.asm-contact-form-box input.wpcf7-submit,.asm-contact-form-box .wpcf7-submit{
  position:relative; overflow:hidden;
  width:100% !important; min-height:58px !important;
  display:flex !important; align-items:center !important; justify-content:center !important; padding:0 22px !important;
  background:linear-gradient(180deg,var(--c-raise),var(--c-panel)) !important;
  border:1px solid var(--line-2) !important; border-radius:0 !important;
  color:var(--ink) !important; font-family:var(--f-mono) !important;
  font-size:12px !important; font-weight:700 !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; line-height:1 !important; cursor:pointer !important;
  appearance:none !important; -webkit-appearance:none !important;
  transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease) !important;
}
.asm-dealer-form-match input.wpcf7-submit:hover,.asm-contact-form-box input.wpcf7-submit:hover{
  border-color:var(--red) !important; background:linear-gradient(180deg,var(--red-hi),var(--red-deep)) !important; color:#fff !important;
}
.asm-dealer-form-match input.wpcf7-submit:focus-visible,.asm-contact-form-box input.wpcf7-submit:focus-visible{
  outline:2px solid var(--red-hi) !important; outline-offset:2px !important;
}
/* CF7 text fields — instrument inputs */
.asm-dealer-form-match input:not([type="submit"]),.asm-dealer-form-match textarea,.asm-dealer-form-match select,
.asm-contact-form-box input:not([type="submit"]),.asm-contact-form-box textarea,.asm-contact-form-box select{
  background:var(--c-base) !important; color:var(--ink) !important;
  border:1px solid var(--line) !important; border-radius:0 !important; padding:14px 16px !important;
  font-family:var(--f-body) !important; transition:border-color .25s var(--ease) !important;
}
.asm-dealer-form-match input:focus,.asm-dealer-form-match textarea:focus,
.asm-contact-form-box input:focus,.asm-contact-form-box textarea:focus{ border-color:var(--red) !important; outline:none !important; }
@media (max-width:767px){
  .asm-dealer-form-match input.wpcf7-submit,.asm-contact-form-box input.wpcf7-submit{ min-height:54px !important; font-size:11px !important; }
}

/* ============================== 8 · MOBILE MENU ============================== */
@media (max-width:1024px){
  .mobile-nav,.wd-side-hidden,.mobile-menu-wrapper,.mobile-nav-wrapper,.wd-header-mobile-nav{
    background:var(--c-void) !important; border-left:1px solid var(--line) !important;
  }
  .mobile-nav .menu-item>a,.mobile-nav .page-item>a,.wd-side-hidden .menu-item>a,
  .wd-side-hidden .page-item>a,.mobile-menu-wrapper .menu-item>a,.mobile-menu-wrapper .page-item>a{
    display:flex; align-items:center; padding:16px 24px !important;
    font-family:var(--f-display) !important; font-weight:700; text-transform:uppercase; letter-spacing:.02em;
    font-size:15px; color:var(--ink); border-bottom:1px solid var(--line);
    transition:color .25s var(--ease), background .25s var(--ease), padding-left .25s var(--ease);
  }
  .mobile-nav .menu-item>a:hover,.wd-side-hidden .menu-item>a:hover,.mobile-menu-wrapper .menu-item>a:hover{
    color:#fff; background:var(--c-panel); padding-left:30px !important;
  }
  .mobile-nav .current-menu-item>a,.wd-side-hidden .current-menu-item>a,.mobile-menu-wrapper .current-menu-item>a{
    color:var(--red-hi) !important;
  }
  .mobile-nav .sub-menu .menu-item>a,.wd-side-hidden .sub-menu .menu-item>a,.mobile-menu-wrapper .sub-menu .menu-item>a{
    padding:12px 24px 12px 38px !important; font-family:var(--f-mono) !important; font-size:12px; font-weight:400;
    letter-spacing:.1em; color:var(--ink-2); background:var(--c-base);
  }
  .mobile-nav .woodmart-close-side,.wd-side-hidden .woodmart-close-side,.mobile-menu-wrapper .woodmart-close-side{
    padding:18px 24px !important; font-family:var(--f-mono) !important; font-size:11px; letter-spacing:.16em;
    color:var(--ink-3); border-bottom:1px solid var(--line);
  }
}

/* ============================== 9 · MOTION ============================== */
.asm-scroll-reveal{
  opacity:0; transform:translateY(34px);
  animation:asmReveal .9s var(--ease) forwards; animation-timeline:view(); animation-range:entry 15% cover 35%;
}
@keyframes asmReveal{ to{ opacity:1; transform:translateY(0); } }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
  .asm-scroll-reveal{ opacity:1 !important; transform:none !important; }
}

/* ============================== 10 · HEADER ==============================
   Custom .asm-zero-header supported + Woodmart defaults. Engineered bar:
   void background, hairline base, mono nav, ignition underline on hover.
   ======================================================================== */
.asm-zero-header,.whb-header,.wd-header-wrapper,.site-header,header.site-header{
  background:var(--c-void) !important;
  border-bottom:1px solid var(--line) !important;
  box-shadow:none !important;
}
.whb-general-header,.whb-row,.wd-header-row{ background:transparent !important; }
/* sticky shrink keeps the hairline */
.whb-sticky-row,.wd-sticky-row{ background:rgba(4,5,6,.92) !important; backdrop-filter:blur(8px); border-bottom:1px solid var(--line) !important; }

/* primary nav links — display caps, mono spacing, red ignition underline */
.whb-header .wd-nav>li>a,.site-header .wd-nav>li>a,.asm-zero-header .menu-item>a,
.main-nav .menu-item>a,.wd-nav-main>li>a{
  position:relative; color:var(--ink) !important;
  font-family:var(--f-display) !important; font-weight:700 !important;
  text-transform:uppercase !important; letter-spacing:.04em !important; font-size:13px !important;
  transition:color .25s var(--ease) !important;
}
.whb-header .wd-nav>li>a::after,.asm-zero-header .menu-item>a::after,.wd-nav-main>li>a::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px;
  background:var(--red-hi); transform:scaleX(0); transform-origin:left; transition:transform .28s var(--ease);
}
.whb-header .wd-nav>li>a:hover::after,.asm-zero-header .menu-item>a:hover::after,
.wd-nav-main>li>a:hover::after,.whb-header .wd-nav>li.current-menu-item>a::after{ transform:scaleX(1); }
.whb-header .wd-nav>li>a:hover,.asm-zero-header .menu-item>a:hover{ color:#fff !important; }
.whb-header .wd-nav>li.current-menu-item>a{ color:var(--red-hi) !important; }

/* dropdown submenus — instrument panel */
.whb-header .wd-dropdown-menu,.wd-nav .wd-dropdown,.sub-menu{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; box-shadow:0 20px 40px rgba(0,0,0,.5) !important;
}
.whb-header .wd-dropdown-menu .menu-item>a,.sub-menu .menu-item>a{
  color:var(--ink-2) !important; font-family:var(--f-mono) !important; font-size:12px !important;
  letter-spacing:.08em !important; text-transform:uppercase !important; border-bottom:1px solid var(--line) !important;
  transition:color .2s var(--ease), background .2s var(--ease) !important;
}
.whb-header .wd-dropdown-menu .menu-item>a:hover,.sub-menu .menu-item>a:hover{ color:#fff !important; background:var(--c-panel-2) !important; }

/* header tools — search / cart / account icons */
.whb-header .wd-tools-icon,.wd-header-cart .wd-cart-number,.whb-header .wd-header-search,
.whb-header .cart-widget-opener,.whb-header .wd-header-my-account{ color:var(--ink) !important; }
.wd-cart-number,.wd-header-cart .wd-cart-number{
  background:var(--red) !important; color:#fff !important; border-radius:0 !important;
  font-family:var(--f-mono) !important; font-weight:700 !important;
}
/* header search field */
.whb-header .wd-search-form input,.header-search input[type="text"]{
  background:var(--c-panel) !important; border:1px solid var(--line-2) !important; border-radius:0 !important;
  color:var(--ink) !important; font-family:var(--f-mono) !important;
}

/* ============================== 11 · FOOTER ============================== */
.site-footer,.wd-footer-wrapper,footer.footer-container,.footer-container{
  background:var(--c-void) !important; border-top:1px solid var(--line) !important;
  color:var(--ink-2) !important;
}
.site-footer .widget-title,.wd-footer-wrapper .widget-title{
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; color:var(--ink-3) !important;
  padding-bottom:12px !important; margin-bottom:16px !important; border-bottom:1px solid var(--line) !important;
}
.site-footer a,.wd-footer-wrapper a{ color:var(--ink-2) !important; transition:color .2s var(--ease) !important; }
.site-footer a:hover,.wd-footer-wrapper a:hover{ color:var(--red-hi) !important; }
.site-footer .menu-item>a{ font-family:var(--f-body) !important; }
.copyrights-wrapper,.wd-copyrights{
  border-top:1px solid var(--line) !important; background:var(--c-base) !important;
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.1em !important; color:var(--ink-3) !important;
}

/* ============================== 12 · SIDEBAR / FILTERS (global) ============================== */
.wd-sidebar .widget,.widget-area .widget,.sidebar-content .widget,.wd-widget-collapse{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; padding:20px !important; margin-bottom:14px !important;
}
.wd-sidebar .widget-title,.widget-area .widget-title{
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; color:var(--ink-3) !important;
  border-bottom:1px solid var(--line) !important; padding-bottom:12px !important; margin-bottom:14px !important;
}
.widget_layered_nav ul li a,.widget_product_categories ul li a,.wd-widget ul li a{
  color:var(--ink-2) !important; font-size:14px !important; transition:color .2s var(--ease) !important;
}
.widget_layered_nav ul li a:hover,.widget_product_categories ul li a:hover{ color:var(--red-hi) !important; }
.widget_layered_nav ul li .count,.widget_product_categories .count{
  font-family:var(--f-mono) !important; color:var(--ink-3) !important; font-size:11px !important;
}
/* price slider */
.price_slider_wrapper .ui-slider{ background:var(--line-2) !important; border-radius:0 !important; height:2px !important; }
.price_slider_wrapper .ui-slider .ui-slider-range{ background:var(--red) !important; }
.price_slider_wrapper .ui-slider .ui-slider-handle{ background:#fff !important; border-radius:0 !important; border:1px solid var(--red) !important; }
.price_slider_amount .price_label{ font-family:var(--f-mono) !important; color:var(--ink-2) !important; font-size:12px !important; }
/* active filter chips */
.wd-active-filters .chosen,.woocommerce-widget-layered-nav-list__item--chosen{
  border:1px solid var(--red) !important; color:#fff !important; border-radius:0 !important;
}

/* ============================== 13 · CART ==============================
   Engineered ledger: hairline table, mono figures, framed totals panel.
   ====================================================================== */
body.woocommerce-cart{ background:linear-gradient(180deg,var(--c-base),var(--c-void)) !important; }
body.woocommerce-cart .cart-content-wrapper,body.woocommerce-cart .woocommerce{ position:relative; z-index:1; }
.woocommerce-cart table.cart,.woocommerce table.shop_table{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; border-collapse:collapse !important;
}
.woocommerce-cart table.cart thead th,.woocommerce table.shop_table thead th{
  background:var(--c-base) !important; color:var(--ink-3) !important;
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.16em !important;
  text-transform:uppercase !important; border-bottom:1px solid var(--line) !important; padding:18px 16px !important;
}
.woocommerce-cart table.cart td,.woocommerce table.shop_table td{
  background:transparent !important; color:var(--ink) !important;
  border-bottom:1px solid var(--line) !important; padding:18px 16px !important;
}
.woocommerce-cart table.cart td.product-name a,.woocommerce table.shop_table td.product-name a{
  color:var(--ink) !important; font-family:var(--f-display) !important; font-weight:700 !important; text-transform:uppercase !important;
}
.woocommerce-cart .product-price,.woocommerce-cart .product-subtotal,.woocommerce-Price-amount{
  font-family:var(--f-mono) !important; color:var(--ink) !important;
}
.woocommerce-cart td.product-remove a.remove{
  color:var(--red-hi) !important; border:1px solid var(--line) !important; border-radius:0 !important;
}
.woocommerce-cart td.product-remove a.remove:hover{ background:var(--red-deep) !important; color:#fff !important; }
/* cart totals — framed instrument panel */
.cart_totals,.cart-totals{
  background:var(--c-panel) !important; border:1px solid var(--line-2) !important; padding:24px !important;
}
.cart_totals h2,.cart-totals h2{
  font-family:var(--f-display) !important; text-transform:uppercase !important; color:var(--ink) !important; margin:0 0 16px !important;
}
.cart_totals table th{ color:var(--ink-3) !important; font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.14em !important; text-transform:uppercase !important; }
.cart_totals .order-total .woocommerce-Price-amount{ color:var(--red-hi) !important; font-size:18px !important; }
.woocommerce .quantity .qty{
  background:var(--c-base) !important; color:var(--ink) !important; border:1px solid var(--line-2) !important;
  border-radius:0 !important; font-family:var(--f-mono) !important;
}
/* coupon row */
.woocommerce-cart .coupon input[type="text"]{
  background:var(--c-base) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important; border-radius:0 !important; font-family:var(--f-mono) !important;
}

/* ============================== 14 · CHECKOUT ============================== */
body.woocommerce-checkout{ background:linear-gradient(180deg,var(--c-base),var(--c-void)) !important; }
.woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{ position:relative; z-index:1; }
.woocommerce-checkout h3,.woocommerce-checkout h3 label{
  font-family:var(--f-display) !important; text-transform:uppercase !important; color:var(--ink) !important;
  border-bottom:1px solid var(--line) !important; padding-bottom:12px !important;
}
.woocommerce form .form-row label,.woocommerce-checkout label{
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.12em !important;
  text-transform:uppercase !important; color:var(--ink-3) !important;
}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-checkout .select2-container--default .select2-selection,
.woocommerce form .form-row select{
  background:var(--c-base) !important; color:var(--ink) !important;
  border:1px solid var(--line-2) !important; border-radius:0 !important; padding:14px 16px !important;
  font-family:var(--f-body) !important; transition:border-color .25s var(--ease) !important;
}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{ border-color:var(--red) !important; outline:none !important; }
/* order review — instrument panel */
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--c-panel) !important; border:1px solid var(--line-2) !important; padding:24px !important;
}
.woocommerce-checkout #order_review table th{ color:var(--ink-3) !important; font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.12em !important; text-transform:uppercase !important; }
.woocommerce-checkout #order_review .order-total .woocommerce-Price-amount{ color:var(--red-hi) !important; font-size:18px !important; }
.woocommerce-checkout .wc_payment_methods{ background:var(--c-base) !important; border:1px solid var(--line) !important; padding:16px !important; }
.woocommerce-checkout .place-order .button,#place_order{
  width:100% !important; min-height:60px !important; font-size:13px !important;
}

/* ============================== 15 · MY ACCOUNT ============================== */
body.woocommerce-account{ background:linear-gradient(180deg,var(--c-base),var(--c-void)) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation{
  background:var(--c-panel) !important; border:1px solid var(--line) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ margin:0 !important; padding:0 !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li{
  border-bottom:1px solid var(--line) !important; list-style:none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block !important; padding:16px 20px !important; color:var(--ink-2) !important;
  font-family:var(--f-mono) !important; font-size:12px !important; letter-spacing:.12em !important;
  text-transform:uppercase !important; transition:color .2s var(--ease), background .2s var(--ease) !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:#fff !important; background:var(--c-panel-2) !important; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color:#fff !important; background:var(--red-deep) !important; }
.woocommerce-account .woocommerce-MyAccount-content{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; padding:28px !important; color:var(--ink-2) !important;
}
/* login/register forms */
.woocommerce-account .woocommerce form.login,.woocommerce-account .woocommerce form.register,
.woocommerce form.lost_reset_password{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; padding:28px !important;
}
.woocommerce form .form-row input.input-text{ color:var(--ink) !important; }

/* ============================== 16 · SEARCH / 404 / MISC ============================== */
body.search-results,body.error404{ background:linear-gradient(180deg,var(--c-base),var(--c-void)) !important; }
.error404 .page-title,.search-no-results .page-title{
  font-family:var(--f-display) !important; text-transform:uppercase !important; color:var(--ink) !important;
}
.search-form input[type="search"],.wd-search-form input{
  background:var(--c-panel) !important; border:1px solid var(--line-2) !important; border-radius:0 !important;
  color:var(--ink) !important; font-family:var(--f-mono) !important; padding:14px 16px !important;
}
/* woocommerce notices — engineered alerts */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--c-panel) !important; border:1px solid var(--line-2) !important; border-left:3px solid var(--red) !important;
  color:var(--ink) !important; border-radius:0 !important; font-family:var(--f-body) !important;
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{ color:var(--red-hi) !important; }

/* breadcrumb global (kept, mono) */
.woocommerce-breadcrumb,.wd-breadcrumbs{
  font-family:var(--f-mono) !important; font-size:10px !important; letter-spacing:.14em !important;
  text-transform:uppercase !important; color:var(--ink-3) !important;
}
.woocommerce-breadcrumb a,.wd-breadcrumbs a{ color:var(--ink-2) !important; }

/* selection + scrollbar polish */
::selection{ background:var(--red); color:#fff; }
*{ scrollbar-color:var(--line-2) var(--c-void); }


/* ============================== 17 · FINAL IMAGE SAFETY OVERRIDE ==============================
   Keeps archive and single-product images visible after cache/minification.
   ================================================================================ */
body.post-type-archive-product .product-element-top,
body.tax-product_cat .product-element-top,
body.tax-product_tag .product-element-top,
body.tax-product_brand .product-element-top,
body.woocommerce-shop .product-element-top{
  display:block !important; visibility:visible !important; opacity:1 !important; min-height:250px !important; height:auto !important; overflow:hidden !important;
}
body.post-type-archive-product .product-element-top img,
body.tax-product_cat .product-element-top img,
body.tax-product_tag .product-element-top img,
body.tax-product_brand .product-element-top img,
body.woocommerce-shop .product-element-top img,
body.post-type-archive-product img.attachment-woocommerce_thumbnail,
body.tax-product_cat img.attachment-woocommerce_thumbnail,
body.tax-product_tag img.attachment-woocommerce_thumbnail,
body.tax-product_brand img.attachment-woocommerce_thumbnail,
body.woocommerce-shop img.attachment-woocommerce_thumbnail{
  display:block !important; visibility:visible !important; opacity:1 !important; width:100% !important; height:250px !important; min-height:250px !important; object-fit:cover !important;
}
body.single-product a.zoom,
body.single-product .woocommerce-product-gallery__image a,
body.single-product .wd-product-gallery a,
body.single-product .images a,
body.single-product .woocommerce-product-gallery img,
body.single-product .wd-product-gallery img,
body.single-product .images img{
  display:block !important; visibility:visible !important; opacity:1 !important; pointer-events:auto !important;
}

/* =========================================================
   ASM ZERO HEADER — MATCH SELECT PLATFORM FONT
   Desktop only: make Select Platform match Configurator / Programmes
========================================================= */

@media (min-width: 1181px) {

    body .asm-zero-header .asm-zero-header__desktop-left > .asm-zero-header__link {
        font-family: var(--f-mono, "Space Mono", "Plus Jakarta Sans", sans-serif) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: .18em !important;
        text-transform: uppercase !important;
        color: #fff !important;
        min-height: 42px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 14px !important;
    }

    body .asm-zero-header .asm-zero-header__desktop-left > .asm-zero-header__link::after {
        left: 14px !important;
        right: 14px !important;
        bottom: 3px !important;
        height: 1px !important;
        background: rgba(255,255,255,.82) !important;
    }

    body .asm-zero-header .asm-zero-header__desktop-left > .asm-zero-header__link:hover,
    body .asm-zero-header .asm-zero-header__desktop-left > .asm-zero-header__link:focus-visible {
        color: #fff !important;
        background: rgba(255,255,255,.08) !important;
        border-color: rgba(255,255,255,.10) !important;
    }
}

/* =========================================================
   ASM SPORTS TECH — SIDE MENU · "ATELIER OS" (FINAL, CSS-only)
   Targets .asm-zero-mobile__* drawer.
   PASTE AT THE VERY BOTTOM of Appearance → Customise → Additional CSS.
   No JavaScript, no markup — pure CSS. Every element bespoke:
   open choreography, custom bracket close, diamond +/× toggle,
   ignition rail, numbered manifest index, command spines.
   ========================================================= */

:root{
  --asm-void:#040506; --asm-base:#070809; --asm-panel:#0b0d0f; --asm-raise:#15191d;
  --asm-line:rgba(255,255,255,.07); --asm-line-2:rgba(255,255,255,.13); --asm-line-br:rgba(255,255,255,.22);
  --asm-ink:#f4f6f7; --asm-ink-2:rgba(244,246,247,.60); --asm-ink-3:rgba(244,246,247,.38);
  --asm-red:#c1121f; --asm-red-hi:#e11d2a; --asm-red-deep:#7a0c14;
  --asm-ease:cubic-bezier(.2,.7,.2,1); --asm-ease-out:cubic-bezier(.16,1,.3,1);
}

body .asm-zero-mobile{ z-index:1000002 !important; }

/* ---------- OVERLAY ---------- */
body .asm-zero-mobile__overlay{
  background:
    radial-gradient(circle at 84% 8%, rgba(193,18,31,.10) 0%, rgba(193,18,31,0) 44%),
    rgba(2,3,4,.82) !important;
  backdrop-filter:blur(7px) saturate(.85) !important; -webkit-backdrop-filter:blur(7px) saturate(.85) !important;
  animation:asmFade .55s var(--asm-ease) both !important;
}
@keyframes asmFade{ from{opacity:0} to{opacity:1} }

/* ---------- PANEL ---------- */
body .asm-zero-mobile__panel{
  position:relative !important;
  width:min(444px,92vw) !important;
  background:
    radial-gradient(130% 60% at 0% 0%, rgba(193,18,31,.11) 0%, rgba(193,18,31,0) 40%),
    linear-gradient(180deg, var(--asm-base) 0%, var(--asm-void) 80%) !important;
  border-right:1px solid var(--asm-line) !important;
  box-shadow:52px 0 130px rgba(0,0,0,.68) !important; overflow:hidden !important;
  animation:asmPanelIn .66s var(--asm-ease-out) both !important;
}
@keyframes asmPanelIn{ from{ transform:translateX(-30px); opacity:.35; } to{ transform:translateX(0); opacity:1; } }

/* vertical ignition RAIL + a travelling glow, all from one pseudo-element */
body .asm-zero-mobile__panel::before{
  content:""; position:absolute; top:0; left:0; width:2px; height:100%; z-index:4; pointer-events:none;
  background:
    linear-gradient(180deg, var(--asm-red-hi) 0%, var(--asm-red-deep) 28%, rgba(122,12,20,.22) 58%, transparent 100%);
  transform-origin:top; animation:asmIgnite .85s var(--asm-ease-out) .12s both !important;
}
@keyframes asmIgnite{ from{ transform:scaleY(0); } to{ transform:scaleY(1); } }

/* top hairline draws L→R, plus the travelling node is faked as a moving box-shadow dot */
body .asm-zero-mobile__panel::after{
  content:"" !important; display:block !important; position:absolute; top:0; left:-3px; width:8px; height:8px; z-index:6; pointer-events:none;
  background:var(--asm-red-hi); transform:rotate(45deg);
  box-shadow:0 0 12px 2px rgba(225,29,42,.6);
  animation:asmNodeRide 1.05s var(--asm-ease) .2s both !important;
}
@keyframes asmNodeRide{ 0%{ top:0; opacity:0; } 12%{ opacity:1; } 86%{ opacity:1; } 100%{ top:100%; opacity:0; } }

/* top hairline as its own line via the body's top border trick */
body .asm-zero-mobile__panel{ border-top:1px solid transparent !important; }
body .asm-zero-mobile__top{
  position:relative !important; z-index:5 !important; min-height:98px !important;
  padding:26px 26px 20px !important; border-bottom:1px solid var(--asm-line) !important; background:transparent !important;
  animation:asmRowIn .6s var(--asm-ease-out) .18s both !important;
}
/* the red top hairline drawn across the top edge of the brand row */
body .asm-zero-mobile__top::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px; z-index:6; pointer-events:none;
  background:linear-gradient(90deg, var(--asm-red-hi) 0%, var(--asm-red-deep) 42%, transparent 76%);
  transform-origin:left; animation:asmDraw .72s var(--asm-ease-out) .22s both !important;
}
@keyframes asmDraw{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

body .asm-zero-mobile__brand img{ max-width:202px !important; width:100% !important; height:auto !important; display:block !important; filter:none !important; }

/* ---------- CUSTOM CLOSE CONTROL — corner brackets framing a hairline X ---------- */
body .asm-zero-mobile__close{
  position:relative !important; width:46px !important; height:46px !important; border-radius:0 !important;
  border:none !important; background:transparent !important; color:transparent !important; font-size:0 !important;
  transition:transform .45s var(--asm-ease) !important;
}
body .asm-zero-mobile__close::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left top/9px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left top/1px 9px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right top/9px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right top/1px 9px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left bottom/9px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left bottom/1px 9px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right bottom/9px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right bottom/1px 9px no-repeat;
  transition:background .3s var(--asm-ease) !important;
}
body .asm-zero-mobile__close::after{
  content:""; position:absolute; left:50%; top:50%; width:18px; height:18px;
  background:
    linear-gradient(var(--asm-ink-2),var(--asm-ink-2)) center/18px 1px no-repeat,
    linear-gradient(var(--asm-ink-2),var(--asm-ink-2)) center/1px 18px no-repeat;
  transform:translate(-50%,-50%) rotate(45deg);
  transition:background .3s var(--asm-ease) !important;
}
body .asm-zero-mobile__close:hover{ transform:rotate(90deg) !important; }
body .asm-zero-mobile__close:hover::before{
  background:
    linear-gradient(var(--asm-red),var(--asm-red)) left top/9px 1px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) left top/1px 9px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) right top/9px 1px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) right top/1px 9px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) left bottom/9px 1px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) left bottom/1px 9px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) right bottom/9px 1px no-repeat,
    linear-gradient(var(--asm-red),var(--asm-red)) right bottom/1px 9px no-repeat;
}
body .asm-zero-mobile__close:hover::after{
  background:
    linear-gradient(#fff,#fff) center/18px 1px no-repeat,
    linear-gradient(#fff,#fff) center/1px 18px no-repeat;
}

/* ---------- BODY + MANIFEST HEADER ---------- */
body .asm-zero-mobile__body{
  position:relative !important; z-index:5 !important; padding:0 0 28px !important; overflow-y:auto !important; counter-reset:asmnav;
}
body .asm-zero-mobile__body::before{
  content:"NAVIGATION"; display:block; padding:26px 26px 18px; color:var(--asm-ink-3);
  font-family:"Space Mono",monospace !important; font-size:10px; font-weight:700; letter-spacing:.36em; text-transform:uppercase;
  border-bottom:1px solid var(--asm-line);
  animation:asmRowIn .55s var(--asm-ease-out) .26s both !important;
}

/* ---------- ROW STAGGER ---------- */
@keyframes asmRowIn{ from{ opacity:0; transform:translateX(24px); } to{ opacity:1; transform:translateX(0); } }

body .asm-zero-mobile__link,
body .asm-zero-mobile__toggle{
  position:relative !important; counter-increment:asmnav;
  min-height:70px !important; padding:0 26px 0 72px !important;
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  border:0 !important; border-bottom:1px solid var(--asm-line) !important;
  background:transparent !important; color:var(--asm-ink) !important; text-decoration:none !important;
  font-family:"Archivo Expanded","Archivo",sans-serif !important; font-size:14px !important; font-weight:700 !important;
  line-height:1.12 !important; letter-spacing:.012em !important; text-transform:uppercase !important; cursor:pointer !important; overflow:hidden !important;
  transition:color .28s var(--asm-ease), background .28s var(--asm-ease), padding-left .32s var(--asm-ease-out) !important;
  animation:asmRowIn .55s var(--asm-ease-out) both !important;
}
body .asm-zero-mobile__body > *:nth-child(1) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(1).asm-zero-mobile__link{ animation-delay:.32s !important; }
body .asm-zero-mobile__body > *:nth-child(2) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(2).asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(2) .asm-zero-mobile__toggle{ animation-delay:.39s !important; }
body .asm-zero-mobile__body > *:nth-child(3) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(3).asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(3) .asm-zero-mobile__toggle{ animation-delay:.46s !important; }
body .asm-zero-mobile__body > *:nth-child(4) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(4).asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(4) .asm-zero-mobile__toggle{ animation-delay:.53s !important; }
body .asm-zero-mobile__body > *:nth-child(5) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(5).asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(5) .asm-zero-mobile__toggle{ animation-delay:.60s !important; }
body .asm-zero-mobile__body > *:nth-child(6) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(6).asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(6) .asm-zero-mobile__toggle{ animation-delay:.67s !important; }
body .asm-zero-mobile__body > *:nth-child(7) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(7).asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(7) .asm-zero-mobile__toggle{ animation-delay:.74s !important; }
body .asm-zero-mobile__body > *:nth-child(8) .asm-zero-mobile__link,
body .asm-zero-mobile__body > *:nth-child(8).asm-zero-mobile__link{ animation-delay:.81s !important; }

body .asm-zero-mobile__link::before,
body .asm-zero-mobile__toggle::before{
  content:counter(asmnav,decimal-leading-zero);
  position:absolute; left:26px; top:50%; transform:translateY(-50%);
  font-family:"Space Mono",monospace !important; font-size:11px; font-weight:400; letter-spacing:.06em; color:var(--asm-ink-3);
  transition:color .28s var(--asm-ease), letter-spacing .28s var(--asm-ease) !important;
}
body .asm-zero-mobile__link::after,
body .asm-zero-mobile__toggle::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; pointer-events:none;
  background:linear-gradient(90deg, var(--asm-red-hi), var(--asm-red-deep) 70%, transparent);
  transform:scaleX(0); transform-origin:left center; transition:transform .42s var(--asm-ease-out) !important;
}
body .asm-zero-mobile__link:hover,
body .asm-zero-mobile__toggle:hover,
body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle{
  color:#fff !important; background:linear-gradient(90deg, rgba(255,255,255,.022) 0%, rgba(255,255,255,0) 56%) !important; padding-left:80px !important;
}
body .asm-zero-mobile__link:hover::before,
body .asm-zero-mobile__toggle:hover::before,
body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle::before{ color:var(--asm-red-hi) !important; letter-spacing:.1em !important; }
body .asm-zero-mobile__link:hover::after,
body .asm-zero-mobile__toggle:hover::after,
body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle::after{ transform:scaleX(1) !important; }

/* ---------- CUSTOM +/× DIAMOND TOGGLE ---------- */
body .asm-zero-mobile__plus{
  position:relative !important; width:34px !important; height:34px !important; display:inline-flex !important;
  border-radius:0 !important; border:1px solid var(--asm-line-2) !important; background:transparent !important;
  color:transparent !important; font-size:0 !important; flex:0 0 auto !important;
  transition:border-color .35s var(--asm-ease), transform .5s var(--asm-ease-out) !important;
}
body .asm-zero-mobile__plus::before,
body .asm-zero-mobile__plus::after{
  content:""; position:absolute; left:50%; top:50%; background:var(--asm-ink-2);
  transition:transform .45s var(--asm-ease-out), background .35s var(--asm-ease) !important;
}
body .asm-zero-mobile__plus::before{ width:13px; height:1px; transform:translate(-50%,-50%); }
body .asm-zero-mobile__plus::after{ width:1px; height:13px; transform:translate(-50%,-50%); }
body .asm-zero-mobile__group.is-open .asm-zero-mobile__plus{ transform:rotate(45deg) !important; border-color:var(--asm-red) !important; }
body .asm-zero-mobile__group.is-open .asm-zero-mobile__plus::before{ background:var(--asm-red-hi) !important; transform:translate(-50%,-50%) rotate(45deg) !important; }
body .asm-zero-mobile__group.is-open .asm-zero-mobile__plus::after{ background:var(--asm-red-hi) !important; transform:translate(-50%,-50%) rotate(45deg) !important; }

/* ---------- SUBMENU ---------- */
body .asm-zero-mobile__submenu{ background:var(--asm-void) !important; border-bottom:1px solid var(--asm-line) !important; }
body .asm-zero-mobile__submenu a{
  position:relative !important; min-height:52px !important; padding:14px 24px 14px 92px !important; display:flex !important; align-items:center !important;
  color:var(--asm-ink-2) !important; text-decoration:none !important;
  font-family:"Space Mono",monospace !important; font-size:11px !important; font-weight:400 !important; line-height:1.4 !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  border-bottom:1px solid var(--asm-line) !important; background:transparent !important;
  transition:color .28s var(--asm-ease), padding-left .28s var(--asm-ease) !important;
}
body .asm-zero-mobile__submenu a:last-child{ border-bottom:none !important; }
body .asm-zero-mobile__submenu a::before{
  content:""; position:absolute; left:72px; top:50%; width:5px; height:5px; background:var(--asm-red); transform:translateY(-50%) rotate(45deg); opacity:.7;
  transition:opacity .28s var(--asm-ease), transform .28s var(--asm-ease) !important;
}
body .asm-zero-mobile__submenu a:hover{ color:#fff !important; padding-left:98px !important; }
body .asm-zero-mobile__submenu a:hover::before{ opacity:1 !important; transform:translateY(-50%) rotate(45deg) scale(1.4) !important; }

/* ---------- PRIMARY ACTIONS ---------- */
body .asm-zero-mobile__link[href*="select-your-platform"],
body .asm-zero-mobile__link[href*="authorised-dealers"],
body .asm-zero-mobile__link[href*="contact-us"]{ box-shadow:inset 2px 0 0 var(--asm-red-deep) !important; }
body .asm-zero-mobile__link[href*="select-your-platform"]:hover,
body .asm-zero-mobile__link[href*="authorised-dealers"]:hover,
body .asm-zero-mobile__link[href*="contact-us"]:hover{ box-shadow:inset 2px 0 0 var(--asm-red-hi) !important; }
body .asm-zero-mobile__link[href*="contact-us"]{ margin-top:8px !important; }

/* ---------- BOTTOM SIGNATURE ---------- */
body .asm-zero-mobile__body::after{
  content:"PRECISION · PRESENCE · PERFORMANCE"; display:block; margin:26px 26px 0; padding-top:20px;
  border-top:1px solid var(--asm-line); color:var(--asm-ink-3);
  font-family:"Space Mono",monospace !important; font-size:10px; font-weight:400; letter-spacing:.26em; line-height:1.7; text-transform:uppercase;
  animation:asmRowIn .55s var(--asm-ease-out) .88s both !important;
}

/* ---------- MOBILE ---------- */
@media (max-width:767px){
  body .asm-zero-mobile__panel{ width:100vw !important; }
  body .asm-zero-mobile__top{ min-height:84px !important; padding:20px 20px 16px !important; }
  body .asm-zero-mobile__brand img{ max-width:182px !important; }
  body .asm-zero-mobile__body::before{ padding:22px 20px 16px !important; letter-spacing:.3em !important; }
  body .asm-zero-mobile__link,
  body .asm-zero-mobile__toggle{ min-height:64px !important; padding-left:64px !important; padding-right:20px !important; font-size:13px !important; }
  body .asm-zero-mobile__link::before,
  body .asm-zero-mobile__toggle::before{ left:22px !important; }
  body .asm-zero-mobile__link:hover,
  body .asm-zero-mobile__toggle:hover,
  body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle{ padding-left:70px !important; }
  body .asm-zero-mobile__submenu a{ padding-left:76px !important; padding-right:20px !important; font-size:10px !important; }
  body .asm-zero-mobile__submenu a::before{ left:56px !important; }
  body .asm-zero-mobile__submenu a:hover{ padding-left:82px !important; }
  body .asm-zero-mobile__body::after{ margin:22px 20px 0 !important; letter-spacing:.22em !important; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  body .asm-zero-mobile__overlay,
  body .asm-zero-mobile__panel,
  body .asm-zero-mobile__panel::before,
  body .asm-zero-mobile__panel::after,
  body .asm-zero-mobile__top,
  body .asm-zero-mobile__top::before,
  body .asm-zero-mobile__body::before,
  body .asm-zero-mobile__body::after,
  body .asm-zero-mobile__link,
  body .asm-zero-mobile__toggle{ animation:none !important; }
  body .asm-zero-mobile__panel::after{ display:none !important; }
  body .asm-zero-mobile__link,
  body .asm-zero-mobile__toggle,
  body .asm-zero-mobile__submenu a,
  body .asm-zero-mobile__plus,
  body .asm-zero-mobile__close{ transition:none !important; }
}

/* =========================================================
   ASM SPORTS TECH — TOP HEADER + DROPDOWNS + CART PANEL
   "ATELIER OS" · CSS-only. PASTE AT VERY BOTTOM of Additional CSS.
   Targets .asm-zero-header__* / .asm-zero-dd__* / .asm-zero-cartpanel__*
   Transparent at top → graphite hairline bar on .is-scrolled.
   Mono telemetry nav, ignition underlines, bracketed CTA, diamond cart.
   ========================================================= */

:root{
  --asm-void:#040506; --asm-base:#070809; --asm-panel:#0b0d0f; --asm-raise:#15191d;
  --asm-line:rgba(255,255,255,.08); --asm-line-2:rgba(255,255,255,.14); --asm-line-br:rgba(255,255,255,.24);
  --asm-ink:#f4f6f7; --asm-ink-2:rgba(244,246,247,.62); --asm-ink-3:rgba(244,246,247,.40);
  --asm-red:#c1121f; --asm-red-hi:#e11d2a; --asm-red-deep:#7a0c14;
  --asm-ease:cubic-bezier(.2,.7,.2,1); --asm-ease-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- HEADER SHELL ---------- */
body .asm-zero-header{
  background:transparent !important;
  border-bottom:1px solid transparent !important;
  transition:background .45s var(--asm-ease), border-color .45s var(--asm-ease), backdrop-filter .45s var(--asm-ease) !important;
}
/* faint top reading-gradient so white logo/links are legible over light heroes */
body .asm-zero-header::before{
  content:""; position:absolute; inset:0; bottom:auto; height:160%; pointer-events:none; z-index:-1;
  background:linear-gradient(180deg, rgba(2,3,4,.55) 0%, rgba(2,3,4,0) 100%);
  opacity:1; transition:opacity .45s var(--asm-ease);
}
body .asm-zero-header.is-scrolled{
  background:rgba(4,5,6,.82) !important;
  backdrop-filter:blur(14px) saturate(.9) !important; -webkit-backdrop-filter:blur(14px) saturate(.9) !important;
  border-bottom:1px solid var(--asm-line) !important;
}
body .asm-zero-header.is-scrolled::before{ opacity:0; }
/* red ignition hairline that draws across the bottom edge when scrolled */
body .asm-zero-header::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; z-index:2; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, var(--asm-red-deep) 30%, var(--asm-red-hi) 50%, var(--asm-red-deep) 70%, transparent 100%);
  transform:scaleX(0); transform-origin:center; transition:transform .6s var(--asm-ease-out) !important;
}
body .asm-zero-header.is-scrolled::after{ transform:scaleX(1); }

body .asm-zero-header__bar{
  position:relative !important; min-height:74px !important;
  padding:0 clamp(18px,3vw,40px) !important;
  transition:min-height .4s var(--asm-ease) !important;
}
body .asm-zero-header.is-scrolled .asm-zero-header__bar{ min-height:62px !important; }

/* ---------- BURGER — three bars become a precise stack, red on hover ---------- */
body .asm-zero-header__burger{
  width:42px !important; height:42px !important; border:1px solid var(--asm-line-2) !important; border-radius:0 !important;
  background:transparent !important; display:inline-flex !important; flex-direction:column !important;
  align-items:center !important; justify-content:center !important; gap:5px !important;
  transition:border-color .3s var(--asm-ease) !important;
}
body .asm-zero-header__burger span{
  display:block !important; width:18px !important; height:1.5px !important; background:var(--asm-ink) !important; border-radius:0 !important;
  transition:background .3s var(--asm-ease), width .3s var(--asm-ease), transform .3s var(--asm-ease) !important;
}
body .asm-zero-header__burger span:nth-child(2){ width:12px !important; align-self:center !important; }
body .asm-zero-header__burger:hover{ border-color:var(--asm-red) !important; }
body .asm-zero-header__burger:hover span{ background:var(--asm-red-hi) !important; width:18px !important; }

/* ---------- LOGO — emblem at top, wordmark when scrolled ---------- */
body .asm-zero-header__logo{ position:relative !important; display:inline-flex !important; align-items:center !important; }
body .asm-zero-header__logo-emblem,
body .asm-zero-header__logo-wordmark{
  height:auto !important; display:block !important; transition:opacity .4s var(--asm-ease), transform .4s var(--asm-ease) !important;
}
body .asm-zero-header__logo-emblem{ max-width:200px !important; opacity:1 !important; }
body .asm-zero-header__logo-wordmark{ max-width:210px !important; position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) scale(.96) !important; opacity:0 !important; }
body .asm-zero-header.is-scrolled .asm-zero-header__logo-emblem{ opacity:0 !important; }
body .asm-zero-header.is-scrolled .asm-zero-header__logo-wordmark{ opacity:1 !important; transform:translate(-50%,-50%) scale(1) !important; }

/* ---------- NAV LINKS — mono telemetry + ignition underline ---------- */
body .asm-zero-header__link,
body .asm-zero-dd__toggle{
  position:relative !important; background:transparent !important; border:none !important;
  display:inline-flex !important; align-items:center !important; gap:7px !important;
  padding:8px 2px !important; color:var(--asm-ink-2) !important; cursor:pointer !important;
  font-family:"Space Mono",monospace !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important; text-decoration:none !important;
  transition:color .25s var(--asm-ease) !important;
}
body .asm-zero-header__link::after,
body .asm-zero-dd__toggle::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px; background:var(--asm-red-hi);
  transform:scaleX(0); transform-origin:left; transition:transform .3s var(--asm-ease) !important;
}
body .asm-zero-header__link:hover,
body .asm-zero-dd__toggle:hover{ color:#fff !important; }
body .asm-zero-header__link:hover::after,
body .asm-zero-dd__toggle:hover::after,
body .asm-zero-dd[aria-expanded="true"] .asm-zero-dd__toggle::after,
body .asm-zero-dd__toggle[aria-expanded="true"]::after{ transform:scaleX(1) !important; }

/* dropdown arrow — small chevron that flips */
body .asm-zero-dd__arrow{
  width:7px !important; height:7px !important; border-right:1.5px solid currentColor !important; border-bottom:1.5px solid currentColor !important;
  transform:rotate(45deg) translateY(-2px) !important; transition:transform .3s var(--asm-ease) !important; opacity:.8;
}
body .asm-zero-dd__toggle[aria-expanded="true"] .asm-zero-dd__arrow{ transform:rotate(-135deg) translateY(2px) !important; }

/* ---------- DROPDOWN MENU — engineered panel ---------- */
body .asm-zero-dd{ position:relative !important; }
body .asm-zero-dd__menu{
  position:absolute !important; top:calc(100% + 14px) !important; left:0 !important; min-width:300px !important;
  background:var(--asm-panel) !important; border:1px solid var(--asm-line) !important;
  box-shadow:0 30px 70px rgba(0,0,0,.6) !important; padding:6px !important; z-index:1000003 !important;
}
/* a red hairline along the menu top + a tick in the corner */
body .asm-zero-dd__menu::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, var(--asm-red-hi), var(--asm-red-deep) 60%, transparent); pointer-events:none;
}
body .asm-zero-dd__menu a{
  position:relative !important; display:flex !important; align-items:center !important; min-height:50px !important;
  padding:0 18px 0 30px !important; color:var(--asm-ink-2) !important; text-decoration:none !important;
  font-family:"Plus Jakarta Sans",sans-serif !important; font-size:13px !important; font-weight:600 !important;
  letter-spacing:.01em !important; border-bottom:1px solid var(--asm-line) !important;
  transition:color .22s var(--asm-ease), padding-left .25s var(--asm-ease), background .22s var(--asm-ease) !important;
}
body .asm-zero-dd__menu a:last-child{ border-bottom:none !important; }
/* red diamond node before each item, arms on hover */
body .asm-zero-dd__menu a::before{
  content:""; position:absolute; left:14px; top:50%; width:5px; height:5px; background:var(--asm-red); transform:translateY(-50%) rotate(45deg); opacity:.5;
  transition:opacity .22s var(--asm-ease), transform .22s var(--asm-ease) !important;
}
body .asm-zero-dd__menu a:hover{ color:#fff !important; padding-left:36px !important; background:rgba(255,255,255,.02) !important; }
body .asm-zero-dd__menu a:hover::before{ opacity:1 !important; transform:translateY(-50%) rotate(45deg) scale(1.3) !important; }

/* ---------- CTA — bracketed ignition button (Find A Dealer) ---------- */
body .asm-zero-header__cta{
  position:relative !important; overflow:hidden !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:44px !important; padding:0 22px !important; border-radius:0 !important;
  background:transparent !important; border:1px solid var(--asm-line-2) !important; color:var(--asm-ink) !important; text-decoration:none !important;
  font-family:"Space Mono",monospace !important; font-size:11px !important; font-weight:700 !important;
  letter-spacing:.18em !important; text-transform:uppercase !important; z-index:0 !important;
  transition:color .3s var(--asm-ease), border-color .3s var(--asm-ease) !important;
}
body .asm-zero-header__cta::after{
  content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,var(--asm-red-hi),var(--asm-red-deep));
  transform:scaleY(0); transform-origin:bottom; transition:transform .34s var(--asm-ease-out) !important;
}
body .asm-zero-header__cta:hover{ color:#fff !important; border-color:var(--asm-red) !important; }
body .asm-zero-header__cta:hover::after{ transform:scaleY(1) !important; }

/* ---------- CART — square tile + mono count tag ---------- */
body .asm-zero-header__cart{
  position:relative !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:42px !important; height:42px !important; border:1px solid var(--asm-line-2) !important; border-radius:0 !important;
  color:var(--asm-ink) !important; transition:border-color .3s var(--asm-ease), color .3s var(--asm-ease) !important;
}
body .asm-zero-header__cart svg{ width:19px !important; height:19px !important; fill:none !important; stroke:currentColor !important; stroke-width:1.4 !important; }
body .asm-zero-header__cart:hover{ border-color:var(--asm-red) !important; color:#fff !important; }
body .asm-zero-header__cart-count{
  position:absolute !important; top:-8px !important; right:-8px !important; min-width:18px !important; height:18px !important; padding:0 4px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:var(--asm-red) !important; color:#fff !important; border-radius:0 !important;
  font-family:"Space Mono",monospace !important; font-size:10px !important; font-weight:700 !important; letter-spacing:0 !important; line-height:1 !important;
}

/* ---------- CART PANEL — engineered build ledger ---------- */
body .asm-zero-cartpanel__overlay{
  background:radial-gradient(circle at 80% 10%, rgba(193,18,31,.08) 0%, rgba(193,18,31,0) 42%), rgba(2,3,4,.80) !important;
  backdrop-filter:blur(6px) !important; -webkit-backdrop-filter:blur(6px) !important;
}
body .asm-zero-cartpanel__panel{
  width:min(420px,94vw) !important;
  background:linear-gradient(180deg,var(--asm-base),var(--asm-void)) !important;
  border-left:1px solid var(--asm-line) !important; box-shadow:-48px 0 120px rgba(0,0,0,.66) !important;
  position:relative !important; overflow:hidden !important;
}
body .asm-zero-cartpanel__panel::before{
  content:""; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg, var(--asm-red-hi), var(--asm-red-deep) 60%, transparent); pointer-events:none; z-index:3;
}
body .asm-zero-cartpanel__top{
  display:flex !important; align-items:flex-start !important; justify-content:space-between !important;
  padding:26px 26px 20px !important; border-bottom:1px solid var(--asm-line) !important;
}
body .asm-zero-cartpanel__eyebrow{
  font-family:"Space Mono",monospace !important; font-size:10px !important; font-weight:700 !important;
  letter-spacing:.24em !important; text-transform:uppercase !important; color:var(--asm-red-hi) !important; margin-bottom:8px !important;
}
body .asm-zero-cartpanel__title{
  font-family:"Archivo Expanded","Archivo",sans-serif !important; font-weight:800 !important; text-transform:uppercase !important;
  letter-spacing:-.01em !important; color:var(--asm-ink) !important; font-size:19px !important; margin:0 !important; line-height:1.05 !important;
}
/* reuse the bracket close control from the menu */
body .asm-zero-cartpanel__close{
  position:relative !important; width:42px !important; height:42px !important; border:none !important; background:transparent !important;
  color:transparent !important; font-size:0 !important; border-radius:0 !important; transition:transform .45s var(--asm-ease) !important; flex:0 0 auto !important;
}
body .asm-zero-cartpanel__close::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left top/8px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left top/1px 8px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right top/8px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right top/1px 8px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left bottom/8px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) left bottom/1px 8px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right bottom/8px 1px no-repeat,
    linear-gradient(var(--asm-line-2),var(--asm-line-2)) right bottom/1px 8px no-repeat;
  transition:background .3s var(--asm-ease) !important;
}
body .asm-zero-cartpanel__close::after{
  content:""; position:absolute; left:50%; top:50%; width:16px; height:16px;
  background:linear-gradient(var(--asm-ink-2),var(--asm-ink-2)) center/16px 1px no-repeat,linear-gradient(var(--asm-ink-2),var(--asm-ink-2)) center/1px 16px no-repeat;
  transform:translate(-50%,-50%) rotate(45deg); transition:background .3s var(--asm-ease) !important;
}
body .asm-zero-cartpanel__close:hover{ transform:rotate(90deg) !important; }
body .asm-zero-cartpanel__close:hover::after{ background:linear-gradient(#fff,#fff) center/16px 1px no-repeat,linear-gradient(#fff,#fff) center/1px 16px no-repeat; }

body .asm-zero-cartpanel__body{ padding:24px 26px !important; }
body .asm-zero-cartpanel__note{
  color:var(--asm-ink-2) !important; font-family:"Plus Jakarta Sans",sans-serif !important; font-size:14px !important; line-height:1.6 !important;
  padding:14px 16px !important; background:var(--asm-panel) !important; border:1px solid var(--asm-line) !important; border-left:2px solid var(--asm-red) !important; margin-bottom:22px !important;
}
body .asm-zero-cartpanel__meta{ border-top:1px solid var(--asm-line) !important; }
body .asm-zero-cartpanel__line{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  padding:16px 0 !important; border-bottom:1px solid var(--asm-line) !important;
}
body .asm-zero-cartpanel__label{
  font-family:"Space Mono",monospace !important; font-size:11px !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--asm-ink-3) !important;
}
body .asm-zero-cartpanel__value{
  font-family:"Space Mono",monospace !important; font-size:15px !important; font-weight:700 !important; color:var(--asm-ink) !important;
}
body .asm-zero-cartpanel__line:last-child .asm-zero-cartpanel__value{ color:var(--asm-red-hi) !important; }
body .asm-zero-cartpanel__actions{ display:flex !important; flex-direction:column !important; gap:12px !important; margin-top:24px !important; }
body .asm-zero-cartpanel__btn{
  position:relative !important; overflow:hidden !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  min-height:54px !important; padding:0 22px !important; border-radius:0 !important; text-decoration:none !important; cursor:pointer !important;
  font-family:"Space Mono",monospace !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.18em !important; text-transform:uppercase !important;
  transition:color .3s var(--asm-ease), border-color .3s var(--asm-ease) !important; z-index:0 !important;
}
body .asm-zero-cartpanel__btn--secondary{ background:transparent !important; border:1px solid var(--asm-line-2) !important; color:var(--asm-ink) !important; }
body .asm-zero-cartpanel__btn--secondary:hover{ border-color:var(--asm-line-br) !important; background:rgba(255,255,255,.02) !important; }
body .asm-zero-cartpanel__btn--primary{ background:transparent !important; border:1px solid var(--asm-red) !important; color:#fff !important; }
body .asm-zero-cartpanel__btn--primary::after{
  content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,var(--asm-red-hi),var(--asm-red-deep));
  transform:scaleY(0); transform-origin:bottom; transition:transform .34s var(--asm-ease-out) !important;
}
body .asm-zero-cartpanel__btn--primary:hover::after{ transform:scaleY(1) !important; }

/* ---------- MOBILE HEADER REFINEMENTS ---------- */
@media (max-width:1024px){
  body .asm-zero-header__desktop-left,
  body .asm-zero-header__desktop-right{ display:none !important; }
}
@media (max-width:767px){
  body .asm-zero-header__bar{ min-height:64px !important; }
  body .asm-zero-header.is-scrolled .asm-zero-header__bar{ min-height:58px !important; }
  body .asm-zero-header__logo-emblem{ max-width:172px !important; }
  body .asm-zero-header__logo-wordmark{ max-width:178px !important; }
  body .asm-zero-header__burger{ width:40px !important; height:40px !important; }
  body .asm-zero-header__cart{ width:40px !important; height:40px !important; }
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  body .asm-zero-header,
  body .asm-zero-header::after,
  body .asm-zero-header__bar,
  body .asm-zero-header__logo-emblem,
  body .asm-zero-header__logo-wordmark,
  body .asm-zero-header__link::after,
  body .asm-zero-dd__toggle::after,
  body .asm-zero-dd__menu a,
  body .asm-zero-header__cta::after,
  body .asm-zero-cartpanel__btn--primary::after{ transition:none !important; }
}

/* ============================== 4 · SHOP / ARCHIVE — "LOT DOSSIER" ==============================
   Best-vision redesign. Each product reads like a lot card at a performance
   auction: mono lot-index, telemetry price, and a data overlay that ARMS over
   the image on hover (corner crosshair + rising VIEW cue), image resolves to
   colour, red baseline ignites. Calm + editorial at rest, instrument on hover.
   IMAGE-SAFETY BAKED IN: explicit min-heights, images forced visible, only the
   floating icon layer hidden — never the image/action wrappers themselves.
   3 / 2 / 1 grid. Scoped to archive + woocommerce bodies.
   ================================================================================ */

/* full archive surface */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag,
body.tax-product_brand,
body.woocommerce-page.woocommerce-shop,
body.woocommerce.archive,
body.woocommerce-shop{
  background:
    radial-gradient(circle at 76% 16%, rgba(120,0,0,.12) 0%, rgba(120,0,0,0) 34%),
    linear-gradient(180deg,var(--c-void) 0%,var(--c-base) 42%,var(--c-void) 100%) !important;
}

/* faint engineering grid, masked */
body.post-type-archive-product::before,
body.tax-product_cat::before,
body.tax-product_tag::before,
body.tax-product_brand::before,
body.woocommerce-shop::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.32;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(circle at 50% 18%,#000 0%,transparent 72%);
  mask-image:radial-gradient(circle at 50% 18%,#000 0%,transparent 72%);
}

/* unbox scaffolding to full width */
body.post-type-archive-product .main-page-wrapper,body.post-type-archive-product .site-content,
body.post-type-archive-product .content-layout-wrapper,body.post-type-archive-product .container,
body.post-type-archive-product .row,body.post-type-archive-product .wd-content-layout,
body.post-type-archive-product .wd-content-area,
body.tax-product_cat .main-page-wrapper,body.tax-product_cat .site-content,
body.tax-product_cat .content-layout-wrapper,body.tax-product_cat .container,
body.tax-product_cat .wd-content-layout,body.tax-product_cat .wd-content-area,
body.tax-product_tag .main-page-wrapper,body.tax-product_tag .site-content,body.tax-product_tag .wd-content-layout,
body.tax-product_brand .main-page-wrapper,body.tax-product_brand .site-content,body.tax-product_brand .wd-content-layout,
body.woocommerce-page .container,body.woocommerce-page .container-fluid,
body.woocommerce-page .main-page-wrapper,body.woocommerce-page .site-content,
body.woocommerce-page .wd-content-layout,body.woocommerce-page .wd-content-area{
  width:100% !important; max-width:100% !important; margin:0 !important;
  padding-left:0 !important; padding-right:0 !important; background:transparent !important;
  position:relative; z-index:1;
}
body.post-type-archive-product .wd-content-layout,body.post-type-archive-product .row,
body.tax-product_cat .wd-content-layout,body.tax-product_cat .row{ display:block !important; }

/* shop top bar */
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.woocommerce-shop .woocommerce-products-header{
  position:relative; z-index:1; padding:var(--pad) var(--pad) 0 !important; background:transparent !important; border:none !important;
}
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.woocommerce-shop .woocommerce-products-header__title{
  font-family:var(--f-display) !important; font-weight:800 !important; text-transform:uppercase !important;
  letter-spacing:-.02em !important; color:var(--ink) !important; margin:0 0 6px !important;
}
body.post-type-archive-product .shop-loop-head,body.tax-product_cat .shop-loop-head,
body.post-type-archive-product .wd-shop-tools,body.tax-product_cat .wd-shop-tools,
body.woocommerce-shop .wd-shop-tools{
  position:relative; z-index:1; margin:14px var(--pad) 0 !important; padding:14px 0 !important;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  display:flex !important; align-items:center !important; justify-content:space-between !important; flex-wrap:wrap !important; gap:12px !important; background:transparent !important;
}
body.post-type-archive-product .woocommerce-result-count,body.tax-product_cat .woocommerce-result-count,
body.woocommerce-shop .woocommerce-result-count{
  margin:0 !important; color:var(--ink-3) !important; font-family:var(--f-mono) !important;
  font-size:11px !important; letter-spacing:.16em !important; text-transform:uppercase !important;
}
body.post-type-archive-product .woocommerce-ordering select,body.tax-product_cat .woocommerce-ordering select,
body.post-type-archive-product .orderby,body.tax-product_cat .orderby,body.woocommerce-shop .orderby{
  background:var(--c-panel) !important; color:var(--ink) !important; border:1px solid var(--line-2) !important; border-radius:0 !important;
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.12em !important; text-transform:uppercase !important; padding:10px 14px !important;
}
/* breadcrumb */
body.post-type-archive-product .woocommerce-breadcrumb,body.tax-product_cat .woocommerce-breadcrumb,
body.woocommerce-shop .woocommerce-breadcrumb{
  position:relative; z-index:1; margin:0 var(--pad) !important; padding:18px 0 0 !important;
  font-family:var(--f-mono) !important; font-size:10px !important; letter-spacing:.16em !important; text-transform:uppercase !important; color:var(--ink-3) !important;
}
body.post-type-archive-product .woocommerce-breadcrumb a,body.tax-product_cat .woocommerce-breadcrumb a{ color:var(--ink-2) !important; }

/* ---------- GRID ---------- */
body.post-type-archive-product .products.wd-products,body.tax-product_cat .products.wd-products,
body.tax-product_tag .products.wd-products,body.tax-product_brand .products.wd-products,
body.woocommerce-shop .products.wd-products,
body.post-type-archive-product ul.products,body.tax-product_cat ul.products,body.woocommerce-shop ul.products,
body.woocommerce-page .products,body.woocommerce-page .wd-products{
  position:relative; z-index:1; width:100% !important; max-width:100% !important; margin:0 !important;
  padding:clamp(28px,4vw,56px) var(--pad) clamp(60px,8vw,110px) !important;
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1px !important; background:var(--line) !important; border:1px solid var(--line) !important;
  box-sizing:border-box !important; overflow:visible !important;
}

/* ---------- LOT CARD ---------- */
body.post-type-archive-product .products .product,body.tax-product_cat .products .product,
body.tax-product_tag .products .product,body.tax-product_brand .products .product,
body.woocommerce-shop .products .product,body.woocommerce-page .wd-product{
  position:relative !important; overflow:hidden !important; counter-increment:asmlot;
  display:block !important; visibility:visible !important; opacity:1 !important;
  margin:0 !important; padding:0 0 22px !important; background:var(--c-base) !important;
  transition:background .34s var(--ease) !important;
}
body.post-type-archive-product .products,body.tax-product_cat .products,body.woocommerce-shop .products,body.woocommerce-page .wd-products{ counter-reset:asmlot; }
body.woocommerce-page .wd-product:hover,
body.post-type-archive-product .products .product:hover,
body.tax-product_cat .products .product:hover{ background:var(--c-panel) !important; }

/* keep wrapper visible */
body.post-type-archive-product .product-wrapper,body.tax-product_cat .product-wrapper,
body.woocommerce-shop .product-wrapper,body.woocommerce-page .product-wrapper{
  display:block !important; visibility:visible !important; opacity:1 !important; position:relative !important; overflow:visible !important; background:transparent !important;
}

/* lot index (mono, top-left) */
body.post-type-archive-product .products .product::before,
body.tax-product_cat .products .product::before,
body.woocommerce-shop .products .product::before,
body.woocommerce-page .wd-product::before{
  content:"LOT " counter(asmlot,decimal-leading-zero);
  position:absolute; top:12px; left:12px; z-index:6; pointer-events:none;
  font-family:var(--f-mono) !important; font-size:9px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-3); transition:color .34s var(--ease);
}
/* red baseline that ignites on hover */
body.post-type-archive-product .products .product::after,
body.tax-product_cat .products .product::after,
body.woocommerce-shop .products .product::after,
body.woocommerce-page .wd-product::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; z-index:6; pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--red-hi),transparent);
  transform:scaleX(0); transform-origin:left; transition:transform .42s var(--ease);
}
body.woocommerce-page .wd-product:hover::before,
body.post-type-archive-product .products .product:hover::before{ color:var(--red-hi) !important; }
body.woocommerce-page .wd-product:hover::after,
body.post-type-archive-product .products .product:hover::after{ transform:scaleX(1); }

/* ---------- IMAGE STAGE (safety-first) ---------- */
body.post-type-archive-product .product-element-top,body.tax-product_cat .product-element-top,
body.tax-product_tag .product-element-top,body.tax-product_brand .product-element-top,
body.woocommerce-shop .product-element-top,
body.post-type-archive-product .product-image-wrap,body.tax-product_cat .product-image-wrap,
body.woocommerce-shop .product-image-wrap,
body.post-type-archive-product .wrap-product-img,body.tax-product_cat .wrap-product-img,
body.post-type-archive-product .product-image-link,body.tax-product_cat .product-image-link,
body.woocommerce-shop .product-image-link,
body.post-type-archive-product .woocommerce-LoopProduct-link,body.tax-product_cat .woocommerce-LoopProduct-link,
body.woocommerce-page .product-element-top{
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; z-index:3 !important;
  width:100% !important; max-width:100% !important; min-height:260px !important; height:auto !important;
  overflow:hidden !important; background:var(--c-void) !important; pointer-events:auto !important;
  border-bottom:1px solid var(--line) !important;
}
/* product image */
body.post-type-archive-product .products img,body.tax-product_cat .products img,
body.tax-product_tag .products img,body.tax-product_brand .products img,
body.woocommerce-shop .products img,body.woocommerce-page .product-element-top img,
body.post-type-archive-product img.attachment-woocommerce_thumbnail,body.tax-product_cat img.attachment-woocommerce_thumbnail,
body.woocommerce-shop img.attachment-woocommerce_thumbnail,
body.post-type-archive-product img.wp-post-image,body.tax-product_cat img.wp-post-image,body.woocommerce-shop img.wp-post-image{
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:100% !important; max-width:100% !important; height:260px !important; min-height:260px !important; object-fit:cover !important;
  position:relative !important; z-index:4 !important;
  filter:grayscale(.32) brightness(.84) contrast(1.06) !important;
  transition:transform .6s var(--ease), filter .4s var(--ease) !important;
}
body.woocommerce-page .wd-product:hover img,
body.post-type-archive-product .products .product:hover img,
body.tax-product_cat .products .product:hover img{
  transform:scale(1.05) !important; filter:grayscale(0) brightness(1) contrast(1.08) !important;
}
/* lazy recovery */
body.post-type-archive-product img.lazyload,body.post-type-archive-product img.lazyloaded,body.post-type-archive-product img.woodmart-lazy-load,
body.tax-product_cat img.lazyload,body.tax-product_cat img.lazyloaded,body.tax-product_cat img.woodmart-lazy-load,
body.woocommerce-shop img.lazyload,body.woocommerce-shop img.lazyloaded{ opacity:1 !important; visibility:visible !important; }

/* ---------- SIGNATURE: DATA OVERLAY that arms on hover ---------- */
/* a corner crosshair top-right of the image */
body.post-type-archive-product .product-element-top::after,
body.tax-product_cat .product-element-top::after,
body.woocommerce-shop .product-element-top::after,
body.woocommerce-page .product-element-top::after{
  content:""; position:absolute; top:12px; right:12px; width:16px; height:16px; z-index:5; pointer-events:none;
  background:
    linear-gradient(var(--red-hi),var(--red-hi)) top right/10px 1px no-repeat,
    linear-gradient(var(--red-hi),var(--red-hi)) top right/1px 10px no-repeat;
  opacity:0; transform:translate(-4px,4px); transition:opacity .34s var(--ease), transform .34s var(--ease);
}
body.woocommerce-page .wd-product:hover .product-element-top::after,
body.post-type-archive-product .products .product:hover .product-element-top::after,
body.tax-product_cat .products .product:hover .product-element-top::after{ opacity:1; transform:translate(0,0); }
/* a thin gradient + VIEW cue rising from the bottom of the image */
body.post-type-archive-product .product-element-top::before,
body.tax-product_cat .product-element-top::before,
body.woocommerce-shop .product-element-top::before,
body.woocommerce-page .product-element-top::before{
  content:"VIEW BUILD →"; position:absolute; left:0; right:0; bottom:0; z-index:5; pointer-events:none;
  padding:36px 16px 12px; text-align:left;
  font-family:var(--f-mono) !important; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#fff;
  background:linear-gradient(180deg, transparent, rgba(4,5,6,.72));
  opacity:0; transform:translateY(8px); transition:opacity .34s var(--ease), transform .34s var(--ease);
}
body.woocommerce-page .wd-product:hover .product-element-top::before,
body.post-type-archive-product .products .product:hover .product-element-top::before,
body.tax-product_cat .products .product:hover .product-element-top::before{ opacity:1; transform:translateY(0); }

/* ---------- CONTENT ---------- */
body.post-type-archive-product .product-element-bottom,body.tax-product_cat .product-element-bottom,
body.woocommerce-shop .product-element-bottom,body.woocommerce-page .product-element-bottom,
body.post-type-archive-product .wrap-product-loop,body.tax-product_cat .wrap-product-loop,
body.post-type-archive-product .wd-product-content,body.tax-product_cat .wd-product-content,body.woocommerce-shop .wd-product-content{
  display:block !important; visibility:visible !important; opacity:1 !important;
  margin:0 !important; padding:20px 20px 0 !important; text-align:left !important; background:transparent !important;
}
/* title */
body.post-type-archive-product .wd-entities-title,body.tax-product_cat .wd-entities-title,
body.woocommerce-shop .wd-entities-title,body.woocommerce-page .wd-entities-title,
body.post-type-archive-product .woocommerce-loop-product__title,body.tax-product_cat .woocommerce-loop-product__title{
  display:block !important; visibility:visible !important; opacity:1 !important;
  margin:0 0 10px !important; color:var(--ink) !important; font-family:var(--f-display) !important; font-weight:700 !important;
  font-size:clamp(15px,1.3vw,18px) !important; line-height:1.18 !important; letter-spacing:-.01em !important; text-transform:uppercase !important;
}
body.post-type-archive-product .wd-entities-title a,body.tax-product_cat .wd-entities-title a,body.woocommerce-shop .wd-entities-title a{ color:var(--ink) !important; }
/* price */
body.post-type-archive-product .price,body.tax-product_cat .price,body.woocommerce-shop .price,body.woocommerce-page .price{
  display:block !important; visibility:visible !important; opacity:1 !important;
  margin:0 0 18px !important; color:var(--ink) !important; font-family:var(--f-mono) !important;
  font-size:14px !important; font-weight:700 !important; letter-spacing:.04em !important; text-align:left !important;
}
body.post-type-archive-product .price del,body.tax-product_cat .price del{ color:var(--ink-3) !important; }
body.post-type-archive-product .price ins,body.tax-product_cat .price ins{ color:var(--red-hi) !important; text-decoration:none !important; }
/* hide rating/sku only */
body.post-type-archive-product .star-rating,body.tax-product_cat .star-rating,body.woocommerce-shop .star-rating,
body.post-type-archive-product .wd-product-sku,body.tax-product_cat .wd-product-sku,
body.post-type-archive-product .posted_in,body.tax-product_cat .posted_in{ display:none !important; }
/* CTA */
body.post-type-archive-product .products .button,body.tax-product_cat .products .button,
body.woocommerce-shop .products .button,body.woocommerce-page .wd-product .button,
body.woocommerce-page .wd-product .add_to_cart_button,
body.post-type-archive-product .asm-view-product-btn,body.tax-product_cat .asm-view-product-btn{
  display:inline-flex !important; visibility:visible !important; opacity:1 !important;
  align-items:center !important; justify-content:center !important;
  width:calc(100% - 40px) !important; min-height:56px !important; margin:0 20px !important; padding:0 20px !important; border-radius:0 !important;
}

/* hide ONLY floating icon layer (never image/action wrappers) */
body.post-type-archive-product .product-element-top .wd-buttons,body.tax-product_cat .product-element-top .wd-buttons,
body.woocommerce-shop .product-element-top .wd-buttons,
body.post-type-archive-product .product-element-top .wd-quick-view-btn,body.tax-product_cat .product-element-top .wd-quick-view-btn,
body.post-type-archive-product .product-element-top .quick-view,body.tax-product_cat .product-element-top .quick-view,
body.post-type-archive-product .product-element-top .wd-compare-btn,body.tax-product_cat .product-element-top .wd-compare-btn,
body.post-type-archive-product .product-element-top .wd-wishlist-btn,body.tax-product_cat .product-element-top .wd-wishlist-btn,
body.woocommerce-shop .product-element-top .wd-wishlist-btn{
  display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important;
}
body.post-type-archive-product .wd-action-btn,body.tax-product_cat .wd-action-btn,body.woocommerce-shop .wd-action-btn,
body.post-type-archive-product .wd-tools-element,body.tax-product_cat .wd-tools-element,body.woocommerce-shop .wd-tools-element{
  display:initial !important; visibility:visible !important; opacity:1 !important;
}

/* ---------- PAGINATION ---------- */
body.post-type-archive-product nav.woocommerce-pagination,body.tax-product_cat nav.woocommerce-pagination,
body.woocommerce-shop nav.woocommerce-pagination{
  position:relative; z-index:1; margin:0 var(--pad) clamp(50px,7vw,90px) !important; text-align:center !important;
}
body.post-type-archive-product nav.woocommerce-pagination ul,body.tax-product_cat nav.woocommerce-pagination ul{
  border:none !important; display:inline-flex !important; gap:8px !important; flex-wrap:wrap !important; margin:0 !important; padding:0 !important;
}
body.post-type-archive-product nav.woocommerce-pagination ul li,body.tax-product_cat nav.woocommerce-pagination ul li{ border:none !important; }
body.post-type-archive-product nav.woocommerce-pagination a,body.post-type-archive-product nav.woocommerce-pagination span,
body.tax-product_cat nav.woocommerce-pagination a,body.tax-product_cat nav.woocommerce-pagination span{
  min-width:46px !important; height:46px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:var(--c-panel) !important; border:1px solid var(--line-2) !important; color:var(--ink) !important;
  font-family:var(--f-mono) !important; font-size:13px !important; transition:border-color .25s var(--ease), color .25s var(--ease) !important;
}
body.post-type-archive-product nav.woocommerce-pagination a:hover,body.tax-product_cat nav.woocommerce-pagination a:hover{ border-color:var(--red) !important; color:#fff !important; }
body.post-type-archive-product nav.woocommerce-pagination .current,body.tax-product_cat nav.woocommerce-pagination .current{ background:var(--red-deep) !important; border-color:var(--red) !important; color:#fff !important; }

/* ---------- SIDEBAR widgets ---------- */
body.post-type-archive-product .wd-sidebar .widget,body.tax-product_cat .wd-sidebar .widget,body.woocommerce-page .widget-area .widget{
  background:var(--c-panel) !important; border:1px solid var(--line) !important; padding:20px !important; margin-bottom:14px !important;
}
body.post-type-archive-product .wd-sidebar .widget-title,body.tax-product_cat .wd-sidebar .widget-title,body.woocommerce-page .widget-area .widget-title{
  font-family:var(--f-mono) !important; font-size:11px !important; letter-spacing:.2em !important; text-transform:uppercase !important;
  color:var(--ink-3) !important; border-bottom:1px solid var(--line) !important; padding-bottom:12px !important; margin-bottom:14px !important;
}
body.post-type-archive-product .asm-shop-hero{ position:relative !important; left:50% !important; margin-left:-50vw !important; width:100vw !important; max-width:100vw !important; z-index:1; }

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  body.post-type-archive-product .products.wd-products,body.tax-product_cat .products.wd-products,
  body.tax-product_tag .products.wd-products,body.tax-product_brand .products.wd-products,
  body.woocommerce-shop .products.wd-products,body.woocommerce-page .products,body.woocommerce-page .wd-products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:600px){
  body.post-type-archive-product .products.wd-products,body.tax-product_cat .products.wd-products,
  body.tax-product_tag .products.wd-products,body.tax-product_brand .products.wd-products,
  body.woocommerce-shop .products.wd-products,body.woocommerce-page .products,body.woocommerce-page .wd-products{
    grid-template-columns:1fr !important;
  }
  body.post-type-archive-product .product-element-top,body.tax-product_cat .product-element-top,
  body.woocommerce-shop .product-element-top,body.woocommerce-page .product-element-top{ min-height:220px !important; }
  body.post-type-archive-product .products img,body.tax-product_cat .products img,body.woocommerce-shop .products img{ height:220px !important; min-height:220px !important; }
}

/* =========================================================
   ASM SPORTS TECH — PRODUCT GRID · "TORQUE CARD" (fresh vision)
   Paste at the very bottom of Additional CSS.
   Components on a lit workbench: floated tiles w/ gutters, overhead
   light gradient, hover tilt-up, a red measurement-line that sweeps
   across the image, a parts-label baseline (name | price), and a
   full-width red-fill CTA pinned to the foot. Image-safety baked in.
   Explicit colours (no variable dependency). Audited: no destructive
   hides on image/title/price/action wrappers.
   ========================================================= */

/* GRID — floated tiles, real gutters, transparent track */
body .wd-products,
body .products.wd-products,
body ul.products{
  position:relative !important; z-index:2 !important;
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(16px,1.8vw,30px) !important;
  width:100% !important; max-width:100% !important; margin:0 !important;
  padding:clamp(24px,3vw,48px) clamp(18px,4vw,56px) clamp(60px,7vw,110px) !important;
  background:transparent !important; border:none !important; box-sizing:border-box !important;
}

/* CARD — lit tile */
body .wd-products .wd-product,
body .products .product,
body .product-grid-item{
  position:relative !important; overflow:hidden !important;
  display:flex !important; flex-direction:column !important; min-height:100% !important;
  margin:0 !important; padding:0 0 86px !important;            /* room for pinned CTA */
  background:#080a0c !important;
  border:1px solid rgba(255,255,255,.10) !important; border-radius:0 !important;
  box-shadow:0 18px 44px rgba(0,0,0,.28) !important;
  transition:transform .4s cubic-bezier(.16,1,.3,1), border-color .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1) !important;
}
/* overhead workbench light */
body .wd-products .wd-product::before,
body .products .product::before,
body .product-grid-item::before{
  content:"" !important; position:absolute !important; top:0 !important; left:0 !important; right:0 !important; height:60% !important; z-index:1 !important; pointer-events:none !important;
  background:radial-gradient(120% 80% at 50% -20%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 60%) !important;
  transition:opacity .4s cubic-bezier(.16,1,.3,1) !important; opacity:.8 !important;
}
body .wd-products .wd-product:hover,
body .products .product:hover,
body .product-grid-item:hover{
  transform:translateY(-8px) !important;
  border-color:rgba(193,18,31,.4) !important;
  box-shadow:0 34px 80px rgba(0,0,0,.4), 0 0 0 1px rgba(193,18,31,.14) !important;
}
body .wd-products .wd-product:hover::before,
body .products .product:hover::before{ opacity:1 !important; }

body .wd-products .product-wrapper,
body .products .product-wrapper,
body .product-grid-item .product-wrapper{
  display:flex !important; flex-direction:column !important; height:100% !important; position:relative !important; overflow:visible !important; background:transparent !important; border-radius:0 !important;
}

/* IMAGE STAGE (safety-first) */
body .wd-products .product-element-top,
body .products .product-element-top,
body .product-grid-item .product-element-top,
body .wd-products .product-image-wrap,
body .products .product-image-wrap,
body .wd-products .wrap-product-img,
body .products .wrap-product-img,
body .wd-products .product-image-link,
body .products .product-image-link,
body .wd-products .woocommerce-LoopProduct-link,
body .products .woocommerce-LoopProduct-link{
  display:block !important; visibility:visible !important; opacity:1 !important;
  position:relative !important; z-index:3 !important;
  width:100% !important; max-width:100% !important; min-height:288px !important; height:auto !important;
  overflow:hidden !important; background:#050608 !important; pointer-events:auto !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important; border-radius:0 !important;
}
body .wd-products img,
body .products img,
body .product-grid-item img,
body img.attachment-woocommerce_thumbnail,
body img.wp-post-image{
  display:block !important; visibility:visible !important; opacity:1 !important;
  width:100% !important; max-width:100% !important; height:288px !important; min-height:288px !important;
  object-fit:cover !important; object-position:center !important; position:relative !important; z-index:4 !important;
  filter:brightness(.9) contrast(1.05) saturate(.97) !important;
  transition:transform .65s cubic-bezier(.16,1,.3,1), filter .42s cubic-bezier(.16,1,.3,1) !important;
}
body .wd-products .wd-product:hover img,
body .products .product:hover img,
body .product-grid-item:hover img{ transform:scale(1.045) !important; filter:brightness(1) contrast(1.07) saturate(1) !important; }
/* lazy recovery */
body .wd-products img.lazyload,body .wd-products img.lazyloaded,body .wd-products img.woodmart-lazy-load,
body .products img.lazyload,body .products img.lazyloaded,body .products img.woodmart-lazy-load{ opacity:1 !important; visibility:visible !important; }

/* SIGNATURE — red measurement-line sweeps across the image bottom on hover */
body .wd-products .product-element-top::after,
body .products .product-element-top::after,
body .product-grid-item .product-element-top::after{
  content:"" !important; position:absolute !important; left:0 !important; bottom:0 !important; height:2px !important; width:100% !important; z-index:6 !important; pointer-events:none !important;
  background:linear-gradient(90deg, transparent, #e11d2a 50%, transparent) !important;
  transform:translateX(-100%) !important; transition:transform .6s cubic-bezier(.16,1,.3,1) !important;
}
body .wd-products .wd-product:hover .product-element-top::after,
body .products .product:hover .product-element-top::after,
body .product-grid-item:hover .product-element-top::after{ transform:translateX(100%) !important; }

/* hide only floating icons */
body .wd-products .product-element-top .wd-buttons,body .products .product-element-top .wd-buttons,
body .wd-products .product-element-top .wd-quick-view-btn,body .products .product-element-top .wd-quick-view-btn,
body .wd-products .product-element-top .quick-view,body .products .product-element-top .quick-view,
body .wd-products .product-element-top .wd-compare-btn,body .products .product-element-top .wd-compare-btn,
body .wd-products .product-element-top .wd-wishlist-btn,body .products .product-element-top .wd-wishlist-btn{
  display:none !important; visibility:hidden !important; opacity:0 !important; pointer-events:none !important;
}
body .wd-action-btn,body .wd-tools-element{ display:initial !important; visibility:visible !important; opacity:1 !important; }

/* CONTENT */
body .wd-products .product-element-bottom,
body .products .product-element-bottom,
body .product-grid-item .product-element-bottom,
body .wd-products .wrap-product-loop,body .products .wrap-product-loop,
body .wd-products .wd-product-content,body .products .wd-product-content{
  display:flex !important; flex-direction:column !important; flex:1 1 auto !important; visibility:visible !important; opacity:1 !important;
  margin:0 !important; padding:22px 22px 0 !important; text-align:left !important; background:transparent !important; position:relative !important; z-index:2 !important;
}
/* TITLE */
body .wd-products .wd-entities-title,
body .products .wd-entities-title,
body .product-grid-item .wd-entities-title,
body .wd-products .woocommerce-loop-product__title,
body .products .woocommerce-loop-product__title{
  display:block !important; visibility:visible !important; opacity:1 !important; margin:0 0 14px !important;
  color:#f4f6f7 !important; font-family:"Archivo Expanded","Archivo","Plus Jakarta Sans",sans-serif !important; font-weight:700 !important;
  font-size:clamp(15px,1.2vw,18px) !important; line-height:1.18 !important; letter-spacing:-.015em !important; text-transform:uppercase !important;
}
body .wd-products .wd-entities-title a,body .products .wd-entities-title a,body .product-grid-item .wd-entities-title a{ color:#f4f6f7 !important; text-decoration:none !important; }
/* PARTS-LABEL baseline: a hairline above the price row */
body .wd-products .price,
body .products .price,
body .product-grid-item .price{
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:8px !important; flex-wrap:wrap !important;
  visibility:visible !important; opacity:1 !important; margin:0 !important; padding:14px 0 4px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  color:#f4f6f7 !important; font-family:"Space Mono","JetBrains Mono",monospace !important; font-size:15px !important; font-weight:700 !important; letter-spacing:.04em !important; text-align:left !important;
}
body .wd-products .price del,body .products .price del{ color:rgba(244,246,247,.34) !important; font-size:12px !important; }
body .wd-products .price ins,body .products .price ins{ color:#e11d2a !important; text-decoration:none !important; }
/* hide clutter */
body .wd-products .star-rating,body .products .star-rating,
body .wd-products .wd-product-sku,body .products .wd-product-sku,
body .wd-products .posted_in,body .products .posted_in{ display:none !important; }

/* CTA — full-width slab pinned to the card foot, fills red from the LEFT */
body .wd-products .button,
body .products .button,
body .wd-products .asm-view-product-btn,body .products .asm-view-product-btn,
body .wd-products .add_to_cart_button,body .products .add_to_cart_button{
  position:absolute !important; left:0 !important; right:0 !important; bottom:0 !important; z-index:7 !important;
  overflow:hidden !important; display:inline-flex !important; visibility:visible !important; opacity:1 !important;
  align-items:center !important; justify-content:center !important;
  width:100% !important; min-height:58px !important; margin:0 !important; padding:0 20px !important; border-radius:0 !important;
  border:none !important; border-top:1px solid rgba(255,255,255,.12) !important;
  background:#0b0d0f !important; color:#f4f6f7 !important;
  font-family:"Space Mono","JetBrains Mono",monospace !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.22em !important; line-height:1 !important; text-transform:uppercase !important; text-decoration:none !important;
  transition:color .3s cubic-bezier(.16,1,.3,1) !important;
}
body .wd-products .button::after,
body .products .button::after,
body .wd-products .add_to_cart_button::after,body .products .add_to_cart_button::after,
body .wd-products .asm-view-product-btn::after,body .products .asm-view-product-btn::after{
  content:"" !important; position:absolute !important; inset:0 !important; z-index:-1 !important;
  background:linear-gradient(90deg,#e11d2a,#7a0c14) !important; transform:scaleX(0) !important; transform-origin:left !important; transition:transform .36s cubic-bezier(.16,1,.3,1) !important;
}
body .wd-products .button:hover,body .products .button:hover,
body .wd-products .add_to_cart_button:hover,body .products .add_to_cart_button:hover,
body .wd-products .asm-view-product-btn:hover,body .products .asm-view-product-btn:hover{ color:#fff !important; }
body .wd-products .button:hover::after,body .products .button:hover::after,
body .wd-products .add_to_cart_button:hover::after,body .products .add_to_cart_button:hover::after,
body .wd-products .asm-view-product-btn:hover::after,body .products .asm-view-product-btn:hover::after{ transform:scaleX(1) !important; }

/* PAGINATION */
body nav.woocommerce-pagination{ display:block !important; visibility:visible !important; opacity:1 !important; position:relative !important; z-index:3 !important; margin:0 clamp(20px,4vw,56px) clamp(58px,7vw,92px) !important; text-align:center !important; }
body nav.woocommerce-pagination ul{ border:none !important; display:inline-flex !important; gap:9px !important; flex-wrap:wrap !important; margin:0 !important; padding:0 !important; }
body nav.woocommerce-pagination ul li{ border:none !important; }
body nav.woocommerce-pagination a,body nav.woocommerce-pagination span{
  min-width:46px !important; height:46px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
  background:#080a0c !important; border:1px solid rgba(255,255,255,.14) !important; border-radius:0 !important; color:rgba(244,246,247,.78) !important;
  font-family:"Space Mono","JetBrains Mono",monospace !important; font-size:12px !important; font-weight:700 !important;
  transition:border-color .25s cubic-bezier(.16,1,.3,1), color .25s, background .25s !important;
}
body nav.woocommerce-pagination a:hover{ border-color:#c1121f !important; color:#fff !important; }
body nav.woocommerce-pagination .current{ background:#7a0c14 !important; border-color:#c1121f !important; color:#fff !important; }

/* RESPONSIVE */
@media (max-width:1180px){
  body .wd-products .product-element-top,body .products .product-element-top,body .product-grid-item .product-element-top{ min-height:256px !important; }
  body .wd-products img,body .products img,body .product-grid-item img{ height:256px !important; min-height:256px !important; }
}
@media (max-width:1024px){
  body .wd-products,body .products.wd-products,ul.products{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; }
}
@media (max-width:767px){
  body .wd-products,body .products.wd-products,ul.products{ grid-template-columns:1fr !important; gap:16px !important; padding:24px 14px 70px !important; }
  body .wd-products .product-element-top,body .products .product-element-top,body .product-grid-item .product-element-top{ min-height:228px !important; }
  body .wd-products img,body .products img,body .product-grid-item img{ height:228px !important; min-height:228px !important; }
  body .wd-products .product-element-bottom,body .products .product-element-bottom{ padding:18px 18px 0 !important; }
}

/* =========================================================
   ASM SPORTS TECH — HIDE WOODMART SHOP CONTROLS + KEEP SPACING
   Fixed version: removes breadcrumb/sidebar/sort controls but
   keeps the product grid positioned correctly under the header.
========================================================= */

/* 1. Hide breadcrumb text: Home / Collections / M2 F87 */
html body .woocommerce-breadcrumb,
html body .wd-breadcrumbs,
html body .woodmart-breadcrumbs,
html body .breadcrumbs,
html body .breadcrumb,
html body nav.breadcrumbs,
html body nav.woocommerce-breadcrumb,
html body .rank-math-breadcrumb,
html body .yoast-breadcrumb {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* 2. Hide Woodmart toolbar controls: Show sidebar / grid icons / Sort */
html body .shop-loop-head,
html body .wd-shop-tools,
html body .wd-shop-tools-wrapper,
html body .wd-shop-tools-holder,
html body .wd-products-shop-view,
html body .wd-products-view,
html body .wd-shop-view,
html body .wd-grid-list,
html body .wd-grid-list-switcher,
html body .wd-show-sidebar-btn,
html body .wd-show-sidebar,
html body .woocommerce-ordering,
html body form.woocommerce-ordering,
html body .woocommerce-result-count,
html body .wd-products-per-page,
html body .wd-per-page {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* 3. Hide any inner toolbar children if Woodmart keeps them alive */
html body .shop-loop-head *,
html body .wd-shop-tools *,
html body .wd-products-shop-view *,
html body .wd-show-sidebar-btn *,
html body .woocommerce-ordering *,
html body .woocommerce-result-count *,
html body .wd-products-per-page * {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

/* 4. Restore correct breathing space after removing the toolbar */
html body .wd-products-wrapper,
html body .products-footer,
html body .shop-content-area,
html body .wd-content-area {
    padding-top: 0 !important;
}

/* 5. Product grid position — this is the important part */
html body .wd-products,
html body .products.wd-products,
html body ul.products {
    margin-top: clamp(42px, 4.5vw, 72px) !important;
    padding-top: clamp(22px, 2.8vw, 42px) !important;
}

/* 6. If your custom hero exists before the grid, keep tighter spacing */
html body .asm-hero + .wd-products,
html body .asm-hero + .products,
html body .asm-shop-hero + .wd-products,
html body .asm-shop-hero + .products {
    margin-top: clamp(30px, 3.5vw, 54px) !important;
}

/* 7. Mobile spacing */
@media (max-width: 767px) {
    html body .wd-products,
    html body .products.wd-products,
    html body ul.products {
        margin-top: 32px !important;
        padding-top: 20px !important;
    }
}

/* =========================================================
   ASM SHOP GRID — MOBILE LOWER POSITION FIX
   Adds breathing space below fixed header on mobile only
========================================================= */

@media (max-width: 767px) {
    html body .wd-products,
    html body .products.wd-products,
    html body ul.products {
        margin-top: 64px !important;
        padding-top: 28px !important;
    }

    html body .shop-content-area,
    html body .wd-content-area,
    html body .wd-products-wrapper {
        padding-top: 24px !important;
    }
}

/* =========================================================
   ASM SHOP MOBILE — FIX BUTTON DOTS WITHOUT HIDING IMAGES
   Safe version: keeps product images / Woodmart wrappers alive.
========================================================= */

@media (max-width: 767px) {

    /* Restore product image area */
    html body .wd-products .product-element-top,
    html body .products .product-element-top,
    html body .product-grid-item .product-element-top,
    html body .wd-products .product-image-wrap,
    html body .products .product-image-wrap,
    html body .wd-products .wrap-product-img,
    html body .products .wrap-product-img,
    html body .wd-products .product-image-link,
    html body .products .product-image-link,
    html body .wd-products .woocommerce-LoopProduct-link,
    html body .products .woocommerce-LoopProduct-link {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        min-height: 228px !important;
        height: auto !important;
        overflow: hidden !important;
        pointer-events: auto !important;
    }

    html body .wd-products img,
    html body .products img,
    html body .product-grid-item img,
    html body img.attachment-woocommerce_thumbnail,
    html body img.wp-post-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: 100% !important;
        height: 228px !important;
        min-height: 228px !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    /* Restore Woodmart wrappers that may control image/link output */
    html body .wd-products .wd-action-btn,
    html body .products .wd-action-btn,
    html body .wd-products .wd-tools-element,
    html body .products .wd-tools-element {
        display: initial !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        pointer-events: auto !important;
    }

    /* Hide only floating icon groups inside the image, not structural wrappers */
    html body .wd-products .product-element-top > .wd-buttons,
    html body .products .product-element-top > .wd-buttons,
    html body .wd-products .product-element-top .wd-quick-view-btn,
    html body .products .product-element-top .wd-quick-view-btn,
    html body .wd-products .product-element-top .quick-view,
    html body .products .product-element-top .quick-view,
    html body .wd-products .product-element-top .wd-compare-btn,
    html body .products .product-element-top .wd-compare-btn,
    html body .wd-products .product-element-top .wd-wishlist-btn,
    html body .products .product-element-top .wd-wishlist-btn {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Remove list-marker dots */
    html body ul.products,
    html body .products,
    html body .wd-products {
        list-style: none !important;
    }

    html body ul.products li::marker,
    html body ul.products li.product::marker,
    html body .products .product::marker,
    html body .wd-products .wd-product::marker,
    html body .product-grid-item::marker {
        content: "" !important;
        font-size: 0 !important;
    }

    /* Remove button pseudo dots only, without touching product/image pseudo-elements */
    html body .wd-products .button::before,
    html body .products .button::before,
    html body .wd-products .asm-view-product-btn::before,
    html body .products .asm-view-product-btn::before,
    html body .wd-products .add_to_cart_button::before,
    html body .products .add_to_cart_button::before {
        content: none !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        background: none !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    /* Keep the button clean */
    html body .wd-products .button,
    html body .products .button,
    html body .wd-products .asm-view-product-btn,
    html body .products .asm-view-product-btn,
    html body .wd-products .add_to_cart_button,
    html body .products .add_to_cart_button {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        width: calc(100% - 36px) !important;
        min-height: 52px !important;
        margin: 18px 18px 0 !important;
        padding: 0 18px !important;
        background: #0b0d0f !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: #f4f6f7 !important;
        font-family: "Space Mono", monospace !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .22em !important;
        line-height: 1 !important;
        text-align: center !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
    }
}

/* =========================================================
   ASM SINGLE PRODUCT — PRODUCT DESCRIPTION READABILITY FIX
   Fixes black/invisible text inside WooCommerce product tabs
========================================================= */

html body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
html body.single-product .woocommerce-tabs .wc-tab,
html body.single-product .woocommerce-tabs #tab-description,
html body.single-product .woocommerce-tabs #tab-description p,
html body.single-product .woocommerce-tabs #tab-description div,
html body.single-product .woocommerce-tabs #tab-description span,
html body.single-product .woocommerce-tabs #tab-description li,
html body.single-product .woocommerce-tabs #tab-description em,
html body.single-product .woocommerce-tabs #tab-description small,
html body.single-product .woocommerce-tabs #tab-description td,
html body.single-product .woocommerce-tabs #tab-description th {
    color: rgba(244, 246, 247, .72) !important;
}

/* Headings: brighter, but still not pure white */
html body.single-product .woocommerce-tabs #tab-description h1,
html body.single-product .woocommerce-tabs #tab-description h2,
html body.single-product .woocommerce-tabs #tab-description h3,
html body.single-product .woocommerce-tabs #tab-description h4,
html body.single-product .woocommerce-tabs #tab-description h5,
html body.single-product .woocommerce-tabs #tab-description h6,
html body.single-product .woocommerce-tabs .wc-tab h1,
html body.single-product .woocommerce-tabs .wc-tab h2,
html body.single-product .woocommerce-tabs .wc-tab h3,
html body.single-product .woocommerce-tabs .wc-tab h4 {
    color: rgba(244, 246, 247, .92) !important;
}

/* Strong/bold words: controlled bright technical white */
html body.single-product .woocommerce-tabs #tab-description strong,
html body.single-product .woocommerce-tabs #tab-description b,
html body.single-product .woocommerce-tabs .wc-tab strong,
html body.single-product .woocommerce-tabs .wc-tab b {
    color: rgba(244, 246, 247, .88) !important;
    font-weight: 700 !important;
}

/* Paragraph readability */
html body.single-product .woocommerce-tabs #tab-description p,
html body.single-product .woocommerce-tabs .wc-tab p {
    color: rgba(244, 246, 247, .70) !important;
    line-height: 1.82 !important;
}

/* List text */
html body.single-product .woocommerce-tabs #tab-description ul li,
html body.single-product .woocommerce-tabs #tab-description ol li,
html body.single-product .woocommerce-tabs .wc-tab ul li,
html body.single-product .woocommerce-tabs .wc-tab ol li {
    color: rgba(244, 246, 247, .72) !important;
}

/* Keep red technical bullets visible */
html body.single-product .woocommerce-tabs #tab-description ul li::before,
html body.single-product .woocommerce-tabs .wc-tab ul li::before {
    background: #e11d2a !important;
}

/* Links inside description */
html body.single-product .woocommerce-tabs #tab-description a,
html body.single-product .woocommerce-tabs .wc-tab a {
    color: #e11d2a !important;
    text-decoration: none !important;
}

html body.single-product .woocommerce-tabs #tab-description a:hover,
html body.single-product .woocommerce-tabs .wc-tab a:hover {
    color: rgba(244, 246, 247, .92) !important;
}

/* Mobile: slightly brighter for readability */
@media (max-width: 767px) {
    html body.single-product .woocommerce-tabs #tab-description,
    html body.single-product .woocommerce-tabs #tab-description p,
    html body.single-product .woocommerce-tabs #tab-description div,
    html body.single-product .woocommerce-tabs #tab-description span,
    html body.single-product .woocommerce-tabs #tab-description li,
    html body.single-product .woocommerce-tabs .wc-tab,
    html body.single-product .woocommerce-tabs .wc-tab p,
    html body.single-product .woocommerce-tabs .wc-tab span,
    html body.single-product .woocommerce-tabs .wc-tab li {
        color: rgba(244, 246, 247, .76) !important;
    }
}

/* =========================================================
   ASM SPORTS TECH — MOBILE SIDE MENU FIX + OPEN/CLOSE EFFECT
   Fixes broken drawer position after scroll / on other pages.
   Supports both ASM custom menu + Woodmart side menu.
========================================================= */

@media (max-width: 1024px) {

  /* -------------------------------------------------------
     1. FORCE MENU SYSTEM TO BE FIXED TO VIEWPORT
     Not page-positioned, not affected by scroll.
  ------------------------------------------------------- */

  html body .asm-zero-mobile,
  html body .mobile-nav,
  html body .wd-side-hidden,
  html body .mobile-menu-wrapper,
  html body .mobile-nav-wrapper,
  html body .wd-header-mobile-nav {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important;

    width: min(86vw, 420px) !important;
    max-width: min(86vw, 420px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;

    background:
      radial-gradient(80% 50% at 20% 0%, rgba(193,18,31,.14), rgba(193,18,31,0) 46%),
      linear-gradient(180deg, #070809 0%, #040506 100%) !important;

    border-right: 1px solid rgba(255,255,255,.10) !important;
    border-left: 0 !important;
    border-radius: 0 !important;

    box-shadow:
      24px 0 80px rgba(0,0,0,.58),
      inset -1px 0 0 rgba(255,255,255,.045) !important;

    z-index: 999999 !important;

    transform: translate3d(-105%,0,0) !important;
    opacity: 0 !important;
    visibility: hidden !important;

    transition:
      transform .54s cubic-bezier(.16,1,.3,1),
      opacity .34s cubic-bezier(.16,1,.3,1),
      visibility .34s step-end !important;

    will-change: transform, opacity !important;
  }

  /* -------------------------------------------------------
     2. OPEN STATES
     Covers ASM custom drawer + Woodmart opened classes.
  ------------------------------------------------------- */

  html body .asm-zero-mobile.is-open,
  html body .asm-zero-mobile.asm-open,
  html body .asm-zero-mobile.opened,
  html body .asm-zero-mobile.active,
  html body .mobile-nav.wd-opened,
  html body .mobile-nav.opened,
  html body .wd-side-hidden.wd-opened,
  html body .wd-side-hidden.opened,
  html body .mobile-menu-wrapper.wd-opened,
  html body .mobile-menu-wrapper.opened,
  html body .mobile-nav-wrapper.wd-opened,
  html body .mobile-nav-wrapper.opened,
  html body .wd-header-mobile-nav.wd-opened,
  html body .wd-header-mobile-nav.opened {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    visibility: visible !important;

    transition:
      transform .58s cubic-bezier(.16,1,.3,1),
      opacity .36s cubic-bezier(.16,1,.3,1),
      visibility 0s !important;
  }

  /* If Woodmart opens by adding a body class */
  html body.mobile-menu-opened .mobile-nav,
  html body.mobile-menu-opened .wd-side-hidden,
  html body.mobile-menu-opened .mobile-menu-wrapper,
  html body.wd-side-opened .mobile-nav,
  html body.wd-side-opened .wd-side-hidden,
  html body.wd-side-opened .mobile-menu-wrapper,
  html body.menu-opened .mobile-nav,
  html body.menu-opened .wd-side-hidden,
  html body.menu-opened .mobile-menu-wrapper {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* -------------------------------------------------------
     3. OVERLAY FIX
     Makes background dark/blurred and fixed even after scroll.
  ------------------------------------------------------- */

  html body .asm-zero-mobile__overlay,
  html body .wd-close-side,
  html body .woodmart-close-side,
  html body .close-side-widget,
  html body .mfp-bg {
    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
      radial-gradient(circle at 16% 12%, rgba(193,18,31,.16), rgba(193,18,31,0) 34%),
      rgba(0,0,0,.72) !important;

    backdrop-filter: blur(10px) saturate(.9) !important;
    -webkit-backdrop-filter: blur(10px) saturate(.9) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    z-index: 999990 !important;

    transition:
      opacity .42s cubic-bezier(.16,1,.3,1),
      visibility .42s step-end !important;
  }

  html body .asm-zero-mobile.is-open .asm-zero-mobile__overlay,
  html body.mobile-menu-opened .wd-close-side,
  html body.wd-side-opened .wd-close-side,
  html body.menu-opened .wd-close-side,
  html body.mobile-menu-opened .woodmart-close-side,
  html body.wd-side-opened .woodmart-close-side,
  html body.menu-opened .woodmart-close-side {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition:
      opacity .42s cubic-bezier(.16,1,.3,1),
      visibility 0s !important;
  }

  /* -------------------------------------------------------
     4. ASM CUSTOM PANEL SUPPORT
     If your custom menu has an inner panel, animate that too.
  ------------------------------------------------------- */

  html body .asm-zero-mobile__panel {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;

    width: min(86vw, 420px) !important;
    height: 100vh !important;
    height: 100dvh !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    background:
      radial-gradient(80% 50% at 20% 0%, rgba(193,18,31,.14), rgba(193,18,31,0) 46%),
      linear-gradient(180deg, #070809 0%, #040506 100%) !important;

    border-right: 1px solid rgba(255,255,255,.10) !important;
    box-shadow:
      24px 0 80px rgba(0,0,0,.58),
      inset -1px 0 0 rgba(255,255,255,.045) !important;

    transform: translate3d(-105%,0,0) !important;
    opacity: 0 !important;

    transition:
      transform .58s cubic-bezier(.16,1,.3,1),
      opacity .36s cubic-bezier(.16,1,.3,1) !important;

    z-index: 999999 !important;
  }

  html body .asm-zero-mobile.is-open .asm-zero-mobile__panel,
  html body .asm-zero-mobile.asm-open .asm-zero-mobile__panel,
  html body .asm-zero-mobile.opened .asm-zero-mobile__panel {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
  }

  /* -------------------------------------------------------
     5. UNIQUE OPEN EFFECT — RED SCAN LINE + TECH GRID
  ------------------------------------------------------- */

  html body .asm-zero-mobile::before,
  html body .mobile-nav::before,
  html body .wd-side-hidden::before,
  html body .mobile-menu-wrapper::before,
  html body .mobile-nav-wrapper::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;

    pointer-events: none !important;
    z-index: 0 !important;

    background-image:
      linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) !important;
    background-size: 44px 44px !important;

    opacity: .18 !important;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 88%) !important;
    mask-image: linear-gradient(90deg, #000 0%, transparent 88%) !important;
  }

  html body .asm-zero-mobile::after,
  html body .mobile-nav::after,
  html body .wd-side-hidden::after,
  html body .mobile-menu-wrapper::after,
  html body .mobile-nav-wrapper::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 0 !important;

    width: 2px !important;

    background: linear-gradient(
      180deg,
      transparent 0%,
      #e11d2a 22%,
      #7a0c14 74%,
      transparent 100%
    ) !important;

    box-shadow:
      0 0 18px rgba(225,29,42,.34),
      -18px 0 46px rgba(193,18,31,.10) !important;

    pointer-events: none !important;
    z-index: 5 !important;

    opacity: .9 !important;
  }

  html body .asm-zero-mobile.is-open::after,
  html body .mobile-nav.wd-opened::after,
  html body .wd-side-hidden.wd-opened::after,
  html body .mobile-menu-wrapper.wd-opened::after,
  html body.mobile-menu-opened .mobile-nav::after,
  html body.mobile-menu-opened .wd-side-hidden::after,
  html body.mobile-menu-opened .mobile-menu-wrapper::after {
    animation: asmMenuScan 1.05s cubic-bezier(.16,1,.3,1) both !important;
  }

  @keyframes asmMenuScan {
    0% {
      opacity: 0;
      transform: translateY(-18%) scaleY(.35);
      filter: blur(3px);
    }
    42% {
      opacity: 1;
      transform: translateY(0) scaleY(1);
      filter: blur(0);
    }
    100% {
      opacity: .9;
      transform: translateY(0) scaleY(1);
      filter: blur(0);
    }
  }

  /* -------------------------------------------------------
     6. MENU CONTENT APPEARS WITH STAGGERED LIFT
  ------------------------------------------------------- */

  html body .asm-zero-mobile__panel > *,
  html body .mobile-nav > *,
  html body .wd-side-hidden > *,
  html body .mobile-menu-wrapper > *,
  html body .mobile-nav-wrapper > * {
    position: relative !important;
    z-index: 2 !important;
  }

  html body .asm-zero-mobile.is-open .asm-zero-mobile__panel > *,
  html body .mobile-nav.wd-opened > *,
  html body .wd-side-hidden.wd-opened > *,
  html body .mobile-menu-wrapper.wd-opened > *,
  html body.mobile-menu-opened .mobile-nav > *,
  html body.mobile-menu-opened .wd-side-hidden > *,
  html body.mobile-menu-opened .mobile-menu-wrapper > * {
    animation: asmMenuContentIn .62s cubic-bezier(.16,1,.3,1) both !important;
  }

  @keyframes asmMenuContentIn {
    from {
      opacity: 0;
      transform: translateX(-18px);
      filter: blur(5px);
    }
    to {
      opacity: 1;
      transform: translateX(0);
      filter: blur(0);
    }
  }

  /* -------------------------------------------------------
     7. LINKS — DARK TECHNICAL, NO BROKEN WHITE STATES
  ------------------------------------------------------- */

  html body .mobile-nav .menu-item > a,
  html body .mobile-nav .page-item > a,
  html body .wd-side-hidden .menu-item > a,
  html body .wd-side-hidden .page-item > a,
  html body .mobile-menu-wrapper .menu-item > a,
  html body .mobile-menu-wrapper .page-item > a,
  html body .asm-zero-mobile a,
  html body .asm-zero-mobile button {
    min-height: 56px !important;
    padding: 0 26px !important;

    display: flex !important;
    align-items: center !important;

    color: rgba(244,246,247,.78) !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;

    font-family: "Archivo Expanded", "Archivo", "Plus Jakarta Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .035em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    box-shadow: none !important;
    border-radius: 0 !important;

    transition:
      color .28s cubic-bezier(.16,1,.3,1),
      background .28s cubic-bezier(.16,1,.3,1),
      padding-left .28s cubic-bezier(.16,1,.3,1) !important;
  }

  html body .mobile-nav .menu-item > a:hover,
  html body .mobile-nav .page-item > a:hover,
  html body .wd-side-hidden .menu-item > a:hover,
  html body .wd-side-hidden .page-item > a:hover,
  html body .mobile-menu-wrapper .menu-item > a:hover,
  html body .mobile-menu-wrapper .page-item > a:hover,
  html body .asm-zero-mobile a:hover,
  html body .asm-zero-mobile button:hover {
    color: #ffffff !important;
    background:
      linear-gradient(90deg, rgba(193,18,31,.16), rgba(255,255,255,.018), transparent) !important;
    padding-left: 32px !important;
  }

  /* Submenu refinement */
  html body .mobile-nav .sub-menu .menu-item > a,
  html body .wd-side-hidden .sub-menu .menu-item > a,
  html body .mobile-menu-wrapper .sub-menu .menu-item > a,
  html body .asm-zero-mobile .sub-menu a {
    min-height: 46px !important;
    padding-left: 42px !important;

    font-family: "Space Mono", "JetBrains Mono", monospace !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .13em !important;

    color: rgba(244,246,247,.58) !important;
    background: rgba(255,255,255,.012) !important;
  }

  html body .mobile-nav .sub-menu .menu-item > a:hover,
  html body .wd-side-hidden .sub-menu .menu-item > a:hover,
  html body .mobile-menu-wrapper .sub-menu .menu-item > a:hover,
  html body .asm-zero-mobile .sub-menu a:hover {
    padding-left: 48px !important;
    color: #ffffff !important;
  }

  /* Close row/button */
  html body .mobile-nav .woodmart-close-side,
  html body .wd-side-hidden .woodmart-close-side,
  html body .mobile-menu-wrapper .woodmart-close-side,
  html body .asm-zero-mobile__close,
  html body .asm-zero-mobile [aria-label*="Close"],
  html body .asm-zero-mobile [class*="close"] {
    min-height: 68px !important;
    padding: 0 26px !important;

    display: flex !important;
    align-items: center !important;

    color: rgba(244,246,247,.48) !important;
    background: rgba(255,255,255,.018) !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;

    font-family: "Space Mono", "JetBrains Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
  }

  /* Lock page scroll while drawer is open */
  html body.mobile-menu-opened,
  html body.wd-side-opened,
  html body.menu-opened,
  html body:has(.asm-zero-mobile.is-open) {
    overflow: hidden !important;
    touch-action: none !important;
  }
}

/* Reduced motion support */
@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  html body .asm-zero-mobile,
  html body .mobile-nav,
  html body .wd-side-hidden,
  html body .mobile-menu-wrapper,
  html body .mobile-nav-wrapper,
  html body .wd-header-mobile-nav,
  html body .asm-zero-mobile__panel,
  html body .asm-zero-mobile__overlay,
  html body .wd-close-side,
  html body .woodmart-close-side {
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
  }
}

/* =========================================================
   ASM ZERO MENU — FINAL DESKTOP + MOBILE DRAWER FIX
   Fixes desktop scroll opening, X button size, logo quality,
   and adds slower luxury open/close fade.
========================================================= */

/* Wrapper must be full viewport on ALL screen sizes */
html body .asm-zero-mobile {
  position: fixed !important;
  inset: 0 !important;

  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  z-index: 999980 !important;

  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .72s !important;
}

/* Open wrapper */
html body .asm-zero-mobile.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    visibility 0s linear 0s !important;
}

/* Fixed overlay, never affected by page scroll */
html body .asm-zero-mobile__overlay {
  position: fixed !important;
  inset: 0 !important;

  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  background:
    radial-gradient(circle at 18% 12%, rgba(193,18,31,.18), rgba(193,18,31,0) 34%),
    rgba(0,0,0,.72) !important;

  backdrop-filter: blur(12px) saturate(.85) !important;
  -webkit-backdrop-filter: blur(12px) saturate(.85) !important;

  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;

  opacity: 0 !important;
  visibility: hidden !important;

  pointer-events: none !important;

  z-index: 999981 !important;

  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    visibility 0s linear .72s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__overlay {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;

  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    visibility 0s linear 0s !important;
}

/* Real drawer panel — works on desktop and mobile */
html body .asm-zero-mobile__panel {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: auto !important;
  right: auto !important;

  width: min(440px, 34vw) !important;
  max-width: 440px !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100vh !important;
  max-height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;

  background:
    radial-gradient(90% 48% at 18% 0%, rgba(193,18,31,.16), rgba(193,18,31,0) 48%),
    linear-gradient(180deg, #070809 0%, #040506 100%) !important;

  border-right: 1px solid rgba(255,255,255,.12) !important;
  border-left: 0 !important;
  border-radius: 0 !important;

  box-shadow:
    28px 0 90px rgba(0,0,0,.62),
    inset -1px 0 0 rgba(255,255,255,.045) !important;

  z-index: 999990 !important;

  transform: translate3d(-104%, 0, 0) !important;
  opacity: 0 !important;
  filter: blur(6px) brightness(.76) !important;

  transition:
    transform .82s cubic-bezier(.16,1,.3,1),
    opacity .68s cubic-bezier(.16,1,.3,1),
    filter .78s cubic-bezier(.16,1,.3,1) !important;

  will-change: transform, opacity, filter !important;
}

/* Open panel */
html body .asm-zero-mobile.is-open .asm-zero-mobile__panel {
  transform: translate3d(0, 0, 0) !important;
  opacity: 1 !important;
  filter: blur(0) brightness(1) !important;
}

/* Mobile keeps the current good width */
@media (max-width: 767px) {
  html body .asm-zero-mobile__panel {
    width: min(86vw, 420px) !important;
    max-width: min(86vw, 420px) !important;
  }
}

/* Desktop drawer should always open from viewport, not page scroll */
@media (min-width: 768px) {
  html body .asm-zero-mobile__panel {
    width: 440px !important;
    max-width: 440px !important;
  }
}

/* Lock page scroll while menu is open */
html body.asm-zero-menu-open {
  overflow: hidden !important;
  touch-action: none !important;
}

/* =========================================================
   TOP AREA — LOGO + CLOSE BUTTON FIX
========================================================= */

html body .asm-zero-mobile__top {
  position: relative !important;

  min-height: 102px !important;
  height: auto !important;

  display: grid !important;
  grid-template-columns: 52px 1fr 52px !important;
  align-items: center !important;
  gap: 14px !important;

  padding: 22px 26px 18px !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0)) !important;

  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}

/* Logo should look clean like mobile, not squeezed */
html body .asm-zero-mobile__brand {
  width: 100% !important;
  max-width: none !important;
  height: 44px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body .asm-zero-mobile__brand img {
  display: block !important;

  width: auto !important;
  max-width: 184px !important;
  height: auto !important;
  max-height: 28px !important;

  object-fit: contain !important;
  object-position: center !important;

  opacity: .92 !important;
  filter: brightness(1.08) contrast(1.04) !important;

  transform: none !important;
}

/* Clean X button — removes huge theme button styling */
html body .asm-zero-mobile__close {
  position: relative !important;

  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;

  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  margin: 0 !important;

  background: rgba(255,255,255,.018) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 0 !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 10px 30px rgba(0,0,0,.24) !important;

  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;

  overflow: hidden !important;
  cursor: pointer !important;

  transform: none !important;

  transition:
    background .34s cubic-bezier(.16,1,.3,1),
    border-color .34s cubic-bezier(.16,1,.3,1),
    opacity .34s cubic-bezier(.16,1,.3,1) !important;
}

/* Kill global button pseudo effects on close button */
html body .asm-zero-mobile__close::before,
html body .asm-zero-mobile__close::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;

  width: 20px !important;
  height: 1px !important;

  background: rgba(244,246,247,.78) !important;
  border: 0 !important;
  box-shadow: none !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform-origin: center !important;
  pointer-events: none !important;
}

html body .asm-zero-mobile__close::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}

html body .asm-zero-mobile__close::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}

html body .asm-zero-mobile__close:hover {
  background: rgba(193,18,31,.12) !important;
  border-color: rgba(225,29,42,.58) !important;
}

html body .asm-zero-mobile__close:hover::before,
html body .asm-zero-mobile__close:hover::after {
  background: #ffffff !important;
}

/* Mobile X slightly smaller */
@media (max-width: 767px) {
  html body .asm-zero-mobile__top {
    min-height: 92px !important;
    grid-template-columns: 46px 1fr 46px !important;
    gap: 10px !important;
    padding: 20px 20px 16px !important;
  }

  html body .asm-zero-mobile__brand img {
    max-width: 182px !important;
    max-height: 26px !important;
  }

  html body .asm-zero-mobile__close {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
  }

  html body .asm-zero-mobile__close::before,
  html body .asm-zero-mobile__close::after {
    width: 18px !important;
  }
}

/* =========================================================
   LUXURY OPEN/CLOSE CONTENT FADE
========================================================= */

html body .asm-zero-mobile__top,
html body .asm-zero-mobile__body > *,
html body .asm-zero-mobile__body::before,
html body .asm-zero-mobile__body::after {
  opacity: 0 !important;
  transform: translateX(-18px) !important;
  filter: blur(5px) !important;

  transition:
    opacity .62s cubic-bezier(.16,1,.3,1),
    transform .68s cubic-bezier(.16,1,.3,1),
    filter .68s cubic-bezier(.16,1,.3,1) !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__top,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::before,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::after {
  opacity: 1 !important;
  transform: translateX(0) !important;
  filter: blur(0) !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__top {
  transition-delay: .14s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body::before {
  transition-delay: .22s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(1) {
  transition-delay: .28s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(2) {
  transition-delay: .34s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(3) {
  transition-delay: .40s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(4) {
  transition-delay: .46s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(5) {
  transition-delay: .52s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(6) {
  transition-delay: .58s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(7) {
  transition-delay: .64s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__body::after {
  transition-delay: .70s !important;
}

/* Closing should not feel instant */
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__top,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__body > *,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__body::before,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__body::after {
  transition-delay: 0s !important;
}

/* =========================================================
   RED SCAN EDGE — REFINED
========================================================= */

html body .asm-zero-mobile__panel::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;

  width: 2px !important;

  background:
    linear-gradient(
      180deg,
      transparent 0%,
      #e11d2a 20%,
      #7a0c14 72%,
      transparent 100%
    ) !important;

  box-shadow:
    0 0 22px rgba(225,29,42,.38),
    -22px 0 58px rgba(193,18,31,.12) !important;

  opacity: 0 !important;
  transform: scaleY(.36) translateY(-24%) !important;
  transform-origin: top !important;

  pointer-events: none !important;
  z-index: 9 !important;

  transition:
    opacity .72s cubic-bezier(.16,1,.3,1),
    transform .88s cubic-bezier(.16,1,.3,1) !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__panel::after {
  opacity: .92 !important;
  transform: scaleY(1) translateY(0) !important;
}

/* Remove any older duplicate pseudo scan lines from wrapper */
html body .asm-zero-mobile::before,
html body .asm-zero-mobile::after {
  content: none !important;
  display: none !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  html body .asm-zero-mobile,
  html body .asm-zero-mobile__overlay,
  html body .asm-zero-mobile__panel,
  html body .asm-zero-mobile__top,
  html body .asm-zero-mobile__body > *,
  html body .asm-zero-mobile__body::before,
  html body .asm-zero-mobile__body::after,
  html body .asm-zero-mobile__panel::after {
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    filter: none !important;
  }
}

/* =========================================================
   ASM ZERO MENU — FINAL POLISH PATCH
   Fixes mobile text alignment, X button, desktop logo size,
   and adds fade-out transition as well as fade-in.
========================================================= */


/* =========================================================
   1. PANEL + OVERLAY — TRUE FADE IN + FADE OUT
========================================================= */

html body .asm-zero-mobile {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    z-index: 999980 !important;

    transition:
        opacity .78s cubic-bezier(.16,1,.3,1),
        visibility 0s linear .78s !important;
}

html body .asm-zero-mobile.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transition:
        opacity .78s cubic-bezier(.16,1,.3,1),
        visibility 0s linear 0s !important;
}

html body .asm-zero-mobile__overlay {
    position: fixed !important;
    inset: 0 !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    background:
        radial-gradient(circle at 18% 12%, rgba(193,18,31,.16), rgba(193,18,31,0) 34%),
        rgba(0,0,0,.74) !important;

    backdrop-filter: blur(12px) saturate(.85) !important;
    -webkit-backdrop-filter: blur(12px) saturate(.85) !important;

    transition:
        opacity .78s cubic-bezier(.16,1,.3,1),
        visibility 0s linear .78s !important;

    z-index: 999981 !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transition:
        opacity .78s cubic-bezier(.16,1,.3,1),
        visibility 0s linear 0s !important;
}

html body .asm-zero-mobile__panel {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;

    height: 100vh !important;
    height: 100dvh !important;

    transform: translate3d(-104%,0,0) !important;
    opacity: 0 !important;
    filter: blur(8px) brightness(.72) !important;

    transition:
        transform .86s cubic-bezier(.16,1,.3,1),
        opacity .76s cubic-bezier(.16,1,.3,1),
        filter .82s cubic-bezier(.16,1,.3,1) !important;

    z-index: 999990 !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__panel {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    filter: blur(0) brightness(1) !important;
}


/* =========================================================
   2. DESKTOP LOGO — BIGGER / CLEANER
========================================================= */

@media (min-width: 768px) {
    html body .asm-zero-mobile__panel {
        width: 460px !important;
        max-width: 460px !important;
    }

    html body .asm-zero-mobile__top {
        min-height: 108px !important;
        grid-template-columns: 54px 1fr 54px !important;
        padding: 24px 26px 20px !important;
    }

    html body .asm-zero-mobile__brand img {
        width: auto !important;
        max-width: 238px !important;
        max-height: 34px !important;
        height: auto !important;
        object-fit: contain !important;
        filter: brightness(1.12) contrast(1.05) !important;
        opacity: .94 !important;
    }
}


/* =========================================================
   3. MOBILE TOP — LOGO + X BUTTON CLEAN FIX
========================================================= */

@media (max-width: 767px) {
    html body .asm-zero-mobile__panel {
        width: 86vw !important;
        max-width: 86vw !important;
    }

    html body .asm-zero-mobile__top {
        min-height: 92px !important;
        height: 92px !important;

        display: grid !important;
        grid-template-columns: 42px 1fr 42px !important;
        align-items: center !important;
        gap: 10px !important;

        padding: 18px 18px 14px !important;

        border-bottom: 1px solid rgba(255,255,255,.10) !important;
    }

    html body .asm-zero-mobile__brand {
        height: 42px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    html body .asm-zero-mobile__brand img {
        width: auto !important;
        max-width: 180px !important;
        max-height: 25px !important;
        height: auto !important;
        object-fit: contain !important;
        opacity: .94 !important;
        filter: brightness(1.12) contrast(1.05) !important;
    }
}

/* X button — completely isolated from global button styles */
html body .asm-zero-mobile__close,
html body button.asm-zero-mobile__close,
html body .asm-zero-mobile .asm-zero-mobile__close {
    position: relative !important;

    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;

    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    background: rgba(255,255,255,.018) !important;
    background-image: none !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 0 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 10px 24px rgba(0,0,0,.24) !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;

    overflow: hidden !important;
    cursor: pointer !important;

    transform: none !important;
    opacity: 1 !important;
}

/* Remove all inherited/global button decoration from the X */
html body .asm-zero-mobile__close span,
html body .asm-zero-mobile__close i,
html body .asm-zero-mobile__close svg {
    display: none !important;
}

html body .asm-zero-mobile__close::before,
html body .asm-zero-mobile__close::after,
html body button.asm-zero-mobile__close::before,
html body button.asm-zero-mobile__close::after {
    content: "" !important;

    position: absolute !important;
    top: 50% !important;
    left: 50% !important;

    width: 18px !important;
    height: 1px !important;

    display: block !important;

    background: rgba(244,246,247,.78) !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: none !important;
    z-index: 3 !important;
}

html body .asm-zero-mobile__close::before {
    transform: translate(-50%,-50%) rotate(45deg) !important;
}

html body .asm-zero-mobile__close::after {
    transform: translate(-50%,-50%) rotate(-45deg) !important;
}

html body .asm-zero-mobile__close:hover {
    background: rgba(193,18,31,.11) !important;
    border-color: rgba(225,29,42,.48) !important;
}

html body .asm-zero-mobile__close:hover::before,
html body .asm-zero-mobile__close:hover::after {
    background: #ffffff !important;
}


/* =========================================================
   4. MOBILE MENU TEXT — FIX BROKEN NUMBER/TEXT OVERLAP
========================================================= */

html body .asm-zero-mobile__body {
    counter-reset: asmnav !important;
    padding: 0 0 28px !important;
    overflow-x: hidden !important;
}

/* Navigation label */
html body .asm-zero-mobile__body::before {
    content: "NAVIGATION" !important;

    display: block !important;

    padding: 28px 22px 18px !important;

    color: rgba(244,246,247,.36) !important;
    font-family: "Space Mono", "JetBrains Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .32em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;

    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

/* Every main row */
html body .asm-zero-mobile__link,
html body .asm-zero-mobile__toggle {
    counter-increment: asmnav !important;

    position: relative !important;

    width: 100% !important;
    min-height: 64px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;

    padding: 0 70px 0 66px !important;

    background: transparent !important;
    background-image: none !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: rgba(244,246,247,.82) !important;

    font-family: "Archivo Expanded", "Archivo", "Plus Jakarta Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .018em !important;
    line-height: 1.1 !important;
    text-align: left !important;
    text-transform: uppercase !important;
    text-decoration: none !important;

    white-space: normal !important;
    word-break: normal !important;

    overflow: hidden !important;

    transition:
        color .32s cubic-bezier(.16,1,.3,1),
        background .32s cubic-bezier(.16,1,.3,1),
        padding-left .32s cubic-bezier(.16,1,.3,1) !important;
}

/* Number column — no more overlay on text */
html body .asm-zero-mobile__link::before,
html body .asm-zero-mobile__toggle::before {
    content: counter(asmnav, decimal-leading-zero) !important;

    position: absolute !important;
    left: 22px !important;
    top: 50% !important;

    width: 24px !important;
    height: auto !important;

    display: block !important;

    transform: translateY(-50%) !important;

    background: none !important;
    border: 0 !important;
    box-shadow: none !important;

    color: rgba(244,246,247,.36) !important;
    font-family: "Space Mono", "JetBrains Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-align: left !important;

    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
}

/* Text span inside dropdown buttons */
html body .asm-zero-mobile__toggle > span:first-child {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Plus button position */
html body .asm-zero-mobile__plus {
    position: absolute !important;
    right: 22px !important;
    top: 50% !important;

    width: 38px !important;
    height: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: translateY(-50%) !important;

    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.012) !important;

    color: rgba(244,246,247,.72) !important;
    font-family: "Space Mono", monospace !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

/* Open plus */
html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus {
    color: #ffffff !important;
    border-color: rgba(225,29,42,.42) !important;
    background: rgba(193,18,31,.10) !important;
    transform: translateY(-50%) rotate(45deg) !important;
}

/* Hover / active */
html body .asm-zero-mobile__link:hover,
html body .asm-zero-mobile__toggle:hover,
html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle {
    padding-left: 72px !important;

    color: #ffffff !important;

    background:
        linear-gradient(90deg, rgba(193,18,31,.16), rgba(255,255,255,.018), transparent) !important;
}

html body .asm-zero-mobile__link:hover::before,
html body .asm-zero-mobile__toggle:hover::before,
html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle::before {
    color: #e11d2a !important;
}

/* Submenu */
html body .asm-zero-mobile__submenu {
    background: rgba(255,255,255,.012) !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

html body .asm-zero-mobile__submenu a {
    position: relative !important;

    min-height: 44px !important;

    display: flex !important;
    align-items: center !important;

    padding: 0 22px 0 66px !important;

    color: rgba(244,246,247,.58) !important;
    background: transparent !important;

    border-bottom: 1px solid rgba(255,255,255,.045) !important;

    font-family: "Space Mono", "JetBrains Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .10em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

html body .asm-zero-mobile__submenu a::before {
    content: "" !important;

    position: absolute !important;
    left: 42px !important;
    top: 50% !important;

    width: 5px !important;
    height: 5px !important;

    background: #e11d2a !important;
    transform: translateY(-50%) rotate(45deg) !important;
}

html body .asm-zero-mobile__submenu a:hover {
    color: #ffffff !important;
    background: rgba(193,18,31,.08) !important;
}


/* =========================================================
   5. CONTENT FADE IN + FADE OUT
========================================================= */

html body .asm-zero-mobile__top,
html body .asm-zero-mobile__body::before,
html body .asm-zero-mobile__link,
html body .asm-zero-mobile__group,
html body .asm-zero-mobile__body::after {
    opacity: 0 !important;
    transform: translateX(-18px) !important;
    filter: blur(5px) !important;

    transition:
        opacity .54s cubic-bezier(.16,1,.3,1),
        transform .62s cubic-bezier(.16,1,.3,1),
        filter .62s cubic-bezier(.16,1,.3,1) !important;
}

/* Fade in */
html body .asm-zero-mobile.is-open .asm-zero-mobile__top,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::before,
html body .asm-zero-mobile.is-open .asm-zero-mobile__link,
html body .asm-zero-mobile.is-open .asm-zero-mobile__group,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
    filter: blur(0) !important;
}

/* Fade-in stagger */
html body .asm-zero-mobile.is-open .asm-zero-mobile__top { transition-delay: .12s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::before { transition-delay: .20s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(1) { transition-delay: .28s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(2) { transition-delay: .34s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(3) { transition-delay: .40s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(4) { transition-delay: .46s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(5) { transition-delay: .52s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(6) { transition-delay: .58s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(7) { transition-delay: .64s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::after { transition-delay: .70s !important; }

/* Fade out — no delay, so it closes smoothly instead of snapping */
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__top,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__body::before,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__link,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__group,
html body .asm-zero-mobile:not(.is-open) .asm-zero-mobile__body::after {
    transition-delay: 0s !important;
}


/* =========================================================
   6. MOBILE EXTRA TIGHTENING
========================================================= */

@media (max-width: 767px) {
    html body .asm-zero-mobile__link,
    html body .asm-zero-mobile__toggle {
        min-height: 62px !important;
        padding-left: 64px !important;
        padding-right: 70px !important;
        font-size: 12px !important;
        letter-spacing: .012em !important;
    }

    html body .asm-zero-mobile__link:hover,
    html body .asm-zero-mobile__toggle:hover,
    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle {
        padding-left: 70px !important;
    }

    html body .asm-zero-mobile__link::before,
    html body .asm-zero-mobile__toggle::before {
        left: 20px !important;
        width: 24px !important;
        font-size: 10px !important;
    }

    html body .asm-zero-mobile__plus {
        right: 18px !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 23px !important;
    }

    html body .asm-zero-mobile__submenu a {
        padding-left: 64px !important;
        padding-right: 18px !important;
        font-size: 9.5px !important;
        letter-spacing: .08em !important;
    }

    html body .asm-zero-mobile__submenu a::before {
        left: 40px !important;
    }
}


/* =========================================================
   7. BOTTOM SIGNATURE
========================================================= */

html body .asm-zero-mobile__body::after {
    content: "PRECISION · PRESENCE · PERFORMANCE" !important;

    display: block !important;

    margin: 26px 22px 0 !important;
    padding-top: 22px !important;

    border-top: 1px solid rgba(255,255,255,.10) !important;

    color: rgba(244,246,247,.34) !important;
    font-family: "Space Mono", "JetBrains Mono", monospace !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .24em !important;
    line-height: 1.8 !important;
    text-transform: uppercase !important;
}

/* =========================================================
   ASM ZERO MENU — FINAL VISUAL FIX
   Fixes mobile text overlap, dropdown plus/X artifact,
   desktop logo size, and smooth fade-out.
========================================================= */


/* =========================================================
   1. SMOOTHER FADE OUT — wrapper stays visible while closing
========================================================= */

html body .asm-zero-mobile {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;

    transition:
        opacity .88s cubic-bezier(.16,1,.3,1),
        visibility 0s linear .88s !important;
}

html body .asm-zero-mobile.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;

    transition:
        opacity .78s cubic-bezier(.16,1,.3,1),
        visibility 0s linear 0s !important;
}

html body .asm-zero-mobile__overlay {
    transition:
        opacity .88s cubic-bezier(.16,1,.3,1),
        visibility 0s linear .88s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__overlay {
    transition:
        opacity .78s cubic-bezier(.16,1,.3,1),
        visibility 0s linear 0s !important;
}

html body .asm-zero-mobile__panel {
    transform: translate3d(-104%,0,0) !important;
    opacity: 0 !important;
    filter: blur(8px) brightness(.72) !important;

    transition:
        transform .96s cubic-bezier(.16,1,.3,1),
        opacity .82s cubic-bezier(.16,1,.3,1),
        filter .88s cubic-bezier(.16,1,.3,1) !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__panel {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    filter: blur(0) brightness(1) !important;
}


/* =========================================================
   2. DESKTOP LOGO — MAKE IT PROPER SIZE
========================================================= */

@media (min-width: 768px) {
    html body .asm-zero-mobile__top {
        min-height: 112px !important;
        grid-template-columns: 58px 1fr 54px !important;
        padding: 24px 28px 22px !important;
    }

    html body .asm-zero-mobile__brand {
        overflow: visible !important;
    }

    html body .asm-zero-mobile__brand img {
        width: auto !important;
        max-width: 330px !important;
        max-height: 48px !important;
        height: auto !important;

        object-fit: contain !important;
        object-position: center !important;

        opacity: .96 !important;
        filter: brightness(1.14) contrast(1.06) !important;

        transform: scale(1.42) !important;
        transform-origin: center center !important;
    }
}


/* =========================================================
   3. MOBILE TEXT ALIGNMENT — FIX NUMBER OVERLAP
========================================================= */

@media (max-width: 767px) {

    html body .asm-zero-mobile__link,
    html body .asm-zero-mobile__toggle {
        position: relative !important;

        min-height: 64px !important;

        padding-left: 92px !important;
        padding-right: 78px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        color: rgba(244,246,247,.82) !important;

        font-family: "Archivo Expanded", "Archivo", "Plus Jakarta Sans", sans-serif !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        letter-spacing: .008em !important;
        line-height: 1.08 !important;
        text-align: left !important;
        text-transform: uppercase !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow: hidden !important;
    }

    /* Number column now has real space and cannot sit on top of text */
    html body .asm-zero-mobile__link::before,
    html body .asm-zero-mobile__toggle::before {
        left: 26px !important;
        top: 50% !important;

        width: 34px !important;
        min-width: 34px !important;

        transform: translateY(-50%) !important;

        color: rgba(244,246,247,.36) !important;
        font-family: "Space Mono", "JetBrains Mono", monospace !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .08em !important;
        line-height: 1 !important;

        text-align: left !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html body .asm-zero-mobile__link:hover,
    html body .asm-zero-mobile__toggle:hover,
    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle {
        padding-left: 96px !important;
    }

    html body .asm-zero-mobile__toggle > span:first-child {
        display: block !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
}


/* =========================================================
   4. DROPDOWN PLUS / OPEN ICON — REMOVE WEIRD WHITE ARTIFACT
========================================================= */

html body .asm-zero-mobile__plus {
    position: absolute !important;
    right: 22px !important;
    top: 50% !important;

    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;

    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: translateY(-50%) !important;

    background: rgba(255,255,255,.012) !important;
    background-image: none !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;

    overflow: hidden !important;

    transition:
        background .32s cubic-bezier(.16,1,.3,1),
        border-color .32s cubic-bezier(.16,1,.3,1),
        transform .32s cubic-bezier(.16,1,.3,1) !important;
}

/* Draw clean plus manually */
html body .asm-zero-mobile__plus::before,
html body .asm-zero-mobile__plus::after {
    content: "" !important;

    position: absolute !important;
    top: 50% !important;
    left: 50% !important;

    display: block !important;

    background: rgba(244,246,247,.78) !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: none !important;
}

html body .asm-zero-mobile__plus::before {
    width: 16px !important;
    height: 1px !important;
    transform: translate(-50%,-50%) !important;
}

html body .asm-zero-mobile__plus::after {
    width: 1px !important;
    height: 16px !important;
    transform: translate(-50%,-50%) !important;
}

/* Open state becomes a clean minus, not a messy rotated star/X */
html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus {
    transform: translateY(-50%) !important;
    background: rgba(193,18,31,.10) !important;
    border-color: rgba(225,29,42,.48) !important;
}

html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus::before {
    background: #ffffff !important;
}

html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus::after {
    opacity: 0 !important;
    transform: translate(-50%,-50%) scaleY(0) !important;
}

@media (max-width: 767px) {
    html body .asm-zero-mobile__plus {
        right: 20px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;

        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
    }
}


/* =========================================================
   5. TOP CLOSE X — CLEAN, SMALL, NO BUTTON ARTIFACTS
========================================================= */

html body .asm-zero-mobile__close,
html body button.asm-zero-mobile__close {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;

    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: rgba(255,255,255,.016) !important;
    background-image: none !important;

    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 0 !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 8px 20px rgba(0,0,0,.22) !important;

    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: -9999px !important;

    overflow: hidden !important;

    transform: none !important;
}

html body .asm-zero-mobile__close span,
html body .asm-zero-mobile__close i,
html body .asm-zero-mobile__close svg {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

html body .asm-zero-mobile__close::before,
html body .asm-zero-mobile__close::after,
html body button.asm-zero-mobile__close::before,
html body button.asm-zero-mobile__close::after {
    content: "" !important;

    position: absolute !important;
    top: 50% !important;
    left: 50% !important;

    width: 18px !important;
    height: 1px !important;

    display: block !important;

    background: rgba(244,246,247,.78) !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;
}

html body .asm-zero-mobile__close::before {
    transform: translate(-50%,-50%) rotate(45deg) !important;
}

html body .asm-zero-mobile__close::after {
    transform: translate(-50%,-50%) rotate(-45deg) !important;
}

@media (max-width: 767px) {
    html body .asm-zero-mobile__close,
    html body button.asm-zero-mobile__close {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
    }

    html body .asm-zero-mobile__close::before,
    html body .asm-zero-mobile__close::after {
        width: 17px !important;
    }
}


/* =========================================================
   6. MOBILE FOOTER SIGNATURE — STOP BROKEN LETTER SPACING
========================================================= */

@media (max-width: 767px) {
    html body .asm-zero-mobile__body::after {
        margin: 24px 22px 0 !important;
        padding-top: 22px !important;

        font-size: 9px !important;
        letter-spacing: .16em !important;
        line-height: 1.7 !important;
        text-align: left !important;

        color: rgba(244,246,247,.34) !important;
    }
}

/* =========================================================
   ASM ZERO MENU — MOBILE NUMBER COLUMN FIX
   Stops 01 / 02 / 03 numbers sitting under menu text
========================================================= */

@media (max-width: 767px) {

    /* Main menu rows become a real 3-column layout:
       number | label | plus/empty space */
    html body .asm-zero-mobile__link,
    html body .asm-zero-mobile__toggle {
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) 42px !important;
        align-items: center !important;
        column-gap: 18px !important;

        min-height: 66px !important;

        padding: 0 22px !important;

        font-size: 12px !important;
        line-height: 1.08 !important;
        letter-spacing: .012em !important;

        text-align: left !important;
        overflow: hidden !important;
    }

    /* Number is no longer absolute — it has its own left column */
    html body .asm-zero-mobile__link::before,
    html body .asm-zero-mobile__toggle::before {
        position: static !important;

        grid-column: 1 !important;
        grid-row: 1 !important;

        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;

        transform: none !important;

        display: block !important;

        color: rgba(244,246,247,.38) !important;
        font-family: "Space Mono", "JetBrains Mono", monospace !important;
        font-size: 10px !important;
        font-weight: 700 !important;
        letter-spacing: .08em !important;
        line-height: 1 !important;
        text-align: left !important;

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: none !important;
    }

    /* Label always sits in the middle column */
    html body .asm-zero-mobile__link,
    html body .asm-zero-mobile__toggle > span:first-child {
        min-width: 0 !important;
    }

    html body .asm-zero-mobile__toggle > span:first-child {
        grid-column: 2 !important;
        grid-row: 1 !important;

        display: block !important;
        overflow: hidden !important;
        text-align: left !important;
    }

    /* Plus button sits in the right column, no overlap */
    html body .asm-zero-mobile__plus {
        position: relative !important;

        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;

        right: auto !important;
        top: auto !important;

        transform: none !important;

        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
    }

    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus {
        transform: none !important;
    }

    /* Hover/open should not push text into the number column */
    html body .asm-zero-mobile__link:hover,
    html body .asm-zero-mobile__toggle:hover,
    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle {
        padding-left: 22px !important;
    }

    /* Simple links without plus still reserve the right column for balance */
    html body .asm-zero-mobile__link {
        grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    }
}

/* =========================================================
   ASM ZERO MENU — FINAL DROPDOWN ICON ALIGN + REAL FADE OUT
   Fixes dropdown plus/minus position and keeps drawer visible
   long enough to animate when closing.
========================================================= */


/* =========================================================
   1. REAL FADE OUT FIX
   Do not instantly hide the wrapper when menu closes.
========================================================= */

html body .asm-zero-mobile {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;

    transition: none !important;
}

html body .asm-zero-mobile.is-open {
    pointer-events: auto !important;
}

/* Overlay fades in and fades out */
html body .asm-zero-mobile__overlay {
    opacity: 0 !important;
    visibility: visible !important;
    pointer-events: none !important;

    transition:
        opacity .82s cubic-bezier(.16,1,.3,1) !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__overlay {
    opacity: 1 !important;
    pointer-events: auto !important;
}

/* Panel slides/fades in AND out */
html body .asm-zero-mobile__panel {
    transform: translate3d(-106%, 0, 0) !important;
    opacity: 0 !important;
    filter: blur(8px) brightness(.72) !important;
    pointer-events: none !important;

    transition:
        transform .92s cubic-bezier(.16,1,.3,1),
        opacity .78s cubic-bezier(.16,1,.3,1),
        filter .82s cubic-bezier(.16,1,.3,1) !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__panel {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    filter: blur(0) brightness(1) !important;
    pointer-events: auto !important;
}

/* Content fades out too, not only in */
html body .asm-zero-mobile__top,
html body .asm-zero-mobile__body::before,
html body .asm-zero-mobile__link,
html body .asm-zero-mobile__group,
html body .asm-zero-mobile__body::after {
    opacity: 0 !important;
    transform: translateX(-16px) !important;
    filter: blur(5px) !important;

    transition:
        opacity .48s cubic-bezier(.16,1,.3,1),
        transform .58s cubic-bezier(.16,1,.3,1),
        filter .58s cubic-bezier(.16,1,.3,1) !important;

    transition-delay: 0s !important;
}

html body .asm-zero-mobile.is-open .asm-zero-mobile__top,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::before,
html body .asm-zero-mobile.is-open .asm-zero-mobile__link,
html body .asm-zero-mobile.is-open .asm-zero-mobile__group,
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::after {
    opacity: 1 !important;
    transform: translateX(0) !important;
    filter: blur(0) !important;
}

/* Opening stagger only */
html body .asm-zero-mobile.is-open .asm-zero-mobile__top { transition-delay: .10s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::before { transition-delay: .18s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(1) { transition-delay: .24s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(2) { transition-delay: .30s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(3) { transition-delay: .36s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(4) { transition-delay: .42s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(5) { transition-delay: .48s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(6) { transition-delay: .54s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body > *:nth-child(7) { transition-delay: .60s !important; }
html body .asm-zero-mobile.is-open .asm-zero-mobile__body::after { transition-delay: .66s !important; }


/* =========================================================
   2. MOBILE DROPDOWN PLUS/MINUS — FAR RIGHT ALIGN
   Same visual line as the main close X button.
========================================================= */

@media (max-width: 767px) {

    /* Keep row structure clean */
    html body .asm-zero-mobile__toggle,
    html body .asm-zero-mobile__link {
        position: relative !important;

        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 18px !important;

        padding: 0 78px 0 22px !important;

        min-height: 66px !important;
    }

    /* Number column */
    html body .asm-zero-mobile__toggle::before,
    html body .asm-zero-mobile__link::before {
        position: static !important;
        grid-column: 1 !important;

        width: 42px !important;
        min-width: 42px !important;

        transform: none !important;
        text-align: left !important;
    }

    /* Text column */
    html body .asm-zero-mobile__toggle > span:first-child,
    html body .asm-zero-mobile__link {
        grid-column: 2 !important;
        min-width: 0 !important;
    }

    /* Dropdown icon: align to far right, same side as close X */
    html body .asm-zero-mobile__plus {
        position: absolute !important;

        right: 23px !important;
        top: 50% !important;

        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;

        height: 32px !important;
        min-height: 32px !important;
        max-height: 32px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: translateY(-50%) !important;

        background: rgba(255,255,255,.012) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-indent: -9999px !important;

        overflow: hidden !important;
    }

    /* Clean manual plus */
    html body .asm-zero-mobile__plus::before,
    html body .asm-zero-mobile__plus::after {
        content: "" !important;

        position: absolute !important;
        top: 50% !important;
        left: 50% !important;

        display: block !important;

        background: rgba(244,246,247,.78) !important;
        border: 0 !important;
        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;

        pointer-events: none !important;
    }

    html body .asm-zero-mobile__plus::before {
        width: 14px !important;
        height: 1px !important;
        transform: translate(-50%, -50%) !important;
    }

    html body .asm-zero-mobile__plus::after {
        width: 1px !important;
        height: 14px !important;
        transform: translate(-50%, -50%) !important;
    }

    /* Open state: smaller clean minus */
    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus {
        right: 23px !important;
        transform: translateY(-50%) !important;

        background: rgba(193,18,31,.10) !important;
        border-color: rgba(225,29,42,.46) !important;
    }

    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus::before {
        background: #ffffff !important;
    }

    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus::after {
        opacity: 0 !important;
        transform: translate(-50%, -50%) scaleY(0) !important;
    }

    /* Stop hover from moving text/icon out of alignment */
    html body .asm-zero-mobile__toggle:hover,
    html body .asm-zero-mobile__link:hover,
    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle {
        padding-left: 22px !important;
        padding-right: 78px !important;
    }
}


/* =========================================================
   3. DESKTOP DROPDOWN ICON ALSO ALIGN FAR RIGHT
========================================================= */

@media (min-width: 768px) {

    html body .asm-zero-mobile__toggle {
        position: relative !important;
        padding-right: 78px !important;
    }

    html body .asm-zero-mobile__plus {
        position: absolute !important;

        right: 22px !important;
        top: 50% !important;

        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;

        transform: translateY(-50%) !important;
    }

    html body .asm-zero-mobile__plus::before {
        width: 14px !important;
        height: 1px !important;
    }

    html body .asm-zero-mobile__plus::after {
        width: 1px !important;
        height: 14px !important;
    }

    html body .asm-zero-mobile__group.is-open > .asm-zero-mobile__toggle .asm-zero-mobile__plus {
        transform: translateY(-50%) !important;
    }
}

/* =========================================================
   ASM SPORTS TECH — SLIDE-IN CART · "BUILD DRAWER" (redesign)
   Paste into Additional CSS. Keeps ALL existing class names and JS
   hooks (.is-open, #asmZeroCartPanelTotal, body.asm-zero-cartpanel-open)
   so the current open/close JS keeps working untouched.
   Atelier OS language: mono HUD header, spec-readout totals, engineered
   buttons with red ignition wipe. Explicit colours. Clean motion.
   ========================================================= */

/* WRAPPER */
html body .asm-zero-cartpanel{
  position:fixed !important; inset:0 !important; width:100vw !important; height:100dvh !important;
  opacity:0 !important; visibility:hidden !important; pointer-events:none !important; z-index:999970 !important;
  transition:opacity .4s cubic-bezier(.16,1,.3,1), visibility 0s linear .4s !important;
}
html body .asm-zero-cartpanel.is-open{
  opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
  transition:opacity .4s cubic-bezier(.16,1,.3,1), visibility 0s linear 0s !important;
}

/* OVERLAY */
html body .asm-zero-cartpanel__overlay{
  position:fixed !important; inset:0 !important; width:100vw !important; height:100dvh !important;
  background:radial-gradient(circle at 82% 8%, rgba(193,18,31,.12), rgba(193,18,31,0) 40%), rgba(2,3,4,.7) !important;
  backdrop-filter:blur(8px) saturate(.9) !important; -webkit-backdrop-filter:blur(8px) saturate(.9) !important;
  border:0 !important; box-shadow:none !important; opacity:0 !important; pointer-events:none !important;
  transition:opacity .4s cubic-bezier(.16,1,.3,1) !important; z-index:999971 !important;
}
html body .asm-zero-cartpanel.is-open .asm-zero-cartpanel__overlay{ opacity:1 !important; pointer-events:auto !important; }

/* PANEL — right-side build drawer */
html body .asm-zero-cartpanel__panel{
  position:fixed !important; top:0 !important; right:0 !important; bottom:0 !important;
  width:min(460px, 92vw) !important; max-width:460px !important; height:100dvh !important; margin:0 !important;
  padding:clamp(32px,4vw,48px) clamp(26px,3vw,40px) !important; overflow-x:hidden !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important;
  background:radial-gradient(90% 46% at 82% 0%, rgba(193,18,31,.1), rgba(193,18,31,0) 46%), linear-gradient(180deg,#070809,#040506) !important;
  border-left:1px solid rgba(255,255,255,.12) !important; border-top:0 !important; border-right:0 !important; border-bottom:0 !important; border-radius:0 !important;
  box-shadow:-24px 0 70px rgba(0,0,0,.5) !important;
  transform:translate3d(100%,0,0) !important; opacity:1 !important;
  transition:transform .5s cubic-bezier(.16,1,.3,1) !important; z-index:999980 !important;
}
html body .asm-zero-cartpanel.is-open .asm-zero-cartpanel__panel{ transform:translate3d(0,0,0) !important; }
/* engineering grid ghost on the panel */
html body .asm-zero-cartpanel__panel::before{
  content:"" !important; position:absolute !important; inset:0 !important; z-index:0 !important; pointer-events:none !important; opacity:.3 !important;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px) !important; background-size:52px 52px !important;
  -webkit-mask-image:radial-gradient(circle at 80% 0%,#000,transparent 60%) !important; mask-image:radial-gradient(circle at 80% 0%,#000,transparent 60%) !important;
}
html body .asm-zero-cartpanel__panel > *{ position:relative !important; z-index:1 !important; }

/* TOP — HUD header */
html body .asm-zero-cartpanel__top{
  position:relative !important; display:grid !important; grid-template-columns:1fr 48px !important; align-items:start !important; gap:18px !important;
  margin:0 0 30px !important; padding:0 0 24px !important; border-bottom:1px solid rgba(255,255,255,.1) !important;
}
html body .asm-zero-cartpanel__eyebrow{
  display:inline-flex !important; align-items:center !important; gap:8px !important; margin:0 0 14px !important; color:rgba(244,246,247,.42) !important;
  font-family:"Space Mono","JetBrains Mono",monospace !important; font-size:10px !important; font-weight:700 !important; letter-spacing:.26em !important; line-height:1 !important; text-transform:uppercase !important;
}
html body .asm-zero-cartpanel__eyebrow::before{ content:"//" !important; color:#e11d2a !important; }
html body .asm-zero-cartpanel__title{
  margin:0 !important; color:#f4f6f7 !important; font-family:"Archivo Expanded","Archivo",sans-serif !important;
  font-size:clamp(26px,3vw,38px) !important; font-weight:800 !important; line-height:1 !important; letter-spacing:-.03em !important; text-transform:uppercase !important;
}

/* CLOSE X — machined */
html body .asm-zero-cartpanel__close,
html body button.asm-zero-cartpanel__close{
  position:relative !important; width:48px !important; min-width:48px !important; max-width:48px !important; height:48px !important; min-height:48px !important; max-height:48px !important;
  display:flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; margin:0 !important;
  background:rgba(4,5,6,.6) !important; background-image:none !important; border:1px solid rgba(255,255,255,.16) !important; border-radius:0 !important; box-shadow:none !important;
  color:transparent !important; font-size:0 !important; line-height:0 !important; text-indent:-9999px !important; overflow:hidden !important; cursor:pointer !important;
  transition:border-color .28s cubic-bezier(.16,1,.3,1), background .28s cubic-bezier(.16,1,.3,1) !important;
}
html body .asm-zero-cartpanel__close::before,
html body .asm-zero-cartpanel__close::after{
  content:"" !important; position:absolute !important; top:50% !important; left:50% !important; width:18px !important; height:1.5px !important; display:block !important;
  background:rgba(244,246,247,.78) !important; border:0 !important; box-shadow:none !important; opacity:1 !important; visibility:visible !important;
  transition:background .28s ease !important;
}
html body .asm-zero-cartpanel__close::before{ transform:translate(-50%,-50%) rotate(45deg) !important; }
html body .asm-zero-cartpanel__close::after{ transform:translate(-50%,-50%) rotate(-45deg) !important; }
html body .asm-zero-cartpanel__close:hover{ background:rgba(193,18,31,.12) !important; border-color:#c1121f !important; }
html body .asm-zero-cartpanel__close:hover::before,
html body .asm-zero-cartpanel__close:hover::after{ background:#e11d2a !important; }

/* NOTE */
html body .asm-zero-cartpanel__note{
  position:relative !important; margin:0 0 26px !important; padding:20px 22px !important;
  background:rgba(193,18,31,.05) !important; border:1px solid rgba(193,18,31,.3) !important; border-left:2px solid #e11d2a !important;
  color:rgba(244,246,247,.74) !important; font-family:"Plus Jakarta Sans",sans-serif !important; font-size:15px !important; line-height:1.6 !important;
}

/* META — spec readout */
html body .asm-zero-cartpanel__meta{
  margin:0 0 28px !important; padding:6px 22px !important; background:#0b0d0f !important; border:1px solid rgba(255,255,255,.1) !important; border-radius:0 !important;
}
html body .asm-zero-cartpanel__line{
  display:grid !important; grid-template-columns:1fr auto !important; align-items:center !important; gap:18px !important;
  padding:18px 0 !important; margin:0 !important; border-bottom:1px solid rgba(255,255,255,.08) !important;
}
html body .asm-zero-cartpanel__line:last-child{ border-bottom:0 !important; }
html body .asm-zero-cartpanel__label{
  color:rgba(244,246,247,.42) !important; font-family:"Space Mono","JetBrains Mono",monospace !important;
  font-size:10px !important; font-weight:700 !important; letter-spacing:.2em !important; line-height:1.35 !important; text-transform:uppercase !important;
}
html body .asm-zero-cartpanel__value{
  color:#f4f6f7 !important; font-family:"Space Mono","JetBrains Mono",monospace !important;
  font-size:19px !important; font-weight:700 !important; letter-spacing:.03em !important; white-space:nowrap !important;
}
html body #asmZeroCartPanelTotal{ color:#e11d2a !important; }

/* ACTIONS — engineered buttons w/ red ignition wipe */
html body .asm-zero-cartpanel__actions{ display:flex !important; flex-direction:column !important; gap:12px !important; }
html body .asm-zero-cartpanel__btn{
  position:relative !important; overflow:hidden !important; z-index:0 !important; width:100% !important; min-height:56px !important;
  display:flex !important; align-items:center !important; justify-content:center !important; padding:0 22px !important; margin:0 !important;
  border-radius:0 !important; border:1px solid rgba(255,255,255,.14) !important; background:linear-gradient(180deg,#15191d,#0b0d0f) !important; color:#f4f6f7 !important;
  font-family:"Space Mono","JetBrains Mono",monospace !important; font-size:11px !important; font-weight:700 !important; letter-spacing:.2em !important; line-height:1.25 !important;
  text-align:center !important; text-transform:uppercase !important; text-decoration:none !important; box-shadow:none !important;
  transition:color .3s cubic-bezier(.16,1,.3,1), border-color .3s cubic-bezier(.16,1,.3,1) !important;
}
html body .asm-zero-cartpanel__btn::after{
  content:"" !important; position:absolute !important; inset:0 !important; z-index:-1 !important;
  background:linear-gradient(180deg,#e11d2a,#7a0c14) !important; transform:scaleY(0) !important; transform-origin:bottom !important;
  transition:transform .34s cubic-bezier(.16,1,.3,1) !important;
}
html body .asm-zero-cartpanel__btn > *{ position:relative !important; z-index:1 !important; }
html body .asm-zero-cartpanel__btn:hover{ color:#fff !important; border-color:#c1121f !important; background:linear-gradient(180deg,#15191d,#0b0d0f) !important; }
html body .asm-zero-cartpanel__btn:hover::after{ transform:scaleY(1) !important; }
html body .asm-zero-cartpanel__btn--primary{ border-color:#c1121f !important; color:#fff !important; }
html body .asm-zero-cartpanel__btn--primary::after{ transform:scaleY(1) !important; }
html body .asm-zero-cartpanel__btn--primary:hover::after{ transform:scaleY(1) !important; }
html body .asm-zero-cartpanel__btn--secondary{ color:rgba(244,246,247,.86) !important; }

/* lock bg */
html body.asm-zero-cartpanel-open{ overflow:hidden !important; touch-action:none !important; }

/* MOBILE — floating card under header */
@media (max-width:767px){
  html body .asm-zero-cartpanel__panel{
    top:90px !important; left:14px !important; right:14px !important; bottom:auto !important; width:auto !important; max-width:none !important; height:auto !important;
    max-height:calc(100dvh - 116px) !important; padding:24px 20px 28px !important;
    border:1px solid rgba(255,255,255,.12) !important; border-top:2px solid #e11d2a !important; box-shadow:0 24px 70px rgba(0,0,0,.6) !important;
    transform:translate3d(0,22px,0) !important; opacity:0 !important;
    transition:transform .5s cubic-bezier(.16,1,.3,1), opacity .4s cubic-bezier(.16,1,.3,1) !important;
  }
  html body .asm-zero-cartpanel.is-open .asm-zero-cartpanel__panel{ transform:translate3d(0,0,0) !important; opacity:1 !important; }
  html body .asm-zero-cartpanel__top{ grid-template-columns:1fr 44px !important; gap:14px !important; margin-bottom:22px !important; padding-bottom:18px !important; }
  html body .asm-zero-cartpanel__title{ font-size:clamp(24px,8vw,32px) !important; }
  html body .asm-zero-cartpanel__eyebrow{ font-size:9px !important; letter-spacing:.2em !important; margin-bottom:12px !important; }
  html body .asm-zero-cartpanel__close,html body button.asm-zero-cartpanel__close{ width:44px !important; min-width:44px !important; max-width:44px !important; height:44px !important; min-height:44px !important; max-height:44px !important; }
  html body .asm-zero-cartpanel__note{ margin-bottom:20px !important; padding:16px 18px !important; font-size:14px !important; }
  html body .asm-zero-cartpanel__meta{ margin-bottom:22px !important; padding:4px 18px !important; }
  html body .asm-zero-cartpanel__line{ gap:12px !important; padding:16px 0 !important; }
  html body .asm-zero-cartpanel__label{ font-size:9px !important; letter-spacing:.16em !important; }
  html body .asm-zero-cartpanel__value{ font-size:18px !important; }
  html body .asm-zero-cartpanel__btn{ min-height:54px !important; padding:0 18px !important; font-size:10px !important; letter-spacing:.16em !important; }
}

/* ==========================================
   Remove default Woodmart blog hero
   ========================================== */

.single-post .page-title,
.single-post .woodmart-page-title,
.single-post .entry-header,
.single-post .post-title,
.single-post .entry-title,
.single-post .post-img-wrapp,
.single-post .post-thumbnail,
.single-post .wp-post-image,
.single-post .wd-post-header {
    display: none !important;
}

/* ==========================================
   Hide category/meta above single blog posts
   ========================================== */

.single-post .post-categories,
.single-post .meta-post-categories,
.single-post .wd-post-cat,
.single-post .wd-post-cats,
.single-post .entry-meta,
.single-post .post-meta,
.single-post .meta-wrap,
.single-post .meta {
    display: none !important;
}