/** Shopify CDN: Minification failed

Line 948:10 Expected identifier but found whitespace
Line 948:12 Unexpected "{"
Line 948:21 Expected ":"

**/


/* CSS from section stylesheet tags */
.bundle-builder__product-image-wrapper {
    position: relative;
    padding-top: 100%;
    background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
    overflow: hidden;
  }

  .bundle-builder {
    display: block;
    width: 100%;
  }

  .bundle-builder__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    padding-bottom: 160px; /* Space for sticky footer */
  }

  /* Step Styling */
  .bundle-builder__step {
    margin-bottom: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__step--disabled {
    opacity: 0.4;
    pointer-events: none;
    filter: grayscale(50%);
  }

  .bundle-builder__heading {
    background: linear-gradient(135deg, #A7F3D0 0%, #6EE7B7 100%);
    padding: 25px 20px;
    text-align: center;
    font-size: clamp(24px, 5vw, 36px);
    font-weight: 700;
    margin-bottom: 30px;
    letter-spacing: 3px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(110, 231, 183, 0.3);
    animation: fadeInDown 0.5s ease;
  }

  /* Main Tab Navigation */
  .bundle-builder__main-tabs {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
  }

  .bundle-builder__main-tab {
    background: linear-gradient(135deg,rgb(255, 255, 255) 0%,rgb(255, 255, 255) 100%)!important;
    color: #EC4899!important;
    border: 2px solid #EC4899!important;

    border: none;
    padding: 20px 48px;
    border-radius: 16px;
    font-size: 20px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 200px;
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .bundle-builder__main-tab::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.5s;
  }

  .bundle-builder__main-tab:hover::before {
    left: 100%;
  }

  .bundle-builder__main-tab:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(236, 72, 153, 0.4);
  }

  .bundle-builder__main-tab--active {
    transform: scale(1.08);
    box-shadow: 0 8px 30px rgba(236, 72, 153, 0.5);
    background: #EC4899!important;
    color: #fff!important;
  }

  /* Main Panel Content */
  .bundle-builder__main-content {
    position: relative;
  }

  .bundle-builder__main-panel {
    display: none;
    animation: fadeIn 0.4s ease;
  }

  .bundle-builder__main-panel--active {
    display: block;
  }

  /* Bottle Counter */
  .bundle-builder__bottle-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 20px;
    margin-bottom: 25px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(251, 191, 36, 0.2);
  }

  .bundle-builder__bottle-counter-text {
    font-size: 15px;
    font-weight: 600;
    color: #92400E;
  }

  .bundle-builder__bottle-count {
    font-size: 15px;
    font-weight: 700;
    color: #B45309;
    background: rgba(255, 255, 255, 0.6);
    padding: 4px 12px;
    border-radius: 6px;
  }

  /* Sub-Tab Navigation */
  .bundle-builder__sub-tabs {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 25px;
    flex-wrap: wrap;
    padding: 18px;
    background: linear-gradient(135deg, #F9FAFB 0%, #F3F4F6 100%);
    border-radius: 12px;
  }

  .bundle-builder__sub-tab {
    background: white;
    color: #EC4899;
    border: 2px solid #EC4899;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 140px;
    box-shadow: 0 2px 8px rgba(236, 72, 153, 0.15);
    position: relative;
    overflow: hidden;
  }

  .bundle-builder__sub-tab::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(236, 72, 153, 0.1), transparent);
    transition: left 0.5s;
  }

  .bundle-builder__sub-tab:hover::before {
    left: 100%;
  }

  .bundle-builder__sub-tab:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(236, 72, 153, 0.25);
    background: #FFF1F2;
    color: #fff;
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
  }

  .bundle-builder__sub-tab--active {
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    color: white;
    border-color: #EC4899;
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.35);
  }

  /* Sub-Panel Content */
  .bundle-builder__sub-content {
    position: relative;
  }

  .bundle-builder__sub-panel {
    display: none;
    animation: fadeIn 0.4s ease;
  }

  .bundle-builder__sub-panel--active {
    display: block;
  }

  /* Product Grid */
  .bundle-builder__products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 25px;
    margin-bottom: 20px;
  }

  @media (max-width: 750px) {
    .bundle-builder__product-image {
        position: static;
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }
    .bundle-builder__product-image-wrapper {
      width: 90px;
      min-width: 90px;
      height: 90px;
      padding-top: 0;
      border-radius: 10px;
      flex-shrink: 0;
    }

    .bundle-builder__product-image {
        position: static;
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }
    .bundle-builder__products {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .bundle-builder__product-card {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 12px;
      padding: 16px 12px;
      border-radius: 12px;
      background: white;
      box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    }

    .bundle-builder__product-card:hover {
      transform: translateY(-2px);
    }

    .bundle-builder__product-media {
      display: block; /* Show on mobile */
      position: relative;
      width: 90px;
      min-width: 90px;
      height: 90px;
      padding-top: 0;
      border-radius: 10px;
      flex-shrink: 0;
      background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
      overflow: hidden;
    }

    .bundle-builder__product-media .bundle-builder__product-image,
    .bundle-builder__product-media .bundle-builder__product-image-placeholder {
      position: static;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 10px;
    }

    .bundle-builder__product-info {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      align-items: center;
      padding: 0;
      gap: 8px 12px;
    }

    .bundle-builder__product-title {
      grid-column: 1;
      grid-row: 1 / 3;
      font-size: 16px;
      font-weight: 600;
      margin: 0;
      line-height: 1.3;
      color: #1F2937;
      align-self: center;
    }


    .bundle-builder__add-btn {
      grid-column: 2;
      grid-row: 1;
      width: 130px;
      padding: 10px 16px;
      font-size: 14px;
      font-weight: 600;
      border-radius: 8px;
      text-align: center;
      background: #EC4899;
      color: white;
      border: none;
      cursor: pointer;
      margin: 0;
    }

    .bundle-builder__quantity-wrapper {
      grid-column: 2;
      grid-row: 2;
      display: flex;
      align-items: center;
      margin: 0;
      justify-self: center;
    }

    .bundle-builder__quantity-label {
      display: none;
    }

    .bundle-builder__quantity-selector {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .bundle-builder__qty-btn {
      width: 32px;
      height: 32px;
      font-size: 20px;
      font-weight: 600;
      border-radius: 6px;
      background: white;
      border: 1px solid #E5E7EB;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
    }

    .bundle-builder__qty-input {
      width: 45px;
      height: 32px;
      font-size: 16px;
      font-weight: 600;
      text-align: center;
      border-radius: 6px;
      border: 1px solid #E5E7EB;
    }

    .bundle-builder__add-message {
      display: none;
    }

    .bundle-builder__badge {
      display: none; /* Hide badges on mobile for cleaner look */
    }

    /* Fix button text display */
    .bundle-builder__add-btn-text {
      display: block;
      font-size: 14px;
      color: white;
      visibility: visible;
      opacity: 1;
      position: relative;
      z-index: 1;
    }

    .bundle-builder__add-btn-spinner,
    .bundle-builder__add-btn-icon {
      display: none;
    }

    /* Ensure button shows text properly */
    .bundle-builder__add-btn {
      font-size: 14px;
      color: white;
      overflow: visible;
      text-align: center;
    }
  }

  /* Product Card */
  .bundle-builder__product-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
  }

  .bundle-builder__product-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    transform: translateY(-8px);
  }

  .bundle-builder__product-card:hover .bundle-builder__product-image {
    transform: scale(1.08);
  }

  .bundle-builder__product-media {
    position: relative;
    padding-top: 100%;
    background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
    overflow: hidden;
  }

  .bundle-builder__product-image,
  .bundle-builder__product-image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Discount Badge */
  .bundle-builder__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: white;
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
  }

  @keyframes pulse {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
    }
  }

  .bundle-builder__badge-percentage {
    font-size: 26px;
  }

  .bundle-builder__badge-text {
    font-size: 13px;
    margin-top: 2px;
  }
 
  /* Product Info */
  .bundle-builder__product-info {
    padding: 20px;
  }

  .bundle-builder__product-title {
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 12px 0;
    min-height: 44px;
    line-height: 1.4;
    color: #1F2937;
  }

  .bundle-builder__product-pricev2 {
    display: flex;
    align-items: center;
    gap: 10px;

  }

  .bundle-builder__price {
    font-size: 22px;
    font-weight: 700;
    color: #111;
  }

  .bundle-builder__compare-price {
    display: none; /* Hide compare-at price, show regular price only */
  }

  /* Quantity Selector */
  .bundle-builder__quantity-wrapper {
    margin-bottom: 16px;
  }

  .bundle-builder__quantity-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #374151;
  }

  .bundle-builder__quantity-selector {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
  }

  .bundle-builder__qty-btn {
    width: 36px;
    height: 36px;
    border: 2px solid #E5E7EB;
    background: white;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .bundle-builder__qty-btn:hover {
    border-color: #EC4899;
    color: #EC4899;
    background: #FDF2F8;
  }

  .bundle-builder__qty-btn:active {
    transform: scale(0.95);
  }

  .bundle-builder__qty-input {
    width: 60px;
    height: 36px;
    border: 2px solid #E5E7EB;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #111;
    -moz-appearance: textfield;
  }

  .bundle-builder__qty-input::-webkit-outer-spin-button,
  .bundle-builder__qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  .bundle-builder__qty-input:focus {
    outline: none;
    border-color: #EC4899;
  }

  /* Add to Cart Button */
  .bundle-builder__add-btn {
    width: 100%;
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: white;
    border: none;
    padding: 14px 20px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .bundle-builder__add-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
  }

  .bundle-builder__add-btn:hover::before {
    left: 100%;
  }

  .bundle-builder__add-btn:hover:not(:disabled) {
    transform: scale(1.03);
    box-shadow: 0 6px 25px rgba(236, 72, 153, 0.4);
  }

  .bundle-builder__add-btn:active:not(:disabled) {
    transform: scale(0.98);
  }

  .bundle-builder__add-btn:disabled {
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    cursor: not-allowed;
    box-shadow: none;
  }

  .bundle-builder__add-btn-icon {
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 18px;
    font-weight: bold;
  }

  .bundle-builder__add-btn-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    display: none;
  }

  .bundle-builder__add-btn--loading {
    pointer-events: none;
  }

  .bundle-builder__add-btn--loading .bundle-builder__add-btn-spinner {
    display: block;
  }

  .bundle-builder__add-btn--loading .bundle-builder__add-btn-text {
    opacity: 0.7;
  }

  .bundle-builder__add-btn--added {
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
  }

  .bundle-builder__add-btn--added .bundle-builder__add-btn-icon {
    opacity: 1;
    transform: scale(1);
  }

  .bundle-builder__add-btn--added:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
  }

  /* Add Message */
  .bundle-builder__add-message {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    margin-top: 8px;
    min-height: 20px;
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__add-message--show {
    opacity: 1;
    transform: translateY(0);
  }

  .bundle-builder__add-message--success {
    color: #10B981;
  }

  .bundle-builder__add-message--removed {
    color: #EC4899;
  }

  /* Gift Cards */
  .bundle-builder__gift-message {
    text-align: center;
    font-size: 18px;
    margin-bottom: 30px;
    color: #6B7280;
    font-weight: 500;
  }

  .bundle-builder__gift-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-bottom: 30px;
  }

  @media (max-width: 750px) {
    .bundle-builder__gift-cards {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
  }

  .bundle-builder__gift-card {
    background: none;
    border: 3px solid transparent;
    border-radius: 16px;
    padding: 0;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  }

  .bundle-builder__gift-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(6, 182, 212, 0.2));
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 1;
    pointer-events: none;
  }

  .bundle-builder__gift-card:hover:not(:disabled)::before {
    opacity: 1;
  }

  .bundle-builder__gift-card:hover:not(:disabled) {
    transform: scale(1.08);
    box-shadow: 0 12px 35px rgba(16, 185, 129, 0.3);
    border-color: #10B981;
  }

  .bundle-builder__gift-card:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    filter: grayscale(100%);
  }

  .bundle-builder__gift-card--locked {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(100%);
  }

  .bundle-builder__gift-card-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__gift-card:hover:not(:disabled) .bundle-builder__gift-card-image {
    transform: scale(1.05);
  }

  .bundle-builder__gift-card-placeholder {
    aspect-ratio: 1.6;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Success Message */
  .bundle-builder__success-message {
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
    border: 2px solid #10B981;
    border-radius: 12px;
    padding: 20px 30px;
    text-align: center;
    margin-top: 30px;
    animation: slideInUp 0.5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
  }

  .bundle-builder__success-icon {
    width: 32px;
    height: 32px;
    color: #10B981;
    flex-shrink: 0;
  }

  .bundle-builder__success-message p {
    margin: 0;
    color: #065F46;
    font-weight: 600;
    font-size: 16px;
  }

  /* Selection Summary */
  .bundle-builder__summary {
    max-width: 600px;
    margin: 40px auto;
    padding: 30px;
    background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    animation: fadeIn 0.4s ease;
  }

  .bundle-builder__summary-title {
    font-size: 22px;
    font-weight: 700;
    color: #111;
    margin: 0 0 20px 0;
    text-align: center;
  }

  .bundle-builder__summary-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .bundle-builder__summary-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: white;
    padding: 16px;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: all 0.2s;
  }

  .bundle-builder__summary-item:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateX(-2px);
  }

  .bundle-builder__summary-item--gift {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FCD34D;
  }

  .bundle-builder__summary-item-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
  }

  .bundle-builder__summary-item-title {
    font-size: 16px;
    font-weight: 600;
    color: #111;
  }

  .bundle-builder__summary-item-price {
    font-size: 14px;
    color: #6B7280;
    font-weight: 500;
  }

  .bundle-builder__summary-remove {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: #FEE2E2;
    color: #DC2626;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .bundle-builder__summary-remove:hover {
    background: #DC2626;
    color: white;
    transform: scale(1.1);
  }

  .bundle-builder__summary-remove:active {
    transform: scale(0.95);
  }

  /* Checkout */
  .bundle-builder__checkout {
    text-align: center;
    padding: 40px 20px;
    animation: slideInUp 0.5s ease;
  }

  .bundle-builder__checkout-total {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 600;
  }

  .bundle-builder__checkout-total-label {
    color: #6B7280;
  }

  .bundle-builder__checkout-total-price {
    color: #10B981;
    font-size: 28px;
    font-weight: 700;
  }

  .bundle-builder__checkout-btn {
    background: linear-gradient(135deg, {{ section.settings.checkout_button_color }} 0%, #FBBF24 100%);
    color: {{ section.settings.checkout_button_text_color }};
    border: 3px solid #000;
    border-radius: 50px;
    padding: 20px 70px;
    font-size: 22px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 600px;
    width: 100%;
    letter-spacing: 3px;
    box-shadow: 0 6px 30px rgba(252, 211, 77, 0.4);
    position: relative;
    overflow: hidden;
  }

  .bundle-builder__checkout-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;
  }

  .bundle-builder__checkout-btn:hover::before {
    left: 100%;
  }

  .bundle-builder__checkout-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 40px rgba(252, 211, 77, 0.5);
  }

  .bundle-builder__checkout-btn:active {
    transform: scale(1);
  }

  .bundle-builder__checkout-btn--disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }

  .bundle-builder__checkout-btn--disabled:hover {
    transform: none;
    box-shadow: 0 6px 30px rgba(252, 211, 77, 0.4);
  }

  /* Loading */
  .bundle-builder__loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    color: white;
    animation: fadeIn 0.2s ease;
  }

  .bundle-builder__spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgba(255, 255, 255, 0.2);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
    margin-bottom: 20px;
  }

  .bundle-builder__loading p {
    font-size: 18px;
    font-weight: 600;
  }

  @keyframes spin {
    to {
      transform: rotate(360deg);
    }
  }

  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  @keyframes fadeInDown {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes toastSlideIn {
    from {
      transform: translateX(100%);
      opacity: 0;
    }
    to {
      transform: translateX(0);
      opacity: 1;
    }
  }

  @keyframes toastSlideOut {
    from {
      transform: translateX(0);
      opacity: 1;
    }
    to {
      transform: translateX(100%);
      opacity: 0;
    }
  }

  /* Toast Notification */
  .bundle-builder__toast {
    position: fixed;
    top: 20px;
    right: 20px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: white;
    padding: 16px 24px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 10px 40px rgba(16, 185, 129, 0.3);
    font-size: 15px;
    font-weight: 600;
    z-index: 10000;
    transform: translateX(100%);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__toast--show {
    transform: translateX(0);
    opacity: 1;
    animation: toastSlideIn 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__toast--hide {
    animation: toastSlideOut 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__toast svg {
    flex-shrink: 0;
  }

  @media (max-width: 768px) {
    .bundle-builder__toast {
      right: 10px;
      left: auto;
      max-width: calc(100% - 20px);
    }
  }

  /* Error State */
  .bundle-builder__error {
    background: linear-gradient(135deg, #FEE2E2 0%, #FECACA 100%);
    border: 2px solid #EF4444;
    border-radius: 12px;
    padding: 25px;
    text-align: center;
    color: #991B1B;
    font-weight: 600;
  }

  /* Mobile Optimizations */
  @media (max-width: 750px) {
    .bundle-builder__container {
      padding: 15px;
    }

    .bundle-builder__step {
      margin-bottom: 40px;
    }

    .bundle-builder__heading {
      font-size: 24px;
      padding: 20px 15px;
      letter-spacing: 2px;
    }

    .bundle-builder__main-tabs {
      gap: 15px;
      flex-wrap: wrap;
      justify-content: center !important;
      padding: 0;
      margin: 0 auto 25px auto;
      width: 100%;
    }

    .bundle-builder__main-tab {
      min-width: 140px;
      padding: 14px 28px;
      font-size: 15px;
      font-weight: 800;
      border-radius: 12px;
      white-space: nowrap;
      flex-shrink: 0;
      letter-spacing: 0.5px;
    }

    .bundle-builder__sub-tabs {
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center !important;
      padding: 14px;
      width: 100%;
      margin-bottom: 20px;
    }

    .bundle-builder__sub-tab {
      min-width: 90px;
      padding: 10px 18px;
      font-size: 13px;
      font-weight: 600;
      border-radius: 10px;
      white-space: nowrap;
      flex-shrink: 0;
    }

    .bundle-builder__tab {
      min-width: 130px;
      padding: 14px 24px;
      font-size: 14px;
    }

    .bundle-builder__checkout-btn {
      padding: 18px 50px;
      font-size: 18px;
      letter-spacing: 2px;
    }
  }

  /* Sticky Footer */
  .bundle-builder__sticky-footer {
    position: fixed;
    bottom: 48px; /* Position above the outside checkout button */
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transform: translateY(calc(100% + 52px)); /* Account for new position */
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 3px solid #EC4899;
  }

  .bundle-builder__sticky-footer--visible {
    transform: translateY(0);
  }

  .bundle-builder__footer-content {
    padding: 15px 20px;
    max-width: 1400px;
    margin: 0 auto;
  }

  .bundle-builder__footer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
  }

  .bundle-builder__footer-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: #1F2937;
  }

  .bundle-builder__footer-title svg {
    color: #EC4899;
  }

  .bundle-builder__footer-count {
    color: #EC4899;
    font-size: 14px;
  }

  .bundle-builder__footer-close {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #6B7280;
    transition: color 0.2s;
  }

  .bundle-builder__footer-close:hover {
    color: #EC4899;
  }

  .bundle-builder__footer-items {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: thin;
    scrollbar-color: #EC4899 #F3F4F6;
  }

  .bundle-builder__footer-items::-webkit-scrollbar {
    height: 6px;
  }

  .bundle-builder__footer-items::-webkit-scrollbar-track {
    background: #F3F4F6;
    border-radius: 3px;
  }

  .bundle-builder__footer-items::-webkit-scrollbar-thumb {
    background: #EC4899;
    border-radius: 3px;
  }

  /* Footer Progress Text */
  .bundle-builder__footer-progress {
    text-align: center;
    padding: 12px 16px;
    margin-top: 12px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #92400E;
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.2);
  }

  /* Footer Savings Display */
  .bundle-builder__footer-savings {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 1px solid #FBBF24;
    border-radius: 8px;
    padding: 12px;
    margin: 12px 0;
    text-align: center;
  }

  .bundle-builder__footer-savings-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
  }

  .bundle-builder__footer-savings-label {
    font-size: 14px;
    font-weight: 600;
    color: #92400E;
  }

  .bundle-builder__footer-savings-value {
    font-size: 16px;
    font-weight: 700;
    color: #B45309;
    background: rgba(255, 255, 255, 0.6);
    padding: 2px 8px;
    border-radius: 4px;
  }

  .bundle-builder__footer-shipping {
    font-size: 13px;
    font-weight: 500;
    color: #78350F;
  }

  /* Footer Checkout Button */
  .bundle-builder__footer-checkout {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #E5E7EB;
  }

  .bundle-builder__footer-checkout-btn {
    width: 100%;
    background: linear-gradient(135deg, #FCD34D 0%, #FBBF24 100%);
    color: #000;
    border: 2px solid #000;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 12px rgba(252, 211, 77, 0.3);
  }

  .bundle-builder__footer-checkout-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(252, 211, 77, 0.4);
  }

  .bundle-builder__footer-checkout-btn:active {
    transform: translateY(0);
  }

  /* Hide checkout button inside sticky footer only */
  .bundle-builder__sticky-footer .bundle-builder__footer-checkout {
    display: none !important;
  }

  .bundle-builder__footer-item {
    position: relative;
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid #E5E7EB;
    transition: all 0.2s;
    cursor: pointer;
    background: white;
  }

  .bundle-builder__footer-item:hover {
    border-color: #EC4899;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(236, 72, 153, 0.2);
  }

  .bundle-builder__footer-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .bundle-builder__footer-item-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.8);
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: all 0.2s;
    color: white;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
  }

  .bundle-builder__footer-item:hover .bundle-builder__footer-item-remove {
    opacity: 1;
  }

  .bundle-builder__footer-item-remove:hover {
    background: #EC4899;
    transform: scale(1.1);
  }


  .bundle-builder__footer-item--gift {
  
    display: flex;
    align-items: center;
    justify-content: center;
    border-color: #EC4899;
  }

  .bundle-builder__footer-gift-icon {
    font-size: 36px;
    animation: pulse 2s ease-in-out infinite;
  }

  .bundle-builder__footer-bar {
    display: none;
    padding: 16px 20px;
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    color: white;
    font-weight: 600;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    border: none;
    width: 100%;
    font-size: 15px;
  }

  /* Checkout Button Outside Footer */
  .bundle-builder__footer-checkout--outside {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }

  .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    padding: 16px 24px;
    font-size: 16px;
  }

  @media (max-width: 768px) {
    .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
      padding: 14px 20px;
      font-size: 15px;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
      padding: 13px 18px;
      font-size: 14px;
    }
  }

  /* Mobile Responsive */
  @media (max-width: 768px) {
    .bundle-builder__footer-bar {
      display: flex;
    }

    .bundle-builder__footer-content {
      display: none;
      max-height: 70vh;
      overflow-y: auto;
      padding-bottom: 20px;
    }

    .bundle-builder__sticky-footer--expanded .bundle-builder__footer-content {
      display: block;
      animation: slideUp 0.3s ease;
    }

    .bundle-builder__sticky-footer--expanded .bundle-builder__footer-bar {
      display: none;
    }

    .bundle-builder__footer-close {
      display: flex;
    }

    .bundle-builder__footer-items {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      overflow-x: visible;
    }

    .bundle-builder__footer-item {
      width: 100%;
      height: 85px;
    }

    .bundle-builder__footer-item-remove {
      opacity: 1;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-items {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  @keyframes slideUp {
    from {
      transform: translateY(20px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  /* Quantity Badge */
  .bundle-builder__footer-item-qty {
    position: absolute;
    top: 4px;
    left: 4px;
    background: #EC4899;
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    z-index: 2;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  }

  /* Improved Tooltip Styling */
  .bundle-builder__footer-item-tooltip {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    background: #1F2937;
    color: white;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 1001;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  }

  .bundle-builder__footer-item-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #1F2937;
  }

  .bundle-builder__footer-item:hover .bundle-builder__footer-item-tooltip {
    opacity: 1;
  }

  /* Better spacing for mobile with many items */
  @media (max-width: 768px) {
    .bundle-builder__footer-content {
      max-height: 60vh;
      overflow: hidden;
    }

    .bundle-builder__footer-items {
      padding: 16px;
      max-height: calc(60vh - 80px);
      overflow-y: auto;
      overflow-x: visible;
    }

    .bundle-builder__footer-item-qty {
      width: 20px;
      height: 20px;
      font-size: 11px;
      top: 2px;
      left: 2px;
    }

    .bundle-builder__footer-item-tooltip {
      font-size: 12px;
      padding: 6px 10px;
      bottom: calc(100% + 8px);
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-items {
      padding: 12px;
    }
  }
.bundle-builder {
    display: block;
    width: 100%;
  }

  .bundle-builder__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    padding-bottom: 160px; /* Space for sticky footer */
  }

  /* Step Styling */
  .bundle-builder__step {
    margin-bottom: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__step--disabled {
    opacity: 0.4;
    pointer-events: none;
    filter: grayscale(50%);
  }

  .bundle-builder__heading {
    background: linear-gradient(135deg, #A7F3D0 0%, #6EE7B7 100%);
    padding: 18px 20px;
    text-align: center;
    font-size: clamp(20px, 4vw, 28px);
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 2px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(110, 231, 183, 0.3);
    animation: fadeInDown 0.5s ease;
  }

  /* Bottle Counter Info */
  .bundle-builder__bottle-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 20px;
    margin-bottom: 25px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(251, 191, 36, 0.2);
  }

  .bundle-builder__bottle-counter-text {
    font-size: 15px;
    font-weight: 600;
    color: #92400E;
  }

  .bundle-builder__bottle-count {
    font-size: 15px;
    font-weight: 700;
    color: #B45309;
    background: rgba(255, 255, 255, 0.6);
    padding: 4px 12px;
    border-radius: 6px;
  }

  /* Bottle Counter (NEW for 4-pack) */
  .bundle-builder__counter {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 12px;
    padding: 15px 25px;
    margin-bottom: 25px;
    box-shadow: 0 4px 20px rgba(252, 211, 77, 0.3);
  }

  .bundle-builder__counter-inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .bundle-builder__counter-text {
    font-size: 16px;
    font-weight: 600;
    color: #92400E;
    text-align: center;
  }

  .bundle-builder__counter-text strong {
    font-size: 22px;
    color: #EC4899;
  }

  .bundle-builder__counter-bar {
    width: 100%;
    height: 12px;
    background: rgba(146, 64, 14, 0.2);
    border-radius: 6px;
    overflow: hidden;
  }

  .bundle-builder__counter-fill {
    height: 100%;
    background: linear-gradient(90deg, #EC4899 0%, #F472B6 100%);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 10px rgba(236, 72, 153, 0.5);
  }

  .bundle-builder__savings-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    border-radius: 10px;
    color: white;
    font-size: 14px;
    font-weight: 600;
    margin-top: 4px;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
    animation: slideInUp 0.5s ease;
  }

  .bundle-builder__savings-summary svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
  }

  .bundle-builder__savings-summary strong {
    color: #FCD34D;
    font-size: 16px;
  }

  /* Main Tab Navigation */
  .bundle-builder__main-tabs {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
  }

  .bundle-builder__main-tab {
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 160px;
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .bundle-builder__main-tab::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.5s;
  }

  .bundle-builder__main-tab:hover::before {
    left: 100%;
  }

  .bundle-builder__main-tab:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(236, 72, 153, 0.4);
  }

  .bundle-builder__main-tab--active {
    transform: scale(1.08);
    box-shadow: 0 8px 30px rgba(236, 72, 153, 0.5);
  }

  /* Main Panel Content */
  .bundle-builder__main-content {
    position: relative;
  }

  .bundle-builder__main-panel {
    display: none;
    animation: fadeIn 0.4s ease;
  }

  .bundle-builder__main-panel--active {
    display: block;
  }

  /* Product Grid */
  .bundle-builder__products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 25px;
    margin-bottom: 20px;
  }

  @media (max-width: 750px) {
    .bundle-builder__products-grid {
      grid-template-columns: 1fr;
      gap: 12px;
    }
  }

  /* Product Card */
  .bundle-builder__product-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
  }

  .bundle-builder__product-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    transform: translateY(-8px);
  }

  .bundle-builder__product-card:hover .bundle-builder__product-image {
    transform: scale(1.08);
  }

  .bundle-builder__product-image-wrapper {
    position: relative;
    padding-top: 100%;
    background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
    overflow: hidden;
  }

  .bundle-builder__product-image,
  .bundle-builder__product-image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Discount Badge */
  .bundle-builder__discount-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: white;
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    animation: pulse 2s infinite;
  }

  /* Product Info */
  .bundle-builder__product-info {
    padding: 16px;
  }

  .bundle-builder__product-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 10px 0;
    min-height: 40px;
    line-height: 1.4;
    color: #1F2937;
  }

  .bundle-builder__product-price {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
  }

  .bundle-builder__price {
    font-size: 19px;
    font-weight: 700;
    color: #111;
  }

  .bundle-builder__compare-price {
    font-size: 15px;
    color: #9CA3AF;
    text-decoration: line-through;
  }

  /* Add to Cart Button */
  .bundle-builder__add-btn {
    width: 100%;
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: white;
    border: none;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .bundle-builder__add-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
  }

  .bundle-builder__add-btn:hover::before {
    left: 100%;
  }

  .bundle-builder__add-btn:hover:not(:disabled) {
    transform: scale(1.03);
    box-shadow: 0 6px 25px rgba(236, 72, 153, 0.4);
  }

  .bundle-builder__add-btn:active:not(:disabled) {
    transform: scale(0.98);
  }

  .bundle-builder__add-btn:disabled {
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    cursor: not-allowed;
    box-shadow: none;
  }

  .bundle-builder__add-btn--disabled-limit {
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    cursor: not-allowed;
    box-shadow: none;
  }

  .bundle-builder__add-btn--loading {
    pointer-events: none;
    opacity: 0.7;
  }

  .bundle-builder__add-btn--added {
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
  }

  .bundle-builder__add-btn--added:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
  }

  /* Add Message */
  .bundle-builder__add-message {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    margin-top: 8px;
    min-height: 20px;
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__add-message--show {
    opacity: 1;
    transform: translateY(0);
  }

  .bundle-builder__add-message--success {
    color: #10B981;
  }

  .bundle-builder__add-message--removed {
    color: #EC4899;
  }

  /* Quantity Wrapper */
  .bundle-builder__quantity-wrapper {
    margin-bottom: 16px;
  }

  .bundle-builder__quantity-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #374151;
  }

  .bundle-builder__quantity-selector {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
  }

  .bundle-builder__qty-btn {
    width: 36px;
    height: 36px;
    border: 2px solid #E5E7EB;
    background: white;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .bundle-builder__qty-btn:hover:not(:disabled) {
    background: #F3F4F6;
    border-color: #EC4899;
    color: #EC4899;
  }

  .bundle-builder__qty-btn:active:not(:disabled) {
    background: #E5E7EB;
  }

  .bundle-builder__qty-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    color: #9CA3AF;
  }

  .bundle-builder__qty-input {
    width: 60px;
    height: 36px;
    border: 2px solid #E5E7EB;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #111;
    pointer-events: none;
    user-select: none;
  }

  .bundle-builder__qty-input:focus {
    outline: none;
    border-color: #EC4899;
  }

  .bundle-builder__sold-out {
    width: 100%;
    padding: 12px 18px;
    text-align: center;
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    color: #6B7280;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: not-allowed;
  }

  /* Mobile: Product Card Row Layout */
  @media (max-width: 750px) {
    .bundle-builder__product-card {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 12px;
      padding: 12px;
      border-radius: 12px;
    }

    .bundle-builder__product-card:hover {
      transform: none;
    }

    .bundle-builder__product-image-wrapper {
      width: 90px;
      min-width: 90px;
      height: 90px;
      padding-top: 0;
      border-radius: 10px;
      flex-shrink: 0;
    }

    .bundle-builder__product-image {
      position: static;
      width: 100%;
      height: 100%;
      border-radius: 10px;
    }

    .bundle-builder__discount-badge {
      top: 4px;
      right: 4px;
      padding: 4px 8px;
      font-size: 10px;
    }

    .bundle-builder__product-info {
      flex-grow: 1;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      align-items: start;
      padding: 0;
      gap: 8px 10px;
    }

    .bundle-builder__product-title {
      font-size: 14px;
      font-weight: 600;
      margin: 0;
      min-height: auto;
      line-height: 1.3;
      grid-column: 1;
      grid-row: 1 / 3;
      align-self: center;
    }

    .bundle-builder__product-price {
      display: none;
    }

    .bundle-builder__add-btn {
      width: auto;
      min-width: 90px;
      padding: 10px 16px;
      font-size: 13px;
      border-radius: 8px;
      grid-column: 2;
      grid-row: 1;
    }

    .bundle-builder__quantity-wrapper {
      margin-bottom: 0;
      grid-column: 2;
      grid-row: 2;
    }

    .bundle-builder__quantity-label {
      display: none;
    }

    .bundle-builder__quantity-selector {
      gap: 6px;
    }

    .bundle-builder__qty-btn {
      width: 28px;
      height: 28px;
      font-size: 16px;
      border-radius: 6px;
    }

    .bundle-builder__qty-input {
      width: 36px;
      height: 28px;
      font-size: 14px;
      border-radius: 6px;
    }

    .bundle-builder__add-message {
      grid-column: 1 / 3;
      grid-row: 3;
    }

    .bundle-builder__add-btn-text {
      display: inline;
    }

    .bundle-builder__add-btn svg {
      display: none;
    }
  }

  /* Gift Cards */
  .bundle-builder__gift-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px;
    margin-bottom: 30px;
  }

  @media (max-width: 750px) {
    .bundle-builder__gift-cards {
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
  }

  .bundle-builder__gift-card {
    background: none;
    border: 3px solid transparent;
    border-radius: 16px;
    padding: 0;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  }

  .bundle-builder__gift-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(6, 182, 212, 0.2));
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 1;
    pointer-events: none;
  }

  .bundle-builder__gift-card:hover:not(:disabled)::before {
    opacity: 1;
  }

  .bundle-builder__gift-card:hover:not(:disabled) {
    transform: scale(1.08);
    box-shadow: 0 12px 35px rgba(16, 185, 129, 0.3);
    border-color: #10B981;
  }

  .bundle-builder__gift-card:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    filter: grayscale(100%);
  }

  .bundle-builder__gift-card--locked {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(100%);
  }

  .bundle-builder__gift-card--selected {
    border-color: #10B981;
    box-shadow: 0 8px 30px rgba(16, 185, 129, 0.4);
  }

  .bundle-builder__gift-card-image {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
  }

  .bundle-builder__gift-card:hover:not(:disabled) .bundle-builder__gift-card-image {
    transform: scale(1.05);
  }

  .bundle-builder__gift-card-placeholder {
    aspect-ratio: 1.6;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    display: flex;
    pointer-events: none;
    align-items: center;
    justify-content: center;
  }

  /* Success Message */
  .bundle-builder__success-message {
    background: linear-gradient(135deg, #ECFDF5 0%, #D1FAE5 100%);
    border: 2px solid #10B981;
    border-radius: 12px;
    padding: 20px 30px;
    text-align: center;
    margin-top: 30px;
    animation: slideInUp 0.5s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
  }

  .bundle-builder__success-icon {
    width: 32px;
    height: 32px;
    color: #10B981;
    flex-shrink: 0;
  }

  .bundle-builder__success-message p {
    margin: 0;
    color: #065F46;
    font-weight: 600;
    font-size: 16px;
  }

  /* Checkout */
  .bundle-builder__checkout {
    text-align: center;
    padding: 40px 20px;
    animation: slideInUp 0.5s ease;
  }

  .bundle-builder__checkout-btn {
    background: linear-gradient(135deg, #FCD34D 0%, #FBBF24 100%);
    color: #000;
    border: 2px solid #000;
    border-radius: 50px;
    padding: 16px 50px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 600px;
    width: 100%;
    letter-spacing: 2px;
    box-shadow: 0 6px 30px rgba(252, 211, 77, 0.4);
    position: relative;
    overflow: hidden;
  }

  .bundle-builder__checkout-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;
  }

  .bundle-builder__checkout-btn:hover::before {
    left: 100%;
  }

  .bundle-builder__checkout-btn:hover:not(:disabled) {
    transform: scale(1.05);
    box-shadow: 0 10px 40px rgba(252, 211, 77, 0.5);
  }

  .bundle-builder__checkout-btn:active {
    transform: scale(1);
  }

  .bundle-builder__checkout-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }

  .bundle-builder__checkout-btn--ready {
    animation: pulse 2s infinite;
  }

  .bundle-builder__checkout-btn-text {
    display: block;
  }

  .bundle-builder__checkout-btn-subtext {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-top: 5px;
    letter-spacing: 1px;
  }

  /* Animations */
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  @keyframes fadeInDown {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pulse {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
    }
  }

  /* Sticky Footer */
  .bundle-builder__sticky-footer {
    position: fixed;
    bottom: 48px;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transform: translateY(calc(100% + 52px));
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 3px solid #EC4899;
  }

  .bundle-builder__sticky-footer--visible {
    transform: translateY(0);
  }

  .bundle-builder__footer-content {
    padding: 15px 20px;
    max-width: 1400px;
    margin: 0 auto;
  }

  .bundle-builder__footer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
  }

  .bundle-builder__footer-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: #1F2937;
  }

  .bundle-builder__footer-title svg {
    color: #EC4899;
  }

  .bundle-builder__footer-count {
    color: #EC4899;
    font-size: 14px;
  }

  .bundle-builder__footer-close {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #6B7280;
    transition: color 0.2s;
  }

  .bundle-builder__footer-close:hover {
    color: #EC4899;
  }

  .bundle-builder__footer-items {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: thin;
    scrollbar-color: #EC4899 #F3F4F6;
  }

  .bundle-builder__footer-items::-webkit-scrollbar {
    height: 6px;
  }

  .bundle-builder__footer-items::-webkit-scrollbar-track {
    background: #F3F4F6;
    border-radius: 3px;
  }

  .bundle-builder__footer-items::-webkit-scrollbar-thumb {
    background: #EC4899;
    border-radius: 3px;
  }

  .bundle-builder__footer-progress {
    text-align: center;
    padding: 12px 16px;
    margin-top: 12px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #92400E;
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.2);
  }

  .bundle-builder__footer-savings {
    margin-top: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border-radius: 10px;
    border: 2px solid #FBBF24;
  }

  .bundle-builder__footer-savings-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: #92400E;
  }

  .bundle-builder__footer-savings-label {
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .bundle-builder__footer-savings-value {
    font-size: 18px;
    color: #10B981;
    font-weight: 700;
  }

  .bundle-builder__footer-shipping {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #92400E;
    text-align: center;
    font-style: italic;
  }

  /* Hide checkout button inside sticky footer only */
  .bundle-builder__sticky-footer .bundle-builder__footer-checkout {
    display: none !important;
  }

  .bundle-builder__footer-checkout {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #E5E7EB;
  }

  .bundle-builder__footer-checkout-btn {
    width: 100%;
    background: linear-gradient(135deg, #FCD34D 0%, #FBBF24 100%);
    color: #000;
    border: 2px solid #000;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 12px rgba(252, 211, 77, 0.3);
  }

  .bundle-builder__footer-checkout-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(252, 211, 77, 0.4);
  }

  .bundle-builder__footer-checkout-btn:active {
    transform: translateY(0);
  }

  .bundle-builder__footer-item {
    position: relative;
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid #E5E7EB;
    transition: all 0.2s;
    cursor: pointer;
    background: white;
  }

  .bundle-builder__footer-item:hover {
    border-color: #EC4899;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(236, 72, 153, 0.2);
  }

  .bundle-builder__footer-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .bundle-builder__footer-item-qty {
    position: absolute;
    top: 4px;
    left: 4px;
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 10px;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    z-index: 2;
  }

  .bundle-builder__footer-item-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.8);
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: all 0.2s;
    color: white;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
  }

  .bundle-builder__footer-item:hover .bundle-builder__footer-item-remove {
    opacity: 1;
  }

  .bundle-builder__footer-item-remove:hover {
    background: #EC4899;
    transform: scale(1.1);
  }

  .bundle-builder__footer-item--gift {
 
    display: flex;
    align-items: center;
    justify-content: center;
    border-color: #EC4899;
  }

  .bundle-builder__footer-gift-icon {
    font-size: 36px;
  }

  .bundle-builder__footer-bar {
    display: none;
    padding: 16px 20px;
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    color: white;
    font-weight: 600;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    border: none;
    width: 100%;
    font-size: 15px;
  }

  /* Mobile Optimizations */
  @media (max-width: 750px) {
    .bundle-builder__container {
      padding: 15px;
      padding-bottom: 80px;
    }

    .bundle-builder__heading {
      font-size: 20px;
      padding: 15px;
      letter-spacing: 1.5px;
    }

    .bundle-builder__counter {
      padding: 15px 20px;
    }

    .bundle-builder__counter-text {
      font-size: 16px;
    }

    .bundle-builder__counter-text strong {
      font-size: 22px;
    }

    .bundle-builder__main-tabs {
      gap: 10px;
      flex-wrap: nowrap;
      overflow-x: auto;
      justify-content: flex-start;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding: 0 4px;
    }

    .bundle-builder__main-tabs::-webkit-scrollbar {
      display: none;
    }

    .bundle-builder__main-tab {
      min-width: auto;
      padding: 10px 16px;
      font-size: 13px;
      border-radius: 8px;
      white-space: nowrap;
      flex-shrink: 0;
    }

    .bundle-builder__main-tab:hover {
      transform: none;
    }

    .bundle-builder__main-tab--active {
      transform: scale(1.02);
    }

    .bundle-builder__product-info {
      padding: 15px;
    }

    .bundle-builder__checkout-btn {
      padding: 14px 40px;
      font-size: 16px;
      letter-spacing: 1.5px;
    }

    .bundle-builder__checkout-btn-subtext {
      font-size: 12px;
    }
  }

  @media (max-width: 768px) {
    .bundle-builder__footer-bar {
      display: flex;
    }

    .bundle-builder__footer-content {
      display: none;
      max-height: 70vh;
      overflow-y: auto;
      padding-bottom: 20px;
    }

    .bundle-builder__sticky-footer--expanded .bundle-builder__footer-content {
      display: block;
    }

    .bundle-builder__sticky-footer--expanded .bundle-builder__footer-bar {
      display: none;
    }

    .bundle-builder__footer-close {
      display: flex;
    }

    .bundle-builder__footer-items {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      overflow-x: visible;
    }

    .bundle-builder__footer-item {
      width: 100%;
      height: 85px;
    }

    .bundle-builder__footer-item-remove {
      opacity: 1;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-items {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  /* Checkout Button Outside Footer */
  .bundle-builder__footer-checkout--outside {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }

  .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    padding: 16px 24px;
    font-size: 16px;
  }

  @media (max-width: 768px) {
    .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
      padding: 14px 20px;
      font-size: 15px;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
      padding: 13px 18px;
      font-size: 14px;
    }
  }

  /* Loading Spinner for Checkout */
  .loading-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 20px;
  }

  @keyframes spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }

  .easy-bundle-loading-overlay .loading-text {
    font-size: 18px;
    color: white;
    text-align: center;
    margin-top: 20px;
    font-weight: 500;
  }
.bundle-builder {
    display: block;
    width: 100%;
  }

  .bundle-builder__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    padding-bottom: 160px; /* Space for sticky footer */
  }

  /* Step Styling */
  .bundle-builder__step {
    margin-bottom: 0;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__step--disabled {
    opacity: 0.4;
    pointer-events: none;
    filter: grayscale(50%);
  }

  .bundle-builder__heading {
    background: linear-gradient(135deg, #A7F3D0 0%, #6EE7B7 100%);
    padding: 18px 20px;
    text-align: center;
    font-size: clamp(20px, 4vw, 28px);
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 2px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(110, 231, 183, 0.3);
    animation: fadeInDown 0.5s ease;
  }

  /* Bottle Counter Info */
  .bundle-builder__bottle-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 12px 20px;
    margin-bottom: 25px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(251, 191, 36, 0.2);
  }

  .bundle-builder__bottle-counter-text {
    font-size: 15px;
    font-weight: 600;
    color: #92400E;
  }

  .bundle-builder__bottle-count {
    font-size: 15px;
    font-weight: 700;
    color: #B45309;
    background: rgba(255, 255, 255, 0.6);
    padding: 4px 12px;
    border-radius: 6px;
  }

  /* Bottle Counter (NEW for 4-pack) */
  .bundle-builder__counter {
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 12px;
    padding: 15px 25px;
    margin-bottom: 25px;
    box-shadow: 0 4px 20px rgba(252, 211, 77, 0.3);
  }

  .bundle-builder__counter-inner {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .bundle-builder__counter-text {
    font-size: 16px;
    font-weight: 600;
    color: #92400E;
    text-align: center;
  }

  .bundle-builder__counter-text strong {
    font-size: 22px;
    color: #EC4899;
  }

  .bundle-builder__counter-bar {
    width: 100%;
    height: 12px;
    background: rgba(146, 64, 14, 0.2);
    border-radius: 6px;
    overflow: hidden;
  }

  .bundle-builder__counter-fill {
    height: 100%;
    background: linear-gradient(90deg, #EC4899 0%, #F472B6 100%);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 0 10px rgba(236, 72, 153, 0.5);
  }

  .bundle-builder__savings-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    border-radius: 10px;
    color: white;
    font-size: 14px;
    font-weight: 600;
    margin-top: 4px;
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
    animation: slideInUp 0.5s ease;
  }

  .bundle-builder__savings-summary svg {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
  }

  .bundle-builder__savings-summary strong {
    color: #FCD34D;
    font-size: 16px;
  }

  /* Main Tab Navigation */
  .bundle-builder__main-tabs {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 30px;
    flex-wrap: wrap;
  }

  .bundle-builder__main-tab {
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    color: white;
    border: none;
    padding: 14px 32px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 160px;
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .bundle-builder__main-tab::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.5s;
  }

  .bundle-builder__main-tab:hover::before {
    left: 100%;
  }

  .bundle-builder__main-tab:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(236, 72, 153, 0.4);
  }

  .bundle-builder__main-tab--active {
    transform: scale(1.08);
    box-shadow: 0 8px 30px rgba(236, 72, 153, 0.5);
  }

  /* Main Panel Content */
  .bundle-builder__main-content {
    position: relative;
  }

  .bundle-builder__main-panel {
    display: none;
    animation: fadeIn 0.4s ease;
  }

  .bundle-builder__main-panel--active {
    display: block;
  }

  /* Product Grid */
  .bundle-builder__products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 25px;
    margin-bottom: 20px;
  }

  @media (max-width: 750px) {
    .bundle-builder__products-grid {
      grid-template-columns: 1fr;
      gap: 12px;
    }
  }

  /* Product Card */
  .bundle-builder__product-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
  }

  .bundle-builder__product-card:hover {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    transform: translateY(-8px);
  }

  .bundle-builder__product-card:hover .bundle-builder__product-image {
    transform: scale(1.08);
  }

  .bundle-builder__product-image-wrapper {
    position: relative;
    padding-top: 100%;
    background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
    overflow: hidden;
  }

  .bundle-builder__product-image,
  .bundle-builder__product-image-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Discount Badge */
  .bundle-builder__discount-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: white;
    padding: 8px 14px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    z-index: 2;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    animation: pulse 2s infinite;
  }

  /* Product Info */
  .bundle-builder__product-info {
    padding: 16px;
  }

  .bundle-builder__product-title {
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 10px 0;
    min-height: 40px;
    line-height: 1.4;
    color: #1F2937;
  }

  .bundle-builder__product-price {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
  }

  .bundle-builder__price {
    font-size: 19px;
    font-weight: 700;
    color: #111;
  }

  .bundle-builder__compare-price {
    font-size: 15px;
    color: #9CA3AF;
    text-decoration: line-through;
  }

  /* Add to Cart Button */
  .bundle-builder__add-btn {
    width: 100%;
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: white;
    border: none;
    padding: 12px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
  }

  .bundle-builder__add-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.5s;
  }

  .bundle-builder__add-btn:hover::before {
    left: 100%;
  }

  .bundle-builder__add-btn:hover:not(:disabled) {
    transform: scale(1.03);
    box-shadow: 0 6px 25px rgba(236, 72, 153, 0.4);
  }

  .bundle-builder__add-btn:active:not(:disabled) {
    transform: scale(0.98);
  }

  .bundle-builder__add-btn:disabled {
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    cursor: not-allowed;
    box-shadow: none;
  }

  .bundle-builder__add-btn--disabled-limit {
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    cursor: not-allowed;
    box-shadow: none;
  }

  .bundle-builder__add-btn--loading {
    pointer-events: none;
    opacity: 0.7;
  }

  .bundle-builder__add-btn--added {
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
  }

  .bundle-builder__add-btn--added:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
  }

  /* Add Message */
  .bundle-builder__add-message {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    margin-top: 8px;
    min-height: 20px;
    opacity: 0;
    transform: translateY(-5px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__add-message--show {
    opacity: 1;
    transform: translateY(0);
  }

  .bundle-builder__add-message--success {
    color: #10B981;
  }

  .bundle-builder__add-message--removed {
    color: #EC4899;
  }

  /* Quantity Wrapper */
  .bundle-builder__quantity-wrapper {
    margin-bottom: 16px;
  }

  .bundle-builder__quantity-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #374151;
  }

  .bundle-builder__quantity-selector {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
  }

  .bundle-builder__qty-btn {
    width: 36px;
    height: 36px;
    border: 2px solid #E5E7EB;
    background: white;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .bundle-builder__qty-btn:hover:not(:disabled) {
    background: #F3F4F6;
    border-color: #EC4899;
    color: #EC4899;
  }

  .bundle-builder__qty-btn:active:not(:disabled) {
    background: #E5E7EB;
  }

  .bundle-builder__qty-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    color: #9CA3AF;
  }

  .bundle-builder__qty-input {
    width: 60px;
    height: 36px;
    border: 2px solid #E5E7EB;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #111;
    pointer-events: none;
    user-select: none;
  }

  .bundle-builder__qty-input:focus {
    outline: none;
    border-color: #EC4899;
  }

  .bundle-builder__sold-out {
    width: 100%;
    padding: 12px 18px;
    text-align: center;
    background: linear-gradient(135deg, #D1D5DB 0%, #9CA3AF 100%);
    color: #6B7280;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: not-allowed;
  }

  /* Mobile: Product Card Row Layout */
  @media (max-width: 750px) {
    .bundle-builder__product-card {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 12px;
      padding: 12px;
      border-radius: 12px;
    }

    .bundle-builder__product-card:hover {
      transform: none;
    }

    .bundle-builder__product-image-wrapper {
      width: 90px;
      min-width: 90px;
      height: 90px;
      padding-top: 0;
      border-radius: 10px;
      flex-shrink: 0;
    }

    .bundle-builder__product-image {
      position: static;
      width: 100%;
      height: 100%;
      border-radius: 10px;
    }

    .bundle-builder__discount-badge {
      top: 4px;
      right: 4px;
      padding: 4px 8px;
      font-size: 10px;
    }

    .bundle-builder__product-info {
      flex-grow: 1;
      display: grid;
      grid-template-columns: 1fr auto;
      grid-template-rows: auto auto;
      align-items: start;
      padding: 0;
      gap: 8px 10px;
    }

    .bundle-builder__product-title {
      font-size: 14px;
      font-weight: 600;
      margin: 0;
      min-height: auto;
      line-height: 1.3;
      grid-column: 1;
      grid-row: 1 / 3;
      align-self: center;
    }

    .bundle-builder__product-price {
      display: none;
    }

    .bundle-builder__add-btn {
      width: auto;
      min-width: 90px;
      padding: 10px 16px;
      font-size: 13px;
      border-radius: 8px;
      grid-column: 2;
      grid-row: 1;
    }

    .bundle-builder__quantity-wrapper {
      margin-bottom: 0;
      grid-column: 2;
      grid-row: 2;
    }

    .bundle-builder__quantity-label {
      display: none;
    }

    .bundle-builder__quantity-selector {
      gap: 6px;
    }

    .bundle-builder__qty-btn {
      width: 28px;
      height: 28px;
      font-size: 16px;
      border-radius: 6px;
    }

    .bundle-builder__qty-input {
      width: 36px;
      height: 28px;
      font-size: 14px;
      border-radius: 6px;
    }

    .bundle-builder__add-message {
      grid-column: 1 / 3;
      grid-row: 3;
    }

    .bundle-builder__add-btn-text {
      display: inline;
    }

    .bundle-builder__add-btn svg {
      display: none;
    }
  }

  /* Checkout */
  .bundle-builder__checkout {
    text-align: center;
    padding: 40px 20px;
    animation: slideInUp 0.5s ease;
  }

  .bundle-builder__checkout-btn {
    background: linear-gradient(135deg, #FCD34D 0%, #FBBF24 100%);
    color: #000;
    border: 2px solid #000;
    border-radius: 50px;
    padding: 16px 50px;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 600px;
    width: 100%;
    letter-spacing: 2px;
    box-shadow: 0 6px 30px rgba(252, 211, 77, 0.4);
    position: relative;
    overflow: hidden;
  }

  .bundle-builder__checkout-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;
  }

  .bundle-builder__checkout-btn:hover::before {
    left: 100%;
  }

  .bundle-builder__checkout-btn:hover:not(:disabled) {
    transform: scale(1.05);
    box-shadow: 0 10px 40px rgba(252, 211, 77, 0.5);
  }

  .bundle-builder__checkout-btn:active {
    transform: scale(1);
  }

  .bundle-builder__checkout-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }

  .bundle-builder__checkout-btn--ready {
    animation: pulse 2s infinite;
  }

  .bundle-builder__checkout-btn-text {
    display: block;
  }

  .bundle-builder__checkout-btn-subtext {
    display: block;
    font-size: 14px;
    font-weight: 500;
    margin-top: 5px;
    letter-spacing: 1px;
  }

  /* Animations */
  @keyframes fadeIn {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }

  @keyframes fadeInDown {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes slideInUp {
    from {
      opacity: 0;
      transform: translateY(30px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes pulse {
    0%, 100% {
      transform: scale(1);
    }
    50% {
      transform: scale(1.05);
    }
  }

  /* Sticky Footer */
  .bundle-builder__sticky-footer {
    position: fixed;
    bottom: 48px;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transform: translateY(calc(100% + 52px));
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-top: 3px solid #EC4899;
  }

  .bundle-builder__sticky-footer--visible {
    transform: translateY(0);
  }

  .bundle-builder__footer-content {
    padding: 15px 20px;
    max-width: 1400px;
    margin: 0 auto;
  }

  .bundle-builder__footer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
  }

  .bundle-builder__footer-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    color: #1F2937;
  }

  .bundle-builder__footer-title svg {
    color: #EC4899;
  }

  .bundle-builder__footer-count {
    color: #EC4899;
    font-size: 14px;
  }

  .bundle-builder__footer-close {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    color: #6B7280;
    transition: color 0.2s;
  }

  .bundle-builder__footer-close:hover {
    color: #EC4899;
  }

  .bundle-builder__footer-items {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding-bottom: 5px;
    scrollbar-width: thin;
    scrollbar-color: #EC4899 #F3F4F6;
  }

  .bundle-builder__footer-items::-webkit-scrollbar {
    height: 6px;
  }

  .bundle-builder__footer-items::-webkit-scrollbar-track {
    background: #F3F4F6;
    border-radius: 3px;
  }

  .bundle-builder__footer-items::-webkit-scrollbar-thumb {
    background: #EC4899;
    border-radius: 3px;
  }

  .bundle-builder__footer-progress {
    text-align: center;
    padding: 12px 16px;
    margin-top: 12px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border: 2px solid #FBBF24;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #92400E;
    box-shadow: 0 2px 8px rgba(251, 191, 36, 0.2);
  }

  .bundle-builder__footer-savings {
    margin-top: 12px;
    padding: 12px 16px;
    background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
    border-radius: 10px;
    border: 2px solid #FBBF24;
  }

  .bundle-builder__footer-savings-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: #92400E;
  }

  .bundle-builder__footer-savings-label {
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }

  .bundle-builder__footer-savings-value {
    font-size: 18px;
    color: #10B981;
    font-weight: 700;
  }

  .bundle-builder__footer-shipping {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 500;
    color: #92400E;
    text-align: center;
    font-style: italic;
  }

  /* Hide checkout button inside sticky footer only */
  .bundle-builder__sticky-footer .bundle-builder__footer-checkout {
    display: none !important;
  }

  .bundle-builder__footer-checkout {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #E5E7EB;
  }

  .bundle-builder__footer-checkout-btn {
    width: 100%;
    background: linear-gradient(135deg, #FCD34D 0%, #FBBF24 100%);
    color: #000;
    border: 2px solid #000;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 12px rgba(252, 211, 77, 0.3);
  }

  .bundle-builder__footer-checkout-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(252, 211, 77, 0.4);
  }

  .bundle-builder__footer-checkout-btn:active {
    transform: translateY(0);
  }

  .bundle-builder__footer-item {
    position: relative;
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 12px;
    overflow: hidden;
    border: 2px solid #E5E7EB;
    transition: all 0.2s;
    cursor: pointer;
    background: white;
  }

  .bundle-builder__footer-item:hover {
    border-color: #EC4899;
    transform: translateY(-3px);
    box-shadow: 0 4px 12px rgba(236, 72, 153, 0.2);
  }

  .bundle-builder__footer-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .bundle-builder__footer-item-qty {
    position: absolute;
    top: 4px;
    left: 4px;
    background: linear-gradient(135deg, #EC4899 0%, #DB2777 100%);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 10px;
    line-height: 1;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    z-index: 2;
  }

  .bundle-builder__footer-item-remove {
    position: absolute;
    top: 4px;
    right: 4px;
    background: rgba(0, 0, 0, 0.8);
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: all 0.2s;
    color: white;
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
  }

  .bundle-builder__footer-item:hover .bundle-builder__footer-item-remove {
    opacity: 1;
  }

  .bundle-builder__footer-item-remove:hover {
    background: #EC4899;
    transform: scale(1.1);
  }

  .bundle-builder__footer-bar {
    display: none;
    padding: 16px 20px;
    background: linear-gradient(135deg, #EC4899 0%, #F472B6 100%);
    color: white;
    font-weight: 600;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
    border: none;
    width: 100%;
    font-size: 15px;
  }

  /* Mobile Optimizations */
  @media (max-width: 750px) {
    .bundle-builder__container {
      padding: 15px;
      padding-bottom: 80px;
    }

    .bundle-builder__heading {
      font-size: 20px;
      padding: 15px;
      letter-spacing: 1.5px;
    }

    .bundle-builder__counter {
      padding: 15px 20px;
    }

    .bundle-builder__counter-text {
      font-size: 16px;
    }

    .bundle-builder__counter-text strong {
      font-size: 22px;
    }

    .bundle-builder__main-tabs {
      gap: 10px;
      flex-wrap: nowrap;
      overflow-x: auto;
      justify-content: flex-start;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
      padding: 0 4px;
    }

    .bundle-builder__main-tabs::-webkit-scrollbar {
      display: none;
    }

    .bundle-builder__main-tab {
      min-width: auto;
      padding: 10px 16px;
      font-size: 13px;
      border-radius: 8px;
      white-space: nowrap;
      flex-shrink: 0;
    }

    .bundle-builder__main-tab:hover {
      transform: none;
    }

    .bundle-builder__main-tab--active {
      transform: scale(1.02);
    }

    .bundle-builder__product-info {
      padding: 15px;
    }

    .bundle-builder__checkout-btn {
      padding: 14px 40px;
      font-size: 16px;
      letter-spacing: 1.5px;
    }

    .bundle-builder__checkout-btn-subtext {
      font-size: 12px;
    }
  }

  @media (max-width: 768px) {
    .bundle-builder__footer-bar {
      display: flex;
    }

    .bundle-builder__footer-content {
      display: none;
      max-height: 70vh;
      overflow-y: auto;
      padding-bottom: 20px;
    }

    .bundle-builder__sticky-footer--expanded .bundle-builder__footer-content {
      display: block;
    }

    .bundle-builder__sticky-footer--expanded .bundle-builder__footer-bar {
      display: none;
    }

    .bundle-builder__footer-close {
      display: flex;
    }

    .bundle-builder__footer-items {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      overflow-x: visible;
    }

    .bundle-builder__footer-item {
      width: 100%;
      height: 85px;
    }

    .bundle-builder__footer-item-remove {
      opacity: 1;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-items {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  /* Checkout Button Outside Footer */
  .bundle-builder__footer-checkout--outside {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }

  .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
    width: 100%;
    max-width: 100%;
    border-radius: 0;
    padding: 16px 24px;
    font-size: 16px;
  }

  @media (max-width: 768px) {
    .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
      padding: 14px 20px;
      font-size: 15px;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__footer-checkout--outside .bundle-builder__footer-checkout-btn {
      padding: 13px 18px;
      font-size: 14px;
    }
  }

  /* Loading Spinner for Checkout */
  .loading-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 20px;
  }

  @keyframes spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }

  .free-bundle-loading-overlay .loading-text {
    font-size: 18px;
    color: white;
    text-align: center;
    margin-top: 20px;
    font-weight: 500;
  }

  /* Free Gifts Showcase */
  .bundle-builder__free-gifts {
    max-width: 1200px;
    margin: 60px auto 0;
    padding: 40px 20px;
    text-align: center;
  }

  .bundle-builder__gifts-heading {
    font-size: clamp(24px, 5vw, 36px);
    font-weight: 700;
    color: #1F2937;
    margin: 0 0 12px 0;
    line-height: 1.2;
  }

  .bundle-builder__gifts-subheading {
    font-size: clamp(16px, 3vw, 18px);
    color: #6B7280;
    margin: 0 0 40px 0;
    line-height: 1.6;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }

  .bundle-builder__gifts-grid {
    display: grid;
    gap: 30px;
    margin-top: 40px;
  }

  /* Desktop Size Classes */
  .bundle-builder__gifts-grid--small {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }

  .bundle-builder__gifts-grid--medium {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }

  .bundle-builder__gifts-grid--large {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }

  .bundle-builder__gifts-grid--extra-large {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }

  /* Mobile Layout Overrides */
  @media (max-width: 750px) {
    .bundle-builder__gifts-grid {
      gap: 20px;
    }

    /* Single Row - Horizontal Scroll */
    .bundle-builder__gifts-grid--mobile-single-row {
      display: flex;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      gap: 16px;
      padding-bottom: 10px;
    }

    .bundle-builder__gifts-grid--mobile-single-row .bundle-builder__gift-item {
      flex: 0 0 200px;
      scroll-snap-align: start;
    }

    /* Two Columns Grid */
    .bundle-builder__gifts-grid--mobile-two-columns {
      grid-template-columns: repeat(2, 1fr) !important;
    }

    /* Single Column - Stacked */
    .bundle-builder__gifts-grid--mobile-single-column {
      grid-template-columns: 1fr !important;
    }
  }

  @media (max-width: 480px) {
    .bundle-builder__gifts-grid--mobile-single-row .bundle-builder__gift-item {
      flex: 0 0 160px;
    }
  }

  .bundle-builder__gift-item {
    background: white;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
  }

  /* Adjust padding for different sizes */
  .bundle-builder__gifts-grid--small .bundle-builder__gift-item {
    padding: 12px;
  }

  .bundle-builder__gifts-grid--extra-large .bundle-builder__gift-item {
    padding: 24px;
  }

  .bundle-builder__gift-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
  }

  .bundle-builder__gift-image-wrapper {
    position: relative;
    width: 100%;
    padding-top: 100%;
    background: linear-gradient(135deg, #F3F4F6 0%, #E5E7EB 100%);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
  }

  .bundle-builder__gift-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .bundle-builder__gift-item:hover .bundle-builder__gift-image {
    transform: scale(1.1);
  }

  .bundle-builder__gift-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, #10B981 0%, #059669 100%);
    color: white;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    z-index: 2;
    animation: pulse 2s infinite;
  }

  .bundle-builder__gift-title {
    font-size: 16px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
    line-height: 1.4;
  }

  /* Adjust title size for different gift sizes */
  .bundle-builder__gifts-grid--small .bundle-builder__gift-title {
    font-size: 14px;
  }

  .bundle-builder__gifts-grid--large .bundle-builder__gift-title {
    font-size: 17px;
  }

  .bundle-builder__gifts-grid--extra-large .bundle-builder__gift-title {
    font-size: 18px;
  }

  @media (max-width: 750px) {
    .bundle-builder__free-gifts {
      margin: 40px auto 0;
      padding: 30px 15px;
    }

    /* Adjust padding for two-column and single-column layouts on mobile */
    .bundle-builder__gifts-grid--mobile-two-columns .bundle-builder__gift-item,
    .bundle-builder__gifts-grid--mobile-single-column .bundle-builder__gift-item {
      padding: 15px;
    }

    /* For single row, keep slightly smaller padding */
    .bundle-builder__gifts-grid--mobile-single-row .bundle-builder__gift-item {
      padding: 12px;
    }

    /* Title sizes remain responsive based on desktop size selection */
    .bundle-builder__gift-title {
      font-size: 14px;
    }

    .bundle-builder__gifts-grid--small .bundle-builder__gift-title {
      font-size: 13px;
    }

    .bundle-builder__gifts-grid--large .bundle-builder__gift-title,
    .bundle-builder__gifts-grid--extra-large .bundle-builder__gift-title {
      font-size: 15px;
    }
  }
/* Page Header Styles */
  .mc-page-header {
    position: relative;
    transition: all 0.3s ease;
  }

  .mc-page-header__inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
  }

  /* Alignment */
  .mc-page-header--left .mc-page-header__inner {
    text-align: left;
    margin: 0;
  }

  .mc-page-header--center .mc-page-header__inner {
    text-align: center;
    margin: 0 auto;
  }

  .mc-page-header--right .mc-page-header__inner {
    text-align: right;
    margin: 0 0 0 auto;
  }

  /* Icon */
  .mc-page-header__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    animation: fadeInDown 0.6s ease;
  }

  .mc-page-header__icon svg {
    width: 100%;
    height: 100%;
  }

  /* Title */
  .mc-page-header__title {
    margin: 0 0 16px 0;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    animation: fadeInUp 0.6s ease;
    background: linear-gradient(135deg, currentColor 0%, currentColor 100%);
    background-clip: text;
    -webkit-background-clip: text;
  }

  /* Title Size Presets */
  .mc-page-header__title--small {
    font-size: 32px;
  }

  .mc-page-header__title--medium {
    font-size: 42px;
  }

  .mc-page-header__title--large {
    font-size: 52px;
  }

  .mc-page-header__title--xlarge {
    font-size: 64px;
  }

  /* Subtitle */
  .mc-page-header__subtitle {
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 24px 0;
    font-weight: 400;
    animation: fadeInUp 0.6s ease 0.1s backwards;
  }

  /* Decorative Divider */
  .mc-page-header__divider {
    height: 4px;
    width: 80px;
    border-radius: 2px;
    margin: 24px auto 0;
    animation: scaleIn 0.6s ease 0.2s backwards;
  }

  .mc-page-header--left .mc-page-header__divider {
    margin-left: 0;
  }

  .mc-page-header--right .mc-page-header__divider {
    margin-right: 0;
  }

  /* Mobile Responsive */
  @media (max-width: 768px) {
    .mc-page-header__icon {
      width: 48px;
      height: 48px;
      margin-bottom: 16px;
    }

    .mc-page-header__title--small {
      font-size: 28px;
    }

    .mc-page-header__title--medium {
      font-size: 32px;
    }

    .mc-page-header__title--large {
      font-size: 36px;
    }

    .mc-page-header__title--xlarge {
      font-size: 42px;
    }

    .mc-page-header__subtitle {
      font-size: 16px;
    }

    .mc-page-header__divider {
      width: 60px;
    }

    .mc-page-header__inner {
      padding: 0 16px;
    }
  }

  @media (max-width: 480px) {
    .mc-page-header__title--small {
      font-size: 24px;
    }

    .mc-page-header__title--medium {
      font-size: 28px;
    }

    .mc-page-header__title--large {
      font-size: 32px;
    }

    .mc-page-header__title--xlarge {
      font-size: 36px;
    }

    .mc-page-header__subtitle {
      font-size: 15px;
    }
  }

  /* Animations */
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes fadeInDown {
    from {
      opacity: 0;
      transform: translateY(-20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes scaleIn {
    from {
      opacity: 0;
      transform: scaleX(0);
    }
    to {
      opacity: 1;
      transform: scaleX(1);
    }
  }

  /* Reduce motion for accessibility */
  @media (prefers-reduced-motion: reduce) {
    .mc-page-header__title,
    .mc-page-header__subtitle,
    .mc-page-header__icon,
    .mc-page-header__divider {
      animation: none;
    }
  }