/** Shopify CDN: Minification failed

Line 335:16 Unexpected "{"
Line 335:25 Expected ":"
Line 342:16 Unexpected "{"
Line 342:25 Expected ":"

**/
/* ========================================
   Universal Collection Grid Advanced - CSS
   Theme-independent styling with advanced features
   ======================================== */

/* Reset and base container */
.ucg-section {
  width: 100%;
  position: relative;
  box-sizing: border-box;
}

.ucg-section *,
.ucg-section *::before,
.ucg-section *::after {
  box-sizing: border-box;
}

/* Wrapper for max-width constraint */
.ucg-wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

@media (max-width: 768px) {
  .ucg-wrapper {
    user-select:none;
    padding: 0 15px;
  }
}

/* Slider wrapper */
.ucg-slider-wrapper {
  position: relative;
  width: 100%;
}

/* Slider container */
.ucg-slider-container {
  position: relative;
  overflow: hidden;
  width: 100%;
}

/* Grid-only mode container (no overflow hidden for static grids) */
.ucg-grid-only-desktop,
.ucg-grid-only-mobile {
  overflow: visible;
}

/* Slider track - the moving container */
.ucg-slider-track {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
  will-change: transform;
}

/* Grid mode - Desktop */
@media (min-width: 750px) {
  .ucg-grid-only-desktop .ucg-slider-track {
    display: grid;
    transform: none !important;
  }
}

/* Grid mode - Mobile */
@media (max-width: 749px) {
  .ucg-grid-only-mobile .ucg-slider-track {
    display: grid;
    transform: none !important;
  }
}

/* Slider mode - default flex behavior */
.ucg-slider-enabled-desktop .ucg-slider-track,
.ucg-slider-enabled-mobile .ucg-slider-track {
  display: flex;
}

/* Individual slider items - Base */
.ucg-slider-item {
  min-width: 0;
  position: relative;
  background: #fff;
  overflow: hidden;
  transition: transform 0.3s ease;
}

/* Item link */
.ucg-item-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}

.ucg-item-link:not(.ucg-no-link):hover {
  transform: translateY(-5px);
}

.ucg-no-link {
  cursor: default;
}

.ucg-no-link:hover .ucg-image {
  transform: none;
}

/* Image wrapper - Default (caption below) */
.ucg-image-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 100%; /* 1:1 aspect ratio */
  overflow: hidden;
  background: #f5f5f5;
}

/* Image wrapper - Caption overlay mode */
.ucg-image-wrapper.ucg-caption-overlay {
  position: relative;
}

.ucg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.3s ease;
}

.ucg-item-link:hover .ucg-image {
  transform: scale(1.05);
}

/* Placeholder styling */
.ucg-placeholder-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
}

.ucg-placeholder-svg {
  width: 40%;
  height: 40%;
  fill: #ccc;
}

/* Caption - Below image (default) */
.ucg-caption-below {
  display: block;
  width: 100%;
  margin: 0;
  line-height: 1.4;
  word-wrap: break-word;
  transition: all 0.2s ease;
}

/* Caption - Over image (overlay) */
.ucg-caption-over {
  margin: 0;
  line-height: 1.4;
  word-wrap: break-word;
  transition: all 0.2s ease;
}

/* Navigation wrapper */
.ucg-nav-wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
  padding: 0 10px;
  z-index: 10;
}

/* Navigation buttons */
.ucg-nav-btn {
  pointer-events: auto;
  background: #ffffff;
  border: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
  opacity: 0;
  visibility: hidden;
  color: #000;
  font-size: 20px;
}

.ucg-nav-btn.ucg-visible {
  opacity: 1;
  visibility: visible;
}

.ucg-nav-btn:hover {
  background: #f5f5f5;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transform: scale(1.05);
}

.ucg-nav-btn:active {
  transform: scale(0.95);
}

.ucg-nav-btn i {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hide navigation on mobile when in grid mode */
@media (max-width: 749px) {
  .ucg-grid-only-mobile .ucg-nav-wrapper {
    display: none;
  }
}

/* Hide navigation on desktop when in grid mode */
@media (min-width: 750px) {
  .ucg-grid-only-desktop .ucg-nav-wrapper {
    display: none;
  }
}

/* Animation for scroll trigger */
.ucg-scroll-trigger {
  opacity: 0;
  transform: translateY(20px);
}

.ucg-scroll-trigger.ucg-animate-slide {
  animation: ucg-slideIn 0.6s ease forwards;
}

@keyframes ucg-slideIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Loading state */
.ucg-slider-container.ucg-loading .ucg-slider-track {
  opacity: 0.5;
}

/* Accessibility improvements */
.ucg-nav-btn:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}

/* Smooth dragging cursor */
.ucg-slider-track.ucg-dragging {
  cursor: grabbing;
  user-select: none;
}

.ucg-slider-track:not(.ucg-dragging) {
  cursor: grab;
}

/* Grid mode - disable grab cursor */
.ucg-grid-only-desktop .ucg-slider-track,
.ucg-grid-only-mobile .ucg-slider-track {
  cursor: default;
}

/* Prevent text selection during drag */
.ucg-slider-track.ucg-dragging * {
  user-select: none;
  pointer-events: none;
}

/* Ensure images don't drag */
.ucg-image {
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

/* Print styles */
@media print {
  .ucg-nav-wrapper {
    display: none;
  }
  
  .ucg-slider-track {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
  }
  
  .ucg-slider-item {
    flex: none;
  }
}

/* Hide nav buttons on Desktop */
@media (min-width: 750px) {
  #ucg-section-{{ section.id }} .ucg-hide-desktop {
    display: none;
  }
}

/* Hide nav buttons on Mobile */
@media (max-width: 749px) {
  #ucg-section-{{ section.id }} .ucg-hide-mobile {
    display: none;
  }
}