:root {
  /* Bundle variables (set by JS via orichiApplyThemeVars from API response) */
  --bundle-card-background: #ffffff; /* setting.BundleCardBackground */
  --bundle-card-border-radius: 8px; /* setting.BundleCardBorderRadius */
  --bundle-card-border-color: #e5e7eb; /* setting.BundleCardBorderColor */
  --bundle-featured-background: #f3f4f6; /* setting.BundleFeaturedBackground */
  --bundle-featured-border-style: solid; /* setting.BundleFeaturedBorderStyle */
  --bundle-featured-border-color: #f43f5e; /* setting.BundleFeaturedBorderColor */
  --bundle-popular-badge-background: #fee2e2; /* setting.BundlePopularBadgeBackground */
  --bundle-popular-badge-color: #b91c1c; /* setting.BundlePopularBadgeColor */
  --bundle-save-badge-background: #fef3c7; /* setting.BundleSaveBadgeBackground */
  --bundle-save-badge-color: #92400e; /* setting.BundleSaveBadgeColor */
  --bundle-save-badge-border-radius: 4px; /* setting.BundleSaveBadgeBorderRadius */
}

/* Bundle item */
.bundle-item {
  display: flex;
  position: relative;
  cursor: pointer;
  justify-content: space-between;
  background: var(--bundle-card-background);
  border-radius: var(--bundle-card-border-radius);
  padding: 20.5px 26px;
  border: 1px solid var(--bundle-card-border-color);
}

.bundle-item--selected {
  display: flex;
  position: relative;
  cursor: pointer;
  justify-content: space-between;
  background: var(--bundle-featured-background);
  border-radius: var(--bundle-card-border-radius);
  padding: 20.5px 26px;
  border: 1px var(--bundle-featured-border-style) var(--bundle-featured-border-color);

  & .select-variant-list {
    display: block;
  }
}

.bundle-item-popular {
  display: flex;
  position: absolute;
  top: -12px;
  right: 26px;
  color: var(--bundle-popular-badge-color);
  overflow: hidden;
}

.bundle-item-shimmer {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50%;
  width: 40%;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
  animation: shimmer 2.2s linear infinite;
}

.bundle-item-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2cd12a;
  position: relative;
  z-index: 1;
  animation: blink 1.2s infinite;
}

.bundle-item-left {
  display: flex;
  gap: 12px;
}

.bundle-item-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.bundle-item-badge {
  background: var(--bundle-save-badge-background);
  color: var(--bundle-save-badge-color);
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--bundle-save-badge-border-radius);
}

.bundle-item-title {
  font-size: 17px;
  color: #151c32;
  z-index: 20;
}
.bundle-item-subtitle {
  color: #64748b;
  margin-top: 3px;
  z-index: 20;
}
.bundle-item-price {
  font-size: 18px;
  color: #151c32;
  font-weight: 700;
}
.bundle-item-old-price {
  color: #94a3b8;
  text-decoration: line-through;
  margin-top: 3px;
  text-align: right;
}
.bundle-item-image {
  width: 42px;
  height: 42px;
  object-fit: cover;
  border-radius: 8px;
}

.bundle-table {
  position: relative;
  margin: 12px 0;

  .orichi-Polaris-DataTable__ScrollContainer {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
}

/* Custom Select Dropdown Styles */
.custom-select-container {
  position: relative;
  width: 80px;
}

.custom-select-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 7px 11px;
  background: var(--bundle-variant-dropdowns-background);
  border: 1px solid var(--bundle-variant-dropdowns-border);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.custom-select-trigger:hover {
  border-color: #9ca3af;
}

.custom-select-trigger:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

.custom-select-value {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #374151;
}

.custom-select-arrow {
  width: 10px;
  height: 10px;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.custom-select-container.open .custom-select-arrow {
  transform: rotate(180deg);
}

.custom-select-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid #d1d5db;
  border-top: none;
  border-radius: 0 0 4px 4px;
  margin-top: -1px;
  max-height: 0;
  overflow: hidden;
  z-index: 1000;
  transition: max-height 0.2s ease;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  display: none;
}

.custom-select-menu.open {
  display: block;
  max-height: 300px;
  overflow-y: auto;
  border-radius: 8px;
}

.custom-select-menu.open .custom-select-arrow {
  transform: rotate(180deg);
}

.custom-options-wrapper {
  display: flex;
  flex-direction: column;
}

.custom-option {
  padding: 10px 12px;
  cursor: pointer;
  transition: background-color 0.15s ease;
  color: #374151;
  border-bottom: 1px solid #f3f4f6;
}

.custom-option:last-child {
  border-bottom: none;
}

.custom-option:hover {
  background-color: #f3f4f6;
}

.custom-option.selected {
  background-color: #cecece;
  font-weight: 600;
}

.bundle-variant-selector .custom-select-trigger {
  padding: 6px 10px;
}

.bundle-variant-selector .custom-option {
  padding: 8px 10px;
}

.container-select-variant {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.select-variant-list {
  padding-top: 4px;
  display: none;
}

.select-variant-item {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0;

  & > p {
    color: #94a3b8;
    font-weight: 800;
  }
}
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@600&amp;display=swap");
/* ── LIVE DOT ── */
@keyframes live-blink {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.15;
  }
}
@keyframes live-ring {
  0% {
    r: 5;
    opacity: 0.5;
  }
  100% {
    r: 11;
    opacity: 0;
  }
}
.orichi-live-dot {
  animation: live-blink 1.2s ease-in-out infinite;
}
.orichi-live-ring {
  animation: live-ring 1.5s ease-out infinite;
}

/* ── SHIMMER ── */
@keyframes shimmer-move {
  0% {
    x: -65px;
  }
  100% {
    x: 145px;
  }
}
.orichi-shimmer-sweep {
  animation: shimmer-move 2s linear infinite;
}

/* ── FIRE ── */
@keyframes f1 {
  0%,
  100% {
    d: path(
      "M16 28 C10 23 8 17 12 11 C13.5 15 15 14 14.5 10 C17 14 20 11 18.5 7 C22 11 24 16 21 21.5 C19.5 24.5 18 27 16 28Z"
    );
  }
  50% {
    d: path(
      "M16 28 C9 22 8 16 13 10 C14 14.5 16 13 15 9 C18 13 21 10 19 6 C23 10.5 24.5 16 21 22 C19.5 25 18 27 16 28Z"
    );
  }
}
@keyframes f2 {
  0%,
  100% {
    d: path(
      "M16 27 C12 23 11 19 13.5 15 C14.5 18 16 17 15.5 14 C17.5 17 18 15 17 12.5 C20 15.5 20.5 19.5 18.5 23 C17.5 25 17 26.5 16 27Z"
    );
  }
  50% {
    d: path(
      "M16 27 C11 22 10.5 18 13 14 C14.5 17.5 16.5 16 15.5 13 C18 16.5 18.5 14.5 17 11.5 C20.5 15 21 19 18.5 23 C17.5 25.5 17 26.5 16 27Z"
    );
  }
}
@keyframes f3 {
  0%,
  100% {
    d: path(
      "M16 26 C14 23.5 13.5 21 15 18.5 C15.5 20.5 16.5 20 16 18 C17.5 20 17.5 18.5 16.5 16.5 C18.5 18.5 19 21 17.5 23.5 C17 25 16.5 25.5 16 26Z"
    );
  }
  50% {
    d: path(
      "M16 26 C13.5 23 13 20.5 15 17.5 C15.5 20 16.5 19 16 17 C17.5 19.5 17.5 18 16.5 15.5 C19 18 19.5 21 17.5 23.5 C17 25 16.5 25.5 16 26Z"
    );
  }
}
@keyframes glow-breathe {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.72;
  }
}
@keyframes glow-flicker {
  0%, 100% {
    filter: brightness(1.15);
  }

  50% {
    filter: brightness(1.08);
  }
}
.orichi-f1 {
  animation: f1 0.45s ease-in-out infinite;
}
.orichi-f2 {
  animation: f2 0.38s ease-in-out infinite;
}
.orichi-f3 {
  animation: f3 0.3s ease-in-out infinite;
}
.orichi-glow {
  animation: glow-breathe 0.5s ease-in-out infinite;
}
.orichi-fire-badge {
  animation: glow-flicker 0.9s ease-in-out infinite;
}
.giftBoxLid{
  z-index: 21 !important;
}
.selector-display-none{
  display: none;
}