/* WordPress/WooCommerce bridge for the approved HTML shop design. */
.riven-shop-page .riven-shop-category-pill>b{overflow:hidden}.riven-shop-page .riven-shop-category-pill>b>span,.riven-shop-page .riven-shop-category-pill>b svg,.riven-shop-page .riven-shop-category-pill>b i{display:block;width:24px;height:24px;line-height:24px;font-size:22px;color:currentColor}.riven-shop-page .riven-shop-category-pill>b svg{fill:none;stroke:currentColor}.riven-shop-page .riven-shop-category-pill>b .riven-inline-svg svg{width:24px;height:24px}.riven-shop-page .riven-shop-category-pill>b .riven-mask-icon{width:24px;height:24px;background:currentColor;-webkit-mask:var(--riven-icon-url) center/contain no-repeat;mask:var(--riven-icon-url) center/contain no-repeat}.riven-shop-page .riven-shop-product-media img{display:block;margin:0}.riven-shop-page .riven-shop-product-bottom .woocommerce-Price-amount{color:inherit}.riven-shop-page .riven-shop-add{text-decoration:none}.riven-shop-page [data-riven-shop-results][aria-busy="true"]{opacity:.48;pointer-events:none;transition:opacity .2s ease}.riven-shop-page .riven-shop-product-card[hidden],.riven-shop-page .riven-shop-load-more[hidden],.riven-shop-page .riven-shop-empty[hidden]{display:none!important}.riven-shop-page .riven-shop-toast{pointer-events:none}


/* 2.2.9: mobile category rail = exactly three visible cards with horizontal swipe. */
@media (max-width:820px){
 .riven-shop-page .riven-shop-category-rail{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:calc((100% - 16px)/3);gap:8px;overflow-x:auto;overflow-y:hidden;padding:3px 1px 10px;scroll-snap-type:x mandatory;scroll-padding-inline:1px;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:none}
 .riven-shop-page .riven-shop-category-rail::-webkit-scrollbar{display:none}
 .riven-shop-page .riven-shop-category-pill{min-width:0!important;width:100%;min-height:94px;padding:10px 8px;gap:8px;scroll-snap-align:start;flex-direction:column;align-items:flex-start;justify-content:center}
 .riven-shop-page .riven-shop-category-pill>b{width:34px;height:34px;border-radius:10px}
 .riven-shop-page .riven-shop-category-pill>b>span,.riven-shop-page .riven-shop-category-pill>b svg,.riven-shop-page .riven-shop-category-pill>b i{width:20px;height:20px;line-height:20px;font-size:19px}
 .riven-shop-page .riven-shop-category-pill span{font-size:.68rem;line-height:1.05}
 .riven-shop-page .riven-shop-category-pill small{margin-top:3px;font-size:.55rem;white-space:nowrap}
}
@media (max-width:420px){
 .riven-shop-page .riven-shop-category-rail{grid-auto-columns:calc((100% - 12px)/3);gap:6px}
 .riven-shop-page .riven-shop-category-pill{padding:9px 6px;min-height:90px}
 .riven-shop-page .riven-shop-category-pill span{font-size:.63rem}
}

/* 2.2.10: real swipe/drag rail from tablet down. Three cards stay visible; extra cards overflow horizontally. */
@media (max-width:1100px){
 .riven-shop-page .riven-shop-category-rail{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:3px 1px 10px!important;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:1px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  touch-action:pan-x;
  scrollbar-width:none;
  cursor:grab;
 }
 .riven-shop-page .riven-shop-category-rail::-webkit-scrollbar{display:none}
 .riven-shop-page .riven-shop-category-rail.riven-shop-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
 .riven-shop-page .riven-shop-category-pill{
  flex:0 0 calc((100% - 16px)/3)!important;
  width:calc((100% - 16px)/3)!important;
  min-width:calc((100% - 16px)/3)!important;
  max-width:calc((100% - 16px)/3)!important;
  scroll-snap-align:start;
  scroll-snap-stop:always;
 }
}
@media (max-width:420px){
 .riven-shop-page .riven-shop-category-rail{gap:6px!important}
 .riven-shop-page .riven-shop-category-pill{
  flex-basis:calc((100% - 12px)/3)!important;
  width:calc((100% - 12px)/3)!important;
  min-width:calc((100% - 12px)/3)!important;
  max-width:calc((100% - 12px)/3)!important;
 }
}

/* 2.2.11: make horizontal category overflow obvious without clutter. */
.riven-shop-page .riven-shop-category-rail-shell{position:relative;min-width:0}
.riven-shop-page .riven-shop-category-more{display:none}
@media (max-width:1100px){
 .riven-shop-page .riven-shop-category-rail-shell.riven-shop-has-overflow .riven-shop-category-pill{
  flex:0 0 30%!important;
  width:30%!important;
  min-width:30%!important;
  max-width:30%!important;
 }
 .riven-shop-page .riven-shop-category-rail-shell.riven-shop-has-overflow::after{
  content:"";
  position:absolute;
  z-index:3;
  top:0;
  right:0;
  bottom:10px;
  width:76px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,var(--riven-shop-bg) 88%);
  opacity:1;
  transition:opacity .2s ease;
 }
 .riven-shop-page .riven-shop-category-rail-shell.riven-shop-at-end::after{opacity:0}
 .riven-shop-page .riven-shop-category-more{
  position:absolute;
  z-index:4;
  right:8px;
  top:50%;
  transform:translateY(-55%);
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgb(var(--riven-shop-green-rgb)/.5);
  border-radius:999px;
  background:color-mix(in srgb,var(--riven-shop-bg) 86%,transparent);
  color:var(--riven-shop-green);
  box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 20px rgb(var(--riven-shop-green-rgb)/.12);
  backdrop-filter:blur(8px);
  cursor:pointer;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
 }
 .riven-shop-page .riven-shop-category-more:hover{transform:translateY(-55%) translateX(2px);border-color:var(--riven-shop-green)}
 .riven-shop-page .riven-shop-category-more span{font-size:20px;line-height:1}
 .riven-shop-page .riven-shop-category-more[hidden]{display:none!important}
}
@media (max-width:520px){
 .riven-shop-page .riven-shop-category-rail-shell.riven-shop-has-overflow .riven-shop-category-pill{
  flex-basis:31%!important;
  width:31%!important;
  min-width:31%!important;
  max-width:31%!important;
 }
 .riven-shop-page .riven-shop-category-rail-shell.riven-shop-has-overflow::after{width:58px}
 .riven-shop-page .riven-shop-category-more{right:5px;width:34px;height:34px}
}


/* Riven 2.3.40 — category rail is always one horizontal row. */
.riven-shop-page .riven-shop-category-rail-shell{position:relative;min-width:0}
.riven-shop-page .riven-shop-category-rail{
 display:flex!important;
 grid-template-columns:none!important;
 grid-auto-flow:initial!important;
 flex-wrap:nowrap!important;
 gap:10px!important;
 width:100%;
 max-width:100%;
 overflow-x:auto!important;
 overflow-y:hidden!important;
 padding:4px 2px 12px!important;
 scroll-snap-type:x mandatory;
 scroll-padding-inline:2px;
 -webkit-overflow-scrolling:touch;
 overscroll-behavior-x:contain;
 touch-action:pan-x pan-y;
 scrollbar-width:none;
 cursor:grab;
}
.riven-shop-page .riven-shop-category-rail::-webkit-scrollbar{display:none}
.riven-shop-page .riven-shop-category-rail.riven-shop-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.riven-shop-page .riven-shop-category-pill{
 flex:0 0 calc((100% - 50px)/6)!important;
 width:calc((100% - 50px)/6)!important;
 min-width:168px!important;
 max-width:none!important;
 scroll-snap-align:start;
 scroll-snap-stop:always;
}
.riven-shop-page .riven-shop-category-pill>b .riven-shop-category-image,
.riven-shop-page .riven-shop-category-pill>b>img.riven-shop-category-image{
 display:block!important;
 width:100%!important;
 height:100%!important;
 max-width:100%!important;
 max-height:100%!important;
 object-fit:cover!important;
 border-radius:inherit;
}
.riven-shop-page .riven-shop-category-more{
 position:absolute;
 z-index:5;
 right:8px;
 top:50%;
 transform:translateY(-55%);
 width:40px;
 height:40px;
 display:grid;
 place-items:center;
 border:1px solid rgb(var(--riven-shop-green-rgb)/.55);
 border-radius:999px;
 background:color-mix(in srgb,var(--riven-shop-bg) 88%,transparent);
 color:var(--riven-shop-green);
 box-shadow:0 10px 28px rgba(0,0,0,.22),0 0 20px rgb(var(--riven-shop-green-rgb)/.12);
 backdrop-filter:blur(8px);
 cursor:pointer;
 transition:opacity .2s ease,transform .2s ease,border-color .2s ease;
}
.riven-shop-page .riven-shop-category-more:hover{transform:translateY(-55%) translateX(2px);border-color:var(--riven-shop-green)}
.riven-shop-page .riven-shop-category-more .riven-ui-icon{width:20px;height:20px}
.riven-shop-page .riven-shop-category-more[hidden]{display:none!important}
.riven-shop-page .riven-shop-category-rail-shell.riven-shop-has-overflow::after{
 content:"";
 position:absolute;
 z-index:4;
 top:0;
 right:0;
 bottom:12px;
 width:74px;
 pointer-events:none;
 background:linear-gradient(90deg,transparent 0%,var(--riven-shop-bg) 90%);
 opacity:1;
 transition:opacity .2s ease;
}
.riven-shop-page .riven-shop-category-rail-shell.riven-shop-at-end::after{opacity:0}
@media(max-width:1100px){
 .riven-shop-page .riven-shop-category-rail{gap:8px!important}
 .riven-shop-page .riven-shop-category-pill{
  flex:0 0 calc((100% - 16px)/3)!important;
  width:calc((100% - 16px)/3)!important;
  min-width:0!important;
  max-width:calc((100% - 16px)/3)!important;
 }
}
@media(max-width:520px){
 .riven-shop-page .riven-shop-category-rail{gap:6px!important}
 .riven-shop-page .riven-shop-category-pill{
  flex:0 0 calc((100% - 12px)/3)!important;
  width:calc((100% - 12px)/3)!important;
  min-width:0!important;
  max-width:calc((100% - 12px)/3)!important;
 }
 .riven-shop-page .riven-shop-category-more{right:5px;width:34px;height:34px}
 .riven-shop-page .riven-shop-category-rail-shell.riven-shop-has-overflow::after{width:58px}
}

/* 2.4.0 — category links behave like pills and results use real AJAX pagination. */
.riven-shop-page a.riven-shop-category-pill{text-decoration:none;color:inherit}
.riven-shop-page .riven-shop-pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin:34px 0 4px;padding-top:24px;border-top:1px solid var(--riven-shop-line)}
.riven-shop-page .riven-shop-page-numbers{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.riven-shop-page .riven-shop-pagination button{width:40px;height:40px;padding:0;display:grid;place-items:center;border:1px solid var(--riven-shop-line);border-radius:11px;background:var(--riven-shop-panel);color:var(--riven-shop-ink);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}
.riven-shop-page .riven-shop-pagination button:hover:not(:disabled){border-color:var(--riven-shop-green);color:var(--riven-shop-green);transform:translateY(-1px)}
.riven-shop-page .riven-shop-pagination button.riven-shop-page-current{background:var(--riven-shop-acid);border-color:var(--riven-shop-acid);color:#071000}
.riven-shop-page .riven-shop-pagination button:disabled{opacity:.35;cursor:not-allowed}
.riven-shop-page .riven-shop-pagination .riven-ui-icon,.riven-shop-page .riven-shop-pagination svg{width:18px;height:18px;display:block}
.riven-shop-page .riven-shop-page-gap{width:26px;text-align:center;color:var(--riven-shop-muted);font-weight:700}
@media(max-width:520px){
 .riven-shop-page .riven-shop-pagination{gap:6px;margin-top:26px}
 .riven-shop-page .riven-shop-page-numbers{gap:5px}
 .riven-shop-page .riven-shop-pagination button{width:36px;height:36px;border-radius:10px}
}


/* 2.7.5 — filter rail balance and unclipped price-range pills. */
.riven-shop-page .riven-shop-price-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
.riven-shop-page .riven-shop-price-options button{min-width:0;width:100%;padding:8px 7px!important;line-height:1.2;white-space:normal;text-align:center}
@media(min-width:821px) and (max-width:1180px){
 .riven-shop-page .riven-shop-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}
}
@media(max-width:820px){
 .riven-shop-page .riven-shop-price-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
