*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
.jl-pointer-events-auto {
  pointer-events: auto;
}
.jl-fixed {
  position: fixed;
}
.jl-absolute {
  position: absolute;
}
.jl-relative {
  position: relative;
}
.jl-inset-0 {
  inset: 0px;
}
.jl-bottom-0 {
  bottom: 0px;
}
.jl-bottom-3 {
  bottom: 0.75rem;
}
.jl-bottom-32 {
  bottom: 8rem;
}
.jl-bottom-4 {
  bottom: 1rem;
}
.jl-bottom-6 {
  bottom: 1.5rem;
}
.jl-left-0 {
  left: 0px;
}
.jl-left-1\/2 {
  left: 50%;
}
.jl-left-3 {
  left: 0.75rem;
}
.jl-left-8 {
  left: 2rem;
}
.jl-right-0 {
  right: 0px;
}
.jl-right-3 {
  right: 0.75rem;
}
.jl-right-6 {
  right: 1.5rem;
}
.jl-right-8 {
  right: 2rem;
}
.jl-top-0 {
  top: 0px;
}
.jl-top-1\/2 {
  top: 50%;
}
.jl-top-3 {
  top: 0.75rem;
}
.jl-top-6 {
  top: 1.5rem;
}
.jl-mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.jl-mb-8 {
  margin-bottom: 2rem;
}
.jl-mt-2 {
  margin-top: 0.5rem;
}
.jl-mt-8 {
  margin-top: 2rem;
}
.jl-flex {
  display: flex;
}
.jl-grid {
  display: grid;
}
.jl-hidden {
  display: none;
}
.jl-aspect-square {
  aspect-ratio: 1 / 1;
}
.jl-h-10 {
  height: 2.5rem;
}
.jl-h-4 {
  height: 1rem;
}
.jl-h-5 {
  height: 1.25rem;
}
.jl-h-6 {
  height: 1.5rem;
}
.jl-h-7 {
  height: 1.75rem;
}
.jl-h-8 {
  height: 2rem;
}
.jl-h-full {
  height: 100%;
}
.jl-max-h-\[calc\(100vh-320px\)\] {
  max-height: calc(100vh - 320px);
}
.jl-max-h-screen {
  max-height: 100vh;
}
.jl-w-4 {
  width: 1rem;
}
.jl-w-5 {
  width: 1.25rem;
}
.jl-w-6 {
  width: 1.5rem;
}
.jl-w-7 {
  width: 1.75rem;
}
.jl-w-8 {
  width: 2rem;
}
.jl-w-full {
  width: 100%;
}
.jl-max-w-0 {
  max-width: 0px;
}
.jl-max-w-5xl {
  max-width: 64rem;
}
.jl-max-w-6xl {
  max-width: 72rem;
}
.jl-max-w-7xl {
  max-width: 80rem;
}
.jl-max-w-full {
  max-width: 100%;
}
.jl-flex-1 {
  flex: 1 1 0%;
}
.jl-flex-shrink-0 {
  flex-shrink: 0;
}
.jl--translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.jl--translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.jl-scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes jl-pulse {
  50% {
    opacity: .5;
  }
}
.jl-animate-pulse {
  animation: jl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.jl-cursor-pointer {
  cursor: pointer;
}
.jl-list-inside {
  list-style-position: inside;
}
.jl-list-disc {
  list-style-type: disc;
}
.jl-grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.jl-flex-col {
  flex-direction: column;
}
.jl-items-center {
  align-items: center;
}
.jl-justify-center {
  justify-content: center;
}
.jl-gap-0 {
  gap: 0px;
}
.jl-gap-2 {
  gap: 0.5rem;
}
.jl-gap-3 {
  gap: 0.75rem;
}
.jl-gap-4 {
  gap: 1rem;
}
.jl-overflow-hidden {
  overflow: hidden;
}
.jl-overflow-x-auto {
  overflow-x: auto;
}
.jl-overflow-y-hidden {
  overflow-y: hidden;
}
.jl-whitespace-nowrap {
  white-space: nowrap;
}
.jl-rounded {
  border-radius: 0.25rem;
}
.jl-rounded-full {
  border-radius: 9999px;
}
.jl-rounded-lg {
  border-radius: 0.5rem;
}
.jl-bg-black\/95 {
  background-color: rgb(0 0 0 / 0.95);
}
.jl-bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.jl-bg-gray-300 {
  --tw-bg-opacity: 1;
  background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
}
.jl-bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.jl-object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.jl-p-4 {
  padding: 1rem;
}
.jl-p-8 {
  padding: 2rem;
}
.jl-px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.jl-px-5 {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.jl-px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.jl-py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.jl-py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.jl-py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.jl-text-center {
  text-align: center;
}
.jl-text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
.jl-text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.jl-text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.jl-font-bold {
  font-weight: 700;
}
.jl-font-medium {
  font-weight: 500;
}
.jl-text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
.jl-text-gray-600 {
  --tw-text-opacity: 1;
  color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.jl-text-gray-800 {
  --tw-text-opacity: 1;
  color: rgb(31 41 55 / var(--tw-text-opacity, 1));
}
.jl-text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.jl-shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.jl-shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.jl-transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.jl-transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.jl-duration-200 {
  transition-duration: 200ms;
}
.jl-duration-300 {
  transition-duration: 300ms;
}
.jl-ease-in-out {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom animations */
@keyframes jl-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

.jl-animate-pulse {
  animation: jl-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Reset theme styles - force our styles with !important */
/* Note: We can't use "all: unset" because it's too aggressive and breaks opacity animations */
/* Strategy: Reset theme defaults, but let our Tailwind utility classes override with even higher specificity */
.jelie-gallery-container button {
  /* Reset visual theme styles (but Tailwind classes like .jl-bg-white will still win) */
  background: none;
  background-color: transparent;
  background-image: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  
  /* Reset typography */
  font-family: inherit !important;
  font-size: inherit;
  font-weight: normal;
  color: inherit;
  text-align: left;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  text-shadow: none !important;
  line-height: normal;
  
  /* Reset box model */
  box-sizing: border-box !important;
  vertical-align: baseline !important;
  
  /* Reset effects */
  box-shadow: none;
  filter: none !important;
  
  /* Ensure interactivity */
  cursor: pointer !important;
}

.jelie-gallery-container button:focus,
.jelie-gallery-container button:focus-visible {
  outline: none !important;
}

/* Remove focus borders only for arrow/control buttons, NOT thumbnails */
.jelie-gallery-container button:focus:not([aria-label^="View image"]),
.jelie-gallery-container button:focus-visible:not([aria-label^="View image"]) {
  box-shadow: none !important;
  border: none !important;
}

.jelie-gallery-container img {
  display: block !important;
  max-width: 100% !important;
}

@media (min-width: 1024px) {
  .jl-hidden.lg\:jl-flex {
    display: flex !important;
  }
}

/* Hide scrollbar for thumbnail container */
.jl-thumbnail-scroll::-webkit-scrollbar {
  display: none;
}

.jl-thumbnail-scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Force button styles with ultra-high specificity */
/* Desktop Navigation Arrows */
.jelie-gallery-container .jl-group .jl-desktop-arrow {
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 0.5rem !important;
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
}

.jelie-gallery-container .jl-group:hover .jl-desktop-arrow {
  opacity: 1 !important;
}

/* Vertical Scroll Arrows - Minimal style, just arrows */
.jelie-gallery-container button[aria-label="Scroll thumbnails up"],
.jelie-gallery-container button[aria-label="Scroll thumbnails down"] {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease !important;
}

.jelie-gallery-container button[aria-label="Scroll thumbnails up"]:hover,
.jelie-gallery-container button[aria-label="Scroll thumbnails down"]:hover {
  opacity: 1 !important;
}

/* Fullscreen Close Button */
.jelie-gallery-container button[aria-label="Close fullscreen"] {
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 0.75rem !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.4) !important;
}

/* Fullscreen Navigation Arrows */
.jelie-gallery-container button[aria-label="Previous image"],
.jelie-gallery-container button[aria-label="Next image"] {
  background-color: #ffffff !important;
  border: none !important;
  border-radius: 9999px !important;
  padding: 1rem !important;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.4) !important;
}

/* Thumbnails */
.jelie-gallery-container button[aria-label^="View image"] {
  background-color: #ffffff !important;
  box-sizing: border-box !important;
}

/* Override any theme border colors - ensure inline styles work */
.jelie-gallery-container button[aria-label^="View image"],
.jelie-gallery-container button[aria-label^="View image"]:hover,
.jelie-gallery-container button[aria-label^="View image"]:focus,
.jelie-gallery-container button[aria-label^="View image"]:active {
  border-color: inherit !important;
}

/* Hide scrollbar for fullscreen thumbnails */
.jl-thumbnails-scroll::-webkit-scrollbar {
  display: none;
}

.jl-thumbnails-scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.hover\:jl-scale-105:hover {
  --tw-scale-x: 1.05;
  --tw-scale-y: 1.05;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:jl-scale-110:hover {
  --tw-scale-x: 1.1;
  --tw-scale-y: 1.1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.jl-group:hover .group-hover\:jl-max-w-xs {
  max-width: 20rem;
}

.jl-group:hover .group-hover\:jl-gap-2 {
  gap: 0.5rem;
}

.jl-group:hover .group-hover\:jl-px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .sm\:jl-grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .lg\:jl-flex {
    display: flex;
  }
  .lg\:jl-hidden {
    display: none;
  }
}


