
/* AvvalStock Elementor Rail Core v27.3.0
 * One navigation/drag contract for Product, Brand, Taxonomy and future rails.
 * Navigation lives OUTSIDE the viewport: it never overlays a card/image.
 */
.avs-rail{
  --avs-rail-nav-width:58px;
  --avs-rail-nav-gap:10px;
  --avs-rail-content-height:180px;
  --avs-rail-nav-trim:10px;
  --avs-rail-nav-radius:16px;
  --avs-rail-nav-bg:#f5f6f8;
  --avs-rail-nav-bg-hover:#eef5fb;
  --avs-rail-nav-color:#0b73bf;
  --avs-rail-nav-border:#eef1f4;
  --avs-rail-fade-width:24px;
  position:relative;
}
.avs-rail .avs-rail__stage{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-areas:"viewport"!important;
  align-items:stretch!important;
  column-gap:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-inline:0!important;
  overflow:visible!important;
  position:relative!important;
}
.avs-rail.avs-rail--with-nav .avs-rail__stage{
  grid-template-columns:var(--avs-rail-nav-width) minmax(0,1fr) var(--avs-rail-nav-width)!important;
  grid-template-areas:"prev viewport next"!important;
  column-gap:var(--avs-rail-nav-gap)!important;
}
/* On boxed desktop widgets, expand the stage so the viewport keeps its original
 * width while the navigation columns sit OUTSIDE it, close to the first/last item. */
@media(min-width:1200px){
  .avs-rail.avs-rail--outer-expand.avs-rail--with-nav .avs-rail__stage{
    width:calc(100% + (2 * (var(--avs-rail-nav-width) + var(--avs-rail-nav-gap))))!important;
    margin-inline:calc(-1 * (var(--avs-rail-nav-width) + var(--avs-rail-nav-gap)))!important;
  }
}
.avs-rail .avs-rail__viewport{
  grid-area:viewport!important;
  position:relative!important;
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  isolation:isolate;
}
.avs-rail .avs-rail__track{
  min-width:0!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  touch-action:pan-x pan-y;
}
.avs-rail .avs-rail__track::-webkit-scrollbar{display:none!important}

/* The entire tall pill is clickable. No small inner button target. */
.avs-rail .avs-rail__nav{
  position:relative!important;
  inset:auto!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  z-index:24!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  width:100%!important;
  min-width:0!important;
  height:max(72px,calc(var(--avs-rail-content-height) - var(--avs-rail-nav-trim)))!important;
  max-height:var(--avs-rail-content-height)!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  border:1px solid var(--avs-rail-nav-border)!important;
  border-radius:var(--avs-rail-nav-radius)!important;
  background:var(--avs-rail-nav-bg)!important;
  box-shadow:none!important;
  color:var(--avs-rail-nav-color)!important;
  cursor:pointer!important;
  opacity:1;
  overflow:hidden!important;
  backdrop-filter:none!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease,transform .16s ease!important;
  user-select:none!important;
  -webkit-user-select:none!important;
}
.avs-rail .avs-rail__nav--prev{grid-area:prev!important}
.avs-rail .avs-rail__nav--next{grid-area:next!important}
.avs-rail .avs-rail__nav span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:inherit!important;
  font-family:Arial,sans-serif!important;
  font-size:37px!important;
  line-height:1!important;
  font-weight:700!important;
  transform:translateY(-1px)!important;
  pointer-events:none!important;
}
.avs-rail .avs-rail__nav:hover:not(:disabled){
  background:var(--avs-rail-nav-bg-hover)!important;
  border-color:#dce6ee!important;
  color:#0766ab!important;
  transform:translateY(-1px)!important;
  box-shadow:none!important;
}
.avs-rail .avs-rail__nav:active:not(:disabled){transform:translateY(0) scale(.985)!important}
.avs-rail .avs-rail__nav:focus-visible{outline:3px solid rgba(11,115,191,.18)!important;outline-offset:2px!important}
.avs-rail .avs-rail__nav:disabled{
  opacity:.20!important;
  cursor:default!important;
  background:#f7f7f8!important;
  color:#9fb9cc!important;
  border-color:#f0f1f2!important;
}

/* Subtle edge hint belongs INSIDE viewport; nav itself remains outside. */
.avs-rail .avs-rail__viewport::before,
.avs-rail .avs-rail__viewport::after{
  content:"";
  position:absolute;
  z-index:9;
  top:0;bottom:0;
  width:var(--avs-rail-fade-width);
  pointer-events:none;
  opacity:.34;
  transition:opacity .16s ease;
}
.avs-rail .avs-rail__viewport::before{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.avs-rail .avs-rail__viewport::after{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}
.avs-rail.avs-rail--at-start .avs-rail__viewport::before{opacity:0}
.avs-rail.avs-rail--at-end .avs-rail__viewport::after{opacity:0}

@media(hover:hover) and (pointer:fine){
  .avs-rail .avs-rail__track{cursor:grab}
  .avs-rail .avs-rail__track.is-dragging{
    cursor:grabbing!important;
    scroll-snap-type:none!important;
    scroll-behavior:auto!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
  .avs-rail .avs-rail__track.is-dragging *{
    user-select:none!important;
    -webkit-user-select:none!important;
    pointer-events:none!important;
  }
}

/* Specific rail proportions. These are variables only; structure stays shared. */
.avs-ew-products.avs-rail{--avs-rail-nav-width:58px;--avs-rail-nav-gap:10px;--avs-rail-nav-trim:8px;--avs-rail-nav-radius:15px;--avs-rail-fade-width:18px}
.avs-ew-brands.avs-rail{--avs-rail-nav-width:52px;--avs-rail-nav-gap:9px;--avs-rail-nav-trim:8px;--avs-rail-nav-radius:14px;--avs-rail-fade-width:16px}
.avs-ew-taxonomy.avs-rail{--avs-rail-nav-width:54px;--avs-rail-nav-gap:10px;--avs-rail-nav-trim:8px;--avs-rail-nav-radius:15px;--avs-rail-fade-width:18px}

/* Neutralize the old per-widget absolute nav/fades. */
.avs-rail .avs-ew-products__stage::before,.avs-rail .avs-ew-products__stage::after,
.avs-rail .avs-ew-taxonomy__stage::before,.avs-rail .avs-ew-taxonomy__stage::after,
.avs-rail .avs-ew-brands__viewport::before,.avs-rail .avs-ew-brands__viewport::after{display:none!important}

@media(max-width:1199px){
  .avs-rail{--avs-rail-nav-width:46px;--avs-rail-nav-gap:8px;--avs-rail-nav-radius:13px}
  .avs-rail .avs-rail__nav span{font-size:32px!important}
}
@media(max-width:767px){
  .avs-rail .avs-rail__stage,
  .avs-rail.avs-rail--with-nav .avs-rail__stage{
    display:block!important;width:100%!important;margin-inline:0!important;
  }
  .avs-rail .avs-rail__nav{display:none!important}
  .avs-rail .avs-rail__viewport{width:100%!important;overflow:visible!important}
  .avs-rail .avs-rail__viewport::before,.avs-rail .avs-rail__viewport::after{display:none!important}
}
