/* ============================================================
   CAROUSEL SECTION
   ============================================================ */
#slidemenucustom .carousel-section {
  width: 100% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  display: block !important;
}

/* ============================================================
   CAROUSEL WRAPPER & GRADIENT BORDER
   ============================================================ */
#slidemenucustom .carousel-wrapper {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  z-index: 1 !important; 
}

#slidemenucustom .carousel-wrapper::before {
  content: '' !important;
  position: absolute !important;
  inset: -5px !important; 
  border-radius: 17px !important; 
  background: linear-gradient(45deg, #4A981C, #1C8A4A, #1C4A98, #4A1C98, #981C4A, #984A1C, #8A981C) !important;
  opacity: 0 !important;
  z-index: -1 !important; 
  transition: opacity 0.45s ease, box-shadow 0.45s ease !important;
}

#slidemenucustom .carousel-wrapper:hover::before {
  opacity: 1 !important;
  box-shadow:
    0 0 15px rgba(74,  152,  28, 0.35),
    0 0 18px rgba(28,  138,  74, 0.25),
    0 0 18px rgba(28,   74, 152, 0.25),
    0 0 18px rgba(74,   28, 152, 0.25),
    0 0 18px rgba(152,  28,  74, 0.25),
    0 0 18px rgba(152,  74,  28, 0.25),
    0 0 18px rgba(138, 152,  28, 0.25) !important;
}

/* ============================================================
   CAROUSEL CONTAINER
   ============================================================ */
#slidemenucustom .carousel-container {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #111111 !important;
  z-index: 1 !important; 
}

/* ============================================================
   CAROUSEL TRACK & SLIDES
   ============================================================ */
#slidemenucustom .carousel-track {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
}

#slidemenucustom .slide {
  position: absolute !important;
  inset: 0 !important;
  opacity: 0 !important;
  transition: opacity 0.8s ease-in-out !important;
  pointer-events: none !important;
}

#slidemenucustom .slide.active {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}

#slidemenucustom .slide-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* ============================================================
   NAVIGATION ARROWS
   ============================================================ */
#slidemenucustom .carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 20 !important; 
  width: 50px !important;
  height: 50px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: rgba(30, 30, 30, 0.55) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.25s ease, transform 0.2s ease !important;
}

#slidemenucustom .carousel-arrow svg {
  width: 32px !important;
  height: 32px !important;
  pointer-events: none !important;
}

#slidemenucustom .arrow-prev {
  left: 16px !important;
}

#slidemenucustom .arrow-next {
  right: 16px !important;
}

#slidemenucustom .carousel-arrow:hover {
  background: rgba(60, 60, 60, 0.75) !important;
  transform: translateY(-50%) scale(1.1) !important;
}

#slidemenucustom .carousel-arrow:active {
  transform: translateY(-50%) scale(0.95) !important;
}

#slidemenucustom .carousel-arrow:disabled {
  opacity: 0.3 !important;
  cursor: not-allowed !important;
}

/* ============================================================
   PAGINATION DOTS
   ============================================================ */
#slidemenucustom .carousel-pagination {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  padding: 8px 0 !important;
  margin-top: 14px !important;
}

#slidemenucustom .pagination-dot {
  width: 25px !important;
  height: 25px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
  flex-shrink: 0 !important;
  background-color: var(--dot-color, #94cb41) !important;
}

#slidemenucustom .pagination-dot:hover {
  transform: scale(1.15) !important;
}

#slidemenucustom .pagination-dot.active {
  transform: scale(1.3) !important;
  border-color: #ffffff !important;
  box-shadow: 0 0 8px var(--dot-color, #94cb41), 0 0 16px rgba(255,255,255,0.1) !important;
}

#slidemenucustom .pagination-dot[data-color="green"] { --dot-color: #94cb41 !important; }
#slidemenucustom .pagination-dot[data-color="magenta"] { --dot-color: #e458cf !important; }
#slidemenucustom .pagination-dot[data-color="cyan"] { --dot-color: #00b1ca !important; }
#slidemenucustom .pagination-dot[data-color="gold"] { --dot-color: #f0c040 !important; }
#slidemenucustom .pagination-dot[data-color="coral"] { --dot-color: #ff6b6b !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  #slidemenucustom .carousel-arrow {
    width: 40px !important;
    height: 40px !important;
  }
  #slidemenucustom .carousel-arrow svg {
    width: 26px !important;
    height: 26px !important;
  }
  #slidemenucustom .pagination-dot {
    width: 20px !important;
    height: 20px !important;
  }
}

@media (max-width: 480px) {
  #slidemenucustom .carousel-arrow {
    width: 30px !important;
    height: 30px !important;
  }
  #slidemenucustom .carousel-arrow svg {
    width: 18px !important;
    height: 18px !important;
  }
  #slidemenucustom .pagination-dot {
    width: 16px !important;
    height: 16px !important;
  }
  #slidemenucustom .carousel-pagination {
    gap: 10px !important;
  }
}

/* ============================================================
   ZOOM BADGE
   ============================================================ */
#slidemenucustom .zoom-hint {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 15 !important; 
  background: rgba(0, 0, 0, 0.52) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 20px !important;
  color: rgba(255, 255, 255, 0.92) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 5px 10px 5px 8px !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  align-items: center !important;
  gap: 5px !important;
  /* display is intentionally missing !important to allow JS toggling */
  display: none; 
}

/* ============================================================
   LIGHTBOX
   ============================================================ */
#slidemenucustom .lightbox-overlay {
  display: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: rgba(0, 0, 0, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  align-items: center !important;
  justify-content: center !important;
  touch-action: pinch-zoom !important;
}

#slidemenucustom .lightbox-overlay.active {
  display: flex !important;
}

#slidemenucustom .lightbox-img-wrap {
  position: relative !important;
  max-width: 95vw !important;
  max-height: 95vh !important;
  overflow: auto !important;          
  -webkit-overflow-scrolling: touch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#slidemenucustom .lightbox-img {
  max-width: 90vw !important;
  max-height: 90vh !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  display: block !important;
  touch-action: pinch-zoom !important;
  cursor: zoom-in !important;
  transition: transform 0.2s ease !important;
  transform-origin: center center !important;
}

#slidemenucustom .lightbox-close {
  position: fixed !important;
  top: 16px !important;
  right: 20px !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  font-size: 1.4rem !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 100000 !important;
  transition: background 0.2s ease !important;
}

#slidemenucustom .lightbox-close:hover {
  background: rgba(255, 255, 255, 0.25) !important;
}

#slidemenucustom .lightbox-tip {
  position: fixed !important;
  bottom: 24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.06em !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}
