/** Shopify CDN: Minification failed

Line 1249:0 Comments in CSS use "/* ... */" instead of "//"
Line 1250:0 Comments in CSS use "/* ... */" instead of "//"
Line 1251:0 Comments in CSS use "/* ... */" instead of "//"
Line 1257:12 Expected ":"

**/

.dc{
  --dc-purple:#4B1D7A;
  --dc-purple2:#6B2FA8;
  --dc-gold:#F2A900;
  --dc-red:#D7263D;
  --dc-cream:#FFF8EC;
  --dc-ink:#2B1740;
  background:var(--dc-cream);
  color:var(--dc-ink);
  font-family:inherit;
  overflow:hidden;
  padding-bottom:130px
}
.dc *{box-sizing:border-box}
.dc button{font:inherit}
.dc-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(135deg,var(--dc-purple),var(--dc-purple2));
  color:#fff;
  padding:70px 20px 82px;
  text-align:center
}
.dc-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:auto -10% -100px;
  height:180px;
  background:var(--dc-cream);
  border-radius:50% 50% 0 0
}
.dc-hero-inner{max-width:900px;margin:auto;position:relative;z-index:2}
.dc-eyebrow,.dc-kicker{
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase
}
.dc-eyebrow{color:#fff2cf}
.dc-eyebrow span{color:var(--dc-gold);padding:0 8px}
.dc-hero h1{
  font-size:clamp(36px,6vw,66px);
  line-height:1.04;
  margin:14px 0;
  background:linear-gradient(90deg,#fff0ad,#f2a900,#fff4c7);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-weight:900
}
.dc-subheading{
  font-size:clamp(15px,2vw,19px);
  max-width:670px;
  margin:0 auto;
  color:#fff8ed;
  line-height:1.55
}
.dc-diya{width:58px;height:58px;margin:0 auto 12px}
.dc-diya svg{width:100%;height:100%;overflow:visible}
.dc-flame{
  fill:#ffb21b;
  transform-origin:40px 52px;
  animation:dc-flame 1.1s ease-in-out infinite alternate
}
.dc-flame-core{fill:#fff4bb}
.dc-diya-bowl{fill:#ffd36b}
.dc-steps{
  display:flex;
  justify-content:center;
  gap:12px;
  margin:34px auto 0;
  flex-wrap:wrap
}
.dc-steps div{
  display:flex;
  align-items:center;
  gap:9px;
  background:#ffffff18;
  border:1px solid #ffffff3b;
  padding:10px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:700
}
.dc-steps b{
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  background:var(--dc-gold);
  color:var(--dc-purple);
  font-size:12px
}
.dc-bulbs{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:28px;
  display:flex;
  justify-content:space-around;
  border-top:2px solid #f5d89b55
}
.dc-bulb{
  width:11px;
  height:11px;
  border-radius:50%;
  background:#f2a900;
  box-shadow:0 0 12px currentColor;
  animation:dc-twinkle 1.7s infinite alternate
}
.dc-bulb-1{background:#d7263d;animation-delay:.3s}
.dc-bulb-2{background:#73e99c;animation-delay:.7s}
.dc-bulb-3{background:#65c8ff;animation-delay:1s}
.dc-bulb-4{background:#f2a900;animation-delay:1.3s}
.dc-sparkles i{
  position:absolute;
  bottom:5px;
  left:12%;
  width:6px;
  height:6px;
  background:#ffe7a1;
  transform:rotate(45deg);
  animation:dc-rise 5s linear infinite;
  opacity:0
}
.dc-sparkles i:nth-child(2){left:28%;animation-delay:1s}
.dc-sparkles i:nth-child(3){left:45%;animation-delay:2.1s}
.dc-sparkles i:nth-child(4){left:63%;animation-delay:.5s}
.dc-sparkles i:nth-child(5){left:78%;animation-delay:2.7s}
.dc-sparkles i:nth-child(6){left:90%;animation-delay:1.5s}
.dc-sparkles i:nth-child(7){left:54%;animation-delay:3.5s}
.dc-main{
  max-width:1160px;
  margin:-28px auto 0;
  padding:0 22px;
  position:relative;
  z-index:3
}
.dc-wheel-card,.dc-product-card{
  background:#fff;
  border:1px solid #f0dfc2;
  border-radius:22px;
  box-shadow:0 12px 36px #4b1d7a0b
}
.dc-wheel-card{padding:32px;margin-bottom:76px}
.dc-section-heading{text-align:center;margin-bottom:26px}
.dc-section-heading .dc-kicker{color:var(--dc-red)}
.dc-section-heading h2{
  color:var(--dc-purple);
  font-size:clamp(26px,4vw,38px);
  margin:7px 0 8px;
  line-height:1.15
}
.dc-section-heading p{
  margin:0;
  color:#5c4b66;
  font-size:15px;
  line-height:1.5
}
.dc-wheel-layout{
  display:grid;
  grid-template-columns:minmax(260px,390px) minmax(250px,1fr);
  align-items:center;
  justify-content:center;
  gap:35px;
  max-width:850px;
  margin:auto
}
.dc-wheel-stage{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:25px 15px 0;
  isolation:isolate
}
.dc-wheel-glow{
  position:absolute;
  width:min(76vw,310px);
  aspect-ratio:1;
  border-radius:50%;
  background:conic-gradient(from 0deg,var(--dc-gold),var(--dc-red),var(--dc-purple2),var(--dc-gold));
  filter:blur(13px);
  opacity:.45;
  animation:dc-rotate 8s linear infinite;
  z-index:-1
}
.dc-wheel-frame{
  position:absolute;
  width:min(76vw,320px);
  aspect-ratio:1;
  border:3px solid var(--dc-gold);
  border-radius:50%;
  box-shadow:0 0 0 7px #f2a90022,0 0 30px #f2a90055;
  pointer-events:none;
  z-index:0
}
.dc-wheel{
  position:relative;
  width:min(68vw,280px);
  aspect-ratio:1;
  border:8px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 5px var(--dc-gold),0 10px 30px #4b1d7a33;
  transition:transform 5s cubic-bezier(.12,.72,.12,1);
  z-index:1;
  flex-shrink:0
}
.dc-wheel-label{
  position:absolute;
  left:50%;
  top:50%;
  width:74px;
  text-align:center;
  font-size:clamp(11px,1.6vw,15px);
  font-weight:900;
  color:#fff;
  text-shadow:0 1px 3px #0007;
  transform:rotate(var(--a)) translateY(-88px) rotate(calc(-1 * var(--a)));
  transform-origin:0 0;
  white-space:nowrap;
  line-height:1.1;
  pointer-events:none
}
.dc-wheel-label:nth-child(4n){color:var(--dc-purple)}
.dc-wheel-label-special{
  width:65px;
  font-size:9px;
  letter-spacing:-.3px;
  white-space:normal;
  color:#fff!important;
  text-shadow:0 1px 3px #0009
}
.dc-wheel-hub{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:49px;
  height:49px;
  border-radius:50%;
  background:var(--dc-gold);
  border:5px solid #fff;
  display:grid;
  place-items:center;
  color:var(--dc-purple);
  font-size:24px;
  z-index:2
}
.dc-pointer{
  position:absolute;
  z-index:3;
  top:9px;
  left:50%;
  transform:translateX(-50%);
  width:0;
  height:0;
  border-left:15px solid transparent;
  border-right:15px solid transparent;
  border-top:27px solid var(--dc-red);
  filter:drop-shadow(0 3px 2px #0003)
}
.dc-spin-button,.dc-add-button{
  border:0;
  border-radius:999px;
  background:var(--dc-red);
  color:#fff;
  font-weight:900;
  letter-spacing:.04em;
  padding:15px 26px;
  min-height:50px;
  cursor:pointer;
  box-shadow:0 6px 0 #9f172b,0 10px 20px #d7263d33;
  transition:transform .2s,opacity .2s;
  margin-top:24px
}
.dc-spin-button{
  z-index:2;
  animation:dc-pulse 1.8s infinite;
  font-size:13px;
  max-width:100%
}
.dc-spin-button:hover,.dc-add-button:not(:disabled):hover{transform:translateY(-2px)}
.dc-spin-button:disabled{opacity:.65;cursor:wait;animation:none}
.dc-spin-caption{
  margin:13px 0 0;
  font-size:12px;
  color:#806c89;
  text-align:center
}

/* Desktop teaser frame */
.dc-wheel-promo{
  width:100%;
  max-width:340px;
  justify-self:center;
  animation:dc-promo-enter .7s ease both
}
.dc-promo-frame{
  min-height:350px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px 24px;
  border:2px solid var(--dc-gold);
  border-radius:25px;
  background:
    radial-gradient(circle at 50% 35%,#fff7dc 0,#fff 48%,#f9efff 100%);
  box-shadow:0 12px 35px #4b1d7a14,inset 0 0 0 6px #f2a90012
}
.dc-promo-frame:before,.dc-promo-frame:after{
  content:"✦";
  position:absolute;
  color:var(--dc-gold);
  font-size:24px;
  opacity:.8
}
.dc-promo-frame:before{top:15px;left:17px}
.dc-promo-frame:after{bottom:15px;right:17px}
.dc-promo-top{
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  color:var(--dc-red)
}
.dc-question-mark{
  width:112px;
  height:112px;
  margin:18px auto 15px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:78px;
  line-height:1;
  font-weight:900;
  background:linear-gradient(145deg,var(--dc-purple2),var(--dc-purple));
  border:7px solid #fff;
  box-shadow:0 0 0 3px var(--dc-gold),0 12px 25px #4b1d7a35;
  animation:dc-question-float 2.8s ease-in-out infinite
}
.dc-floating-discount{
  position:absolute;
  z-index:2;
  display:grid;
  place-items:center;
  width:49px;
  height:49px;
  border-radius:50%;
  background:var(--dc-gold);
  color:var(--dc-purple);
  font-size:13px;
  font-weight:1000;
  border:3px solid #fff;
  box-shadow:0 5px 14px #4b1d7a25;
  animation:dc-discount-float 3s ease-in-out infinite
}
.dc-floating-one{top:100px;left:23px;animation-delay:.2s}
.dc-floating-two{top:75px;right:22px;animation-delay:.8s}
.dc-floating-three{bottom:112px;right:28px;animation-delay:1.3s}
.dc-promo-spark{
  position:absolute;
  color:var(--dc-gold);
  font-size:24px;
  animation:dc-spark-rotate 4s linear infinite
}
.dc-promo-spark-one{top:48%;left:20px}
.dc-promo-spark-two{top:43%;right:20px;animation-delay:1s}
.dc-promo-frame h3{
  color:var(--dc-purple);
  font-size:24px;
  line-height:1.2;
  margin:6px 0
}
.dc-promo-frame p{
  color:#65536f;
  font-size:14px;
  line-height:1.5;
  margin:5px 0 17px;
  max-width:250px
}
.dc-promo-callout{
  width:100%;
  border-radius:999px;
  padding:13px 10px;
  background:var(--dc-red);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  box-shadow:0 5px 0 #9f172b
}
.dc-promo-frame small{
  margin-top:16px;
  color:#806c89;
  font-size:11px
}

/* Result and festive fireworks */
.dc-result{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#fff8e8,#fff);
  border:2px dashed var(--dc-gold);
  border-radius:20px;
  padding:27px;
  text-align:center;
  width:100%;
  max-width:380px;
  justify-self:center
}
.dc-result[hidden]{display:none}
.dc-result-show{animation:dc-result-pop .45s ease-out both}
.dc-result h3{
  position:relative;
  z-index:2;
  color:var(--dc-purple);
  font-size:28px;
  line-height:1.2;
  margin:8px 0 18px
}
.dc-result-confetti{
  position:relative;
  z-index:2;
  color:var(--dc-gold);
  font-size:27px
}
.dc-result .dc-kicker,.dc-result-note,.dc-code-row,.dc-apply-link,.dc-festive-signoff{
  position:relative;
  z-index:2
}
.dc-code-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#fff;
  border:1px solid #ead9b8;
  padding:9px;
  border-radius:12px
}
.dc-code-row[hidden]{display:none}
.dc-code-row code{
  font:800 20px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
  color:var(--dc-purple);
  overflow-wrap:anywhere
}
.dc-code-row button{
  border:0;
  border-radius:8px;
  background:var(--dc-purple);
  color:#fff;
  padding:11px 16px;
  font-weight:800;
  min-height:44px;
  cursor:pointer
}
.dc-result-note{
  font-size:14px;
  line-height:1.5;
  color:#5c4b66
}
.dc-apply-link{
  display:inline-block;
  color:var(--dc-red);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px
}
.dc-apply-link[hidden]{display:none}
.dc-festive-signoff{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #f0dfc2;
  font-size:12px;
  line-height:1.5;
  color:var(--dc-purple);
  font-weight:700
}
.dc-festive-signoff span{font-size:19px;vertical-align:middle}
.dc-result-retry h3{color:var(--dc-red)}
.dc-result-festive{
  border-style:solid;
  background:linear-gradient(145deg,#fff8e8,#fff0f2,#f5edff)
}
.dc-fireworks{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden
}
.dc-fireworks span{
  position:absolute;
  color:var(--dc-gold);
  font-size:25px;
  opacity:0;
  animation:dc-firework 2.4s ease-out infinite
}
.dc-fireworks span:nth-child(1){top:15%;left:12%;animation-delay:0s}
.dc-fireworks span:nth-child(2){top:20%;right:13%;animation-delay:.4s;color:var(--dc-red)}
.dc-fireworks span:nth-child(3){top:55%;left:5%;animation-delay:.8s;color:var(--dc-purple2)}
.dc-fireworks span:nth-child(4){top:65%;right:8%;animation-delay:1.2s}
.dc-fireworks span:nth-child(5){top:8%;left:48%;animation-delay:1.6s;color:var(--dc-red)}
.dc-fireworks span:nth-child(6){bottom:8%;left:47%;animation-delay:2s;color:var(--dc-purple2)}
.dc-wheel-footnote{
  text-align:center;
  color:#7a6881;
  font-size:12px;
  margin:18px 0 0
}

/* Combo builder */
.dc-combo{scroll-margin-top:25px}
.dc-combo-heading{margin-bottom:28px}
.dc-product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.dc-product-card{
  padding:14px;
  text-align:center;
  transition:transform .2s,border-color .2s,box-shadow .2s;
  position:relative
}
.dc-product-card.is-selected{
  border:2px solid var(--dc-gold);
  box-shadow:0 0 0 4px #f2a90020,0 12px 28px #4b1d7a14;
  transform:translateY(-3px)
}
.dc-product-image{
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  background:#fffaf1;
  border-radius:14px;
  overflow:hidden;
  position:relative
}
.dc-product-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply
}
.dc-image-placeholder{font-weight:900;color:var(--dc-purple)}
.dc-soldout{
  position:absolute;
  top:8px;
  left:8px;
  background:#2b1740;
  color:#fff;
  padding:5px 8px;
  border-radius:20px;
  font-size:10px
}
.dc-product-card h3{
  font-size:15px;
  line-height:1.35;
  color:var(--dc-ink);
  margin:12px 0 5px;
  min-height:40px
}
.dc-product-price{
  font-weight:800;
  color:var(--dc-purple);
  font-size:14px;
  margin:0 0 10px
}
.dc-stepper{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px
}
.dc-stepper button{
  width:44px;
  height:44px;
  border:1px solid #ead9b8;
  background:#fff8ec;
  color:var(--dc-purple);
  font-size:23px;
  font-weight:700;
  border-radius:50%;
  cursor:pointer
}
.dc-stepper button:disabled{opacity:.35;cursor:not-allowed}
.dc-stepper output{
  min-width:20px;
  font-weight:900;
  font-size:17px;
  color:var(--dc-purple)
}
.dc-empty-collection{
  padding:28px;
  background:#fff;
  border-radius:16px;
  text-align:center
}

/* Sticky combo bar */
.dc-sticky{
  position:fixed;
  z-index:50;
  left:0;
  right:0;
  bottom:0;
  background:var(--dc-purple);
  color:#fff;
  padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 30px #2b174033
}
.dc-sticky-inner{
  max-width:1160px;
  margin:auto;
  display:grid;
  grid-template-columns:auto minmax(90px,1fr) auto;
  align-items:center;
  gap:18px
}
.dc-progress-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  white-space:nowrap
}
.dc-progress-copy strong{font-size:15px}
.dc-progress-copy span{font-size:11px;color:#e6d8f3}
.dc-progress-track{
  height:9px;
  border-radius:20px;
  background:#ffffff32;
  overflow:hidden
}
.dc-progress-track span{
  display:block;
  width:0;
  height:100%;
  background:var(--dc-gold);
  border-radius:20px;
  transition:width .25s
}
.dc-add-button{
  margin:0;
  background:var(--dc-gold);
  color:var(--dc-purple);
  box-shadow:0 4px 0 #bb8100;
  padding:12px 20px;
  min-height:46px;
  white-space:nowrap
}
.dc-add-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.dc-cart-message{
  max-width:1160px;
  margin:5px auto 0;
  color:#ffe6a4;
  font-size:12px
}
.dc-terms{
  max-width:1100px;
  margin:38px auto 0;
  padding:0 22px;
  color:#786b7d;
  font-size:12px;
  line-height:1.6
}
.dc-terms p{margin:0}

/* Animations */
@keyframes dc-twinkle{
  from{opacity:.45;transform:scale(.8)}
  to{opacity:1;transform:scale(1.15)}
}
@keyframes dc-flame{
  from{transform:scale(.92) rotate(-3deg)}
  to{transform:scale(1.05) rotate(3deg)}
}
@keyframes dc-rise{
  0%{opacity:0;transform:translateY(0) rotate(45deg)}
  15%{opacity:1}
  100%{opacity:0;transform:translateY(-180px) rotate(225deg)}
}
@keyframes dc-rotate{to{transform:rotate(360deg)}}
@keyframes dc-result-pop{
  0%{opacity:0;transform:scale(.92)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes dc-pulse{
  0%,100%{box-shadow:0 6px 0 #9f172b,0 10px 20px #d7263d33}
  50%{box-shadow:0 6px 0 #9f172b,0 10px 27px #d7263d88}
}
@keyframes dc-question-float{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  50%{transform:translateY(-10px) rotate(4deg)}
}
@keyframes dc-discount-float{
  0%,100%{transform:translateY(0) rotate(-7deg)}
  50%{transform:translateY(-9px) rotate(8deg)}
}
@keyframes dc-spark-rotate{
  0%{transform:rotate(0) scale(.8);opacity:.5}
  50%{transform:rotate(180deg) scale(1.2);opacity:1}
  100%{transform:rotate(360deg) scale(.8);opacity:.5}
}
@keyframes dc-promo-enter{
  from{opacity:0;transform:translateY(15px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes dc-firework{
  0%{opacity:0;transform:scale(.2) rotate(0)}
  25%{opacity:1;transform:scale(1.3) rotate(40deg)}
  65%{opacity:.9;transform:scale(1) rotate(90deg)}
  100%{opacity:0;transform:scale(.3) rotate(150deg)}
}

/* Tablet */
@media(max-width:800px){
  .dc-wheel-layout{
    grid-template-columns:1fr;
    gap:25px
  }
  .dc-wheel-promo,.dc-result{
    max-width:500px;
    margin:auto;
    width:100%
  }
  .dc-promo-frame{min-height:310px}
  .dc-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
  }
  .dc-product-card{padding:10px}
  .dc-main{padding:0 15px}
  .dc-wheel-card{padding:25px 17px;margin-bottom:55px}
}

/* Mobile */
@media(max-width:560px){
  .dc{padding-bottom:125px}
  .dc-hero{padding:55px 17px 70px}
  .dc-hero h1{font-size:39px}
  .dc-subheading{font-size:15px}
  .dc-steps{gap:7px;margin-top:24px}
  .dc-steps div{font-size:11px;padding:8px 10px}
  .dc-steps b{width:23px;height:23px}
  .dc-main{margin-top:-24px;padding:0 12px}
  .dc-wheel-card{
    border-radius:18px;
    padding:22px 13px;
    margin-bottom:48px
  }
  .dc-section-heading h2{font-size:27px}
  .dc-section-heading p{font-size:13px}
  .dc-wheel{width:min(68vw,250px)}
  .dc-wheel-frame{width:min(76vw,282px)}
  .dc-wheel-label{
    transform:rotate(var(--a)) translateY(-78px) rotate(calc(-1 * var(--a)));
    font-size:12px
  }
  .dc-wheel-label-special{
    width:57px;
    font-size:8px
  }
  .dc-wheel-hub{width:43px;height:43px}
  .dc-pointer{top:10px}
  .dc-spin-button{
    font-size:11px;
    padding:14px 17px;
    letter-spacing:.02em
  }
  .dc-promo-frame{
    min-height:290px;
    padding:22px 18px
  }
  .dc-question-mark{width:94px;height:94px;font-size:65px}
  .dc-floating-one{top:85px;left:17px}
  .dc-floating-two{top:65px;right:17px}
  .dc-floating-three{bottom:100px;right:18px}
  .dc-result{padding:20px 14px}
  .dc-result h3{font-size:24px}
  .dc-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .dc-product-card{padding:9px;border-radius:16px}
  .dc-product-card h3{font-size:13px;min-height:35px}
  .dc-product-price{font-size:13px}
  .dc-stepper{gap:11px}
  .dc-stepper button{width:44px;height:44px}
  .dc-sticky{
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))
  }
  .dc-sticky-inner{
    grid-template-columns:1fr auto;
    gap:9px 12px
  }
  .dc-progress-copy{grid-column:1}
  .dc-progress-copy strong{font-size:13px}
  .dc-progress-copy span{font-size:10px}
  .dc-progress-track{grid-column:1;grid-row:2}
  .dc-add-button{
    grid-column:2;
    grid-row:1/3;
    font-size:12px;
    padding:11px 13px;
    min-height:48px
  }
  .dc-cart-message{font-size:11px}
  .dc-terms{margin-top:28px;padding:0 14px}
}

/* Accessibility */
@media(prefers-reduced-motion:reduce){
  .dc *, .dc *:before,.dc *:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important
  }
}

/* ==========================================
   SHADANI DIWALI WHEEL - SEGMENT + MYSTERY FIX
   ========================================== */

.dc-wheel-stage{
  padding-top:30px;
}

.dc-wheel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-color:#6B2FA8;
  border:9px solid #fff;
  outline:5px solid var(--dc-gold);
  box-shadow:
    0 0 0 12px #f2a90020,
    0 15px 35px #4b1d7a30;
}

.dc-wheel:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid #ffffffb8;
  pointer-events:none;
  z-index:3;
}

.dc-wheel-label{
  position:absolute;
  left:50%;
  top:50%;
  width:78px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:
    translate(-50%,-50%)
    rotate(var(--a))
    translateY(-91px)
    rotate(calc(-1 * var(--a)));
  transform-origin:center;
  color:#fff;
  font-size:13px;
  line-height:1.1;
  font-weight:900;
  text-shadow:0 2px 4px #32133e80;
  z-index:2;
  pointer-events:none;
}

.dc-wheel-label-special{
  width:67px;
  font-size:9px;
  white-space:normal;
}

.dc-wheel-label-hidden .dc-prize-real{
  display:none;
}

.dc-wheel-label-hidden .dc-mystery-icon{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border-radius:50%;
  color:var(--dc-purple);
  background:linear-gradient(145deg,#fff7d6,#f2a900);
  border:2px solid #fff;
  box-shadow:0 3px 10px #32133e55;
  font-size:17px;
  font-weight:1000;
  text-shadow:none;
  animation:dc-mystery-pulse 1.8s ease-in-out infinite;
}

.dc-wheel-label-winner{
  z-index:4;
}

.dc-wheel-label-winner .dc-mystery-icon{
  display:none;
}

.dc-wheel-label-winner .dc-prize-real{
  display:block;
  padding:5px 7px;
  border-radius:8px;
  background:#fff;
  color:var(--dc-purple);
  font-size:12px;
  box-shadow:0 3px 12px #32133e55;
  text-shadow:none;
  animation:dc-prize-reveal .45s ease both;
}

.dc-wheel-label-winner.dc-wheel-label-special .dc-prize-real{
  font-size:9px;
}

.dc-wheel-hub{
  border:5px solid #fff;
  box-shadow:0 0 0 3px var(--dc-gold),0 5px 12px #32133e55;
}

.dc-pointer{
  top:11px;
  border-top-color:var(--dc-red);
  filter:drop-shadow(0 3px 3px #0005);
}

.dc-wheel-frame{
  width:min(76vw,320px);
  border:3px solid var(--dc-gold);
  box-shadow:0 0 0 7px #f2a90020,0 0 30px #f2a90055;
}

.dc-spin-button{
  position:relative;
  z-index:5;
  min-width:260px;
  min-height:58px;
  padding:16px 25px;
  background:linear-gradient(180deg,#e72b46,#c91e37);
  border-radius:999px;
  box-shadow:0 7px 0 #98152b,0 13px 25px #d7263d35;
  font-size:14px;
}

.dc-spin-button:disabled{
  cursor:not-allowed;
  opacity:.6;
  animation:none;
}

.dc-wheel-promo[hidden],
.dc-result[hidden]{
  display:none!important;
}

@keyframes dc-mystery-pulse{
  0%,100%{transform:scale(.92);box-shadow:0 3px 8px #32133e35}
  50%{transform:scale(1.08);box-shadow:0 3px 15px #f2a900a0}
}

@keyframes dc-prize-reveal{
  0%{opacity:0;transform:scale(.5) rotate(-12deg)}
  75%{opacity:1;transform:scale(1.12) rotate(3deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}

@media(max-width:560px){
  .dc-wheel{
    width:min(68vw,250px);
  }

  .dc-wheel-label{
    width:65px;
    transform:
      translate(-50%,-50%)
      rotate(var(--a))
      translateY(-79px)
      rotate(calc(-1 * var(--a)));
    font-size:11px;
  }

  .dc-wheel-label-special{
    width:57px;
    font-size:8px;
  }

  .dc-wheel-label-winner .dc-prize-real{
    font-size:10px;
  }

  .dc-wheel-label-winner.dc-wheel-label-special .dc-prize-real{
    font-size:8px;
  }

  .dc-spin-button{
    min-width:0;
    width:90%;
    font-size:11px;
    padding:14px 10px;
  }
}

/* =========================================
   SHADANI DIWALI WHEEL - FINAL VISUAL FIX
========================================= */

.dc .dc-wheel {
  position: relative !important;
  display: block !important;
  width: min(78vw, 360px) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  border: 8px solid #ffffff !important;
  border-radius: 50% !important;
  outline: 5px solid var(--dc-gold) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  isolation: isolate !important;
  transform: rotate(0deg);
  transition: transform 5.8s cubic-bezier(.12,.72,.12,1);
  box-shadow:
    0 0 0 12px #f2a90020,
    0 14px 35px #4b1d7a35,
    0 0 35px #f2a90050 !important;
}

.dc .dc-wheel-label {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 78px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  transform:
    translate(-50%, -50%)
    rotate(var(--a))
    translateY(-112px)
    rotate(calc(-1 * var(--a))) !important;
  transform-origin: center !important;
  z-index: 2 !important;
  pointer-events: none !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  white-space: normal !important;
}

.dc .dc-prize-real {
  display: block !important;
  padding: 5px 7px !important;
  border-radius: 7px !important;
  background: #ffffff30 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 5px #32133e80 !important;
  filter: blur(3px) !important;
  opacity: .8 !important;
  transition: filter .5s ease, opacity .5s ease, background .5s ease !important;
}

.dc .dc-wheel-label-hidden .dc-prize-real {
  filter: blur(3px) !important;
  opacity: .8 !important;
}

.dc .dc-wheel-label-winner {
  z-index: 6 !important;
}

.dc .dc-wheel-label-winner .dc-prize-real {
  filter: blur(0) !important;
  opacity: 1 !important;
  color: var(--dc-purple) !important;
  background: #ffffff !important;
  text-shadow: none !important;
  box-shadow: 0 3px 12px #32133e55 !important;
  transform: scale(1.12);
}

.dc .dc-wheel-label-winner.dc-wheel-label-special .dc-prize-real {
  font-size: 10px !important;
}

.dc .dc-wheel-label-special {
  width: 70px !important;
  font-size: 10px !important;
}

.dc .dc-wheel-hub {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 8 !important;
  width: 58px !important;
  height: 58px !important;
  display: grid !important;
  place-items: center !important;
  border: 5px solid #ffffff !important;
  border-radius: 50% !important;
  background: var(--dc-gold) !important;
  color: var(--dc-purple) !important;
  font-size: 25px !important;
  box-shadow: 0 0 0 3px #f2a900, 0 5px 12px #32133e55 !important;
}

.dc .dc-wheel-stage {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.dc .dc-pointer {
  z-index: 10 !important;
}

.dc .dc-spin-button {
  position: relative !important;
  z-index: 11 !important;
  margin-top: 28px !important;
}

.dc .dc-wheel-label-winner .dc-prize-real {
  animation: dc-wheel-reveal .45s ease both;
}

@keyframes dc-wheel-reveal {
  0% {
    opacity: 0;
    transform: scale(.65);
  }
  75% {
    opacity: 1;
    transform: scale(1.18);
  }
  100% {
    opacity: 1;
    transform: scale(1.12);
  }
}

@media(max-width: 560px) {
  .dc .dc-wheel {
    width: min(78vw, 290px) !important;
  }

  .dc .dc-wheel-label {
    transform:
      translate(-50%, -50%)
      rotate(var(--a))
      translateY(-88px)
      rotate(calc(-1 * var(--a))) !important;
    width: 66px !important;
    font-size: 11px !important;
  }

  .dc .dc-wheel-label-special {
    width: 58px !important;
    font-size: 9px !important;
  }

  .dc .dc-wheel-hub {
    width: 49px !important;
    height: 49px !important;
  }
}

/* =========================================
   DIWALI WHEEL - REMOVE DUPLICATE BACK FRAME
========================================= */

/* Remove the extra circle behind the main wheel */
.dc .dc-wheel-frame {
  display: none !important;
  visibility: hidden !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Remove any extra circular glow outline */
.dc .dc-wheel-glow {
  display: none !important;
}

/* Keep only one clean, attractive wheel */
.dc .dc-wheel {
  border: 8px solid #ffffff !important;
  outline: 4px solid var(--dc-gold) !important;
  outline-offset: 0 !important;

  box-shadow:
    0 8px 22px rgba(75, 29, 122, 0.18),
    0 12px 30px rgba(242, 169, 0, 0.16) !important;
}

/* Keep the wheel hub neat */
.dc .dc-wheel-hub {
  box-shadow:
    0 0 0 3px var(--dc-gold),
    0 4px 12px rgba(43, 23, 64, 0.25) !important;
}

/* Clean pointer */
.dc .dc-pointer {
  filter: drop-shadow(0 2px 3px rgba(0,0,0,0.18)) !important;
}

/* Avoid extra shadows around wheel stage */
.dc .dc-wheel-stage {
  filter: none !important;
}

// =====================================
// COUPON COPY BUTTON
// =====================================

const copyButton = root.querySelector('[data-copy]');
const couponElement = root.querySelector('[data-result-code]');

if (copyButton && couponElement) {
  copyButton.addEventListener('click', async () => {
    const coupon = couponElement.textContent.trim();

    if (!coupon) return;

    const originalText = 'COPY';

    async function fallbackCopy(text) {
      const textarea = document.createElement('textarea');
      textarea.value = text;
      textarea.setAttribute('readonly', '');
      textarea.style.position = 'fixed';
      textarea.style.opacity = '0';
      textarea.style.pointerEvents = 'none';

      document.body.appendChild(textarea);
      textarea.select();
      textarea.setSelectionRange(0, textarea.value.length);

      let successful = false;

      try {
        successful = document.execCommand('copy');
      } catch (error) {
        successful = false;
      }

      textarea.remove();
      return successful;
    }

    let copied = false;

    try {
      if (navigator.clipboard && window.isSecureContext) {
        await navigator.clipboard.writeText(coupon);
        copied = true;
      } else {
        copied = await fallbackCopy(coupon);
      }
    } catch (error) {
      copied = await fallbackCopy(coupon);
    }

    if (copied) {
      copyButton.textContent = 'COPIED!';
      copyButton.classList.add('dc-copy-success');
    } else {
      copyButton.textContent = 'SELECT CODE';
      copyButton.classList.remove('dc-copy-success');
    }

    window.setTimeout(() => {
      copyButton.textContent = originalText;
      copyButton.classList.remove('dc-copy-success');
    }, 2200);
  });
}
