/* Scoped to the Black Friday sample draw. */
.bf-wheel-preview {
  --coal: #111110;
  --cream: #f9f5eb;
  --gold: #f4cf80;
  color: var(--cream);
  background: radial-gradient(ellipse at 75% 43%, #292720, #161615 43%, var(--coal) 78%);
  padding: clamp(24px, 4vw, 64px) clamp(18px, 5vw, 80px);
}
.bf-wheel-preview * { box-sizing: border-box; }
.bf-wheel-shell {
  max-width: 1120px;
  margin: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "back back" "intro dial" "controls dial" "odds odds";
  gap: 24px clamp(36px, 7vw, 110px);
  align-content: center;
}
.bf-wheel-preview .bf-back {
  grid-area: back;
  justify-self: start;
  color: #dbd6ca;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.bf-wheel-intro { grid-area: intro; align-self: end; }
.bf-wheel-preview p, .bf-wheel-preview h1 { margin: 0; }
.bf-wheel-preview .bf-eyebrow {
  color: var(--gold);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: .14em;
  font-weight: 700;
}
.bf-wheel-preview h1 {
  color: var(--cream);
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(48px, 6vw, 80px);
  line-height: 1.02;
  letter-spacing: -.045em;
  margin: 9px 0 14px;
}
.bf-wheel-preview h1 em { color: var(--gold); font-style: normal; }
.bf-wheel-intro p:last-child { max-width: 39ch; color: #e0ddd5; font-size: 16px; line-height: 1.5; }
.bf-wheel-controls { grid-area: controls; max-width: 390px; width: 100%; align-self: start; }
.bf-wheel-controls label { display: block; font-weight: 650; font-size: 14px; margin-bottom: 6px; }
.bf-wheel-controls select, .bf-wheel-controls button {
  font: inherit;
  font-size: 16px;
  width: 100%;
  border-radius: 7px;
  min-height: 46px;
  padding: 10px 14px;
}
.bf-wheel-controls select { background: #252524; color: var(--cream); border: 1px solid #928d80; color-scheme: dark; }
.bf-wheel-controls button {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--gold);
  color: var(--coal);
  font-weight: 750;
  border: 0;
  margin: 10px 0 12px;
  cursor: pointer;
}
.bf-wheel-controls button:enabled:hover { background: #ffe1a3; }
.bf-wheel-controls button:disabled { color: #c9c4b9; background: #383834; cursor: default; }
.bf-wheel-preview :focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.bf-wheel-controls [data-result] { color: var(--cream); font-weight: 600; font-size: 15px; line-height: 1.45; }
.bf-wheel-preview .bf-wheel-note { color: #c4beb3; font-size: 13px; margin-top: 6px; }
.bf-wheel-preview .bf-dial-box {
  grid-area: dial;
  width: min(100%, 420px);
  aspect-ratio: 1;
  position: relative;
  place-self: center;
  border: 1px solid #74623e;
  border-radius: 50%;
  box-shadow: 0 0 0 5px #ffffff06, 0 14px 38px #0005;
}
.bf-wheel-preview .bf-dial {
  position: absolute;
  inset: 2%;
  overflow: hidden;
  border: 4px solid var(--gold);
  border-radius: 50%;
  background: repeating-conic-gradient(#33322f 0deg 59.7deg, #ebd6a8 59.7deg 60deg, #c3a76e 60deg 119.7deg, #ebd6a8 119.7deg 120deg);
  transform: rotate(var(--spin-angle, 0deg));
  transition: transform 2.4s cubic-bezier(.18,.65,.16,1);
}
.bf-wheel-preview .bf-dial > span {
  --angle: calc(var(--slot) * 60deg + 30deg);
  position: absolute;
  inset: 0;
  text-align: center;
  transform: rotate(var(--angle));
  padding-top: 12%;
  color: white;
  font-size: clamp(14px, 1.35vw, 19px);
  line-height: 1.1;
  font-weight: 700;
}
.bf-wheel-preview .bf-dial > span:nth-child(even) { color: #131312; }
.bf-wheel-preview .bf-dial b {
  display: inline-block;
  transform: rotate(calc(0deg - var(--angle) - var(--spin-angle, 0deg)));
  transition: transform 2.4s cubic-bezier(.18,.65,.16,1);
}
.bf-wheel-preview .bf-pointer {
  display: block;
  position: absolute;
  z-index: 2;
  left: 50%;
  top: -4px;
  transform: translateX(-50%);
  border: 12px solid transparent;
  border-top: 26px solid var(--cream);
  border-bottom: 0;
  filter: drop-shadow(0 2px 2px #0007);
}
.bf-wheel-preview .bf-hub {
  position: absolute;
  inset: 36%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 2px solid var(--gold);
  background: var(--coal);
  color: var(--gold);
  font: 800 clamp(22px, 3.2vw, 44px)/1 Arial, Helvetica, sans-serif;
}
.bf-wheel-odds { grid-area: odds; border-top: 1px solid #554f42; padding-top: 16px; }
.bf-wheel-odds summary { display: flex; align-items: center; gap: 16px; width: fit-content; cursor: pointer; font-size: 15px; font-weight: 650; }
.bf-wheel-odds summary::after { content: "+"; color: var(--gold); }
.bf-wheel-odds[open] summary::after { content: "−"; }
.bf-wheel-odds ol { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.bf-wheel-odds li { display: flex; align-items: baseline; gap: 10px; border-bottom: 1px solid #403e39; padding: 6px 0; }
.bf-wheel-odds li b { display: none; }
.bf-wheel-odds li small { margin-inline-start: auto; color: var(--gold); }
@media (max-width: 749px) {
  .bf-wheel-preview { padding: 14px 18px 24px; }
  .bf-wheel-shell { grid-template-columns: 1fr; grid-template-areas: "back" "intro" "dial" "controls" "odds"; gap: 12px; }
  .bf-wheel-preview h1 { font-size: clamp(35px, 9vw, 48px); margin: 3px 0 6px; }
  .bf-wheel-intro p:last-child { font-size: 14px; }
  .bf-wheel-preview .bf-dial-box { width: min(61vw, 260px); margin: 4px 0; }
  .bf-wheel-preview .bf-dial > span { font-size: clamp(10px, 2.8vw, 14px); }
  .bf-wheel-controls { max-width: none; }
  .bf-wheel-controls button { margin: 6px 0; }
  .bf-wheel-odds ol { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .bf-wheel-preview .bf-dial, .bf-wheel-preview .bf-dial b { transition: none; }
}

.bf-wheel-preview{min-height:64vh;font-family:Arial,Helvetica,sans-serif}
.bf-wheel-preview h1{font-weight:850;letter-spacing:-.07em;font-size:clamp(54px,6.9vw,104px)}
.bf-wheel-preview .bf-dial-box{width:min(100%,460px)}.bf-wheel-controls [data-result]:not(:empty){margin-top:12px}
.bf-wheel-controls button{border-radius:4px}.bf-wheel-preview .bf-wheel-note{margin-bottom:0}
@media(max-width:749px){.bf-wheel-preview{min-height:0;padding:20px 16px 28px}.bf-wheel-preview .bf-dial-box{width:min(71vw,286px);margin:8px auto}.bf-wheel-preview h1{font-size:clamp(44px,10vw,65px)}}

.bf-wheel-preview.bf-restore-result .bf-dial,.bf-wheel-preview.bf-restore-result .bf-dial b{transition:none}

.df-preview [hidden]{display:none!important}
.df-preview{font-family:Arial,Helvetica,sans-serif}
.df-preview .bf-wheel-shell{max-width:1120px;gap:22px 60px}
.df-preview h1{font-size:clamp(42px,5.5vw,76px);line-height:1.06}
.df-preview .bf-wheel-intro .df-preview-note{font-size:12px;line-height:1.6;color:#c6c1b6;border-left:2px solid var(--gold);padding-left:12px;margin-top:18px;max-width:52ch}
.df-preview .bf-wheel-controls{max-width:460px}
.df-preview .bf-wheel-controls [data-result]{font-size:18px;line-height:1.5;margin:14px 0}
.df-steps{display:flex;gap:16px;flex-wrap:wrap;color:#aaa69e;font-size:12px;margin-bottom:16px}
.df-steps .is-current{color:var(--gold);font-weight:bold}
.df-preview .bf-wheel-controls button{border-radius:4px;justify-content:center;text-align:center}
.df-preview .bf-wheel-controls button:disabled{opacity:.5;cursor:default}
.df-preview [data-size-panel] button{margin-top:12px}
.df-choose{display:block;padding:13px 18px;background:var(--gold);color:#111!important;font-weight:700;text-align:center;border-radius:4px;text-decoration:none}
.df-preview .df-error{color:#ffcfbf!important;font-size:14px!important}
.df-preview button.df-reload{background:transparent;border:1px solid #8d887e;color:#f9f5eb}
.df-shopping,.df-confirmation,.df-register{max-width:1120px;margin:48px auto 0}
.df-shopping{border-top:1px solid #5c5647;padding-top:36px;scroll-margin-top:30px}
.df-preview h2{font-size:clamp(27px,3vw,38px);line-height:1.15;color:var(--cream);letter-spacing:-.025em;margin:10px 0}
.df-preview h3{font-size:19px;color:var(--cream);margin:0 0 18px}
.df-shop-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}
.df-preview [data-gift]{border:1px solid #8c784e;padding:12px 18px;border-radius:4px;font-weight:700;color:var(--gold)}
.df-preview p.df-simulation{font-size:13px;color:#b9b4a7;margin:12px 0 24px}
.df-shop-grid{display:grid;grid-template-columns:1fr 360px;gap:32px}
.df-products{display:grid;gap:12px;align-content:start}
.df-product{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;padding:18px;background:#24231f;border:1px solid #3e3a30;border-radius:6px}
.df-product svg{width:60px;height:60px;color:var(--gold)}
.df-product strong{display:block;font-size:17px}
.df-product small{display:block;color:#d3cec2;font-size:15px;margin-top:7px}
.df-quantity{display:flex;align-items:center;gap:8px}
.df-quantity button{width:36px;height:38px;border:1px solid #92846b;background:transparent;color:var(--cream);font-size:21px;border-radius:4px;cursor:pointer}
.df-quantity output{min-width:18px;text-align:center;font-size:16px}
.df-preview button:disabled{opacity:.45;cursor:default}
.df-preview button:focus-visible,.df-preview a:focus-visible,.df-preview select:focus-visible{outline:3px solid #f4cf80;outline-offset:4px}
.df-summary{background:#f9f5eb;color:#171717;border-radius:6px;padding:24px}
.df-summary h3{color:#171717}.df-summary dl{margin:0}
.df-summary dl>div{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.5;margin:10px 0}
.df-summary dd{margin:0;white-space:nowrap}
.df-summary .df-subtotal{font-weight:bold;border-top:1px solid #d8d0be;padding-top:12px;font-size:16px}
.df-summary label{display:block;font-size:13px;margin:18px 0 6px;font-weight:bold}
.df-summary select{width:100%;font:inherit;font-size:15px;min-height:44px;background:white;color:#171717;border:1px solid #c6bca7;border-radius:4px;padding:8px}
.df-progress{margin:20px 0}.df-progress progress{width:100%;height:10px;accent-color:#876316;border:0;border-radius:5px;overflow:hidden}
.df-progress progress::-webkit-progress-bar{background:#e2dacb}.df-progress progress::-webkit-progress-value{background:#876316}
.df-progress p{margin-top:10px;font-size:15px;font-weight:bold;line-height:1.5}
.df-summary button{background:#171717;color:#fff;border:0;border-radius:4px;font:inherit;font-weight:bold;width:100%;min-height:48px;margin-top:20px;padding:12px;cursor:pointer}
.df-summary [data-checkout-result]{font-size:14px;line-height:1.55;margin-top:14px}
.df-confirmation{padding:30px;border:1px solid #bca36b;border-radius:6px;background:#24231f;scroll-margin-top:30px}
.df-confirmation p{margin:12px 0;line-height:1.6}
.df-confirmation [data-confirmed-gift]{font-size:22px;font-weight:bold;color:var(--gold)}
.df-confirmation [data-confirmed-order]{font-size:14px;overflow-wrap:anywhere}
.df-secondary{background:transparent;color:var(--cream);border:1px solid #c0ab80;padding:12px 18px;border-radius:4px;cursor:pointer;font:inherit}
.df-register{border-top:1px solid #48443a;padding-top:20px;font-size:13px;color:#bcb6a9}
.df-register summary{cursor:pointer}.df-register p{margin-top:12px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:749px){
 .df-preview{padding:24px 16px 36px}.df-preview .bf-wheel-shell{gap:18px}
 .df-preview h1{font-size:42px}.df-preview .bf-dial-box{width:min(70vw,280px)}
 .df-preview .bf-wheel-intro .df-preview-note{margin-top:12px}
 .df-shopping{margin-top:32px;padding-top:28px}.df-shop-heading{display:block}.df-preview [data-gift]{margin-top:16px}
 .df-shop-grid{grid-template-columns:1fr;gap:20px}.df-product{padding:14px 12px;gap:10px;grid-template-columns:44px 1fr auto}
 .df-product svg{width:42px;height:42px}.df-product strong{font-size:15px}.df-quantity{gap:5px}
 .df-summary{padding:20px}.df-confirmation{padding:22px}.df-steps{gap:12px;font-size:11px}
}

.ge-prize-gallery{max-width:1120px;margin:48px auto 0;padding-top:28px;border-top:1px solid #4c4737}
.ge-prize-gallery__heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.ge-prize-gallery__heading h2{font-size:clamp(28px,3vw,36px);line-height:1.05;margin:0;color:#fff;letter-spacing:-1px}
.ge-prize-gallery__heading p:not(.bf-eyebrow){font-size:13px;line-height:1.5;color:#d4cfc0;margin:10px 0 0}
.ge-prize-gallery__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ge-prize-gallery article{min-width:0}
.ge-prize-gallery__image{aspect-ratio:1/1;background:#eeeae0;overflow:hidden;border-radius:4px}
.ge-prize-gallery__image img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.ge-prize-gallery h3{color:#f3d188;font-size:14px;font-weight:700;line-height:1.35;margin:12px 0 0}
.ge-prize-gallery__coupon .ge-prize-gallery__image{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#cfaf69;color:#14140f;text-align:center}
.ge-prize-gallery__coupon .ge-prize-gallery__image>span{font-size:8px;letter-spacing:.5px;font-weight:700}
.ge-prize-gallery__coupon strong{font-size:60px;line-height:1.1;letter-spacing:-3px;margin-top:10px}
.ge-prize-gallery__coupon strong span{font-size:.5em;letter-spacing:-1px}
.ge-prize-gallery__coupon b{font-size:19px;line-height:1}
.ge-prize-gallery__toggle{display:none}
@media(max-width:749px){
 .ge-prize-gallery{margin-top:32px;padding-top:24px;min-width:0}
 .ge-prize-gallery__heading{align-items:center;gap:12px}
 .ge-prize-gallery__heading h2{font-size:27px}
 .ge-prize-gallery__heading .bf-eyebrow{font-size:10px}
 .ge-prize-gallery__grid{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:8px;touch-action:pan-x pan-y}
 .ge-prize-gallery__grid::-webkit-scrollbar{display:none}
 .ge-prize-gallery article{flex:0 0 146px}
 .ge-prize-gallery h3{font-size:13px;margin-top:10px}
 [data-guest-email] .ge-prize-gallery__toggle{display:block;flex:0 0 auto;width:auto;min-height:44px;padding:8px 12px;border:1px solid #8c7e5d;border-radius:4px;background:transparent;color:#f3d188;font:600 12px Arial,sans-serif;cursor:pointer}
 .ge-prize-gallery__toggle:focus-visible,.ge-prize-gallery__grid:focus-visible{outline:2px solid #f3d188;outline-offset:3px}
}

[data-guest-email] form label{display:block;margin:14px 0 6px}[data-guest-email] form input,[data-guest-email] form select{box-sizing:border-box;width:100%;min-height:44px;padding:10px;font:inherit;border:1px solid #96866a;border-radius:4px}[data-guest-email] form button,[data-refresh]{margin-top:14px}[data-mail-status]{font-size:13px!important;line-height:1.5!important}
[data-coupon-code]{box-sizing:border-box;width:100%;padding:16px;margin:12px 0 20px;border:1px solid #c3a76e;background:#171713;color:#f3d07d;font:600 16px monospace}[data-coupon-issue]{min-height:44px;padding:12px 20px;background:#efd18a;color:#111;border:0;font:700 15px inherit}[data-guest-email] [hidden]{display:none!important}
.bf-wheel-preview.bf-embedded{scroll-margin-top:100px;padding-top:40px;padding-bottom:40px;min-height:0}
.bf-embedded .bf-wheel-shell{grid-template-areas:"intro dial" "controls dial";gap:14px 60px}
.bf-embedded .bf-wheel-intro h2{color:var(--cream);font:700 clamp(36px,4.4vw,60px)/1.06 Arial,Helvetica,sans-serif;letter-spacing:-.045em;margin:0 0 12px}
.bf-embedded .bf-wheel-intro h2 em{color:var(--gold);font-style:normal}
.bf-embedded .bf-dial-box{width:min(100%,340px)}
.bf-embedded .bf-hub{font-size:32px;white-space:nowrap;word-break:normal}
.bf-embedded[data-has-prize="true"] [data-spin]{display:none}
.bf-embedded .ge-prize-gallery{margin-top:28px;padding-top:24px}
.bf-embedded .ge-prize-gallery__heading .bf-eyebrow{display:none}
.bf-embedded .ge-prize-gallery__heading h2{font-size:26px;margin:0}
.bf-embedded .df-register{margin-top:24px;padding-top:14px}
.bf-embedded .df-register [data-refresh]{min-height:40px;padding:8px 12px;border-radius:4px;font:600 12px Arial,sans-serif;cursor:pointer}
.bf-embedded .df-confirmation{margin-top:24px;padding:20px}
@media(max-width:749px){
 .bf-wheel-preview.bf-embedded{padding:24px 16px 28px;scroll-margin-top:72px}
 .bf-embedded .bf-wheel-shell{grid-template-areas:"intro" "dial" "controls";gap:12px}
 .bf-embedded .bf-wheel-intro h2{font-size:34px;margin-bottom:8px}
 .bf-embedded .bf-wheel-intro p:last-child{font-size:13px;max-width:none;line-height:1.45}
 .bf-embedded .bf-dial-box{width:210px;margin:4px auto}
 .bf-embedded .bf-dial>span{font-size:11px}
 .bf-embedded .bf-hub{font-size:25px}
 .bf-embedded .bf-wheel-controls [data-result]{font-size:14px;line-height:1.4;margin:4px 0 10px}
 .bf-embedded [data-save-form]{display:grid;grid-template-columns:78px minmax(0,1fr);gap:0 10px;align-items:end}
 .bf-embedded [data-save-form]>button,.bf-embedded [data-save-form]>p{grid-column:1/-1}
 .bf-embedded [data-save-form]:has([data-size-field][hidden]) .ge-email-field{grid-column:1/-1}
 .bf-embedded form label{font-size:12px;margin:0 0 5px}
 .bf-embedded form input,.bf-embedded form select{font-size:14px;padding:8px;min-height:42px}
 .bf-embedded form button{font-size:14px;min-height:42px;margin-top:10px}
 .bf-embedded [data-mail-status]{font-size:11px!important;line-height:1.4!important}
 .bf-embedded [data-code-form]{margin-top:12px}
 .bf-embedded .ge-prize-gallery{margin-top:22px;padding-top:18px}
 .bf-embedded .ge-prize-gallery__heading{margin-bottom:12px}
 .bf-embedded .ge-prize-gallery__heading h2{font-size:22px}
 .bf-embedded .ge-prize-gallery__heading p:not(.bf-eyebrow){font-size:11px;margin-top:6px}
 .bf-embedded .ge-prize-gallery article{flex-basis:128px}
 .bf-embedded .ge-prize-gallery h3{font-size:12px;margin-top:8px}
 .bf-embedded .df-confirmation h2{font-size:23px}
 .bf-embedded .df-confirmation p{font-size:13px}
}
