/* ==========================================
   1. CSS VARIABLES
   ========================================== */

:root {
  /* Font families */
  --font-body: 'Lato', sans-serif;
  --font-head: 'Roboto', sans-serif;

  /* Type scale anchored to H1 = 48px (Major Third ratio ~1.25) */
  --step--1: 0.8rem;
  --step-0:  1.125rem;
  --step-1:  1.229rem;
  --step-2:  1.536rem;
  --step-3:  1.92rem;
  --step-4:  2.4rem;
  --step-5:  3rem;

  /* Letter spacing for headings */
  --ls-h1: -0.02em;
  --ls-h2: -0.017em;
  --ls-h3: -0.013em;
  --ls-h4: -0.01em;
  --ls-h5: -0.007em;
  --ls-h6: -0.005em;

  /* Line-height scale */
  --lh-body: 1.5;
  --lh-h1: 1.05;
  --lh-h2: 1.1;
  --lh-h3: 1.15;
  --lh-h4: 1.2;
  --lh-h5: 1.3;
  --lh-h6: 1.35;

  /* Card / button tokens */
  --rb-card-radius: 12px;
  --rb-btn-radius: 12px;
  --rb-outline: #cbd5e1;
  --rb-line: #e5e7eb;
  --rb-text: #0f172a;
  --rb-muted: #64748b;
  --rb-gold: #f59e0b;
  --rb-red: #d62828;
  --rb-red-hover: #e84a4a;

  /* Grid/card gutters */
  --rb-gap-x: 12px;
  --rb-gap-x-m: 10px;

  /* USP palette */
  --usp-accent: #b60000;
  --usp-text: #0f172a;
  --usp-muted: #6b7280;
  --usp-row: rgba(182,0,0,.06);

  /* Q&A accordion */
  --rb-qa-red: #cc181e;
  --rb-qa-dark: #333333;
  --rb-qa-text: #555555;
  --rb-icon: url("https://www.redbacklasers.com.au/rb/wp-content/uploads/2025/05/Spider-Logo2.png");

  /* Tech panel bar */
  --rb-bar-h: 7px;
  --rb-dot: 12px;

  /* New: common colour tokens */
  --color-red-primary: #b60000;
  --color-red-bright: #ff0000;
  --color-dark: #333333;
  --color-grey-light: #f9f9f9;
  --radius-lg: 12px;
  --radius-md: 8px;
  --radius-sm: 4px;
}

@media (min-width: 1024px) {
  :root {
    --rb-header-gutter: 1.0vw;
  }
}


/* ==========================================
   2. GLOBAL RESET & BASE
   ========================================== */

/* .rb-page scope reset */

/* Gallery iframe z-index */
.woocommerce-product-gallery__wrapper div iframe { z-index: 99999; }

/* Inputs */
input[type="checkbox"] { width: 20px; height: 20px; outline: 1px solid #c00; }
input[type="radio"] { width: 16px; height: 16px; }


/* Nav tabs bar */

/* Stock = backorder */
.stock.available-on-backorder { font-weight: bold; font-size: 180%; color: #ff0000; }

/* Stripe error */
.wc-stripe-error {
  background: #ff0000 !important; color: #fff !important;
  font-weight: bold !important; font-size: 150% !important;
}

/* T&C text */
.woocommerce-terms-and-conditions-checkbox-text { font-weight: bold; }

/* Page wrappers */
.page-header .page-title { color: #fff; }
.content-container div.row { background: rgba(255,255,255,.99) !important; }

/* Breadcrumbs */
.breadcrumb { background: rgba(0,0,0,.9); }
.breadcrumb a { color: #fff !important; }

/* Labels in forms */
.woocommerce form .label label { color: #3498db; font-size: 14px; font-weight: bold; }

/* Variation reset hidden */
.reset_variations { display: none !important; }

/* Responsive embed */
.embed {
  position: relative; padding-bottom: 56%; clear: both; height: 0; overflow: hidden; max-width: 100%;
}
.embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }

/* Mini cart buttons */
.mini-cart-content .buttons a { background-color: #fab702; }

/* Checkout place-order */
.form-row.place-order { text-align: left; padding-left: 20px; }

/* Payment method labels */
.payment_method_stripe label,
.payment_method_afterpay label,
.payment_method_ppcp-gateway label,
.payment_method_bacs label {
  font-size: 130% !important; font-weight: bold !important;
}

/* Store notice */
a.woocommerce-store-notice__dismiss-link { display: none; }
.woocommerce-demo-store .demo_store { background-color: #c62828; color: #fff; }

/* Back to top */
@media (max-width: 2480px) { .back-top { left: 20px; } }
.back-top { bottom: 65px; }

/* Z-index helper */
.ppc-button-wrapper { position: relative !important; z-index: 1 !important; }

/* Wishlist (mobile) */
.wishlist_table.mobile li { position: relative; margin-bottom: 15px !important; }
.wishlist_table.mobile li h3 { font-size: 1em; margin: 0; }
.wishlist_table.mobile li .product-remove { position: absolute; top: 10px; left: 0; }
.wishlist_table.mobile li .product-remove i:before { content: '='; font-size: 4em; }

/* Bundle button prefix */
.jckstl-add-all-to-cart .button:before { content: "Add Bundle to Cart - "; font-size: initial; }
.jckstl-add-all-to-cart .button,
.jckstl-add-all-to-cart button { font-size: 0 !important; }

/* Simple tables */
.wp-table tr:nth-child(odd) { background-color: #fff; }
.wp-table tr:nth-child(even) { background-color: #f1f1f1; }
.wp-table tr { border-bottom: 1px solid #ddd; }
.wp-table th:first-child, .wp-table td:first-child { padding-left: 0; }
.wp-table td, .wp-table th { padding: 8px 4px; display: table-cell; text-align: left; vertical-align: top; }
.wp-table th { font-weight: bold; text-align: right; }
.wp-table { font-size: 13px !important; border: 1px solid #ccc; border-collapse: collapse; border-spacing: 0; width: 100%; display: table; }

/* Hide Iconic bundled summaries */

/* Slider arrows colours (global) */
.sm-arrow.arrow-right::before,
.sm-arrow.arrow-left::before { color: blue !important; }
.swiper-custom-right.swiper-button-next-swiper-unique-id-1::before,
.swiper-custom-left.swiper-button-prev-swiper-unique-id-1::before,
.swiper-button-next-swiper-unique-id-0::before,
.swiper-button-prev-swiper-unique-id-0::before {
  color: #fff !important; background-color: #000 !important;
}

/* Sticky cart: hide before/after blocks + duplicates */
.etheme-sticky-cart :is(
  .etheme-before-adc-content,
  .etheme-after-adc-content,
  .before-add-to-cart,
  .after-add-to-cart,
  .before_add_to_cart,
  .after_add_to_cart,
  [data-block="before_add_to_cart"],
  [data-block="after_add_to_cart"]
) { display: none !important; margin: 0 !important; padding: 0 !important; }
.etheme-sticky-cart .product-usps { display: none !important; }

/* XStore default stock line (single) */
.single-product form.cart p.et_stock,
.single-product form.cart .stock.step-1 { display: none !important; }

/* Product meta cleanup */
.single-product .product_meta .posted_in { display: none !important; }

/* Footer visibility safeguard */
.et-footers-wrapper, footer.footer, .footer-bottom { content-visibility: visible !important; }

/* Hide Procuret/configure button */
button.configure-product { display: none !important; }

/* Prefooter gap removal */
.prefooter,
.footer-prefooter,
.et-prefooter,
.footer-top {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}
.content-page,
.container.content-page { padding-bottom: 0 !important; }
#footer,
.et-footers-wrapper { margin-top: 0 !important; }

/* Hide auto-injected My Account menu items */
.menu-main-container ul.menu li:has(> a[href*="my-account"]),
.et-mobile-menu ul.menu li:has(> a[href*="my-account"]),
.et-off-canvas ul.menu li:has(> a[href*="my-account"]) {
  display: none !important;
}

/* MKL z-index */
.mkl_pc { z-index: 1000001 !important; }

/* Hide "View cart" link after AJAX add (loops/cards only) */
:where(li.product, div.product):not([class*="cuw"]) .content-product
  .product-details a.added_to_cart.wc-forward {
  display: none !important;
}

/* Coax chat widget */
#coax-widget-bubble { bottom: 6rem !important; }
#coax-widget-bubble * { font-family: 'Montserrat', sans-serif !important; }
#coax-widget-bubble #widget-icon {
  background-color: #0077ff !important;
  color: #ffffff !important;
  transition: background-color .2s ease !important;
}
#coax-widget-bubble #widget-icon:hover { background-color: #3fa1ff !important; }
#coax-widget-bubble #widget-popup > div > div:last-child { background: #0077ff !important; }

/* Smooth scroll */
html { scroll-behavior: smooth; }
.rb-anchor-target { scroll-margin-top: 120px; }

/* empty p tags inside product HTML blocks */


/* ==========================================
   3. TYPOGRAPHY
   ========================================== */

/* Body text & paragraphs */
body, p {
  font-family: var(--font-body);
  font-size: var(--step-0);
  line-height: var(--lh-body);
  letter-spacing: normal;
  color: #0f172a;
}

/* Headings base */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-head);
  font-weight: 700;
  color: #000;
}

/* Heading sizing */
h1 { font-size: var(--step-5); letter-spacing: var(--ls-h1); line-height: var(--lh-h1); }
h2 { font-size: var(--step-4); letter-spacing: var(--ls-h2); line-height: var(--lh-h2); }
h3 { font-size: var(--step-3); letter-spacing: var(--ls-h3); line-height: var(--lh-h3); }
h4 { font-size: var(--step-2); letter-spacing: var(--ls-h4); line-height: var(--lh-h4); }
h5 { font-size: var(--step-1); letter-spacing: var(--ls-h5); line-height: var(--lh-h5); }
h6 { font-size: var(--step-0); letter-spacing: var(--ls-h6); line-height: var(--lh-h6); }

@media (max-width: 1024px) {
  h1 { font-size: var(--step-4); }
  h2 { font-size: var(--step-3); }
  h3 { font-size: var(--step-2); }
  h4 { font-size: var(--step-1); }
  h5 { font-size: var(--step-0); }
  h6 { font-size: var(--step--1); }
}

/* Single product price = H3 style */
.single-product .product-content .price,
.single-product .summary .price,
.single-product .summary .price .amount {
  font-family: var(--font-head) !important;
  font-weight: 700 !important;
  font-size: var(--step-3) !important;
  line-height: var(--lh-h3) !important;
  letter-spacing: var(--ls-h3) !important;
  color: #473E81 !important;
}

/* Single product price suffix */
.single-product .summary .price .woocommerce-price-suffix {
  display: inline-block; font-size: .9em; color: #666; margin-left: 4px;
  position: relative; top: -1px; line-height: 1.2;
}

/* Front-menu text buttons */
.menu-front-text a.item-link {
  color: #000 !important;
  background-color: #fff !important;
  border: 3px solid #f00 !important;
  font-weight: bold;
  font-family: Dosis, Arial, Helvetica, sans-serif;
  font-size: 1.3em;
  line-height: 1;
  width: 180px;
  height: 110px;
  padding: 0;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  box-sizing: border-box;
  overflow-wrap: break-word;
}

.menu-front-text a.item-link:has(:only-child) {
  font-size: clamp(1em, 5vw, 1.8em);
}

.menu-front-text a.item-link,
.menu-front-text a.item-link * {
  margin: 5;
  padding: 5;
  line-height: 1;
}

/* Archive product code */
.archive-product-code { color: #555; font-size: 13px; }

/* Single product USP list items */
.single-product .product-usps li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 16px; line-height: 1.45; margin: 10px 0; color: #222;
  font-weight: 500; word-break: break-word;
}

@media (max-width: 768px) {
  .single-product .product-usps li {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 6px 0 !important;
    gap: 8px !important;
  }
}

/* Single product code */

/* Product code big header (single) */

@media (max-width: 768px) {
  .single-product h1.product_title {
    font-size: 26px !important;
    line-height: 1.1 !important;
    margin-bottom: 0px !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

/* Hero title */


/* Laser text mask effect */

/* Header font consistency */
.header-wrapper,
.header-wrapper *,
.mobile-header-wrapper,
.mobile-header-wrapper *,
.et_b_header-mobile,
.et_b_header-mobile * {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
}


/* ==========================================
   4. LAYOUT & GRID
   ========================================== */

/* Full-width breakout utility */

/* ACF video grid */
.acf-video-grid { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
.acf-video-grid .video-column { flex: 1 1 100%; }

@media (min-width: 768px) {
  .acf-video-grid .video-column { flex: 1 1 48%; }
}

/* Industry icons grid */
.industry-icons-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 20px;
  padding: 0 10px;
}

.industry-icon {
  flex: 1 1 calc(25% - 9px);
  max-width: calc(25% - 9px);
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .industry-icon {
    flex: 1 1 calc(33.333% - 8px);
    max-width: calc(33.333% - 8px);
  }
}

.industry-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.2s ease;
}

.industry-icon a:hover img,
.industry-icon:hover img { transform: scale(1.05); }

/* Single product = remove prefooter gap */
.single-product .content-page.container { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.single-product .prefooter { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* rb-page base */

/* Tier rows */

/* Tier divider */

/* Tier / divider full width inside .rb-page */


/* FAQ list (2-col) */


/* Related categories */


/* Mobile-only padding fix for content under product tabs */
@media (max-width: 767.98px) {
  .single-product .element-zKN9P {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  .single-product .element-zKN9P.mob-full-width,
  .single-product .element-zKN9P.mob-full-width-children {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Category grid = text below image */
.category-grid.product-category .categories-mask {
  position: static !important;
  transform: none !important;
  background: transparent !important;
  padding-top: 0.75rem;
  text-align: center;
}
.category-grid.product-category h4 {
  margin: 0 0 0.25rem;
  color: #000 !important;
  text-transform: none;
}
.category-grid.product-category mark.count {
  background: none !important;
  color: #555 !important;
  font-size: 13px;
}
.category-grid.product-category .categories-mask a {
  color: inherit !important;
  text-decoration: none;
}


/* ==========================================
   5. HEADER & NAVIGATION
   ========================================== */

/* Desktop header gutters */
@media (min-width: 1024px) {
  .header-wrapper .header-top,
  .header-wrapper .header-main,
  .header-wrapper .header-bottom {
    padding-left: var(--rb-header-gutter);
    padding-right: var(--rb-header-gutter);
  }
  .header-wrapper .container,
  .et-header .container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-left: var(--rb-header-gutter);
    padding-right: var(--rb-header-gutter);
  }
}

@media (max-width: 1023.98px) {
  .header-wrapper .header-top,
  .header-wrapper .header-main,
  .header-wrapper .header-bottom {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* Keep dropdowns full-width and flush to edges */
@media (min-width: 1024px) {
  .header-wrapper .et_b_header-menu .menu > li > .nav-sublist-dropdown,
  .header-wrapper .et_b_header-menu .menu > li > .nav-sublist {
    margin-left: 0;
    margin-right: 0;
    left: 0 !important;
    right: 0 !important;
    width: 250px !important;
    transform: none !important;
  }
  .header-wrapper .et_b_header-menu .nav-sublist-dropdown ul,
  .header-wrapper .et_b_header-menu .nav-sublist-dropdown .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Header phone widget */

/* Store notice = charcoal + amber */
.woocommerce-store-notice.demo_store {
  background-color: #1a1a1a !important;
  color: #FAC775 !important;
  text-align: center;
  padding: 4px 40px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  border-bottom: 0.5px solid #EF9F27 !important;
}
.woocommerce-store-notice.demo_store a {
  color: #FAC775 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.woocommerce-store-notice__dismiss-link {
  font-size: 12px !important;
  opacity: 0.6;
  text-decoration: none !important;
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .woocommerce-store-notice.demo_store {
    font-size: 13px;
    padding: 9px 36px 9px 14px;
  }
}

/* Mobile sticky cart: transparent/floating */


@media (max-width: 767px) {
  .etheme-sticky-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now),
  .sticky-add-to-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now),
  .et-sticky-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now),
  .etheme-sticky-cart .et-or-wrapper,
  .sticky-add-to-cart .et-or-wrapper,
  .et-sticky-cart .et-or-wrapper { display: none !important; }

  .etheme-sticky-cart .et-single-buy-now,
  .sticky-add-to-cart .et-single-buy-now,
  .et-sticky-cart .et-single-buy-now {
    width: 100% !important;
    border-radius: 0 !important;
    padding: 14px 0 !important;
  }
  .etheme-sticky-cart,
  .sticky-add-to-cart,
  .et-sticky-cart { padding: 0 !important; }
  .etheme-sticky-cart form.cart,
  .sticky-add-to-cart form.cart,
  .et-sticky-cart form.cart { justify-content: center !important; }
}


/* ==========================================
   6. SINGLE PRODUCT PAGE
   ========================================== */

/* Desktop gutters */
@media (min-width: 1024px) {
  body.single-product .page-content,
  body.single-product .content-page,
  body.single-product .single-product-content,
  body.single-product .single-product {
    padding-left: 0.5vw;
    padding-right: 0.5vw;
  }
}

@media (max-width: 1023.98px) {
  body.single-product .page-content,
  body.single-product .content-page,
  body.single-product .single-product-content,
  body.single-product .single-product {
    padding-left: 0;
    padding-right: 0;
  }
}

/* Gallery: full-height bumpers */
.single-product .swiper-control-top {
  position: relative !important;
  overflow: hidden !important;
}

/* Sale badge above bumpers */
.single-product .sale-wrapper,
.single-product .onsale {
  z-index: 99990 !important;
  position: absolute !important;
}
.single-product .swiper-entry .sale-wrapper,
.single-product .swiper-entry .onsale {
  z-index: 100 !important;
  position: absolute !important;
}

/* Bumpers */
.single-product .swiper-control-top .swiper-custom-left,
.single-product .swiper-control-top .swiper-custom-right {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  height: 98% !important;
  width: 50px !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 20 !important;
  background-color: rgba(0, 0, 0, 0.06) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.2s ease !important;
}
.single-product .swiper-control-top .swiper-custom-left {
  left: 0 !important; right: auto !important;
}
.single-product .swiper-control-top .swiper-custom-right {
  right: 0 !important; left: auto !important;
}

/* Red chevron icons */
.single-product .swiper-control-top .swiper-custom-left::before,
.single-product .swiper-control-top .swiper-custom-right::before {
  content: '' !important;
  display: block !important;
  width: 25px !important;
  height: 25px !important;
  border-top: 4px solid #b60000 !important;
  border-right: 4px solid #b60000 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  background: transparent !important;
  font-family: inherit !important;
  transition: transform 0.2s ease !important;
}
.single-product .swiper-control-top .swiper-custom-left::before {
  transform: rotate(-135deg) !important;
  margin-left: 8px;
}
.single-product .swiper-control-top .swiper-custom-right::before {
  transform: rotate(45deg) !important;
  margin-right: 8px;
}

@media (min-width: 768px) {
  .single-product .swiper-control-top .swiper-custom-left:hover,
  .single-product .swiper-control-top .swiper-custom-right:hover {
    background-color: rgba(0, 0, 0, 0.15) !important;
  }
  .single-product .swiper-control-top .swiper-custom-left:hover::before {
    transform: rotate(-135deg) scale(1.1) !important;
  }
  .single-product .swiper-control-top .swiper-custom-right:hover::before {
    transform: rotate(45deg) scale(1.1) !important;
  }
}

/* Hide thumbnails from 9th onward */
.single-product .swiper-control-bottom .swiper-wrapper .swiper-slide:nth-child(n+9) {
  display: none !important;
}

/* ACF product blocks (3-up cards for specs/features) */
.acf-product-block { margin-bottom: 30px; }
.acf-product-block:last-child { margin-bottom: 0; }
.acf-product-block .rb-acf-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
  margin: 0 !important;
}

@media (max-width: 991.98px) {
  .acf-product-block .rb-acf-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .acf-product-block .rb-acf-row { grid-template-columns: 1fr; }
}

.acf-product-block .rb-card {
  width: 100%; height: 100%; display: flex; flex-direction: column;
  box-sizing: border-box; overflow: hidden;
  background: #fff; color: #111; border: 2px solid #b60000;
  border-radius: 8px; padding: 0;
}
.acf-product-block .rb-card__title {
  margin: 0; padding: 14px 16px; color: #b60000; font-weight: 700;
  font-size: 22px; text-align: left; border-bottom: 1px solid #eee;
}
.acf-product-block .acf-features,
.acf-product-block .acf-included {
  list-style: none; margin: 0; padding: 0;
  font-size: 19px !important; line-height: 1.6 !important; text-align: left !important;
}
.acf-product-block .acf-features li,
.acf-product-block .acf-included li {
  margin: 0 !important; padding: 10px 16px; border-bottom: 1px solid #eee;
  color: #333 !important; font-weight: 500 !important;
  font-size: 19px !important; line-height: 1.6 !important;
}
.acf-product-block .acf-features li:last-child,
.acf-product-block .acf-included li:last-child { border-bottom: 0; }
.acf-product-block .acf-features li:nth-child(even),
.acf-product-block .acf-included li:nth-child(even) { background: #f9f9f9; }
.acf-product-block .acf-features li:nth-child(odd),
.acf-product-block .acf-included li:nth-child(odd) { background: #fff; }
.acf-product-block .acf-features li p,
.acf-product-block .acf-included li p { margin: 0 !important; }

.acf-product-block .acf-specs-list { display: flex; flex-direction: column; gap: 0; font-size: 19px !important; line-height: 1.6 !important; }
.acf-product-block .acf-specs-row { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 16px; border-bottom: 1px solid #eee; }
.acf-product-block .acf-specs-row:last-child { border-bottom: 0; }
.acf-product-block .acf-specs-row:nth-child(even) { background: #f9f9f9; }
.acf-product-block .acf-specs-row:nth-child(odd) { background: #fff; }
.acf-product-block .acf-specs-label { font-weight: 700 !important; color: #111 !important; font-size: 19px !important; }
.acf-product-block .acf-specs-value { flex: 1 1 auto; text-align: right; font-weight: 500 !important; color: #333 !important; font-size: 19px !important; }
.acf-product-block .acf-specs-row p { margin: 0 !important; font-size: inherit !important; line-height: inherit !important; }

@media (max-width: 600px) {
  .acf-product-block .rb-card__title { padding: 12px 14px; }
  .acf-product-block .acf-features li,
  .acf-product-block .acf-included li { padding: 8px 14px; }
  .acf-product-block .acf-specs-row { padding: 8px 14px; flex-direction: column; align-items: flex-start; }
  .acf-product-block .acf-specs-value { text-align: left; }
}

/* Sticky cart = full width white bar */
.etheme-sticky-cart,
.sticky-add-to-cart,
.et-sticky-cart {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  background: #ffffff !important;
  padding: 10px 16px !important;
  box-shadow: 0 -4px 12px rgba(0,0,0,.12) !important;
  z-index: 99990 !important;
}
.etheme-sticky-cart .container,
.etheme-sticky-cart .container-wrapper,
.sticky-add-to-cart .container,
.sticky-add-to-cart .container-wrapper,
.et-sticky-cart .container,
.et-sticky-cart .container-wrapper {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.etheme-sticky-cart form.cart,
.sticky-add-to-cart form.cart,
.et-sticky-cart form.cart {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
}

/* Sticky bar buttons base */
.etheme-sticky-cart .single_add_to_cart_button,
.sticky-add-to-cart .single_add_to_cart_button,
.et-sticky-cart .single_add_to_cart_button {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  border: 2px solid transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,.12) !important;
  color: #ffffff !important;
}
.etheme-sticky-cart .single_add_to_cart_button i,
.sticky-add-to-cart .single_add_to_cart_button i,
.et-sticky-cart .single_add_to_cart_button i {
  font-size: 18px !important;
  margin-right: 6px !important;
  color: #ffffff !important;
}

/* Sticky Add to Cart = red */
.etheme-sticky-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now),
.sticky-add-to-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now),
.et-sticky-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now) {
  background: #b60000 !important;
  border-color: #b60000 !important;
}
.etheme-sticky-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now):hover,
.sticky-add-to-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now):hover,
.et-sticky-cart .single_add_to_cart_button.add_to_cart_button:not(.et-single-buy-now):hover {
  background: #ff0000 !important;
}

/* Sticky Buy Now = green */
.etheme-sticky-cart .et-single-buy-now,
.sticky-add-to-cart .et-single-buy-now,
.et-sticky-cart .et-single-buy-now {
  background: #2e8b2e !important;
  border-color: #1f6a1f !important;
}
.etheme-sticky-cart .et-single-buy-now:hover,
.sticky-add-to-cart .et-single-buy-now:hover,
.et-sticky-cart .et-single-buy-now:hover { background: #3ca33c !important; }

/* Desktop: hide stock in sticky bar */
@media (min-width: 768px) {
  .etheme-sticky-cart .stock,
  .sticky-add-to-cart .stock,
  .et-sticky-cart .stock { display: none !important; }
}

/* Sticky product title */
.etheme-sticky-cart .sticky_product_title,
.sticky-add-to-cart .sticky_product_title,
.et-sticky-cart .sticky_product_title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: #333333 !important;
}

/* Desktop: sticky cart column layout */
@media only screen and (min-width: 992px) {
  .sticky_product_title {
    max-width: none !important;
    width: auto !important;
  }
}

/* Hard-hide sticky Add to Cart (mobile) */
@media (max-width: 768px) {
  .etheme-sticky-cart form.cart button.single_add_to_cart_button:not(.et-single-buy-now) {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .etheme-sticky-cart form.cart .et-or-wrapper { display: none !important; }
  .etheme-sticky-cart form.cart .quantity { display: none !important; }
  .etheme-sticky-cart form.cart > button.et-single-buy-now {
    width: 95% !important;
    max-width: 560px;
    display: block !important;
    margin: 0 auto !important;
  }
  .etheme-sticky-cart form.cart {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

/* Mobile sticky cart: hide non-Buy Now elements */
@media (max-width: 767px) {
  .etheme-sticky-cart .et_col-xs-5,
  .etheme-sticky-cart p.price,
  .etheme-sticky-cart .quantity,
  .etheme-sticky-cart .add_to_cart_button,
  .etheme-sticky-cart .et-or-wrapper { display: none !important; }
  .etheme-sticky-cart .et-single-buy-now.button {
    font-size: 12px;
    width: 100%;
    margin: 0 auto;
  }
}

/* Product tabs */
.single-product .wc-tabs-wrapper,
.single-product .woocommerce-tabs.type-accordion {
  background-color: #ffffff !important;
  margin-top: 30px;
}
.single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab > a,
.single-product .wc-tabs-wrapper .tabs .et-woocommerce-tab > a {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px;
  color: #333333 !important;
  background-color: #ffffff !important;
  padding: 20px 0 !important;
  position: relative;
  display: flex;
  align-items: center;
  transition: all 0.2s ease-in-out;
}
.single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab > a:hover,
.single-product .wc-tabs-wrapper .tabs .et-woocommerce-tab.active > a {
  color: #b60000 !important;
  background-color: #fafafa !important;
}
.single-product .wc-tabs-wrapper .woocommerce-Tabs-panel {
  background: #ffffff !important;
  color: #444 !important;
  padding: 30px 15px !important;
}
.single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab:first-child > a,
.single-product .wc-tabs-wrapper .tabs .et-woocommerce-tab:first-child > a {
  border-top: 2px solid #000000 !important;
}
.single-product .wc-tabs-wrapper .wc-tabs,
.single-product .wc-tabs-wrapper .tabs {
  margin-top: 0 !important;
  padding-top: 1px !important;
}

@media only screen and (min-width: 768px) {
  .single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab > a {
    justify-content: center !important;
    text-align: center !important;
  }
  .single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab > a:after,
  .single-product .wc-tabs-wrapper .et-woocommerce-tab > a .open-child {
    position: absolute !important;
    right: 20px !important;
    left: auto !important;
  }
}

@media only screen and (max-width: 767px) {
  .single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab > a {
    justify-content: flex-start !important;
    text-align: left !important;
    padding-left: 20px !important;
    font-size: 16px !important;
  }
  .single-product .wc-tabs-wrapper .wc-tabs .et-woocommerce-tab > a:after,
  .single-product .wc-tabs-wrapper .et-woocommerce-tab > a .open-child {
    position: absolute !important;
    right: 20px !important;
  }
}

/* Delivery estimator = centered box */
#rb-delivery-estimator.rb-estimator-box {
  margin: 20px auto !important;
  width: fit-content !important;
  min-width: 280px !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
  padding: 15px 25px !important;
  text-align: center !important;
}
#rb-delivery-estimator .rb-est-title {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 15px !important;
  color: #333 !important;
  align-self: center !important;
}
#rb-delivery-estimator .rb-input-group {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 0 !important;
  gap: 5px !important;
}

@media (max-width: 480px) {
  #rb-delivery-estimator.rb-estimator-box {
    width: 100% !important;
    flex-direction: column !important;
    gap: 10px !important;
  }
}

/* Delivery estimator base box */
.rb-estimator-box {
  background: #fdfdfd;
  padding: 12px;
  border: 1px solid #e1e1e1;
  border-radius: 4px;
  margin: 16px 0;
  max-width: 440px;
}
.rb-flex-container { display: flex; align-items: flex-start; gap: 12px; }
.rb-icon-column { flex-shrink: 0; width: 75px; margin-top: 2px; }
.rb-est-icon { width: 100%; height: auto; display: block; }
.rb-content-column { flex-grow: 1; }
.rb-est-title {
  font-size: 15px;
  margin: 0 0 16px 0 !important;
  font-weight: 700;
  color: #333;
  line-height: 1.2;
  text-align: left;
}
.rb-input-group { display: flex; gap: 8px; margin-top: 16px !important; }
#rb-postcode-clean {
  padding: 0 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  flex-grow: 1;
  height: 38px;
  font-size: 14px;
}
#rb-check-btn-clean {
  background-color: #cc0000;
  color: #fff;
  border: none;
  padding: 0 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 600;
  height: 38px;
  line-height: 38px;
}
#rb-check-btn-clean:hover { background-color: #a00000; }
.rb-result-wrap { margin-top: 12px; }
#rb-result-clean { font-size: 14px; line-height: 1.4; color: #333; }
.rb-express-note {
  margin-top: 8px;
  font-size: 12px;
  color: #666;
  font-style: italic;
  border-top: 1px dashed #ddd;
  padding-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rb-express-note .dashicons { font-size: 14px; width: 14px; height: 14px; color: #cc0000; }

/* USP panel */
.rb-usp-panel .rb-attr-badges {
  border-bottom: 1px solid #f0f0f0;
  padding: 2px 0;
}
.product-usps {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.product-usps .usp-heading,
.usp-heading-main { display: none !important; }
.product-usps li {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #444 !important;
  line-height: 1.3 !important;
}
.product-usps li:last-child { border-bottom: none !important; }
.product-usps li img.usp-icon {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  opacity: 0.85 !important;
  margin: 0 !important;
}

@media (max-width: 640px) {
  .product-usps li { font-size: 11px !important; padding: 4px 0 !important; gap: 7px !important; }
  .product-usps li img.usp-icon { width: 14px !important; height: 14px !important; }
}

/* Out-of-stock badge */
.rb-badge-stock {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 20;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  background: #555;
  border: 1px solid #333;
  padding: 4px 8px;
  border-radius: 2px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Procuret PDP widget */
.rb-procuret {
  margin: 15px 0;
  padding: 10px 16px;
  background: #fbfbfb;
  border: 1px solid #eaeaea;
  border-radius: 6px;
  text-align: left;
  width: fit-content;
  max-width: 100%;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  font-family: inherit;
}
.rb-procuret:hover {
  border-color: #64ceb9;
  box-shadow: 0 4px 12px rgba(100, 206, 185, 0.08);
}
.rb-procuret__toggle {
  width: 100%;
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: inherit;
  text-align: left;
}
.rb-procuret__toggle::after { display: none !important; }
.rb-procuret__line1 { font-size: 14px; line-height: 1.4; color: #2c2c2c; font-weight: 500; margin: 0; }
.rb-procuret__line1 strong { font-weight: 700; font-size: 15px; color: #64ceb9; }
.rb-procuret__caret {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(100, 206, 185, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 0;
  color: transparent;
}
.rb-procuret__caret::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: block;
}
.rb-procuret.is-open .rb-procuret__caret::before { transform: translateY(2px) rotate(-135deg); }
.rb-procuret__line2 {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #555;
  transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.3s ease;
}
.rb-procuret.is-open .rb-procuret__line2 { max-height: 80px; opacity: 1; margin-top: 12px; }
.rb-procuret__line2 a {
  color: #64ceb9;
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-bottom-color 0.2s ease;
}
.rb-procuret__line2 a:hover { color: #a573ff; border-bottom-color: #a573ff; }

@media (max-width: 480px) {
  .rb-procuret { padding: 10px 12px; }
  .rb-procuret__line1 { font-size: 13px; }
  .rb-procuret__line1 strong { font-size: 14px; }
}

/* Custom CTA group (side-by-side buttons) */
.custom-cta-group {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
  align-items: center;
  padding: 0 6px;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .custom-cta-group {
    flex-direction: row;
    justify-content: center;
    padding: 0;
  }
}

.custom-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none !important;
  border-radius: 4px;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  border: 2px solid transparent;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

@media (min-width: 768px) {
  .custom-btn { width: 260px; }
}

.custom-btn.btn-primary {
  background-color: #d32f2f;
  color: #ffffff !important;
  border-color: #d32f2f;
}
.custom-btn.btn-primary:hover {
  background-color: #000000;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(211, 47, 47, 0.3);
}
.custom-btn.btn-secondary {
  background-color: transparent;
  color: #ffffff !important;
  border-color: #d32f2f;
}
.custom-btn.btn-secondary:hover {
  background-color: #d32f2f;
  color: #000000 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(211, 47, 47, 0.3);
}

/* Custom category buttons */
.custom-category-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 15px;
  margin-bottom: 10px;
}
.custom-category-buttons a {
  display: inline-block;
  padding: 6px 12px;
  border: 2px solid red;
  background-color: #f9f9f9;
  color: black;
  text-decoration: none;
  border-radius: 6px;
  font-size: 20px;
  transition: all 0.2s ease-in-out;
}
.custom-category-buttons a:hover { background-color: red; color: white; }


/* ==========================================
   7. TECH PANEL
   ========================================== */

/* Card shell = final vars-based version */
.rb-tech-panel {
  --rb-bar-h: 7px;
  --rb-dot: 12px;
  background: #fff !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 12px !important;
  box-shadow:
    0 6px 18px rgba(0,0,0,0.06),
    0 1px 2px rgba(0,0,0,0.04) !important;
  margin: 0 6px !important;
  max-width: 100%;
}

.green-beam .rb-tech-panel {
  box-shadow:
    0 6px 18px rgba(0,0,0,0.06),
    0 10px 26px rgba(34,197,94,0.14) !important;
}
.red-beam .rb-tech-panel {
  box-shadow:
    0 6px 18px rgba(0,0,0,0.06),
    0 10px 26px rgba(217,4,41,0.14) !important;
}

/* Stats block */
.rb-tech-panel .rb-stats {
  margin: 0 0 6px !important;
  padding: 0 0 6px !important;
  background: #ffffff !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.rb-tech-panel .rb-stats * { background: transparent !important; }
.rb-tech-panel .rb-stats::before,
.rb-tech-panel .rb-stats::after { content: none !important; display: none !important; }

/* Stat rows */
.rb-tech-panel .rb-stat-row {
  padding: 0 !important;
  margin: 0 0 8px !important;
}

/* Label/value header row */
.rb-tech-panel .rb-stat-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin-bottom: 4px !important;
}

.rb-tech-panel .rb-stat-label {
  color: #111 !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.rb-tech-panel .rb-stat-value-text {
  color: #111 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

/* Bar track */
.rb-tech-panel .rb-bar-bg {
  height: var(--rb-bar-h) !important;  /* 8px winner */
  border-radius: 999px !important;
  background: #e5e7eb !important;
  overflow: visible !important;
  position: relative !important;
  border: 0 !important;
}

/* Bar fill */
.rb-tech-panel .rb-bar-fill {
  height: 100% !important;
  border-radius: 999px !important;
  position: relative !important;
  transition: width .35s ease !important;
  background: #22c55e !important;
  box-shadow: none !important;
}

.rb-tech-panel .rb-bar-fill.green-beam {
  background: linear-gradient(90deg,#15803d,#22c55e) !important;
  box-shadow: none !important;
}
.rb-tech-panel .rb-bar-fill.red-beam {
  background: linear-gradient(90deg,#b91c1c,#ef4444) !important;
  box-shadow: none !important;
}

/* Dot */
.rb-tech-panel .rb-bar-fill::after {
  width: var(--rb-dot) !important;
  height: var(--rb-dot) !important;
  border-radius: 50% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
}
.rb-tech-panel .rb-bar-fill::after,
.rb-tech-panel .rb-bar-fill::before { border-radius: 999px !important; }
.rb-tech-panel .rb-bar-fill * { border-radius: 999px !important; }

.rb-tech-panel .rb-stat-row .rb-bar-bg,
.rb-tech-panel .rb-stat-row .rb-bar-fill { min-height: var(--rb-bar-h) !important; }

/* Specs table */
.rb-tech-panel .rb-specs {
  margin: 6px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.rb-tech-panel .rb-spec-row {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.rb-tech-panel .rb-spec-row:nth-child(odd) { background: #ffffff !important; }
.rb-tech-panel .rb-spec-row:nth-child(even) { background: #f3f4f6 !important; }
.rb-tech-panel .rb-spec-row + .rb-spec-row { border-top: 1px solid #e5e7eb !important; }
.rb-tech-panel .rb-spec-val {
  display: block !important;
  padding: 8px 10px !important;
  text-align: center !important;
  color: #111 !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  line-height: 1.15 !important;
}

@media (max-width: 480px) {
  .rb-tech-panel { padding: 10px !important; }
  .rb-tech-panel .rb-spec-val { padding: 10px 9px !important; font-size: 12px !important; }
}


/* ==========================================
   8. FEATURED REVIEW
   ========================================== */

/* Consolidated .rb-fr-hero = final values */
.rb-fr-hero {
  display: grid !important;
  grid-template-columns: 380px minmax(0,1fr) !important;
  grid-template-areas:
    "header header"
    "media  content";
  gap: 22px 28px !important;
  max-width: 1200px;
  margin: 20px auto;
  padding: 28px 32px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #eee;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  font-family: Montserrat, Arial, sans-serif;
  transition: transform .12s ease, box-shadow .12s ease;
}
.rb-fr-hero:hover { transform: translateY(-1px); box-shadow: 0 14px 36px rgba(0,0,0,.08); }

.rb-fr-hero__header { grid-area: header; text-align: center; margin-bottom: 6px; }
.rb-fr-hero__media  { grid-area: media;  text-align: center; align-self: start; }
.rb-fr-hero__content {
  grid-area: content;
  align-self: start;
  display: flex;
  flex-direction: column;
  border-left: none !important;
  padding-left: 0 !important;  /* winner: 0 */
}

.rb-fr-img { width: 100%; height: auto; border-radius: 12px; display: block; margin: 0 !important; }

.rb-fr-productcode {
  font-weight: 800;
  font-size: 20px;
  letter-spacing: .5px;
  margin: 0 0 6px;
}
.rb-fr-meta-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 0;
  font-weight: 600;
  color: #222;
}
.rb-fr-meta-top--center { justify-content: center; }
.rb-fr-author { font-size: 16px; }
.rb-fr-date { opacity: .75; }
.rb-fr-verified {
  font-size: 12px;
  background: #e8f7ea;
  color: #1a7f37;
  border: 1px solid #c9ebd2;
  border-radius: 999px;
  padding: 2px 8px;
}
.rb-fr-dot { opacity: .4; }
.rb-fr-stars--inline .rb-star { width: 18px; height: 18px; fill: #FFD700; margin-top: 2px; }

/* Review body */
.rb-fr-text {
  font-size: 18px;
  line-height: 1.65;
  color: #222;
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-style: normal;
}
.rb-fr-hero .rb-fr-text strong {
  font-weight: 800;
  color: #111 !important;
  background: rgba(182,0,0,.14);
  border-radius: 6px;
  padding: .06em .28em;
}

/* Remove blockquote default styling from review text */
blockquote.rb-fr-text {
  border-left: 0 !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.rb-fr-text::before,
.rb-fr-text::after { content: none !important; }

.rb-fr-cta { margin-top: 2px; }
.rb-fr-cta a {
  font-weight: 700;
  color: #b60000;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.rb-fr-cta a:hover { text-decoration-thickness: 2px; }

.rb-featured-review-card {
  border: 1px solid #eee;
  border-radius: 14px;
  padding: 16px 18px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
  transition: transform .12s ease, box-shadow .12s ease;
}
.rb-featured-review-card:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }

@media (max-width: 1024px) {
  .rb-fr-hero { grid-template-columns: 320px minmax(0,1fr) !important; }
}
@media (max-width: 768px) {
  .rb-fr-hero {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "header"
      "media"
      "content";
    padding: 22px;
  }
  .rb-fr-text { font-size: 16px; }
}


/* ==========================================
   9. PRODUCT ARCHIVE / CATEGORY
   ========================================== */

/* Category description term spacing */
.tax-product_cat .term-description { margin: 0; }

/* Archive hero */


/* Archive marquee spacing */

/* Accessories shortcode grid */
#rotatinglaseraccessories ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#rotatinglaseraccessories ul.products li.product {
  background: #ffffff !important;
  border: 1px solid #222 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
#rotatinglaseraccessories ul.products li.product a img { width: 100% !important; height: auto !important; display: block !important; filter: none !important; }
#rotatinglaseraccessories ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #ffffff !important;
  padding: 12px 14px 4px !important;
  margin: 0 !important;
}
#rotatinglaseraccessories ul.products li.product .price {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #FF0000 !important;
  padding: 0 14px 10px !important;
  display: block !important;
}
#rotatinglaseraccessories ul.products li.product .button,
#rotatinglaseraccessories ul.products li.product .add_to_cart_button {
  background: #FF0000 !important;
  color: #fff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
  margin: auto 14px 14px !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
#rotatinglaseraccessories ul.products li.product .button:hover,
#rotatinglaseraccessories ul.products li.product .add_to_cart_button:hover { background: #cc0000 !important; }

@media (max-width: 900px) {
  #rotatinglaseraccessories ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}


/* ==========================================
   10. RBI SECTION STYLES
   ========================================== */

/* Hero section */
.rb-hero {
  background: #000;
  border-bottom: 3px solid #FF0000;
  padding: 48px 40px;
  min-height: 400px;
  display: flex;
  align-items: center;
  background-size: cover !important;
  background-position: center !important;
  position: relative;
}
.rb-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.72);
  z-index: 0;
}
.rb-hero h1 {
  font-family: var(--font-head);
  font-size: clamp(48px, 6vw, 80px);
  font-weight: 800;
  color: #fff;
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  margin-bottom: 16px;
}
.rb-hero h1 .rb-accent { color: #FF0000; }
.rb-hero h4 {
  font-family: var(--font-head);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 28px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Anchor nav */

/* Section bases */
.rb-section {
  padding: 64px 40px;
  border-bottom: 3px solid #FF0000;
}
.rb-section-title {
  font-family: var(--font-head);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  text-align: center;
  margin-bottom: 48px;
}
.rb-section-title--white { color: #fff; }
.rb-section-title .rb-accent { color: #FF0000; }

/* Highlight utility */

/* Feature tabs */
.rb-page .rb-ftab-btn.active {
  background: #2a2a2a !important;
  border-left-color: #FF0000 !important;
  color: #fff !important;
}
.rb-ftab-btn.active svg rect { fill: #ffffff; }
.rb-ftab-btn.active svg polygon { fill: #FF0000; }
.rb-page .rb-ftab-panel.active { display: block; }


@media (max-width: 900px) {
  .rb-page .rb-ftab-btn.active { border-left-color: #FF0000 !important; }
}

/* FAQ = rotatinglaserinfo overrides */
#rotatinglaserinfo .faq-item.open { border-left-color: #cc181e !important; }
#rotatinglaserinfo .faq-item.open .rb-faq-icon { transform: rotate(45deg) !important; }
#rotatinglaserinfo .faq-item.open .rb-faq-answer { max-height: 1000px !important; }


/* Marquee strip (RBI section variant) */
@keyframes rb-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}


/* ==========================================
   11. COMPONENTS
   ========================================== */

/* == RedBack Q&A Accordion (v2) ============ */
/* Targets: WPBakery Toggles (.vc_toggle) + Massive Addons (.mpc-accordion)
   Scoped to .rb-qa rows */

/* 0) Nuke built-in icons */

/* 1) Card wrapper */

/* Hover lift */

/* 2) Active state */

/* 3) Title rows */

/* Spider icon (no circle) */

/* 4) Content bodies */

/* List spacing inside bodies */

/* Remove WPBakery column borders */

/* Clickable title headings */

/* Title text wrapping */

/* Mobile tweaks */


/* Kill ellipsis utilities */
.rb-qa [class*="text-truncate"],
.rb-qa .truncate,
.rb-qa .ellipsis {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

/* == RedBack Marquee (v2) =================== */
.rb-marquee {
  --rb-bg: #3a3f48;
  --rb-text: #ffffff;
  --rb-accent: #ff3030;
  --rb-img: 100px;
  --rb-img-m: 100px;
  --rb-item-pad-y: 12px;
  --rb-gap: 48px;
  --rb-pad-x: 18px;
  --rb-height: calc(var(--rb-img) + (var(--rb-item-pad-y) * 2));

  background: var(--rb-bg);
  color: var(--rb-text);
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  overflow: hidden;
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.rb-marquee__viewport { height: var(--rb-height); }

.rb-marquee__track {
  display: flex;
  align-items: center;
  gap: var(--rb-gap);
  list-style: none;
  margin: 0;
  padding: 0 var(--rb-pad-x);
  will-change: transform;
}

.rb-marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  white-space: nowrap;
  padding: var(--rb-item-pad-y) 0;
}

.rb-marquee__item img {
  height: var(--rb-img);
  width: auto;
  max-width: 220px;
  object-fit: contain;
  display: block;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.rb-marquee__item span {
  font: 800 1rem/1.15 Montserrat, system-ui, sans-serif;
  letter-spacing: .01em;
  transition: color .25s ease, text-shadow .3s ease;
}

.rb-marquee__item:hover span {
  color: var(--rb-accent);
  text-shadow:
    0 0 6px rgba(255, 48, 48, 0.55),
    0 0 10px rgba(255, 255, 255, 0.6);
}

/* Marquee row reset (WPBakery) */

@media (max-width: 767px) {
  .rb-marquee {
    --rb-img-m: 120px;
    --rb-height: calc(var(--rb-img-m) + (var(--rb-item-pad-y) * 2));
    --rb-gap: 36px;
  }
  .rb-marquee__item img { height: var(--rb-img-m); }
  .rb-marquee__item span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .rb-marquee__track { transition: none !important; }
  .rb-marquee__item span { transition: none !important; }
  .rb-marquee__item span::after { transition: none !important; }
}

.woocommerce .star-rating > span[style] {
    color: transparent !important;
}

/* ==========================================
   B2BKING WHOLESALE DISPLAY
   Customizer-side companion to rbpd-product.css
   ========================================== */

/* --- Always-on hides for B2B users (any state) --- */

/* Sale badge — discount % is misleading once wholesale pricing applies */
body.rbpd-b2b .rbpd-product-badge--sale,
body.rbpd-b2b .onsale,
body.rbpd-b2b .sale-wrapper { display: none !important; }

/* Payment icons + Afterpay strip (uses your actual classes) */
body.rbpd-b2b .rbpd-pay-icons,
body.rbpd-b2b .rbpd-bnpl-row { display: none !important; }


/* ==========================================
   HEADER EYE-TOGGLE BUTTON
   ========================================== */
.rbpd-ws-open .rbh-wholesale-toggle .rbh-eye-shown { display: inline-block; }
.rbpd-ws-open .rbh-wholesale-toggle .rbh-eye-hidden { display: none; }
.rbpd-ws-open .rbh-wholesale-toggle { color: var(--color-red-primary, #b60000); }


/* ==========================================
   WHOLESALE MESSAGE BLOCK
   (Optional — only renders if you re-enable
   the rb_b2b_wholesale_message PHP hook)
   ========================================== */


/* ==========================================
   PER-PAGE WHOLESALE TOGGLE UI
   (the rbpd-ws-btn + panel inside single-product-custom.php)
   ========================================== */

.rbpd-ws-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-head, 'Montserrat', sans-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-red-primary, #b60000);
  background: transparent;
  border: 2px solid var(--color-red-primary, #b60000);
  border-radius: var(--radius-md, 8px);
  padding: 8px 14px;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.rbpd-ws-btn:hover,
.rbpd-ws-open .rbpd-ws-btn {
  background: var(--color-red-primary, #b60000);
  color: #fff;
}
.rbpd-ws-btn::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b60000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}
.rbpd-ws-open .rbpd-ws-btn::before,
.rbpd-ws-btn:hover::before {
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.rbpd-ws-panel {
  display: none;
  margin-top: 10px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #fff 0%, #fff8f8 100%);
  border: 1px solid var(--color-red-primary, #b60000);
  border-left-width: 4px;
  border-radius: var(--radius-md, 8px);
}
.rbpd-ws-open .rbpd-ws-panel,
.rbpd-ws-panel:not([hidden]) { display: block; }

.rbpd-ws-panel-line {
  display: block;
  font-family: var(--font-head, 'Montserrat', sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: var(--color-dark, #333333);
}
.rbpd-ws-panel-line .amount,
.rbpd-ws-panel-line bdi {
  color: var(--color-red-primary, #b60000);
  font-weight: 800;
  font-size: 18px;
}


/* ==========================================
   B2BKING WHOLESALE PRICE CHIP STYLING
   ========================================== */

/* Default colour for the wholesale value in any context */
body.rbpd-b2b .b2bking_b2b_price_price ins,
body.rbpd-b2b .b2bking_b2b_price_price ins .amount,
body.rbpd-b2b .b2bking_b2b_price_price ins bdi {
  color: var(--color-red-primary, #b60000) !important;
  background: transparent !important;
  text-decoration: none !important;
}

/* Tight contexts (sticky cart, mini cards) — small uppercase red label */
body.rbpd-b2b .b2bking_b2b_price_text {
  font-family: var(--font-head, 'Montserrat', sans-serif);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-red-primary, #b60000);
}


/* ==========================================
   MAIN PRODUCT PAGE — two-row layout
   List Price on row 1, Reseller Price on row 2,
   font matches List Price typography.
   ========================================== */

/* Force Reseller Price onto its own row, match List Price label */
.rbpd-price-block .b2bking_b2b_price_text {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.08);
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: inherit !important;
  background: transparent !important;
}

/* Wholesale chip — strip the pill, inherit List Price typography */
.rbpd-price-block .b2bking_b2b_price_price {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-left: 8px;
}

/* The wholesale figure itself — bold red, same size as List Price headline */
.rbpd-price-block .b2bking_b2b_price_price ins,
.rbpd-price-block .b2bking_b2b_price_price ins .amount,
.rbpd-price-block .b2bking_b2b_price_price ins bdi {
  color: var(--color-red-primary, #b60000) !important;
  font-weight: 800 !important;
  font-size: inherit !important;
  text-decoration: none !important;
}

/* "ex. GST" suffix — small + muted, matches "inc. GST" on row 1 */
.rbpd-price-block .b2bking_b2b_price_price .woocommerce-price-suffix {
  font-size: 0.55em !important;
  color: var(--rb-muted, #64748b) !important;
  font-weight: 500 !important;
  margin-left: 4px;
}

/* ==========================================
   B2BKING WHOLESALE VISIBILITY (global)
   Loads on every page — shop/archive/compare/single
   ========================================== */

/* Hide wholesale by default for B2B users */
body.rbpd-b2b .b2bking_b2b_price_text,
body.rbpd-b2b .b2bking_b2b_price_price {
  display: none !important;
}

/* Reveal when toggle is open — specificity (0,3,1) beats hide (0,2,1) */
body.rbpd-b2b.rbpd-ws-open .b2bking_b2b_price_text,
body.rbpd-b2b.rbpd-ws-open .b2bking_b2b_price_price {
  display: inline !important;
}

/* Hide the strikethrough wholesale "regular" price — keep just the discounted figure */
body.rbpd-b2b .b2bking_b2b_price_price del,
body.rbpd-b2b .b2bking_b2b_price_price .screen-reader-text {
  display: none !important;
}


/* ==========================================
   WooCommerce notices (added 2026-06-12 - Xstore used to style these)
   ========================================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error li,.woocommerce-error{position:relative;max-width:1180px;margin:14px auto;padding:14px 18px 14px 16px;background:#fff;border:1px solid #E2E8F0;border-left:4px solid #16a34a;border-radius:8px;font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,sans-serif;font-size:14.5px;color:#0F172A;list-style:none;display:flex;align-items:center;gap:14px;flex-wrap:wrap;box-shadow:0 8px 22px -16px rgba(15,23,42,.25)}
.woocommerce-info{border-left-color:#2563eb}
.woocommerce-error,.woocommerce-error li{border-left-color:#C8102E}
ul.woocommerce-error{border:0;padding:0;box-shadow:none;display:block}
.woocommerce-message .button,.woocommerce-info .button,.woocommerce-error .button{margin-left:auto;background:#C8102E;color:#fff;font-weight:700;font-size:13px;padding:9px 18px;border-radius:6px;text-decoration:none;border:0;cursor:pointer}
.woocommerce-message .button:hover{background:#A00D25;color:#fff}
