/* Sale prices after strikethrough */
.woocommerce p.price del + .woocommerce-Price-amount.amount,
.woocommerce span.price del + .woocommerce-Price-amount.amount {
  color: #ff2d2d !important;
  font-weight: 700 !important;
  animation: bf-pulse 1.4s ease-in-out infinite;
}

/* Native WooCommerce sale price with ins tag */
.woocommerce span.price ins .woocommerce-Price-amount.amount,
.woocommerce p.price ins .woocommerce-Price-amount.amount {
  color: #ff2d2d !important;
  font-weight: 700 !important;
  animation: bf-pulse 1.4s ease-in-out infinite;
}

/* Pulse animation */
@keyframes bf-pulse {
  0% {
    color: #ff2d2d;
    text-shadow: 0 0 3px rgba(255, 40, 40, 0.4);
  }
  50% {
    color: #ff6666;
    text-shadow: 0 0 10px rgba(255, 40, 40, 0.9);
  }
  100% {
    color: #ff2d2d;
    text-shadow: 0 0 3px rgba(255, 40, 40, 0.4);
  }
}
/* Right align phone link in header top bar - FAQ v0.0.3 */
.top-bar-right .textwidget.custom-html-widget {
  text-align: right !important;
}

.top-bar-right .ra-phone-link {
  display: inline-block;
  width: 100%;
  text-align: right;
}

/*
 Theme Name: Shoptimizer Child
 Theme URI: https://your-site.example
 Description: Child theme for Shoptimizer
 Author: Your Name
 Template: shoptimizer
 Version: 1.0.0
 Text Domain: shoptimizer-child
*/
/* ========= Rhino Arms global UI tokens ========= */
:root {
  --ra-btn-bg: #000; /* normal */
  --ra-btn-bg-hover: #555; /* hover */
  --ra-btn-text: #fff;
  --ra-radius: 6px;
  --ra-pad-y: 0.8rem;
  --ra-pad-x: 1.25rem;
  --ra-minw: 220px;
  --ra-field-bg: #fff;
  --ra-field-bdr: #d9d6d2; /* subtle warm grey */
  --ra-field-text: #1f2328;
  --ra-focus: rgba(168, 98, 42, 0.28); /* focus ring */
}

/* ========= Buttons: theme, Woo, Gutenberg ========= */
.button,
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.added_to_cart,
.single_add_to_cart_button,
.checkout-button,
input[type="submit"],
button[type="submit"] {
  background: var(--ra-btn-bg) !important;
  color: var(--ra-btn-text) !important;
  border: 0 !important;
  border-radius: var(--ra-radius) !important;
  padding: var(--ra-pad-y) var(--ra-pad-x) !important;
  font-weight: 600;
  line-height: 1.1;
  min-width: var(--ra-minw);
  text-align: center;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}
.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.woocommerce .button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover,
.button:focus,
.wp-element-button:focus,
.wp-block-button__link:focus {
  background: var(--ra-btn-bg-hover) !important;
  color: var(--ra-btn-text) !important;
  transform: translateY(-1px);
  outline: 2px solid transparent;
  box-shadow: 0 0 0 3px var(--ra-focus);
}

/* Make Woo “alt” buttons and “Proceed to checkout” match */
.woocommerce .button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--ra-btn-bg) !important;
  color: var(--ra-btn-text) !important;
}
.woocommerce .button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  background: var(--ra-btn-bg-hover) !important;
}

/* Gutenberg outline/secondary */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--ra-btn-bg) !important;
  border: 2px solid var(--ra-btn-bg) !important;
  border-radius: var(--ra-radius) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--ra-btn-bg) !important;
  color: var(--ra-btn-text) !important;
}

/* ========= Forms: inputs/selects/textarea (Shoptimizer + Woo + core) ========= */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
select,
textarea,
.woocommerce form .input-text {
  background: var(--ra-field-bg);
  color: var(--ra-field-text);
  border: 1px solid var(--ra-field-bdr);
  border-radius: var(--ra-radius);
  padding: 0.7rem 0.9rem;
  line-height: 1.3;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease;
}

/* Focus ring to match buttons */
input:focus,
select:focus,
textarea:focus,
.woocommerce form .input-text:focus {
  border-color: var(--ra-btn-bg);
  box-shadow: 0 0 0 3px var(--ra-focus);
  outline: 2px solid transparent;
}

/* Search blocks/buttons on content pages */
.wp-block-search__button {
  min-width: var(--ra-minw);
  border-radius: var(--ra-radius);
}
.wp-block-search__inside-wrapper .wp-block-search__input {
  border-radius: var(--ra-radius);
  border: 1px solid var(--ra-field-bdr);
}

/* Mobile: make CTAs full-width when needed */
@media (max-width: 480px) {
  .button,
  .wp-element-button,
  .wp-block-button__link,
  input[type="submit"],
  button[type="submit"],
  .checkout-button {
    min-width: 100%;
    display: block;
  }
}

/* === Fix: compact buttons on catalog/product grids === */

/* Classic Woo loop (archive/category/search/related/upsells) */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
  min-width: auto !important; /* don't force 220px */
  width: 100% !important; /* Shoptimizer look: full-width CTA */
  padding: 0.55rem 0.9rem !important; /* smaller padding for tight cards */
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important; /* avoid layout “jump” on hover */
}

/* WooCommerce Blocks product grid (if you use it on pages) */
.wc-block-grid__product .wp-block-button__link {
  min-width: auto !important;
  width: 100% !important;
  padding: 0.55rem 0.9rem !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Tiny “added to cart” pill links inside grids */
.woocommerce ul.products li.product .added_to_cart {
  display: inline-block !important;
  width: auto !important;
  padding: 0.4rem 0.7rem !important;
}

/* Optional: tighten card internals slightly */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 10px 0 8px;
}
.ra-credits {
  margin-top: 6px;
} /* your credits line */

/* === Woo catalog card: kill unexpected top gap above CTA === */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product:hover .button,
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product:hover .added_to_cart {
  margin-top: 8px !important; /* was larger on hover */
  width: 100% !important; /* keep full-width CTA */
  min-width: auto !important;
  padding: 0.55rem 0.9rem !important; /* compact padding */
  transform: none !important;
  box-shadow: none !important;
}

/* Tighten the element just above the button so it doesn't push it down */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product:hover .price,
.woocommerce ul.products li.product .ra-credits,
.woocommerce ul.products li.product:hover .ra-credits {
  margin-bottom: 10px !important; /* consistent, small */
}

/* If Shoptimizer wraps the CTA in a container that adds padding on hover */
.woocommerce ul.products li.product .button + .added_to_cart,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link + .button {
  margin-top: 8px !important;
}

/* Spectra Post Carousel → Shoptimizer-style product cards */
.uagb-post__items .uagb-post__inner-wrap {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition:
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
.uagb-post__items .uagb-post__inner-wrap:hover {
  border-color: #c0c0c0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
.uagb-post__image {
  border-bottom: 0;
  overflow: hidden;
}
.uagb-post__image img {
  display: block;
  width: 100%;
  height: auto;
}

/* Title spacing/weight similar to your grid cards */
.uagb-post__title {
  font-weight: 600;
  margin: 12px 14px 6px;
}

/* “View product” CTA button themed like your site buttons */
.uagb-post__cta a {
  display: block;
  text-align: center;
  margin: 10px 14px 14px;
  background: #000;
  color: #fff !important;
  border: 0;
  border-radius: 6px;
  padding: 0.55rem 0.9rem;
  font-weight: 600;
  transition:
    background-color 0.2s ease,
    transform 0.2s ease;
}
.uagb-post__cta a:hover {
  background: #8f5325;
  transform: translateY(-1px);
}

/* Keep the carousel arrows neat */
.uagb-post__carousel-wrap .swiper-button-prev,
.uagb-post__carousel-wrap .swiper-button-next {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.06);
}
.uagb-post__carousel-wrap .swiper-button-prev:after,
.uagb-post__carousel-wrap .swiper-button-next:after {
  font-size: 14px;
}
/* Price & button injected into Spectra cards */
.uagb-post__inner-wrap .price {
  display: inline-block;
  margin: 0;
}
.uagb-post__inner-wrap .button.add_to_cart_button {
  display: block;
  width: 100%;
  min-width: 0;
  background: #000;
  color: #fff !important;
  border-radius: 6px;
  padding: 0.55rem 0.9rem;
  font-weight: 600;
}
.uagb-post__inner-wrap .button.add_to_cart_button:hover {
  background: #8f5325;
  transform: translateY(-1px);
}

/* Top bar: keep items on one line and aligned */
.top-bar .widget-area {
  display: flex;
  align-items: center;
  gap: 12px; /* space between toggle and phone */
}
/* ---------- Top Bar: phone + toggle spacing/tweaks ---------- */
:root {
  --ra-topbar-icon: 20px; /* match your social icon size (try 20–22px) */
  --ra-topbar-gap: 12px; /* space between items */
  --ra-topbar-after-phone: 16px; /* extra space before the toggle */
}

.top-bar .widget-area {
  display: flex;
  align-items: center;
  gap: var(--ra-topbar-gap);
}

/* Phone link */
.ra-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  white-space: nowrap;
  line-height: 1;
  font-weight: 700; /* bold number */
  color: #fff;
  text-decoration: none;
  margin-right: var(--ra-topbar-after-phone); /* extra space before toggle */
}
.ra-phone-link:hover {
  color: #c5c5c5;
}

/* Phone icon same size as socials */
.ra-phone-link::before {
  content: "";
  width: var(--ra-topbar-icon);
  height: var(--ra-topbar-icon);
  background-color: currentColor;
  display: inline-block;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C12.07 22 2 11.93 2 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.2 2.2z"/></svg>')
    no-repeat center / contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C12.07 22 2 11.93 2 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.2 2.2z"/></svg>')
    no-repeat center / contain;
}

/* Make THIS widget (phone + toggle) a centered flex row */
.top-bar .widget_text .textwidget.custom-html-widget {
  display: flex;
  align-items: center; /* vertical centering */
  gap: 16px; /* space between phone and toggle */
  line-height: 1; /* kill stray line-height offsets */
}

/* Keep the switch vertically centered too */
.top-bar .widget_text .wp-dark-mode-switch {
  display: flex;
  align-items: center;
}

/* Phone visuals (you can keep your existing icon rules) */
.top-bar .ra-phone-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700; /* bold */
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
  margin: 0; /* avoid inherited margins */
  line-height: 1;
}

/* If it’s still 1px off on some breakpoints, micro-nudge: */
/* .top-bar .widget_text .textwidget.custom-html-widget { transform: translateY(1px); } */
/* Layout for the right side (socials + phone) */
.ra-footer-right {
  display: flex;
  align-items: center;
  gap: 18px; /* space between socials and phone */
}

/* Socials row */
.ra-social {
  display: flex;
  align-items: center;
  gap: 12px; /* space between icons */
}
.ra-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}

/* Phone link */
:root {
  --ra-footer-icon: 36px;
} /* match your social size */
.ra-footer-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-weight: 700; /* bold number */
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}
.ra-footer-phone:hover {
  color: #c5c5c5;
}

/* Phone icon before number (inherits currentColor) */
.ra-footer-phone::before {
  content: "";
  width: var(--ra-footer-icon);
  height: var(--ra-footer-icon);
  background-color: currentColor;
  display: inline-block;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C12.07 22 2 11.93 2 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.2 2.2z"/></svg>')
    no-repeat center / contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.01-.24c1.12.37 2.33.57 3.58.57a1 1 0 011 1v3.5a1 1 0 01-1 1C12.07 22 2 11.93 2 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.25.2 2.46.57 3.58a1 1 0 01-.24 1.01l-2.2 2.2z"/></svg>')
    no-repeat center / contain;
}

/* Mobile: keep them tidy */
@media (max-width: 600px) {
  .ra-footer-right {
    gap: 12px;
  }
  .ra-footer-phone {
    font-size: 0.95rem;
  }
}
/* Top bar: 3-column grid with a truly centered middle */
.top-bar .col-full {
  display: grid;
  grid-template-columns: 1fr auto 1fr; /* left | center | right */
  align-items: center;
  gap: 12px;
}

/* Kill any theme floats that might push columns around */
.top-bar-left,
.top-bar-center,
.top-bar-right {
  float: none !important;
}

/* Align each cell */
.top-bar-left {
  justify-self: start;
  display: flex;
  align-items: center;
}
.top-bar-center {
  justify-self: center;
  display: flex;
  align-items: center;
}
.top-bar-right {
  justify-self: end;
  display: flex;
  align-items: center;
}

/* Center + tidy the social row */
.ra-social {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px; /* even spacing */
  line-height: 1; /* keeps icons vertically neat */
}
.ra-social__link svg {
  width: 20px;
  height: 20px;
  display: block;
}

/* Phone layout: stack rows and center everything */
@media (max-width: 782px) {
  .top-bar .col-full {
    grid-template-columns: 1fr;
    row-gap: 8px;
    text-align: center;
  }
  .top-bar-left,
  .top-bar-center,
  .top-bar-right {
    justify-self: center;
  }
}

/* === END original; BEGIN migrated-from-Customizer === */

/* =========================================================
   RHINO ARMS — MIGRATED FROM CUSTOMIZER (cleaned & unified)
   ========================================================= */

/* --- Woo catalog: base card + hover --- */
.woocommerce ul.products li.product {
  border: 1px solid transparent;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
  border-color: #c0c0c0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
/* Make the product image follow the rounded corners */
.woocommerce ul.products li.product a img {
  border-radius: inherit;
}

/* Small "credits" line */
.ra-credits {
  font-size: 10px;
  line-height: 1.2;
}
.ra-credits strong {
  font-weight: 700;
}

/* --- Hide page title only on the front page shop --- */
.col-full .entry-header .entry-title {
  display: none !important;
  padding-top: 0 !important; /* (fixed stray colon) */
}

/* --- Below Header widgets: only on homepage --- */
:not(.home) .below-header,
:not(.home) .widget-area-below-header,
:not(.home) .below-header-widgets {
  display: none !important;
}
.home .below-header,
.home .widget-area-below-header,
.home .below-header-widgets {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
}
.home .below-header img {
  width: 100%;
  height: auto;
  display: block;
}

/* --- Full-bleed hero on homepage only --- */
.home .header-widget-region {
  margin: 0 !important;
  padding: 0 !important;
}
.home .header-widget-region .col-full {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.home .header-widget-region .widget {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.home .header-widget-region .widget_media_image,
.home .header-widget-region .widget_media_image img {
  display: block;
  width: 100% !important;
  height: auto !important;
}
.home .site-content .header-widget-region,
.home .content-area .header-widget-region {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- TOP BAR: keep center section truly centered & optional 2× icon size --- */
/* (Grid layout already in child CSS. Only add size overrides + SVG fit.) */
.top-bar .ra-social {
  display: inline-flex;
  gap: 12px;
  align-items: center;
}
.top-bar .ra-social__link {
  display: inline-flex;
  width: 36px;
  height: 36px;
  line-height: 0;
  color: currentColor;
  transition:
    transform 0.15s ease,
    opacity 0.15s ease;
}
.top-bar .ra-social__link svg {
  width: 100% !important;
  height: 100% !important;
  display: block;
}
.top-bar .ra-social__link:hover,
.top-bar .ra-social__link:focus {
  transform: scale(1.1);
  opacity: 0.85;
}

/* --- Footer safety clamps: prevent overflow --- */
.site-footer,
.site-footer .col-full,
.site-footer .widget_text,
.site-footer .textwidget {
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: hidden;
}
.site-footer .trustindex-container,
.site-footer .ti-widget-container {
  overflow-x: hidden;
}
.site-footer .trustindex-container,
.site-footer .ti-widget-container,
.site-footer .ti-widget {
  position: static !important;
  left: auto !important;
  right: auto !important;
}

/* Footer split row */
.ra-footer-split {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  align-items: center;
  justify-items: center;
}

.ra-footer-left {
  grid-column: 1;
  grid-row: 1;
  text-align: center;
  min-width: 0;
}

.ra-footer-left p {
  margin: 0;
}

.ra-footer-right {
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  min-width: 0;
}

.ra-footer-split > div:nth-child(3) {
  grid-column: 1;
  grid-row: 2;
  text-align: center;
}

.ra-footer-split > div:nth-child(4) {
  grid-column: 2;
  grid-row: 2;
  justify-self: center;
}

/* Mobile: Stack columns vertically */
@media (max-width: 768px) {
  .ra-footer-split {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 15px;
  }

  .ra-footer-left {
    grid-column: 1;
    grid-row: 1;
  }

  .ra-footer-right {
    grid-column: 1;
    grid-row: 2;
  }

  .ra-footer-split > div:nth-child(3) {
    grid-column: 1;
    grid-row: 4;
    order: 4;
  }

  .ra-footer-split > div:nth-child(4) {
    grid-column: 1;
    grid-row: 3;
    order: 3;
  }
}
/* Footer social icon hard reset (if rogue SVG rules exist) */
.site-footer .ra-social__link {
  display: inline-flex !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  background: none !important;
  border: 0 !important;
}
.site-footer .ra-social__link svg {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  transform: none !important;
  inset: auto !important;
}
.site-footer .ra-social__link svg path {
  transform: none !important;
}
.site-footer .ra-footer-right svg:not(.keep-footer-svg) {
  filter: none !important;
}
@media (max-width: 600px) {
  .site-footer .ra-social__link {
    width: 30px !important;
    height: 30px !important;
  }
}

/* --- Custom tax archives: trim header spacing & duplicate arrows --- */
.tax-calibers .col-full.woocommerce,
.tax-weapon .col-full.woocommerce {
  padding-top: 0 !important;
}
.tax-calibers .woocommerce-products-header,
.tax-weapon .woocommerce-products-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.tax-calibers .woocommerce-products-header__title.page-title,
.tax-weapon .woocommerce-products-header__title.page-title {
  margin-top: 0 !important;
}
.tax-calibers .entry-header,
.tax-weapon .entry-header {
  margin-top: 0 !important;
}
.tax-calibers .woocommerce-breadcrumb + .woocommerce-products-header,
.tax-weapon .woocommerce-breadcrumb + .woocommerce-products-header {
  margin-top: 0 !important;
}

/* Remove the duplicate chevron on parent categories in the sidebar */
.tax-calibers .widget_product_categories .cat-parent > a::before,
.tax-weapon .widget_product_categories .cat-parent > a::before {
  content: none !important;
}
.tax-calibers .widget_product_categories li.cat-parent > .toggle,
.tax-weapon .widget_product_categories li.cat-parent > .toggle {
  display: none !important;
}

/* Zero Woo archive wrapper too (body-scoped) */
body.tax-calibers #content.site-content > .col-full.woocommerce,
body.tax-weapon #content.site-content > .col-full.woocommerce {
  padding: 0 !important;
}
body.tax-calibers .woocommerce-products-header,
body.tax-weapon .woocommerce-products-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Keep only one plus/minus icon on top-level cats */
body.tax-calibers
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > i.icon-plus_8638:nth-of-type(n + 2),
body.tax-weapon
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > i.icon-plus_8638:nth-of-type(n + 2),
body.tax-calibers
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > i.icon-minus_8638:nth-of-type(n + 2),
body.tax-weapon
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > i.icon-minus_8638:nth-of-type(n + 2) {
  display: none !important;
}
body.tax-calibers
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > a::before,
body.tax-weapon
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > a::before,
body.tax-calibers
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > a::after,
body.tax-weapon
  .widget_product_categories
  li.cat-item[data-cat_level="0"]
  > a::after {
  content: none !important;
}

/* --- Sidebar widget sections styling --- */
.widget.widget_custom_html .textwidget > div,
.widget.widget_custom_html .textwidget > section {
  margin-bottom: 25px;
  border-radius: 4px;
  overflow: hidden;
}

/* Browse our shop */
.sidebar-shop-links {
  background: #e9e9e2;
  border: 1px solid #5a5a5a;
}
.sidebar-shop-links .section-header {
  background: #5a5a5a;
  color: #fff;
  padding: 12px 15px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sidebar-quick-links .section-content {
  padding: 0;
}
.ywcca_container {
  padding: 5px !important;
  margin: 0;
}

@media (max-width: 768px) {
  padding-top: 30px !important;
  padding-bottom: 20px !important;
}

@media (min-width: 769px) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Quick Links Section */
.sidebar-quick-links {
  background: #e9e9e2;
  border: 1px solid #5a5a5a;
}
.sidebar-quick-links .section-header {
  background: #5a5a5a;
  color: #fff;
  padding: 12px 15px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sidebar-quick-links .section-content {
  padding: 15px;
}

/* Topic Map Section */
.sidebar-topic-map {
  background: #e9e9e2;
  border: 1px solid #5a5a5a;
}
.sidebar-topic-map .section-header {
  background: #5a5a5a;
  color: #fff;
  padding: 12px 15px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sidebar-topic-map .section-content {
  padding: 15px;
}

/* Help Section - CTA Style */
.sidebar-help-cta {
  background: linear-gradient(135deg, #111 0%, #e9e9e2 100%);
  border: 2px solid #00c2f3;
  box-shadow: 0 2px 8px rgba(184, 115, 51, 0.2);
}
.sidebar-help-cta .section-header {
  background: #00c2f3;
  color: #fff;
  padding: 12px 15px;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.sidebar-help-cta .section-content {
  padding: 15px;
  text-align: center;
}
.sidebar-help-cta .section-content p {
  color: #fff;
  margin-bottom: 12px;
}
.sidebar-help-cta .section-content a {
  display: inline-block;
  background: #00c2f3;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 3px;
  font-weight: 600;
  transition: background 0.3s ease;
}
.sidebar-help-cta .section-content a:hover {
  background: #fff;
  color: #000;
}

/* --- Equal-height product grid utility (scope: .ra-equal-products wrapper) --- */
.ra-equal-products ul.products {
  display: grid;
  gap: 24px;
}
.ra-equal-products ul.products.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.ra-equal-products ul.products.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.ra-equal-products ul.products.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.ra-equal-products ul.products.columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.ra-equal-products ul.products.columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

/* Neutralize Shoptimizer float/width rules inside our grid */
.ra-equal-products ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 16px;
}
/* Top section (image/title/rating/price) stretches */
.ra-equal-products ul.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
}
/* Title */
.ra-equal-products .woocommerce-loop-product__title {
  line-height: 1.3;
  min-height: 3.2em;
  overflow: hidden;
  white-space: normal;
  word-break: normal;
}
/* Price at end of top block */
.ra-equal-products ul.products li.product .price {
  margin-top: auto;
}
/* Footer area: points + CTA */
.ra-equal-products ul.products li.product .yith-par-message,
.ra-equal-products ul.products li.product .yith-par-message-loop {
  margin-top: 12px;
}
.ra-equal-products ul.products li.product .add_to_cart_button,
.ra-equal-products ul.products li.product .button.product_type_simple,
.ra-equal-products ul.products li.product .button.product_type_variable,
.ra-equal-products ul.products li.product .button.ajax_add_to_cart,
.ra-equal-products ul.products li.product a.added_to_cart {
  margin-top: 12px;
}
/* Consistent product images */
.ra-equal-products ul.products li.product img {
  width: 100%;
  height: auto;
  max-height: 220px;
  object-fit: contain;
}
/* === Card border fix: force visible 1px border everywhere === */
:root {
  --ra-card-border: #e8e8e8;
}

.woocommerce ul.products li.product {
  border: 1px solid var(--ra-card-border) !important; /* was transparent */
  box-sizing: border-box;
}

/* Ensure equal-height utility doesn’t get its border cleared by theme merges */
.ra-equal-products ul.products li.product {
  border: 1px solid var(--ra-card-border) !important;
}

/* Keep the darker hover/focus border */
.woocommerce ul.products li.product:hover,
.woocommerce ul.products li.product:focus-within {
  border-color: #c0c0c0 !important;
}

/* Safety: if any transforms were killing hairlines on some GPUs, neutralize at card level */
.woocommerce ul.products li.product {
  transform: none !important;
  backface-visibility: hidden; /* avoids subpixel flicker on some setups */
}
/* === 1) TRUE equal-height cards everywhere (home + archives) === */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto; /* stretches top block */
}
.woocommerce ul.products li.product .price {
  margin-top: auto;
} /* pins footer area */

/* === 2) 5px gap between cards === */
/* Home sections using the utility */
.ra-equal-products ul.products {
  display: grid;
  gap: 5px; /* was larger */
}
/* Product archives / category / tag pages */
.archive.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
  display: grid;
  gap: 5px;
}
.archive.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important; /* grid controls spacing */
  box-sizing: border-box;
}

/* Respect Woo’s column classes on archives */
.archive.post-type-archive-product ul.products.columns-2,
.tax-product_cat ul.products.columns-2,
.tax-product_tag ul.products.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.archive.post-type-archive-product ul.products.columns-3,
.tax-product_cat ul.products.columns-3,
.tax-product_tag ul.products.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.archive.post-type-archive-product ul.products.columns-4,
.tax-product_cat ul.products.columns-4,
.tax-product_tag ul.products.columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.archive.post-type-archive-product ul.products.columns-5,
.tax-product_cat ul.products.columns-5,
.tax-product_tag ul.products.columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.archive.post-type-archive-product ul.products.columns-6,
.tax-product_cat ul.products.columns-6,
.tax-product_tag ul.products.columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

/* === 3) “Add to basket” – remove the extra top spacing === */
/* Kill the gap above the button (keep it tight under credits/price) */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.ajax_add_to_cart,
.woocommerce ul.products li.product a.added_to_cart {
  margin-top: 0 !important; /* was ~12px */
}

/* If your YITH credits block adds space, keep only a tiny gap */
.woocommerce ul.products li.product .yith-par-message,
.woocommerce ul.products li.product .yith-par-message-loop {
  margin-top: 6px !important; /* adjust to taste (0–6px) */
}
/* === Add inner padding inside the brown Add to basket button === */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product .button.product_type_variable {
  padding: 10px 22px !important; /* vertical | horizontal */
  line-height: 1.3 !important; /* centers text visually */
  font-weight: 700; /* keep bold */
  border-radius: 6px; /* slight round corners */
  box-sizing: border-box;
}

/* Optional: make it feel clicky */
.woocommerce ul.products li.product a.button:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
  transition: all 0.15s ease-in-out;
}
/* =========================
   RESPONSIVE CARD COUNTS
   ========================= */

/* --- Breakpoints (tweak if you like) ---
   PC/Desktop:   ≥ 1025px
   Tablet:        601–1024px
   Mobile/Cell:  ≤ 600px
*/

/* === HOMEPAGE ===
   PC: 6  •  Tablet: 4  •  Cell: 2
   (Assumes you wrap sections with .ra-equal-products)
*/
.home .ra-equal-products ul.products {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 1024px) {
  .home .ra-equal-products ul.products {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 600px) {
  .home .ra-equal-products ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Ensure theme floats don’t fight our grid on home */
.home .ra-equal-products ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}

/* === WOO PAGES (shop, category, tag archives) ===
   PC: 5  •  Tablet: 3  •  Cell: 2
*/
.archive.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 1024px) {
  .archive.post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 600px) {
  .archive.post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Neutralize Woo/Shoptimizer width rules inside archive grids */
.archive.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}
/* ===============================
   WOO ARCHIVES: FORCE GRID LAYOUT
   PC: 5 • Tablet: 3 • Mobile: 2
   =============================== */

/* 0) Kill slider/flex behaviours some plugins add on archives */
.commercekit-products-loop,
.commercekit-products-loop .products {
  overflow: visible !important;
  white-space: normal !important;
}
.commercekit-products-loop .products,
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
}

/* 1) Base: 5 columns on shop/category/tag archives */
.archive.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.commercekit-products-loop ul.products {
  display: grid !important;
  gap: 5px;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

/* 2) Tablet ≤1024px: 3 columns */
@media (max-width: 1024px) {
  .archive.post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .commercekit-products-loop ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 3) Mobile ≤600px: 2 columns */
@media (max-width: 600px) {
  .archive.post-type-archive-product ul.products,
  .tax-product_cat ul.products,
  .tax-product_tag ul.products,
  .commercekit-products-loop ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* 4) Neutralise legacy float/width rules on items */
.archive.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product,
.commercekit-products-loop ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}
/* Mobile: add space for the icon inside the search input */
@media (max-width: 600px) {
  .site-header .site-search .search-field,
  .site-header .search-form .search-field,
  .site-header .woocommerce-product-search .search-field {
    padding-left: 44px !important; /* room for the icon */
  }

  /* If the icon/button is absolutely positioned, keep it snug left */
  .site-header .site-search .search-submit,
  .site-header .search-form .search-submit {
    left: 10px !important;
  }
  /* If the icon is an SVG inside the search container */
  .site-header .site-search svg,
  .site-header .search-form svg {
    left: 12px !important;
  }
}

.ra-google-btn {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 0.6rem 1.2rem;
  border-radius: 0.5rem;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
}
.ra-google-btn:hover {
  opacity: 0.9;
}

/* PayJustNow Enhanced Styling - Added [current date] */
.pjnsinglepagetext {
  border: 2px solid #d1d5db !important;
  background-color: #f0f9ff !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin: 15px 0 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

/* Show the button only on mobile */
@media (max-width: 1024px) {
  .mobile-filter-container {
    display: block !important;
    margin: 15px 0;
    text-align: center;
  }

  .mobile-filter.shoptimizer-mobile-toggle {
    background-color: rgb(0, 194, 243) !important;
    color: white !important;
    font-weight: bold !important;
    border: none;
    padding: 12px 20px;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }

  .mobile-filter.shoptimizer-mobile-toggle:hover {
    background-color: rgb(0, 174, 219) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  }

  .mobile-filter.shoptimizer-mobile-toggle svg {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    stroke: white;
  }

  /* Hide the existing desktop filter if needed */
  .desktop-filter {
    display: none;
  }
}

/* ========= PRESERVE HOMEPAGE SPECTRA BUTTON COLORS ========= */
.home .wp-block-button .wp-block-button__link,
.home .wp-block-button .wp-element-button {
  background: #00c2f3 !important; /* Keep the blue background */
  color: #000000 !important; /* Keep the black text */
  min-width: auto !important; /* Override the 220px min-width */
  padding: 0.8rem 1.25rem !important; /* Adjust to match your button */
}

.home .wp-block-button .wp-block-button__link:hover,
.home .wp-block-button .wp-element-button:hover {
  background: #fff !important;
  color: #000 !important;
  transform: translateY(-1px);
  box-shadow: 0 0 0 3px rgba(0, 194, 243, 0.28);
}
/* Target the specific "Shop Accessories" button */
.home .wp-block-button a[href*="/shop/"] {
  background: #00c2f3 !important;
  color: #000000 !important;
  min-width: auto !important;
}

/* ========= END PRESERVE HOMEPAGE SPECTRA BUTTON COLORS ========= */

/* Off-white background for product tabs and sticky ATC */
.commercekit-atc-sticky-tabs.cgkit-atc-product-simple,
.woocommerce-tabs.wc-tabs-wrapper {
  background-color: #f5f5f5 !important;
}
