/* ---------- Variables estilo PAC-MAN ---------- */
:root{
  --pacman-yellow: #ffeb3b;
  --ghost-red: #ff1744;
  --ghost-pink: #ff80ab;   /* Rosa */
  --ghost-blue: #40c4ff;
  --ghost-yellow: #ffe066;
  --maze-bg: #0a0a0a;
  --maze-line: #1a1aff;
  --text: #fff;
}

/* ---------- Contenedor principal ---------- */
.sliderarcade-design-pacman .sliderarcade-container{
  background:
    repeating-linear-gradient(90deg, var(--maze-bg) 0 40px, var(--maze-line) 40px 42px),
    repeating-linear-gradient(0deg, var(--maze-bg) 0 40px, var(--maze-line) 40px 42px);
  border: 4px solid var(--pacman-yellow);
  border-radius: 12px;
  max-width: 1400px;
  margin: 0 auto 110px;
  padding: 24px 24px 130px;
  position: relative;
  overflow: visible;
  box-shadow: 0 0 20px rgba(255,235,59,0.6);
}

/* ---------- Slides ---------- */
.sliderarcade-design-pacman .sliderarcade-slide{
  padding: 0 12px;
}

/* ---------- Tarjeta de producto ---------- */
.sliderarcade-design-pacman .sliderarcade-product{
  background: var(--maze-bg);
  border: 3px solid var(--ghost-blue); /* default */
  border-radius: 12px;
  padding: 18px;
  text-align: center;
  transition: box-shadow 0.25s ease;
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4 / 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--text);
}

/* ---------- Variantes garantizadas por índice (funcional incluso con divs intermedios) ---------- */
/* 1: rojo, 2: rosa, 3: azul, 4: amarillo; luego repite */
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+1),
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+1) .sliderarcade-product,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+1) .sliderarcade-product{
  border-color: var(--ghost-red);
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+2),
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+2) .sliderarcade-product,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+2) .sliderarcade-product{
  border-color: var(--ghost-pink); /* ROSA */
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+3),
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+3) .sliderarcade-product,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+3) .sliderarcade-product{
  border-color: var(--ghost-blue);
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+4),
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+4) .sliderarcade-product,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+4) .sliderarcade-product{
  border-color: var(--ghost-yellow);
}

/* Overlay superior con mismo patrón de colores */
.sliderarcade-design-pacman .sliderarcade-product::after{
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 6px;
  background: var(--ghost-blue); /* default bar */
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+1)::after,
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+1) .sliderarcade-product::after,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+1) .sliderarcade-product::after{
  background: var(--ghost-red);
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+2)::after,
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+2) .sliderarcade-product::after,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+2) .sliderarcade-product::after{
  background: var(--ghost-pink); /* ROSA visible */
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+3)::after,
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+3) .sliderarcade-product::after,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+3) .sliderarcade-product::after{
  background: var(--ghost-blue);
}
.sliderarcade-design-pacman .sliderarcade-product:nth-child(4n+4)::after,
.sliderarcade-design-pacman .sliderarcade-slide:nth-child(4n+4) .sliderarcade-product::after,
.sliderarcade-design-pacman .slick-slide:nth-child(4n+4) .sliderarcade-product::after{
  background: var(--ghost-yellow);
}

/* Hover sin scale: parpadeo neón + flotación ligera tipo fantasma */
.sliderarcade-design-pacman .sliderarcade-product:hover{
  animation: neon-blink 1.2s infinite alternate, ghost-float 3s ease-in-out infinite;
}
@keyframes neon-blink{
  0%   { box-shadow: 0 0 6px var(--ghost-pink); }
  50%  { box-shadow: 0 0 14px var(--ghost-blue); }
  100% { box-shadow: 0 0 6px var(--ghost-yellow); }
}
@keyframes ghost-float{
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-4px); }
  100% { transform: translateY(0); }
}

/* ---------- Imagen ---------- */
.sliderarcade-design-pacman .sliderarcade-product-img{
  width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
  margin: 0 auto 12px;
  display: block;
  border-radius: 8px;
  border: 2px solid var(--pacman-yellow);
  background: #000;
  animation: pacman-glow 1.5s infinite alternate;
}
@keyframes pacman-glow{
  from{ box-shadow: 0 0 6px var(--pacman-yellow); }
  to  { box-shadow: 0 0 20px var(--pacman-yellow); }
}

/* ---------- Título, descripción y precio ---------- */
.sliderarcade-design-pacman .sliderarcade-product-title{
  font-weight: 900;
  color: var(--ghost-red);
  margin: 6px 0 6px;
  font-size: 1.1rem;
  text-shadow: 0 0 6px var(--ghost-red);
}
.sliderarcade-design-pacman .sliderarcade-product-description{
  color: var(--ghost-pink);
  font-size: 0.92rem;
  margin: 6px 0 10px;
  line-height: 1.25;
  min-height: 2.5em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sliderarcade-design-pacman .sliderarcade-product-price{
  color: #000;
  font-size: 1.35rem;
  font-weight: 900;
  margin-bottom: 12px;
  text-shadow: none;
}

/* ---------- Acciones ---------- */
.sliderarcade-design-pacman .sliderarcade-actions{
  display: inline-flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  flex-wrap: wrap;
}
.sliderarcade-design-pacman .sliderarcade-qty{
  width: 84px;
  padding: 8px;
  border: 2px solid var(--ghost-blue);
  border-radius: 8px;
  text-align: center;
  font-weight: 800;
  color: var(--text);
  background: #000;
}
.sliderarcade-design-pacman .sliderarcade-add-to-cart{
  background: var(--pacman-yellow);
  border: 3px solid var(--ghost-red);
  color: #000;
  padding: 12px 20px;
  border-radius: 50px;
  cursor: pointer;
  font-weight: 900;
  text-transform: uppercase;
  transition: box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
  min-width: 190px;
  position: relative;
  overflow: hidden;
}
.sliderarcade-design-pacman .sliderarcade-add-to-cart::before{
  content: "◉";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  animation: waka 0.6s infinite;
}
@keyframes waka{
  0%   { transform: translateY(-50%) scaleX(1); }
  50%  { transform: translateY(-50%) scaleX(0.25); }
  100% { transform: translateY(-50%) scaleX(1); }
}
.sliderarcade-design-pacman .sliderarcade-add-to-cart:hover{
  background: var(--ghost-blue);
  color: #fff;
  box-shadow: 0 0 12px var(--ghost-blue);
}

/* ---------- Spinner ---------- */
.sliderarcade-design-pacman .sliderarcade-spinner{
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255,255,255,0.2);
  border-top-color: var(--pacman-yellow);
  border-radius: 50%;
  display: inline-block;
  animation: sliderarcade-spin 0.8s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}
@keyframes sliderarcade-spin{ to { transform: rotate(360deg); } }

/* ---------- Mensaje sin productos ---------- */
.sliderarcade-design-pacman .sliderarcade-no-products{
  text-align: center;
  color: #ccc;
  padding: 2rem;
  font-weight: 700;
}

/* ---------- Dots estilo fantasmas ---------- */
.sliderarcade-design-pacman .slick-dots{
  position: absolute;
  bottom: -70px;
  left: 0;
  right: 0;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sliderarcade-design-pacman .slick-dots li{ width: 16px; height: 16px; }
.sliderarcade-design-pacman .slick-dots button{
  width: 16px; height: 16px; padding: 0; border: 0; border-radius: 50%;
  cursor: pointer; position: relative; background: transparent;
  box-shadow: 0 0 8px rgba(0,0,0,0.4);
}
.sliderarcade-design-pacman .slick-dots li:nth-child(1) button{ background: var(--ghost-red); }
.sliderarcade-design-pacman .slick-dots li:nth-child(2) button{ background: var(--ghost-pink); }
.sliderarcade-design-pacman .slick-dots li:nth-child(3) button{ background: var(--ghost-blue); }
.sliderarcade-design-pacman .slick-dots li:nth-child(4) button{ background: var(--ghost-yellow); }
.sliderarcade-design-pacman .slick-dots .slick-active button{
  animation: ghost-glow 1s infinite alternate;
}
@keyframes ghost-glow{
  from { box-shadow: 0 0 6px var(--pacman-yellow); }
  to   { box-shadow: 0 0 14px var(--pacman-yellow); }
}

/* ---------- Flechas estilo PAC-MAN ---------- */
.sliderarcade-design-pacman .slick-arrow{
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--pacman-yellow);
  border: 3px solid #000;
  cursor: pointer;
  transition: box-shadow 0.2s ease, background 0.2s ease;
}
.sliderarcade-design-pacman .slick-arrow:hover{
  background: var(--ghost-red);
  box-shadow: 0 0 10px var(--ghost-red);
}
.sliderarcade-design-pacman .slick-prev{ left: -32px; }
.sliderarcade-design-pacman .slick-next{ right: -32px; }
.sliderarcade-design-pacman .slick-arrow::before{
  font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 22px; color: #000;
}
.sliderarcade-design-pacman .slick-prev::before{ content: "\f104"; }
.sliderarcade-design-pacman .slick-next::before{ content: "\f105"; }

/* ---------- Escalas por tamaño ---------- */
.sliderarcade-design-pacman.size-sliderarcade_thumbnail .sliderarcade-product{ max-width: 343px; }
.sliderarcade-design-pacman.size-sliderarcade_thumbnail .sliderarcade-product-img{ max-height: 224px; }
.sliderarcade-design-pacman.size-sliderarcade_thumbnail .sliderarcade-add-to-cart{
  min-width: 198px;
  padding: 10px 16px;
}
.sliderarcade-design-pacman.size-sliderarcade_medium .sliderarcade-product{ max-width: 449px; }
.sliderarcade-design-pacman.size-sliderarcade_medium .sliderarcade-product-img{ max-height: 290px; }
.sliderarcade-design-pacman.size-sliderarcade_large .sliderarcade-product{ max-width: 581px; }
.sliderarcade-design-pacman.size-sliderarcade_large .sliderarcade-product-img{ max-height: 370px; }
.sliderarcade-design-pacman.size-sliderarcade_large .sliderarcade-add-to-cart{
  min-width: 250px;
  padding: 14px 22px;
  font-size: 1.05rem;
}

/* ---------- Responsivo ---------- */
@media (max-width: 576px){
  .sliderarcade-design-pacman .sliderarcade-container{ padding: 18px 16px 140px; margin: 0 auto 100px; max-width: 100%; }
  .sliderarcade-design-pacman .sliderarcade-slide{ padding: 0 8px; }
  .sliderarcade-design-pacman .sliderarcade-product{ aspect-ratio: 4 / 3; padding: 14px; }
  .sliderarcade-design-pacman .slick-prev{ left: -18px; }
  .sliderarcade-design-pacman .slick-next{ right: -18px; }
  .sliderarcade-design-pacman .slick-dots{ bottom: -80px; }
  .sliderarcade-design-pacman.size-sliderarcade_thumbnail .sliderarcade-product,
  .sliderarcade-design-pacman.size-sliderarcade_medium .sliderarcade-product,
  .sliderarcade-design-pacman.size-sliderarcade_large .sliderarcade-product{ max-width: 100%; }
  .sliderarcade-design-pacman.size-sliderarcade_thumbnail .sliderarcade-product-img{ max-height: 208px; }
  .sliderarcade-design-pacman.size-sliderarcade_medium .sliderarcade-product-img{ max-height: 258px; }
  .sliderarcade-design-pacman.size-sliderarcade_large .sliderarcade-product-img{ max-height: 330px; }
}
@media (min-width: 577px) and (max-width: 992px){
  .sliderarcade-design-pacman .sliderarcade-container{ max-width: 1200px; }
  .sliderarcade-design-pacman .sliderarcade-slide{ padding: 0 10px; }
  .sliderarcade-design-pacman.size-sliderarcade_thumbnail .sliderarcade-product{ max-width: 396px; }
  .sliderarcade-design-pacman.size-sliderarcade_medium .sliderarcade-product{ max-width: 475px; }
  .sliderarcade-design-pacman.size-sliderarcade_large .sliderarcade-product{ max-width: 554px; }
  .sliderarcade-design-pacman .slick-dots{ bottom: -72px; }
}
@media (min-width: 993px){
  .sliderarcade-design-pacman .sliderarcade-container{ max-width: 1400px; }
  .sliderarcade-design-pacman .sliderarcade-slide{ padding: 0 12px; }
  .sliderarcade-design-pacman .slick-dots{ bottom: -70px; }
}
