/** Shopify CDN: Minification failed

Line 1688:13 Expected identifier but found whitespace
Line 1688:14 Unexpected "linear-gradient("
Line 1711:2 Unexpected "0%"
Line 1714:2 Unexpected "50%"
Line 1717:2 Unexpected "100%"

**/
/* ==========================================================================
   BUNDLE BUILDER - COMPLETE CSS WITH ENHANCED GRADIENT EFFECTS
   ========================================================================== */

.bundle-builder {
  background-color: unset;
  color: rgb(var(--color-foreground));
}

.bundle-builder__header {
  text-align: center;
  margin-bottom: 6rem;
}

.bundle-builder__title ,.rich-text__heading{
  margin: 0 0;
  color: rgb(var(--color-foreground));
  font-weight: 500;
  font-family: PP Right Grotesk;
}

@media screen and (max-width: 749px) {
  .bundle-builder__header {
    margin-bottom: 2rem;
  }
  .bundle-builder__title,.rich-text__heading {
    margin: 0 0;
    font-size: 30px; 
  }
}

/* ==========================================================================
   ENHANCED GRADIENT BUTTON EFFECTS
   ========================================================================== */

/* Base Gradient Hover Button Class */
.gradient-hover-btn {
  position: relative;
  overflow: hidden;
  background: radial-gradient(circle at center, #FFC107 50%, #FFA000 100%);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  z-index: 1;
  color:#000;
}

/* Gradient sweep effect */
.gradient-hover-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(255, 255, 255, 0.3), 
    transparent
  );
  transition: left 0.6s ease;
  z-index: 2;
  pointer-events: none;
}

/* Background gradient effect */
.gradient-hover-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, 
    rgba(255, 255, 255, 0.1) 0%, 
    transparent 50%, 
    rgba(0, 0, 0, 0.1) 100%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 1;
  pointer-events: none;
}

.gradient-hover-btn:hover::before {
  left: 100%;
}

.gradient-hover-btn:hover::after {
  opacity: 1;
}

.gradient-hover-btn:hover {
  
  transform: translateY(-3px) scale(1.02);
}

.gradient-hover-btn:active {
  transform: translateY(-1px) scale(0.98);
  transition: all 0.1s ease;
}

/* Specific button type enhancements */
.product-option__select-btn.gradient-hover-btn:hover {
  background: linear-gradient(135deg, 
    rgb(var(--color-button)) 0%, 
    rgba(var(--color-button), 0.8) 50%,
    rgb(var(--color-button)) 100%
  );
  border-color: rgba(var(--color-button), 0.8);
  color: rgb(var(--color-button-text));
}

/* View Details Button Enhanced Gradients */
.view-details-btn {
  position: relative;
  overflow: hidden;
  background: transparent;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  font-family:inherit;
}

.view-details-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(var(--color-button), 0.2), 
    transparent
  );
  transition: left 0.5s ease;
  z-index: 1;
}

.view-details-btn:hover::before {
  left: 100%;
}




/* Category Tab Gradient Effects */
.category-tab {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  color:#fff;
}

.category-tab::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, 
    transparent, 
    rgba(var(--color-button), 0.1), 
    transparent
  );
  transition: left 0.4s ease;
}

.category-tab:hover:not(.active)::before {
  left: 100%;
}

.category-tab:hover:not(.active) {
  background: linear-gradient(135deg, 
    rgba(var(--color-foreground), 0.03) 0%, 
    rgba(var(--color-foreground), 0.08) 50%, 
    rgba(var(--color-foreground), 0.03) 100%
  );
  transform: translateY(-1px);
}

.category-tab.active {
  background: #45a041;
  color: #fff;
  opacity:1;
  
}

/* Left to right animation */
@keyframes gradientLeftToRight {
  0% {
    background-position: 0% 0%;
  }
  50% {
    background-position: -100% 0%;
  }
  
  100% {
    background-position: 0% 0%;
  }
}

/* Quantity Button Enhancements */
.quantity-btn {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

.quantity-btn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.4s ease;
}

.quantity-btn:hover:not(:disabled)::before {
  width: 40px;
  height: 40px;
}
#mobileAddToCartBtn {
  border: 1px solid #000;
  font-family:inherit;
}
#mobileAddToCartBtn:disabled{
  background:green;
  color:#fff;
}
/* .quantity-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, 
    rgba(255, 255, 255, 0.1) 0%, 
    transparent 50%, 
    rgba(0, 0, 0, 0.1) 100%
  );
  transform: scale(1.1);
} */

/* ==========================================================================
   ORIGINAL STYLES CONTINUE
   ========================================================================== */

/* Step Indicator */
.step-indicator {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  margin-bottom: 3rem;
}

.step-indicator__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 500;
  line-height: 1.2;
  font-size: calc(var(--font-body-scale) * 2rem);
  color: rgba(var(--color-foreground), 0.6);
  transition: all var(--duration-short) ease;
}

.step-indicator__item.active {
  color: rgba(var(--color-foreground));
}

.step-indicator__number {
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: calc(var(--font-body-scale) * 1.7rem);
  border: 0.1rem solid rgb(var(--color-foreground),.3);
  color: rgb(var(--color-foreground),.6);
  flex-shrink: 0;
}

.step-indicator__item.active .step-indicator__number {
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  border-color: transparent;
}

.step-indicator-icon {
  fill: rgba(var(--color-foreground), 0.4);
}

@media screen and (max-width: 749px) {
  .step-indicator__item {
    font-size: 1.4rem;
  }
  .step-indicator__number {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1.4rem;
  }
  .step-indicator__item {
    flex-wrap: wrap;
    justify-content: center;
  }
  .step-indicator-icon {
    display: none;
  }
}

/* Main Content Layout */
.bundle-builder__content {
  display: grid;
  gap: 3rem;
  max-width: 120rem;
  margin: 0 auto;
}

@media screen and (min-width: 990px) {
  .bundle-builder__content {
    grid-template-columns: auto 42%;
  }
}

/* Bundle Steps */
.bundle-step {
  display: none;
}

.bundle-step.active {
  display: block;
}

/* Selection Area */
.selection-area {
  border-radius: 1.2rem;
  padding: 3rem;
  border: 1px solid rgba(var(--color-foreground), 0.1);
}

/* Category Tabs - Single Border Container */
.category-tabs {
  display: flex;
  border-radius: 5rem;
  padding: 0.5rem;
  margin-bottom: 3rem;
  border: 1px solid rgba(var(--color-foreground));
  gap:5px;
}

@media screen and (max-width: 749px) {
  .category-tabs {
    position: sticky;
    top: 10px;
    /* z-index: 900; */
    background: #fff;
    flex-wrap: wrap;
    padding: 0.5rem;
  }
}

.category-tab {
  flex: 1;
  padding: 2rem 2rem;
  border: none;
  background: transparent;
  color: rgba(var(--color-foreground),.7);
  border-radius: 4rem;
  cursor: pointer;
  font-size: calc(var(--font-body-scale) * 1.6rem);
  font-weight: 700;
  transition: all var(--duration-short) ease;
  text-align: center;
  background: #45a04126;
  color: #000;
}

.category-tab:hover:not(.active) {
  background: rgba(var(--color-foreground), 0.05);
}

@media screen and (max-width: 749px) {
  .category-tab {
    padding: 1rem;
    font-size: calc(var(--font-body-scale) * 1rem);
    white-space: nowrap;
  }
}

/* Product Grid */
.product-grid {
  position: relative;
}

.collection-products {
  display: none;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.collection-products.active {
  display: grid;
}

@media screen and (max-width: 1200px) {
  .collection-products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 749px) {
  .collection-products {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

/* Product Options */
.product-option {
  cursor: pointer;
  text-align: center;
  transition: all var(--duration-short) ease;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* .bundle-step .product-option > * {
  display: block;
}

.bundle-step .product-option.selected .product-option__select-btn {
  display: none !important;
} */

.product-option__image {
  width: 100%;
  border-radius: 10px;
  background: rgba(var(--color-foreground), 0.04);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--duration-short) ease;
}

.product-option__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
  aspect-ratio:1 / 1;
}

/* Enhanced hover effects for better user experience
.product-option:hover .product-option__image {
  transform: scale(1.05);
} */

/* Mobile Remove Button */
.product-option__mobile-remove {
  position: absolute;
  top: 8px;
  left: 8px;
  background: rgba(0, 0, 0, 0.8);
  color: white;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all var(--duration-short) ease;
  font-size: 12px;
  font-weight: bold;
}

.product-option__mobile-remove:hover {
  background: rgba(239, 68, 68, 0.9);
  transform: scale(1.1);
}

.product-option__mobile-remove svg {
  width: 14px;
  height: 14px;
}

/* Hide mobile remove button on desktop */
@media screen and (min-width: 750px) {
  .product-option__mobile-remove {
    display: none !important;
  }
}

/* Product Option Tooltip - Only show if second image exists */
.product-option__tooltip {
  position: absolute;
  top: -130px;
  left: 50%;
  transform: translateX(-50%);
  background: rgb(var(--color-background));
  border: 2px solid rgb(var(--color-button));
  border-radius: 1rem;
  padding: 0.5rem;
  opacity: 0;
  visibility: hidden;
  transition: all var(--duration-short) ease;
  z-index: 100;
  pointer-events: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(10px);
}

.product-option__tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: rgb(var(--color-button));
}

.product-option__tooltip::before {
  content: 'Hover View';
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  padding: 0.3rem 0.8rem;
  border-radius: 1rem;
  font-size: calc(var(--font-body-scale) * 0.9rem);
  font-weight: 600;
  white-space: nowrap;
}

.product-option__image:hover .product-option__tooltip {
  opacity: 1;
  visibility: visible;
  top: -130px;
}

.product-option__tooltip img {
  width: 120px;
  height: 120px;
  border-radius: 0.8rem;
  object-fit: cover;
  display: block;
}

.product-option__name {
  font-size: calc(var(--font-body-scale) * 1.7rem);
  font-weight: 500;
  margin-bottom: 0.5rem;
  color: rgb(var(--color-foreground));
  line-height: 1.3;
}

.product-option__price {
  font-size: calc(var(--font-body-scale) * 1.6rem);
  color: rgba(var(--color-foreground));
  margin-bottom: 1rem;
}

/* Updated Product Option Select Button */
.product-option__select-btn {
    padding: 1rem;
    background: #45a041;
    color: #fff;
    width: calc(100% - 20px);
    margin: 0;
    border-radius: 3rem;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1;
    cursor: pointer;
    transition: all var(--duration-short) 
ease;
    border: 0;
    display: block;
    position: relative;
    overflow: hidden;
    font-family: inherit;
}



/* Hide select button when product is selected */
.product-option.selected .product-option__select-btn {
  display: none !important;
}

/* Quantity Selector */
.quantity-selector {
  display: none;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  background: #45a041;
  border-radius: 3rem;
  padding: 0.5rem 1rem;
  width: fit-content;
  line-height: 1;
}
.product-option.selected .quantity-selector {
  display: flex;
}
.product-option.show-free-btn .quantity-selector {
display: none;  
}
.quantity-btn {
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--duration-short) ease;
  background: transparent;
  line-height: 1;
  padding: 0;
}

.quantity-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.quantity-display {
  min-width: 2rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
  line-height: 1;
}

/* Step Navigation */
.step-navigation {
  display: flex;
  gap: 2rem;
  margin-top: 3rem;
  justify-content: space-between;
  align-items: center;
}

/* .step-nav-btn:hover:not(:disabled) {
  background: rgba(var(--color-foreground), 0.05);
} */

.step-nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.step-nav-btn--primary {
  color: #000;
  border-color: rgb(var(--color-button));
  padding: 1.8rem 3rem;
  border: none;
  border-radius: 3rem;
  font-size: calc(var(--font-body-scale) * 1.6rem);
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  border: 1px solid #000;
}

/* .step-nav-btn--primary:hover:not(:disabled) {
  background: rgba(var(--color-button), 0.9);
} */

.step-nav-btn--primary:disabled {
  background: rgba(var(--color-button));
  color: rgba(var(--color-button-text));
}

/* Summary Panel - Light Grey Background */
.summary-panel {
  background: #ebffea;
  border-radius: 1.8rem;
  padding: 4rem 2rem;
  height: fit-content;
  position: sticky;
  top: 2rem;
}

/* Progress Badges - Different Style */
.offer-badges {
  display: flex;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  justify-content: center;
}

.offer-badge {
  padding: 1rem;
  border-radius: .8rem;
  font-size: calc(var(--font-body-scale) * 2rem);
  font-weight: 700;
  color: rgb(var(--color-foreground));
  background: rgba(var(--color-background));
  transition: all var(--duration-short) ease;
  text-transform: uppercase;
  letter-spacing: 0;
  border: 2px solid transparent;
  flex: 1 1;
  text-align: center;
  line-height: 1;
  border: .2rem solid rgb(var(--color-foreground));
  display: flex;
  align-items: center;
  justify-content: center;
}

.offer-badge[data-tier="gift"] {
  background: linear-gradient(90deg, rgb(var(--color-button)) -13.98%, rgb(var(--color-button),.4) 109.68%);
  color: rgb(var(--color-button-text));
}

.offer-badge.achieved {
  background: rgb(var(--color-button));
  border-color: rgb(var(--color-button));
  animation: pulse-badge 2s ease-in-out infinite;
  color: rgb(var(--color-button-text));
}

@keyframes pulse-badge {
  0%, 100% { 
    box-shadow: 0 0 0 0 rgba(var(--color-button), 0.4);
  }
  50% { 
    box-shadow: 0 0 0 1rem rgba(var(--color-button), 0);
  }
}

.summary-panel__title {
  font-size: 1.4rem;
  color: rgba(var(--color-foreground),.8);
  margin-bottom: 2rem;
  text-align: left;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0;
}

/* View Details Button */
.view-details-btn {
  width: 100%;
  padding: 12px 20px;
  background: transparent;
  color: #000;
  border: 1px solid #000;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  /* margin-bottom: 15px; */
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
  border-color: #45a041;
  color: #45a041;
}

/* Selected Items - Horizontal Layout */
.selected-items {
  margin-bottom: 2rem;
}

.selected-items h3 {
  font-size: calc(var(--font-body-scale) * 1.2rem);
  margin-bottom: 1.5rem;
  color: rgb(var(--color-foreground));
  font-weight: 600;
}

/* Selected Items List - Horizontal */
#selectedItemsList,
#selectedUVList,
#selectedSurpriseList {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  min-height: 6rem;
  align-items: flex-start;
}

/* Empty State */
.selected-item-empty {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
  padding: 1.5rem 1rem;
  border-radius: 1rem;
  background: rgba(var(--color-foreground),.02);
  border: 1px dashed rgba(var(--color-foreground),.2);
}

.selected-item__image-empty {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(var(--color-foreground), 0.04);
  border: 1px dashed rgba(var(--color-foreground), 0.2);
  flex-shrink: 0;
}

.selected-item__name-empty {
  color: rgba(var(--color-foreground), 0.6);
  font-size: calc(var(--font-body-scale) * 1.2rem);
}

/* Selected Items - Inline Display */
.selected-item-inline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.selected-item__image-inline {
  position: relative;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--color-foreground), 0.04);
  border: 2px solid rgba(var(--color-button), 0.3);
  flex-shrink: 0;
  transition: all var(--duration-short) ease;
}

.selected-item__image-inline:hover {
  border-color: rgb(var(--color-button));
  transform: scale(1.05);
}

.selected-item__image-inline img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

/* Quantity Badge */
.selected-item__quantity-badge {
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--font-body-scale) * 0.9rem);
  font-weight: 600;
  border: 2px solid rgb(var(--color-background));
  z-index: 3;
}

/* Free Badge */
.selected-item__free-badge {
  position: absolute;
  top: -.8rem;
  right: -.8rem;
  background: rgb(var(--color-button));
  color: rgb(var(--color-button-text));
  border-radius: .8rem;
  padding: .2rem .5rem;
  font-size: calc(var(--font-body-scale) * .7rem);
  font-weight: 600;
  text-transform: uppercase;
  border: 2px solid rgb(var(--color-button));
  z-index: 3;
  letter-spacing: .05rem;
}

/* Remove Button (Cross Icon) */
.selected-item__remove-btn {
  position: absolute;
  top: -0.5rem;
  left: -0.5rem;
  background: rgba(var(--color-foreground), 0.8);
  color: rgb(var(--color-background));
  border-radius: 50%;
  width: 1.8rem;
  height: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: calc(var(--font-body-scale) * 1.2rem);
  font-weight: bold;
  cursor: pointer;
  border: 2px solid rgb(var(--color-background));
  z-index: 4;
  transition: all var(--duration-short) ease;
  opacity: 0;
  transform: scale(0.8);
}

.selected-item__image-inline:hover .selected-item__remove-btn {
  opacity: 1;
  transform: scale(1);
}

.selected-item__remove-btn:hover {
  background: rgba(var(--color-foreground), 1);
  transform: scale(1.1);
}

.selected-item__remove-btn--gift {
  background: rgb(var(--color-foreground));
}

/* Pricing Summary */
.pricing-summary {
  margin-bottom: 1rem;
  padding-top: 1rem;
}

.pricing-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  font-size: calc(var(--font-body-scale) * 1.2rem);
}

.pricing-row--total {
  font-weight: 600;
  font-size: calc(var(--font-body-scale) * 1.8rem);
  color: rgb(var(--color-foreground));
  padding-top: 1rem;
  border-top: 1px solid rgba(var(--color-foreground),.1);
  margin-top: 1rem;
  justify-content: center;
  gap: 1.8rem;
  letter-spacing: 0;
}

.pricing-row__original {
  text-decoration: line-through;
  color: rgba(var(--color-foreground), 0.5);
  font-size: 1.4rem;
  margin-left: 1rem;
}

/* Add to Cart Button */
.add-to-cart-btn {
  width: 100%;
  padding: 1.8rem 2rem;
  background: #45a041;
  color: rgb(var(--color-button-text));
  border: none;
  border-radius: 5rem;
  font-size: calc(var(--font-body-scale) * 1.6rem);
  font-weight: 400;
  cursor: pointer;
  transition: all var(--duration-short) ease;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: .1rem;
}

.add-to-cart-btn:hover:not(:disabled) {
  background: rgba(var(--color-button), 0.9);
  transform: translateY(-2px);
}

.add-to-cart-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none;
}

.loading-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.spinner {
  width: 2rem;
  height: 2rem;
  border: 2px solid rgba(var(--color-button-text), 0.3);
  border-top-color: rgb(var(--color-button-text));
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ==========================================================================
   MOBILE SUMMARY BAR - 3 HIGHLIGHTED BOXES WITH GRADIENTS
   ========================================================================== */

/* Mobile Summary Bar - Clean and Simple */
.mobile-summary-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  border-top: 1px solid rgba(var(--color-foreground), 0.1);
  transform: translateY(100%);
  transition: transform var(--duration-short) ease;
  z-index: 1000;
  display: none;
  padding: 10px 20px;
}

.mobile-summary-bar.active {
  transform: translateY(0);
  display: none !important;
}

/* Mobile Progress Container */
.mobile-progress-container {
  margin-bottom: 20px;
}

/* Progress Boxes Container */
.mobile-progress-boxes {
  display: flex;
  gap: 0px;
  align-items: stretch;
  margin: 10px 0;
  border: 1px solid #000;
  border-radius: 12px;
}

/* Individual Progress Box */
.mobile-progress-box {
  flex: 1;
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Box States with Enhanced Gradients */
.mobile-progress-box{
  position: relative;
  overflow: hidden;
}
.mobile-progress-box::before {
  content: "";
  background: #FFD900;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0%;
  height: 100%;
  z-index: -1;
  transition:all 1s ease;
}
.mobile-progress-box.active::before,.mobile-progress-box.completed::before {
  width: 100%;
}

@keyframes completedPulse {
  0%, 100% {
    box-shadow: 
      0 4px 15px rgba(var(--color-button), 0.3),
      inset 0 1px 0 rgba(255, 255, 255, 0.2);
  }
  50% {
    box-shadow: 
      0 6px 20px rgba(var(--color-button), 0.4),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);
  }
}

/* Box Text */
.mobile-progress-box-text {
  font-size: 12px;
  font-weight: 600;
  transition: all 0.4s ease;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mobile-progress-box.active .mobile-progress-box-text,
.mobile-progress-box.completed .mobile-progress-box-text {
   -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  background: none;
  color: #000;
  font-weight: 700;
}



/* Box Icons/Numbers */
.mobile-progress-box-icon {
  font-size: 16px;
  margin-bottom: 4px;
  transition: all 0.4s ease;
  font-weight: 700;
  color: rgba(var(--color-foreground), 0.4);
}

.mobile-progress-box.completed .mobile-progress-box-icon,
.mobile-progress-box.active .mobile-progress-box-icon {
  color: rgb(var(--color-button-text));
}

.mobile-progress-box.completed .mobile-progress-box-icon {
  color: white;
}

.mobile-progress-box.completed .mobile-progress-box-icon::before {
  content: '✓';
  font-size: 18px;
}

/* Specific Box Styling */
.mobile-progress-box[data-step="1"] {
  border-radius: 12px 0 0 12px;
}

.mobile-progress-box[data-step="1"] .mobile-progress-box-icon::before {
  content: '1';
}

.mobile-progress-box[data-step="2"] {
  border-left: 1px solid #000; 
  border-right: 1px solid #000; 
}

.mobile-progress-box[data-step="2"] .mobile-progress-box-icon::before {
  content: '2';
}

.mobile-progress-box[data-step="3"] {
  border-radius: 0 12px 12px 0px;
}

.mobile-progress-box[data-step="3"] .mobile-progress-box-icon::before {
  content: '3';
}

/* Mobile CTA Button - Updated with Price Display and Gradients */
.mobile-cta-btn {
  width: 100%;
  padding: 16px 24px;
  border: none;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--duration-short) ease;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.5px;
  min-height: 52px;
  background: #45a041;
  border-color: #45a041 !important;
  color: #fff;
}

.mobile-cta-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Mobile CTA Content */
.mobile-cta-btn-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.mobile-cta-price {
  font-size: 14px;
  font-weight: 600;
  opacity: 0.9;
}
  .product-option__fullscreen-btn {
    display: none;
  }
/* Fullscreen Icon for Mobile */
@media screen and (max-width: 749px) {
  .product-option__fullscreen-btn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    cursor: pointer;
    /* z-index: 10; */
    transition: all .3s ease;
    background: none;
    border-radius: 0;
    padding: 0;
  }

  

  .product-option__fullscreen-btn svg {
    width: 25px;
    height: 25px;
    stroke: #fff;
    fill: #fff;
  }
}

/* @media screen and (min-width: 750px) {
  .product-option__fullscreen-btn {
    display: none;
  }
} */

/* Image Popup Modal */
.image-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 2000;
  align-items: center;
  justify-content: center;
}

.image-popup__content {
  position: relative;
  max-width: 90%;
  max-height: 90%;
}

.image-popup__image {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  display: none;
}

.image-popup__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80vh;
  max-width: 90%;
}

.image-popup__placeholder svg {
  width: 50px;
  height: 50px;
  stroke: #fff;
}

.image-popup__close {
  position: absolute;
  top: -30px;
  right: -10px;
  background: none;
  border: none;
  font-size: 24px;
  color: #fff;
  cursor: pointer;
  z-index: 10;
  transition: all 0.3s ease;
}

.image-popup__close:hover {
  color: #ccc;
  transform: rotate(90deg);
}

/* ==========================================================================
   DETAILS POPUP MODAL WITH GRADIENTS
   ========================================================================== */

.details-popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 2001;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(5px);
}

.details-popup__content {
  background: linear-gradient(135deg, 
    white 0%, 
    rgba(255, 255, 255, 0.98) 100%
  );
  border-radius: 20px;
  padding: 30px;
  max-width: 90%;
  max-height: 80%;
  overflow-y: auto;
  position: relative;
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.3),
    0 10px 20px rgba(0, 0, 0, 0.15);
  animation: popupSlideIn 0.3s ease;
}

@keyframes popupSlideIn {
  from {
    opacity: 0;
    transform: scale(0.9) translateY(20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.details-popup__close {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  font-size: 28px;
  color: rgba(var(--color-foreground), 0.6);
  cursor: pointer;
  z-index: 10;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.3s ease;
}

.details-popup__close:hover {
  background: linear-gradient(135deg, 
    rgba(var(--color-foreground), 0.08) 0%, 
    rgba(var(--color-foreground), 0.12) 100%
  );
  color: rgb(var(--color-foreground));
  transform: rotate(90deg) scale(1.1);
}

.details-popup__title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 25px;
  color: rgb(var(--color-foreground));
  text-align: center;
}

.details-popup__section {
  margin-bottom: 25px;
}

.details-popup__section-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
  color: rgb(var(--color-foreground));
  display: flex;
  align-items: center;
  gap: 8px;
}

.details-popup__items {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.details-popup__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: linear-gradient(135deg, 
    rgba(var(--color-foreground), 0.02) 0%, 
    rgba(var(--color-foreground), 0.05) 100%
  );
  border-radius: 12px;
  border: 1px solid rgba(var(--color-foreground), 0.1);
  flex: 1;
  min-width: 200px;
  transition: all 0.3s ease;
}

.details-popup__item:hover {
  background: linear-gradient(135deg, 
    rgba(var(--color-foreground), 0.05) 0%, 
    rgba(var(--color-foreground), 0.08) 100%
  );
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.details-popup__item-image {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
}

.details-popup__item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.details-popup__item-info {
  flex: 1;
}

.details-popup__item-name {
  font-size: 14px;
  font-weight: 600;
  color: rgb(var(--color-foreground));
  margin-bottom: 4px;
}

.details-popup__item-price {
  font-size: 13px;
  color: rgba(var(--color-foreground), 0.7);
}

.details-popup__item-quantity {
  background: linear-gradient(135deg, 
    rgb(var(--color-button)) 0%, 
    rgba(var(--color-button), 0.9) 100%
  );
  color: rgb(var(--color-button-text));
  border-radius: 12px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 600;
  margin-left: auto;
}

.details-popup__item-free {
  background: linear-gradient(135deg, 
    rgb(var(--color-button)) 0%, 
    rgba(var(--color-button), 0.8) 100%
  );
  color: rgb(var(--color-button-text));
  border-radius: 15px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-left: auto;
}

.details-popup__total {
  border-top: 2px solid rgba(var(--color-foreground), 0.1);
  padding-top: 20px;
  text-align: center;
}

.details-popup__total-text {
  font-size: 20px;
  font-weight: 700;
  color: rgb(var(--color-foreground));
}

/* Mobile responsiveness */
@media screen and (max-width: 749px) {
  .mobile-progress-boxes {
    gap: 0;
  }
  
  .mobile-progress-box {
    padding: 5px;
  }
  
  .mobile-progress-box-text {
    font-size: 11px;
  }
  
  .mobile-progress-box-icon {
    font-size: 14px;
    margin-bottom: 2px;
  }
  
  .mobile-cta-btn {
    font-size: 15px;
    padding: 12px 20px;
    min-height: 30px;
    line-height: normal;
    height: 45px;
  }
  .mobile-cta-section {
    display: flex;
    gap: 10px;
  }
  .details-popup__content {
    max-width: 95%;
    padding: 20px;
  }
  
  .details-popup__item {
    min-width: 100%;
  }
  
  .details-popup__title {
    font-size: 20px;
  }
}

@media screen and (max-width: 400px) {
  .mobile-progress-boxes {
    gap: 0;
  }
  
  .mobile-progress-box {
    padding: 5px;
  }
  
  .mobile-progress-box-text {
    font-size: 10px;
  }
  
  .mobile-progress-box-icon {
    font-size: 12px;
  }
}
.offer-badges{
  display: none;
}
/* Show mobile elements only on mobile */
@media screen and (min-width: 750px) {
  .mobile-summary-bar,
  .mobile-cta-section {
    display: none !important;
  }
}

/* Mobile Responsive */
@media screen and (max-width: 989px) {
  .bundle-builder__content {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  .selection-area {
    padding: 0;
    border: 0;
  }
  
  .summary-panel {
    position: static;
    order: 2;
    padding: 1rem;
  }
}

@media screen and (max-width: 749px) {
  .step-indicator {
    gap: 1rem;
  }
  
  .summary-panel {
    /* display: none !important; */
  }
  
  .step-navigation {
    flex-direction: column;
    gap: 1rem;
  }
  
  .step-nav-btn {
    width: 100%;
  }
  
  .bundle-builder__content {
    padding-bottom: 50px; /* Space for mobile summary */
  }
  
  .product-option__tooltip {
    display: none !important; /* Hide tooltips on mobile */
  }
  
  .product-option__select-btn {
    padding: 0.5rem 1rem;
    font-size: 1.2rem;
    margin-top:0;
  }
  
  .product-option__name {
    font-size: 1.4rem;
    line-height: 1.2;
    margin-bottom: 0.3rem;
  }
  
  .product-option__price {
    margin-bottom: 0.5rem;
    font-size: 1.4rem;
  }
 
}
 
.product-option__fullscreen-btn img {
  border-radius: 5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  width: 40px;
}

/* Hide desktop offer badges on mobile - they're replaced by progress bar */
@media screen and (max-width: 749px) {
  .bundle-builder__header .offer-badges {
    display: none;
  }
}
.step-navigation{
  display:none;
}

/* .step-navigation.active{
  display:flex;
} */
.mobile_summary-title {
  margin: 0;
  font-size: 12px;
  text-align:center;
}
.video-section .title.inline-richtext.h1 {
  text-align: center;
}
p.mobile_summary-title b {
  color: #45a041;
  font-size:13px;
  text-decoration: underline;
}

/* .mobile-progress-box-text,.mobile_summary-title b,#HeaderDrawer-right-menu {
  /* Expanded gradient for smooth looping */
  background: linear-gradient(270deg,
  #FF69B4,
  #FFB6C1 50%,
  #FFA07A 100%);
  
  /* Make gradient larger for smooth animation */
  background-size: 200% 200%;
  
  /* Initial position */
  background-position: 0% 50%;
  
  /* Text gradient properties */
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  
  /* Animation */
  animation: gradientMove 8s ease infinite;
  -webkit-animation: gradientMove 8s ease infinite;
} */

/* Keyframes for gradient animation */
@keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Webkit prefix for Safari */
@-webkit-keyframes gradientMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

  /* Locked products state */
  .product-grid.bundle-complete .product-option.locked {
   
    pointer-events: none;
    position: relative;
  }

  .product-grid.bundle-complete .product-option.locked::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 10px;
    z-index: 1;
  }

  /* Keep selected items interactive */
  .product-grid.bundle-complete .product-option.selected,
  .product-grid.bundle-complete .product-option.free-selected {
    opacity: 1;
    pointer-events: auto;
  }

  .product-grid.bundle-complete .product-option.selected::after,
  .product-grid.bundle-complete .product-option.free-selected::after {
    display: none;
  }

  /* Bundle complete toast message */
  .bundle-complete-toast {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-100px);
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    color: white;
    padding: 15px 25px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    opacity: 0;
    transition: all 0.3s ease;
    text-align: center;
    max-width: 90%;
  }

  .bundle-complete-toast.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }

  @media screen and (max-width: 749px) {
    .bundle-complete-toast {
      font-size: 13px;
      padding: 12px 20px;
    }
  }

  /* Visual indicator for locked state */
  .product-option.locked .product-option__select-btn {
    cursor: not-allowed !important;
    background: #ccc !important;
    display:none;
  }

  .product-option.locked .product-option__image {
    cursor: not-allowed !important;
  }

  /* Ensure free button stays visible when locked */
  .product-grid.bundle-complete .product-option.free-selected .product-option__free-btn {
    display: block !important;
    cursor: not-allowed;
    background: #45a041;
    background-position-x: 0%;
    background-position-y: 0%;
    background-size: auto;
    background-size: 200% 100%;
    background-position: 0% 0%;
    color: #fff;
  }
.product-option__badge {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  border:1px solid #FFA07A;
  color: #FFA07A;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 9px;
  text-transform: uppercase;
  z-index: 2;
}



.star--empty {
  color: #ddd;
}

.rating-value {
  margin-left: 5px;
  font-size: 12px;
  color: #666;
  font-weight: normal;
}

/* Subtle blink for the bold text inside .mobile_summary-title */
p.mobile_summary-title b {
  animation: mobileBlink 1.2s ease-in-out infinite;
}

/* Keyframes */
@keyframes mobileBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; } /* make it dim briefly */
}
.product-option.disbaled{
  opacity:0.7;
  pointer-events:none;
}

/* Add to your existing styles */

/* Mobile Collapsible Summary */
@media screen and (max-width: 749px) {
  .summary-panel {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: unset;
    /* background: white; */
    /* box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1); */
    z-index: 99;
    /* max-height: 80vh; */
    /* overflow-y: auto; */
    /* transition: transform 0.3s ease; */
    /* padding-bottom: 160px; */ /* Space for mobile summary bar */
    /* transform: translateY(30%); */
    display: none;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
  }

  .summary-panel.collapsed {
    /* transform: translateY(calc(100% + 118px)); */
  }
  .summary-panel.active {
    display: unset;
  }

  /* Summary toggle button */
  .summary-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: none;
    color: #45a041;
    cursor: pointer;
    font-weight: 600;
    border: 1px solid #45a041;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 1;
    font-family: 'Montserrat';
    padding: 0.5rem 1rem;
    margin-bottom: 5px;
    border-radius: 20px;
  }

  .summary-toggle-icon {
    transition: transform 0.3s ease;
  }

  .summary-panel:not(.collapsed) .summary-toggle-icon {
    transform: rotate(180deg);
  }

  /* Always show discount progress */
  .discount-progress-section {
    display: block !important;
    margin: 15px;
    margin-top: 0;
  }

  /* Hide title on mobile when collapsed */
  .summary-panel.collapsed .summary-panel__title {
    display: none;
  }

  /* Hide selected items and pricing when collapsed */
  .summary-panel.collapsed .selected-items,
  .summary-panel.collapsed .pricing-summary,
  .summary-panel.collapsed .add-to-cart-btn {
    display: none;
  }

  /* Adjust mobile summary bar z-index */
  .mobile-summary-bar {
    z-index: 100;
  }
  .summary-panel.collapsed .discount-progress-milestones {
    display: none;
  }
  .summary-panel.collapsed .discount-progress-section {
    padding: 10px 20px;
  }
  .selected-items,.discount-progress-section{
    margin-bottom:0.5rem;
  }
  .pricing-row{
    font-size:1.2rem;
  }
  .pricing-row--total{
    font-size:1.8rem;
  }
  .add-to-cart-btn {
    width: 100%;
    padding: 0.5rem 1rem;
    font-size: 1.6rem;
  }
}

/* Desktop - hide toggle button */
@media screen and (min-width: 750px) {
  .summary-toggle {
    display: none;
  }
}
.variant-option.unavailable {
    opacity: 0.5;
    cursor: not-allowed;
    text-decoration: line-through;
  }

  /* Nutrition Banner Styles */
  .nutrition-banner {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: linear-gradient(360deg, #63B95F 2.11%, #45A041 40.56%, #3D8C39 91.62%, rgba(25, 58, 24, 0) 347.54%);
    padding: 8px 10px;
    border-radius: 0 0 12px 12px;
    gap: 5px;
    width:100%;
  }

  .nutrition-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
  }

  .nutrition-value {
    font-size: 16px;
    font-weight: 700;
    color: white;
    line-height: 1.2;
  }

  .nutrition-label {
    font-size: 10px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
  }

  @media screen and (max-width: 749px) {
    .nutrition-banner {
      padding: 6px 8px;
    }
    
    .nutrition-value {
      font-size: 14px;
    }
    
    .nutrition-label {
      font-size: 9px;
    }
  }