/* Se aplica únicamente a los carruseles que toma este plugin. */
.alc-loop {
  display: block !important;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden !important;
  padding: 0 !important;
  box-sizing: border-box;
  touch-action: pan-y pinch-zoom !important;
  isolation: isolate;
  --alc-gap: 10px;
  --alc-item-width: 120px;
}

/* Las marcas salen del contenedor centrado y llegan al borde del viewport. */
.alc-loop.alc-loop--brands.alc-loop--full-width {
  width: var(--alc-viewport-width, 100%) !important;
  max-width: none !important;
  margin-left: var(--alc-viewport-offset, 0px) !important;
  margin-right: calc(100% - var(--alc-viewport-width, 100%) - var(--alc-viewport-offset, 0px)) !important;
}

.alc-loop > .alc-track,
.alc-loop .alc-group {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start;
  gap: var(--alc-gap) !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  direction: ltr;
}

.alc-loop > .alc-track {
  will-change: transform;
  cursor: grab;
}

.alc-loop .alc-track,
.alc-loop .alc-track * {
  touch-action: pan-y pinch-zoom !important;
  user-select: none !important;
  -webkit-user-select: none !important;
}

.alc-loop .alc-group {
  flex: 0 0 auto !important;
}

.alc-loop .alc-group > .alc-item {
  display: block !important;
  flex: 0 0 var(--alc-item-width) !important;
  width: var(--alc-item-width) !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
  transform: none !important;
}

.alc-loop--categories .category-grid-item {
  width: 100% !important;
  margin-bottom: 0 !important;
}

.alc-loop--categories .wd-cat-image img {
  display: block;
  width: 100%;
  height: auto;
}

.alc-loop--brands .pwb-slick-slide > a {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none;
}

.alc-loop--brands .alc-item img {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  object-fit: contain;
  border-radius: 16px;
}

/* Relieve corto, sin difuminado. Se reserva espacio para que no se corte abajo. */
.alc-loop.alc-loop--depth {
  padding-bottom: calc(var(--alc-depth, 3px) + 2px) !important;
}

.alc-loop--depth.alc-loop--categories .wd-cat-thumb,
.alc-loop--depth.alc-loop--brands .alc-item img {
  box-sizing: border-box !important;
  border: 2px solid #000 !important;
  box-shadow: var(--alc-depth, 3px) var(--alc-depth, 3px) 0 #000 !important;
}

/* WoodMart recorta el envoltorio en escritorio; la imagen conserva su máscara. */
.alc-loop--depth.alc-loop--categories .wd-cat-inner {
  overflow: visible !important;
}

.alc-loop--depth.alc-loop--categories .wd-cat-inner::before {
  border-radius: inherit;
}

.alc-loop--depth.alc-loop--categories .wd-cat-image {
  margin: 0 !important;
}

.alc-loop .alc-item a:focus-visible {
  outline: 3px solid #4a90e2;
  outline-offset: -4px;
}

.alc-loop .alc-controls {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 10px 2px 2px;
}

.alc-loop .alc-control {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid currentColor !important;
  border-radius: 8px !important;
  color: inherit !important;
  cursor: pointer !important;
  opacity: .8 !important;
  touch-action: manipulation !important;
}

.alc-loop .alc-control:hover,
.alc-loop .alc-control:focus-visible {
  opacity: 1 !important;
  outline: 2px solid #4a90e2 !important;
  outline-offset: 2px !important;
}

.alc-loop .alc-control svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  pointer-events: none;
}

.alc-loop .alc-control::before,
.alc-loop .alc-control::after {
  content: none !important;
}

.alc-loop.alc-dragging,
.alc-loop.alc-dragging * {
  user-select: none !important;
  cursor: grabbing !important;
}

.alc-loop img {
  -webkit-user-drag: none;
}

@media (prefers-reduced-motion: reduce) {
  .alc-loop > .alc-track { will-change: auto; }
}
