.elementor-19624 .elementor-element.elementor-element-4b388b1{--display:flex;--overlay-opacity:0.85;}.elementor-19624 .elementor-element.elementor-element-4b388b1::before, .elementor-19624 .elementor-element.elementor-element-4b388b1 > .elementor-background-video-container::before, .elementor-19624 .elementor-element.elementor-element-4b388b1 > .e-con-inner > .elementor-background-video-container::before, .elementor-19624 .elementor-element.elementor-element-4b388b1 > .elementor-background-slideshow::before, .elementor-19624 .elementor-element.elementor-element-4b388b1 > .e-con-inner > .elementor-background-slideshow::before, .elementor-19624 .elementor-element.elementor-element-4b388b1 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-19624 .elementor-element.elementor-element-4b388b1.e-con{--align-self:flex-start;--flex-grow:0;--flex-shrink:1;}.elementor-19624 .elementor-element.elementor-element-a28aac1{width:100%;max-width:100%;}.elementor-19624 .elementor-element.elementor-element-a28aac1 > .elementor-widget-container{background-image:url("https://rprguns.com/wp-content/uploads/2025/06/CowboyandBackground.png");background-position:bottom right;background-repeat:no-repeat;background-size:cover;}.elementor-19624 .elementor-element.elementor-element-a28aac1.elementor-element{--align-self:center;}/* Start custom CSS for rpr_western_shop, class: .elementor-element-a28aac1 *//* Desktop: sidebar left, grid right */
.rpr-shop-container {
  display: flex;
  flex-direction: row;
}

/* Mobile: stack sidebar above the grid */
@media (max-width: 768px) {
  .rpr-shop-container {
    flex-direction: column;
  }
  .rpr-sidebar {
    order: 0;           /* sidebar first */
    width: 100%;        /* full-width on mobile */
    margin-right: 0;    /* remove desktop gutter */
    margin-bottom: 1rem;
  }
  #rpr-product-results {
    order: 1;           /* grid below */
    width: 100%;
  }
}

@media (max-width: 768px) {
  .rpr-sidebar {
    /* full‐bleed width */
    width: 100vw !important;
    margin: 0 !important;
    padding: 1rem;
    
    /* no more sticky on mobile—just flow normally */
    position: relative !important;
    top: auto !important;
    
    /* cap the height so it’s “much shorter” */
    max-height: 10vt;        /* sidebar will be at most 40% of the viewport height */
    overflow-y: auto;        /* scroll internally if content overflows */
  }
  
  /* push your products down below the sidebar */
  .rpr-product-grid {
    margin-top: 1rem;
  }
}


/* Ensure the shop container sits above the background */
.rpr-shop-container {
  position: relative;
  z-index: 10;
}

/* Push the grid itself above too */
.rpr-product-grid {
  position: relative;
  z-index: 20;
}

/* And make every card sit on top */
.rpr-product-card {
  position: relative;
  z-index: 30;
}


.rpr-sidebar {
 display: flex;
  flex-direction: column;
  position: sticky;
    z-index: 10;
  background: #f4e9dc;
  padding: 1rem;
  border: 2px solid #b08d57;
  border-radius: 8px;
  max-height: calc(100vh - 120px); /* prevent overflow */
  overflow-y: auto;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
    width: 250px;
  flex-shrink: 0;
  color: brown;
}

/* Filters stay locked */
.rpr-sidebar .rpr-filters {
  position: sticky;
  top: 100px;
  z-index: 1;
  background: #f4e9dc;
  padding: 1rem;
  border-bottom: 1px solid #d6ba8f;
}

.rpr-category-tree a {
  color: #4b2e00 !important;
  font-weight: 600;
}
/* Category tree scrolls */
.rpr-category-tree {
  overflow-y: auto;
  max-height: calc(100vh - 180px);
  padding: 1rem;
}

#rpr-product-results {
  flex-grow: 1;
}

/* Sidebar Headers */
.rpr-sidebar h3,
h1, h2, h3 {
  font-family: "Cenzel Decorative", serif;
  color: brown;   
}


/* Product Grid Layout */
.rpr-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
  justify-content: center;
  gap: 1rem;
}
.rpr-product-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr; /* default: 1 column */
}

@media (min-width: 600px) {
  .rpr-product-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 cols on tablet */
  }
}

@media (min-width: 900px) {
  .rpr-product-grid {
    grid-template-columns: repeat(3, 1fr); /* 3 cols on desktop */
  }
}

/* Product Card */
.rpr-product-card {
  background: #fff8e7;
  border: 2px solid #b08d57;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  height: 500px;
  color: #3a1c00;
  font-family: Georgia, serif;
}

/* Product Title */
.rpr-product-card h2 {
  font-family: "Georgia", serif !important;
  font-size: 1.1rem;
  font-weight: 700;
  color: #4b2e00 !important;
  text-transform: uppercase;
}

/* Product Description */
.rpr-short-desc {
  font-size: 0.9rem;
  margin-top: 0.5em;
}

/* Price Display */
.rpr-product-price,
.rpr-product-card .price {
  color: #8b0000 !important;
  font-weight: 600;
  margin-top: 0.5em;
}

/* Add to Cart Button */
.rpr-product-card a.button {
  background-color: #643c11;
  color: #fff !important;
  border: none;
  padding: 0.5em 1em;
  font-weight: bold;
}

.rpr-product-card a.button:hover {
  background-color: #8c4c10;
}

.rpr-page-content {
  border: 2px solid #b08d57;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.rpr-toggle {
  cursor: pointer;
  font-weight: bold;
  margin-right: 5px;
}

/* 1) Remove Elementor’s overlay element entirely */
.elementor-section .elementor-background-overlay {
  display: none !important;
}

/* 2) Hide any ::before/::after on the section that might be covering you */
.elementor-section.elementor-element::before,
.elementor-section.elementor-element::after {
  display: none !important;
}

/* 3) Give your shop widget wrapper a solid background to mask the image */
.elementor-widget-rpr-western-shop-layout .rpr-shop-container {
  background-color: #f4e9dc !important;
  position: relative !important;
  z-index: 1000 !important;
  isolation: isolate;
}

/* 4) Make sure the grid & cards stay above that wrapper */
.rpr-product-grid,
.rpr-product-card {
  position: relative !important;
  z-index: 1001 !important;
}

/* 0) First, let everything overflow so nothing is clipped */
.elementor-section,
.elementor-column,
.elementor-widget-wrap {
  overflow: visible !important;
}

/* 1) Give each wrapper its own stacking context & lift them */
.elementor-section,
.elementor-column,
.elementor-widget-wrap {
  position: relative !important;
  z-index: 100 !important;
}

/* 2) Ensure your plugin’s widget wrapper is on top of all of that */
.elementor-widget-rpr-western-shop-layout,
.elementor-widget-rpr-western-shop-layout .rpr-shop-container {
  position: relative !important;
  z-index: 200 !important;
  isolation: isolate !important;
}

/* 3) Elevate the grid & cards themselves */
.rpr-product-grid,
.rpr-product-card {
  position: relative !important;
  z-index: 300 !important;
}

/* 4) If there’s still an overlay/pseudo hiding things, turn it off */
.elementor-section.elementor-element::before,
.elementor-section.elementor-element::after,
.elementor-section .elementor-background-overlay {
  display: none !important;
  pointer-events: none !important;
}


/* make the sidebar a full‐height flex container */
.rpr-sidebar {
  display: flex;
  flex-direction: column;
  height: 30vh;           /* fill viewport height */
  max-height: 100vh;
  position: sticky;
  top: 0;                  /* stick to very top */
  background: #f4e9dc;
  padding: 1rem;
  border: 2px solid #b08d57;
  border-radius: 8px;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.1);
}

/* header and filters never scroll away */
.rpr-sidebar > h3,               /* your “Categories” heading */
.rpr-sidebar .rpr-filters {     /* your Filters block, if any */
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  background: #f4e9dc;
  z-index: 10;
}

/* only the category tree scrolls */
.rpr-category-tree {
  flex: 1 1 auto;                                           /* fill remaining space */
  overflow-y: auto;
  max-height: calc(
    120pxvh
    - /* header */ 3rem
    - /* filters */ 6rem
    - /* padding/border */ 2rem
  );
  padding-top: .5rem;                                       /* optional breathing room */
}

/* tweak these lines until <header> + <filters> + padding = total sidebar top space *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4b388b1 *//* HEADINGS with Cinzel Decorative */
h1, h2, h3, h4, h5, h6,
.page-header .entry-title,
.woocommerce-loop-product__title,
.rpr-product-card h2 {
  font-family: 'Cinzel Decorative', Georgia, serif !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Body text with Cinzel */
body,
p,
.rpr-product-card,
.rpr-short-desc,
.woocommerce-page .woocommerce,
.rpr-sidebar {
  font-family: 'Cinzel', serif !important;
  font-weight: 400;
  line-height: 1.6;
}
.price, .rpr-product-price {
  color: #8b0000;
  font-weight: bold;
}
.rpr-sidebar h3 {
  font-family: 'Cinzel Decorative', serif;
  font-size: 1.3rem;
  color: #4b2e00;
  border-bottom: 1px solid #c6a76d;
  padding-bottom: 0.3rem;
  margin-bottom: 0.6rem;
}


.page-header {
  text-align: left;
  display: none;
  padding: 1rem 0;
  border-bottom: 2px solid #b08d57;
  background-color: #fefcf9;
}

.rpr-page-content {
  border: 2px solid #b08d57;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}/* End custom CSS */