/* Native-only review candidate. Load after the child theme and hardening layer. */
:root {
  --bpc-font-sans: 'Inter', sans-serif;
  --bpc-font-display: 'Montserrat', sans-serif;
  --theme-font-family: 'Inter', sans-serif;
  --theme-heading-font-family: 'Montserrat', sans-serif;
  --theme-palette-color-4: #C9D2E3 !important;
  --nr-round1-background: #061329;
  --nr-round1-line: #436fad;
  --nr-round1-accent: #9cc3ff;
}
body { font-family: 'Inter', sans-serif !important; color: #C9D2E3 !important; background: #061329 !important; }
h1,h2,h3,h4,h5,h6,.product_title,.woocommerce-loop-product__title { font-family: 'Montserrat', sans-serif !important; color: #F4F7FB !important; }
button,input,select,textarea { font-family: 'Inter', sans-serif; }
/* White on the locked primary blue clears AA for normal-sized control text. */
.button,.woocommerce .button,.csf-home-button--primary,.csf-view-product,button[type=submit],input[type=submit] { color: #fff !important; }
:where(a,button,input,select,textarea):focus-visible { outline: 3px solid #7FE7FF !important; outline-offset: 4px !important; }
.csf-bbar .csf-badge { color: #fff !important; }
.csf-topstrip { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 32px !important; padding: 12px 24px !important; background: #000 !important; color: #C9D2E3 !important; font: 500 12px/1.5 'Inter',sans-serif !important; border-bottom: 1px solid #3A4556; }
.csf-topstrip__right::before,.csf-topstrip::before { content: none !important; display: none !important; }
header .site-logo-container img { min-width: 48px; min-height: 48px; object-fit: contain; }
.csf-bigfoot { width: auto !important; margin: 0 !important; padding: 48px max(24px,calc((100vw - 1180px)/2)) 28px !important; background: #000 !important; text-align: left !important; }
.csf-bigfoot__wrap { width: 100%; max-width: 1180px; margin: auto; display: grid !important; grid-template-columns: minmax(230px,1.3fr) repeat(3,minmax(130px,1fr)); gap: 40px !important; }
.csf-bigfoot__col { border: 0 !important; background: transparent !important; padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.csf-bigfoot__col h2 { font-size: 15px !important; line-height: 1.4; margin: 0 0 12px !important; }
.csf-bigfoot__col a { font-size: 14px; padding: 4px 0; color: #C9D2E3; }
.csf-bigfoot__brand p,.csf-bigfoot__bar { color: #C9D2E3 !important; }
.csf-footer-logo { display: block; width: 64px; height: 64px; object-fit: contain; margin: 0 0 16px; }
.csf-bigfoot__bar { max-width: 1180px; margin: 32px auto 0; }
.woocommerce ul.products { gap: 24px !important; }
.woocommerce ul.products li.product { display: flex !important; flex-direction: column; min-width: 0; }
.woocommerce ul.products li.product .ct-media-container { background: #0F141C !important; }
.woocommerce ul.products li.product img { object-fit: contain; background: transparent !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 18px !important; line-height: 1.35 !important; min-height: 3.9em; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .csf-view-product { margin-top: auto !important; min-height: 44px; }
.out-of-stock-badge { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.nr-stock-row { color: #C9D2E3; margin: 10px 0 14px; font-size: 13px; line-height: 1.5; }
.nr-ordering-note { padding: 15px 18px; margin: 20px 0; color: #F4F7FB; background: #0F141C; border: 1px solid #3A4556; font-size: 14px; line-height: 1.6; }
.woocommerce .product_meta { color: #C9D2E3 !important; font-size: 13px; line-height: 1.8; }
.woocommerce .product_meta > span { display: block; }
.woocommerce .product_meta .sku { color: #F4F7FB; }
.csf-strengths { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px !important; margin: 18px 0; }
.csf-strength { padding: 7px 12px; border: 1px solid #3A4556; border-radius: 4px; }
.csf-strengths__label { margin-right: 6px; color: #C9D2E3; }
.woocommerce .cart-empty.woocommerce-info { background: #0F141C !important; color: #F4F7FB !important; border: 1px solid #3A4556 !important; padding: 24px !important; }
.woocommerce .cart-empty::before { color: #F4F7FB !important; }
.nr-body-title-present .hero-section { display: none !important; }
body.page:not(.home):not(.woocommerce-page) .entry-content { max-width: 820px; margin-inline: auto; font-size: 16px; line-height: 1.8; }
body.page:not(.home):not(.woocommerce-page) .entry-content h1 { font-size: clamp(30px,4vw,48px); line-height: 1.15; margin-bottom: 28px; }
.csf-bbar { background: #0F141C !important; border-top-color: #3A4556 !important; }
.csf-bbar__i,.csf-bbar__i:hover { color: #F4F7FB !important; min-height: 44px; justify-content: center; }
.csf-badge { background: #2E6BFF !important; }
@media (max-width: 1024px) {
  body.csf-filter-panel-open .csf-filter-panel { background: #0F141C !important; color: #F4F7FB; }
  .csf-bigfoot__wrap { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 18px !important; }
  .csf-bigfoot__brand { grid-column: 1 / -1; }
}
@media (max-width: 689px) {
  .csf-topstrip { padding: 10px 18px !important; font-size: 10px !important; gap: 5px 18px !important; text-align: center; }
  body.woocommerce-shop .hero-section,body.tax-product_cat .hero-section { padding: 24px 0 !important; min-height: 0 !important; }
  body.woocommerce-shop .hero-section h1,body.tax-product_cat .hero-section h1 { font-size: 30px !important; }
  .woocommerce ul.products { grid-template-columns: minmax(0,1fr) !important; gap: 24px !important; }
  .woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
  .woocommerce ul.products li.product img { width: 100%; aspect-ratio: 1; object-fit: contain; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px !important; line-height: 1.35 !important; min-height: 0; }
  .woocommerce ul.products li.product .price { font-size: 18px !important; }
  .woocommerce ul.products li.product .csf-view-product { padding: 12px 16px; font-size: 16px; min-height: 48px; }
  .woocommerce.single-product .product-entry-wrapper { display: grid !important; grid-template-columns: 1fr !important; gap: 22px !important; }
  .single-product .woocommerce-product-gallery { width: 100% !important; max-height: 290px; margin: 0 !important; }
  .single-product .ct-product-gallery-container,.single-product .woocommerce-product-gallery figure { height: 290px !important; min-height: 0 !important; }
  .single-product .woocommerce-product-gallery img { width: 100%; height: 290px !important; object-fit: contain !important; }
  .single-product .summary { width: 100% !important; margin: 0 !important; }
  .single-product .product_title { font-size: 27px !important; line-height: 1.2 !important; }
  .single-product .summary .price { font-size: 22px !important; }
  .csf-bigfoot { padding: 36px 22px 95px !important; }
  .csf-bigfoot__wrap { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .csf-bigfoot__col:last-child { grid-column: 1 / -1; }
}

/* Phone menu for the inner-page header (Elementor template 153). Added 2026-10-20.
   The toggle button is created by repair.php's script; without JavaScript the links stay visible. */
.nr-menu-toggle { display: none; }
@media (max-width: 767px) {
  html.nr-has-menu-toggle .elementor-153 .nr-header { position: relative; }
  html.nr-has-menu-toggle .elementor-153 .nr-header .elementor-column,
  html.nr-has-menu-toggle .elementor-153 .nr-header .elementor-widget-wrap,
  html.nr-has-menu-toggle .elementor-153 .nr-header .nr-header-nav .elementor-widget,
  html.nr-has-menu-toggle .elementor-153 .nr-header .nr-header-nav .elementor-widget-container { position: static !important; }
  html.nr-has-menu-toggle .elementor-153 .nr-header .nr-header-nav .elementor-widget-container { display: flex; justify-content: flex-end; }
  html.nr-has-menu-toggle .elementor-153 .nr-menu-toggle {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
    background: transparent; border: 0; color: #F4F7FB; cursor: pointer;
    font: 600 16px/1 'Inter', sans-serif;
  }
  html.nr-has-menu-toggle .elementor-153 nav.nr-links:not(.is-open) { display: none !important; }
  html.nr-has-menu-toggle .elementor-153 nav.nr-links.is-open {
    position: absolute !important; left: 0; right: 0; top: 100%; z-index: 100;
    flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; gap: 0 !important;
    background: #000; border-bottom: 1px solid #3A4556; padding: 4px 24px 12px !important;
  }
  html.nr-has-menu-toggle .elementor-153 nav.nr-links.is-open a {
    font-size: 16px !important; min-height: 48px !important; border-top: 1px solid #1B2230;
  }
  html.nr-has-menu-toggle .elementor-153 nav.nr-links.is-open a:first-child { border-top: 0; }
}
@media (max-width: 767px) {
  /* Right-align the Menu button whatever wrapper Elementor emits around the HTML widget. */
  html.nr-has-menu-toggle .elementor-153 .nr-header .nr-header-nav :has(> .nr-menu-toggle) { display: flex !important; justify-content: flex-end !important; width: 100%; }
  html.nr-has-menu-toggle .elementor-153 .nr-menu-toggle { margin-left: auto; }
}

/* One catalog (2026-10-20): the mobile Filters button only filtered by category, so it is hidden with its panel. */
.csf-bbar [data-csf-filters], #csf-product-filters, .csf-filter-scrim { display: none !important; }

/* Round 1 Option 1: existing shared presentation owner; native controls/data unchanged. */
.elementor .nr-frame { background: var(--nr-round1-background) !important; --nr-line: var(--nr-round1-line); }
.elementor-161 .nr-archive-body .woocommerce ul.products li.product {
  border: 1px solid #436fad; border-radius: 5px; padding: 16px; background: #030a14;
}
.nr-frame .nr-intro,.nr-frame.nr-intro,.nr-frame.nr-product-details,
.elementor-165 .nr-product-layout .nr-purchase { border-color: #436fad; }
.nr-frame .nr-round1-heading-accent { color: #9cc3ff !important; }
.nr-frame .nr-display .elementor-heading-title { color: #9cc3ff !important; }
.nr-archive-body li.product .button,.woocommerce ul.products li.product .csf-view-product {
  background: #0f141c !important; border: 1px solid #6387ba !important;
  color: #fff !important; font-size: 16px; min-height: 48px;
  transition: background .18s ease,border-color .18s ease;
}
.nr-archive-body li.product .button:is(:hover,:focus-visible),
.woocommerce ul.products li.product .csf-view-product:is(:hover,:focus-visible) {
  background: linear-gradient(125deg,#2459bc,#173b91 48%,#2e66ca) !important;
  border-color: #accfff !important; color: #fff !important; box-shadow: inset 0 1px 0 #8fb7ff;
}
@media(max-width:767px) {
  .elementor-161 .nr-archive-body li.product .button { font-size:16px; min-height:48px; }
  .elementor-161 .nr-archive-body li.product a img { height:auto; aspect-ratio:1; object-fit:contain; }
  .elementor-165 .nr-product-layout .csf-coa-facts,
  .elementor-165 .nr-product-layout .csf-coa-note { font-size:15px; line-height:1.6; }
}
@media(prefers-reduced-motion:reduce) {
  .nr-archive-body li.product .button,.woocommerce ul.products li.product .csf-view-product { transition:none; }
}

/* Ticket05: shared PDP notice contrast and purchase-control spacing. */
body.single-product :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) {
  background: #0F141C !important;
  color: #F4F7FB !important;
  border: 1px solid #6387ba;
  --theme-text-color: #F4F7FB;
  --theme-link-initial-color: #7FE7FF;
}
body.single-product :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before {
  color: #7FE7FF;
}
body.single-product :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a:not(.button) {
  color: #7FE7FF;
}
body.single-product .elementor-165 .nr-product-layout .csf-atc-consent {
  margin: 20px 0 24px;
}
body.single-product .elementor-165 .nr-product-layout .e-atc-qty-button-holder {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
}
body.single-product .elementor-165 .nr-product-layout .e-atc-qty-button-holder .quantity {
  margin: 0 !important;
  --quantity-height: 48px;
}
body.single-product .elementor-165 .nr-product-layout .e-atc-qty-button-holder input.qty {
  height: 100% !important;
  min-height: 48px;
}
body.single-product .elementor-165 .nr-product-layout .e-atc-qty-button-holder .single_add_to_cart_button {
  margin: 0 !important;
  flex: 0 1 auto;
  min-width: 0;
  min-height: 48px;
}

/* Round 2, ticket 02: approved compact listing grids; Home catalog and Catalog only. */
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  max-width: 1152px;
  width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 14px !important;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product figure {
  height: 200px !important;
  margin: 0 !important;
  flex-shrink: 0;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product figure a {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  overflow: hidden;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  margin: 0 !important;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product .woocommerce-loop-product__title {
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  min-height: 0 !important;
  margin: 14px 0 10px !important;
  overflow-wrap: break-word;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product .price {
  font-size: 16px !important;
  line-height: 1.4 !important;
  margin-bottom: 10px !important;
  white-space: normal;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product .ct-woo-card-actions {
  margin-top: auto !important;
  width: 100%;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product .woocommerce-loop-product__buttons {
  width: 100%;
}
:is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product a.button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px !important;
  margin-top: auto !important;
  padding: 10px 8px !important;
  font-size: 15px !important;
  white-space: normal;
}
@media (min-width: 761px) and (max-width: 1000px) {
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product {
    padding: 10px !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product figure {
    height: 180px !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product img {
    object-fit: cover !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product .woocommerce-loop-product__title {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product a.button {
    font-size: 14px !important;
  }
}
@media (max-width: 340px) {
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product {
    padding: 8px !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product figure {
    height: 158px !important;
  }
  :is(body.home .nr-black-home .nrbs-catalog, body.woocommerce-shop .elementor-161 .nr-archive-body .woocommerce) ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
  }
}
