/* Final customer delivery pass. Loaded after style.css to avoid legacy cascade conflicts. */

body.home .kf-home-categories .kf-container {
  display: block !important;
  width: min(1360px, calc(100% - 48px)) !important;
  padding: 0 !important;
}

/* Reference-style replay wheel final lock */
body.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: min(520px, 88vw);
  --kf-label-radius: calc(var(--kf-wheel-size) * .305);
  --kf-pin-top: clamp(212px, 29vw, 248px);
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: min(calc(100vw - 32px), 760px) !important;
  min-width: min(calc(100vw - 32px), 760px) !important;
  margin-inline: auto !important;
  padding: clamp(24px, 4vw, 42px) clamp(14px, 4vw, 44px) clamp(28px, 4vw, 42px) !important;
  overflow: hidden !important;
  border: 1px solid #dce8f1 !important;
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 89% 10%, rgba(6, 38, 85, .14) 0 3px, transparent 3.4px) 0 0 / 18px 18px,
    linear-gradient(180deg, #ffffff 0%, #f8fbff 52%, #ffffff 100%) !important;
  box-shadow: 0 24px 60px rgba(6, 24, 44, .12), 0 2px 8px rgba(6, 24, 44, .06) !important;
  gap: clamp(16px, 3vw, 24px) !important;
  text-align: center !important;
}

body.woocommerce-order-received .kf-replay-spin__game::before {
  content: "" !important;
  position: absolute !important;
  inset: 14px auto auto -8px !important;
  width: clamp(78px, 16vw, 135px) !important;
  height: clamp(118px, 22vw, 180px) !important;
  z-index: -1 !important;
  opacity: .32 !important;
  transform: skewX(-14deg) !important;
  background:
    linear-gradient(118deg, #08bf43 0 22%, transparent 22% 32%, #12bad0 32% 48%, transparent 48% 58%, #062a63 58% 74%, transparent 74% 84%, #ed1746 84% 91%, transparent 91% 100%) !important;
  border-radius: 18px 0 0 0 !important;
}

body.woocommerce-order-received .kf-replay-spin__game::after {
  content: "" !important;
  position: absolute !important;
  top: var(--kf-pin-top) !important;
  left: 50% !important;
  z-index: 8 !important;
  width: clamp(44px, 10vw, 62px) !important;
  height: clamp(66px, 14vw, 88px) !important;
  transform: translateX(-50%) !important;
  background:
    radial-gradient(circle at 50% 28%, #f8fbff 0 7px, #062655 7px 11px, transparent 11.5px),
    linear-gradient(180deg, #16dd4d 0%, #08aa3f 72%, #047c33 100%) !important;
  clip-path: polygon(50% 100%, 22% 61%, 10% 38%, 11% 20%, 25% 6%, 50% 0, 75% 6%, 89% 20%, 90% 38%, 78% 61%) !important;
  filter: drop-shadow(0 10px 13px rgba(4, 124, 51, .35)) !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(100%, 680px) !important;
  margin-inline: auto !important;
  display: grid !important;
  gap: 8px !important;
}

body.woocommerce-order-received .kf-replay-spin__copy > span {
  display: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  margin: 0 !important;
  color: #061833 !important;
  font-size: clamp(2.35rem, 7.8vw, 5rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  color: transparent !important;
  background: linear-gradient(90deg, #08b43f 0%, #079f59 48%, #12bcd4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

body.woocommerce-order-received .kf-replay-spin__copy p {
  width: min(100%, 600px) !important;
  margin: 4px auto 0 !important;
  color: #1d2b42 !important;
  font-size: clamp(1rem, 2.2vw, 1.35rem) !important;
  line-height: 1.28 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy p strong {
  display: block !important;
  margin-top: 2px !important;
  color: #08a846 !important;
  font-size: 1.08em !important;
  font-weight: 900 !important;
}

body.woocommerce-order-received .kf-replay-wheel {
  position: relative !important;
  z-index: 3 !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  margin: clamp(18px, 4vw, 30px) auto 0 !important;
  overflow: visible !important;
  border: clamp(12px, 2.8vw, 22px) solid #062655 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 22%, #ffffff 22.4% 24%, transparent 24.4% 100%),
    conic-gradient(from -30deg,
      #10b947 0deg 58deg,
      #ffffff 58deg 62deg,
      #ed1746 62deg 118deg,
      #ffffff 118deg 122deg,
      #12b8c7 122deg 178deg,
      #ffffff 178deg 182deg,
      #7b21d7 182deg 238deg,
      #ffffff 238deg 242deg,
      #e11268 242deg 298deg,
      #ffffff 298deg 302deg,
      #074dae 302deg 358deg,
      #ffffff 358deg 360deg) !important;
  box-shadow:
    0 0 0 4px #ffffff,
    0 0 0 8px rgba(6, 38, 85, .1),
    0 22px 34px rgba(6, 24, 44, .22) !important;
  transition: transform 900ms cubic-bezier(.17, .67, .26, 1.04) !important;
}

body.woocommerce-order-received .kf-replay-wheel::before,
body.woocommerce-order-received .kf-replay-wheel::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 2 !important;
  display: grid !important;
  width: clamp(76px, calc(var(--kf-wheel-size) * .24), 132px) !important;
  min-height: clamp(42px, calc(var(--kf-wheel-size) * .12), 68px) !important;
  margin: 0 !important;
  padding: 0 4px !important;
  place-content: center !important;
  gap: 4px !important;
  color: #ffffff !important;
  text-align: center !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .18) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span b,
body.woocommerce-order-received .kf-replay-wheel span small {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  color: #ffffff !important;
  text-align: center !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-size: clamp(.86rem, calc(var(--kf-wheel-size) * .048), 1.7rem) !important;
  font-weight: 950 !important;
  line-height: .95 !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-size: clamp(.44rem, calc(var(--kf-wheel-size) * .021), .84rem) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: translate(-50%, -50%) rotate(0deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(0deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: translate(-50%, -50%) rotate(60deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-60deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: translate(-50%, -50%) rotate(120deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-120deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: translate(-50%, -50%) rotate(180deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-180deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: translate(-50%, -50%) rotate(240deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-240deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: translate(-50%, -50%) rotate(300deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-300deg - var(--kf-wheel-angle, 0deg))) !important; }

body.woocommerce-order-received .kf-replay-wheel strong {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 5 !important;
  display: grid !important;
  width: calc(var(--kf-wheel-size) * .205) !important;
  height: calc(var(--kf-wheel-size) * .205) !important;
  min-width: 70px !important;
  min-height: 70px !important;
  max-width: 112px !important;
  max-height: 112px !important;
  margin: 0 !important;
  place-items: center !important;
  border: clamp(5px, 1.1vw, 8px) solid #ffffff !important;
  border-radius: 50% !important;
  background: #061833 !important;
  color: #ffffff !important;
  font-size: clamp(1.25rem, calc(var(--kf-wheel-size) * .055), 2.1rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 22px rgba(6, 24, 44, .25) !important;
  transform: translate(-50%, -50%) rotate(calc(-1 * var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-spin__button {
  position: relative !important;
  z-index: 4 !important;
  width: min(100%, 520px) !important;
  min-height: clamp(58px, 9vw, 74px) !important;
  margin: clamp(26px, 5vw, 36px) auto 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #08bf43 0%, #079f59 50%, #047d86 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 22px rgba(4, 125, 86, .28) !important;
  font-size: clamp(1.18rem, 4.5vw, 1.9rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__button::before {
  content: "\26BD" !important;
  margin-right: .55em !important;
  font-size: .95em !important;
}

body.woocommerce-order-received .kf-replay-spin__button:disabled {
  opacity: 1 !important;
  background: linear-gradient(135deg, #10bd4f 0%, #0aa075 100%) !important;
}

body.woocommerce-order-received .kf-replay-spin__result {
  width: min(100%, 520px) !important;
  margin: 16px auto 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #dce8f1 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #26364a !important;
  font-size: .95rem !important;
  line-height: 1.35 !important;
}

body.woocommerce-order-received .kf-replay-spin__result.has-code {
  display: grid !important;
  gap: 7px !important;
  padding: 16px !important;
  border-color: rgba(8, 184, 73, .35) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f3fff7 100%) !important;
  box-shadow: 0 14px 28px rgba(8, 168, 70, .12) !important;
}

body.woocommerce-order-received .kf-replay-spin__result-label {
  color: #08a846 !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__code {
  justify-self: center !important;
  padding: 8px 16px !important;
  border: 1px dashed #08a846 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #061833 !important;
  font-size: clamp(1.25rem, 4vw, 1.7rem) !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
}

body.woocommerce-order-received .kf-replay-spin__result-help {
  color: #42526a !important;
  font-size: .9rem !important;
  font-weight: 750 !important;
}

body.woocommerce-order-received .kf-replay-spin__cta {
  width: min(100%, 520px) !important;
  margin: 12px auto 0 !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(360px, 88vw);
    --kf-label-radius: calc(var(--kf-wheel-size) * .31);
    --kf-pin-top: clamp(220px, 58vw, 242px);
    border-radius: 18px !important;
    padding-inline: 10px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy h2 {
    font-size: clamp(2.15rem, 12vw, 3.25rem) !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy p {
    font-size: .98rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    border-width: 12px !important;
    box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px rgba(6, 38, 85, .1), 0 16px 26px rgba(6, 24, 44, .2) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(74px, calc(var(--kf-wheel-size) * .235), 86px) !important;
    min-height: 42px !important;
    gap: 2px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.75rem, calc(var(--kf-wheel-size) * .038), .9rem) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.38rem, calc(var(--kf-wheel-size) * .018), .48rem) !important;
  }
}

/* Delivery lock refinement: keep the desktop wheel inside its grid column. */
body.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: 460px !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .312) !important;
  overflow: visible !important;
}

body.woocommerce-order-received .kf-replay-spin__copy {
  width: min(100%, 520px) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  width: 100% !important;
  max-width: 100% !important;
  font-size: clamp(2.2rem, 3.6vw, 3.75rem) !important;
  line-height: .98 !important;
  overflow-wrap: normal !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(318px, 81vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .305) !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy h2 {
    font-size: clamp(2rem, 12vw, 2.7rem) !important;
  }
}

/* Final wheel rendering mode: draw one complete circular wheel in all states. */
body.woocommerce-order-received .kf-replay-wheel {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  margin: clamp(24px, 4vw, 34px) auto 0 !important;
  overflow: visible !important;
  border: clamp(14px, calc(var(--kf-wheel-size) * .044), 22px) solid #062655 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 21%, rgba(255,255,255,.98) 21.5% 23.4%, transparent 24% 100%),
    radial-gradient(circle at 34% 24%, rgba(255,255,255,.22), transparent 24%),
    conic-gradient(from -30deg,
      #12bd47 0deg 58deg,
      #ffffff 58deg 62deg,
      #ed1746 62deg 118deg,
      #ffffff 118deg 122deg,
      #10bac8 122deg 178deg,
      #ffffff 178deg 182deg,
      #7b20d8 182deg 238deg,
      #ffffff 238deg 242deg,
      #e11268 242deg 298deg,
      #ffffff 298deg 302deg,
      #0755b7 302deg 358deg,
      #ffffff 358deg 360deg) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.72),
    inset 0 18px 38px rgba(255,255,255,.18),
    0 0 0 4px #ffffff,
    0 0 0 8px rgba(6, 31, 73, .12),
    0 24px 36px rgba(6, 24, 44, .24) !important;
  transform: none !important;
  transition: transform 900ms cubic-bezier(.17, .67, .26, 1.04) !important;
}

body.woocommerce-order-received .kf-replay-wheel::before,
body.woocommerce-order-received .kf-replay-wheel::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 2 !important;
  display: grid !important;
  width: clamp(92px, calc(var(--kf-wheel-size) * .238), 120px) !important;
  min-height: clamp(46px, calc(var(--kf-wheel-size) * .114), 58px) !important;
  margin: 0 !important;
  padding: 2px 5px !important;
  place-content: center !important;
  gap: 3px !important;
  color: #ffffff !important;
  text-align: center !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .34) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-size: clamp(.98rem, calc(var(--kf-wheel-size) * .038), 1.24rem) !important;
  line-height: .96 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-size: clamp(.48rem, calc(var(--kf-wheel-size) * .016), .58rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: translate(-50%, -50%) rotate(30deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-30deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: translate(-50%, -50%) rotate(90deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-90deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: translate(-50%, -50%) rotate(150deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-150deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: translate(-50%, -50%) rotate(210deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-210deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: translate(-50%, -50%) rotate(270deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-270deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: translate(-50%, -50%) rotate(330deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-330deg) !important; }

body.woocommerce-order-received .kf-replay-wheel strong {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 4 !important;
  display: grid !important;
  width: calc(var(--kf-wheel-size) * .205) !important;
  height: calc(var(--kf-wheel-size) * .205) !important;
  min-width: 70px !important;
  min-height: 70px !important;
  place-items: center !important;
  border: clamp(5px, calc(var(--kf-wheel-size) * .016), 8px) solid #ffffff !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #0b2d61 0%, #061833 72%) !important;
  color: #ffffff !important;
  font-size: clamp(1.25rem, calc(var(--kf-wheel-size) * .052), 1.65rem) !important;
  font-weight: 950 !important;
  transform: translate(-50%, -50%) !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(70px, calc(var(--kf-wheel-size) * .232), 78px) !important;
    min-height: 43px !important;
    padding: 1px 3px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.78rem, calc(var(--kf-wheel-size) * .031), .88rem) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.38rem, calc(var(--kf-wheel-size) * .0145), .45rem) !important;
  }
}

@media (min-width: 561px) and (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(520px, 78vw);
    --kf-label-radius: calc(var(--kf-wheel-size) * .305);
    --kf-pin-top: clamp(228px, 30vw, 252px);
  }
}

/* Final polish: account, address, footer badges, and shop navigation alignment. */
.woocommerce-account:not(.logged-in) .kf-account-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(260px, 0.18fr) !important;
  gap: clamp(24px, 4vw, 56px) !important;
  align-items: center !important;
  min-height: 360px !important;
  padding: clamp(42px, 5vw, 70px) !important;
  border-radius: 8px !important;
  background: #061429 !important;
  overflow: hidden !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro span,
.woocommerce-account:not(.logged-in) .kf-account-intro h2,
.woocommerce-account:not(.logged-in) .kf-account-intro p {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro span {
  display: block !important;
  width: max-content !important;
  max-width: 220px !important;
  color: #16a34a !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
  text-transform: uppercase !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro h2 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(3rem, 5.2vw, 5.1rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro p {
  max-width: 360px !important;
  color: rgba(255,255,255,.8) !important;
  font-size: clamp(1rem, 1.3vw, 1.18rem) !important;
  line-height: 1.55 !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro::after {
  justify-self: stretch !important;
  min-width: 0 !important;
  padding: 12px 18px !important;
  justify-content: center !important;
  white-space: normal !important;
  text-align: center !important;
}

.woocommerce-account.logged-in .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin-top: 24px !important;
}

.woocommerce-account.logged-in .woocommerce-Address {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 250px !important;
  padding: 28px !important;
  border: 1px solid #dce6f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 18px 38px rgba(7,20,38,.05) !important;
}

.woocommerce-account.logged-in .woocommerce-Address-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 16px !important;
  align-items: start !important;
  margin-bottom: 18px !important;
}

.woocommerce-account.logged-in .woocommerce-Address-title h2 {
  margin: 0 !important;
  color: #061429 !important;
  font-size: clamp(1.9rem, 3vw, 2.55rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

.woocommerce-account.logged-in .woocommerce-Address-title a {
  white-space: nowrap !important;
  color: #061429 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.woocommerce-account.logged-in .woocommerce-Address address {
  margin: 0 !important;
  color: #344255 !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

.kf-footer__social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

.kf-footer__social a {
  display: inline-grid !important;
  width: 42px !important;
  height: 42px !important;
  place-items: center !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.kf-footer .kf-payment-badges {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(82px, 1fr)) !important;
  gap: 10px !important;
  max-width: 320px !important;
  justify-content: start !important;
}

.kf-footer .kf-payment-badge {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 44px !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 8px !important;
  background: #fff !important;
  color: #172235 !important;
  overflow: visible !important;
}

.kf-footer .kf-payment-badge__mark {
  display: none !important;
}

.kf-footer .kf-payment-badge__label {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: currentColor !important;
  font-size: .74rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.kf-footer .kf-payment-badge--visa,
.kf-footer .kf-payment-badge--mastercard,
.kf-footer .kf-payment-badge--amex,
.kf-footer .kf-payment-badge--discover,
.kf-footer .kf-payment-badge--paypal,
.kf-footer .kf-payment-badge--stripe {
  color: #10213a !important;
}

.kf-footer .kf-payment-extra {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  max-width: 330px !important;
  margin-top: 12px !important;
  justify-content: flex-start !important;
}

.kf-footer .kf-payment-extra span:first-child {
  flex-basis: 100% !important;
  text-align: left !important;
}

.kf-footer .kf-payment-extra span:not(:first-child) {
  padding: 4px 8px !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}

.kf-shop-intro .kf-assurance-pills {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.kf-shop-intro .kf-assurance-pills li {
  min-width: 0 !important;
  min-height: 112px !important;
  padding: 18px !important;
}

.kf-category-nav--shop,
.kf-scene-nav--shop {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  padding: 22px 26px !important;
  border: 1px solid #dce6f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.kf-category-nav--shop > span,
.kf-scene-nav--shop > span {
  margin: 0 !important;
  color: #536170 !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.kf-category-nav--shop ul,
.kf-scene-nav--shop ul {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.kf-category-nav--shop li,
.kf-scene-nav--shop li {
  min-width: 0 !important;
}

.kf-category-nav--shop a,
.kf-scene-nav--shop a {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 10px 12px !important;
  border: 1px solid #dce6f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #061429 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

.kf-scene-nav--shop a::before {
  display: inline-grid !important;
  width: 20px !important;
  height: 20px !important;
  place-items: center !important;
  color: #16a34a !important;
  font-size: .85rem !important;
  line-height: 1 !important;
}

.kf-scene-nav--shop a[href*="training-apparel"]::before { content: "\25A0" !important; }
.kf-scene-nav--shop a[href*="footwear"]::before { content: "\2197" !important; }
.kf-scene-nav--shop a[href*="football-gear"]::before { content: "\25A1" !important; }
.kf-scene-nav--shop a[href*="bags-hydration"]::before { content: "\25B3" !important; }

@media (max-width: 900px) {
  .woocommerce-account:not(.logged-in) .kf-account-intro,
  .kf-category-nav--shop,
  .kf-scene-nav--shop {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-account.logged-in .woocommerce-Addresses,
  .kf-shop-intro .kf-assurance-pills {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .woocommerce-account:not(.logged-in) .kf-account-intro {
    min-height: auto !important;
    padding: 28px 22px !important;
  }

  .woocommerce-account:not(.logged-in) .kf-account-intro h2 {
    font-size: clamp(2.35rem, 12vw, 3.2rem) !important;
  }

  .kf-footer .kf-payment-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .kf-category-nav--shop ul,
  .kf-scene-nav--shop ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.woocommerce-checkout #payment div.payment_box {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #071426 !important;
}

.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

.kf-test-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(132px, 0.45fr) !important;
  gap: 12px !important;
  margin: 0 0 14px !important;
  padding: 16px !important;
  border: 1px solid #dbe6f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(7, 20, 38, 0.05) !important;
}

.kf-test-card__intro,
.kf-test-card .form-row-wide {
  grid-column: 1 / -1 !important;
}

.kf-test-card .form-row,
.kf-test-card__field {
  float: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.kf-test-card__intro {
  margin: 0 !important;
  color: #536170 !important;
  font-size: 0.86rem !important;
  line-height: 1.45 !important;
}

.kf-test-card label {
  display: block !important;
  margin-bottom: 6px !important;
  color: #29384b !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
}

.kf-test-card input.input-text {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  min-height: 46px !important;
  border: 1px solid #cbd8e6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #071426 !important;
  font-size: 1rem !important;
  letter-spacing: 0 !important;
}

.kf-test-card input.input-text:focus {
  border-color: #1665a7 !important;
  box-shadow: 0 0 0 3px rgba(22, 101, 167, 0.14) !important;
  outline: none !important;
}

@media (max-width: 700px) {
  .kf-test-card {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 12px !important;
  }

  .kf-test-card input.input-text {
    font-size: 0.92rem !important;
  }
}

body.home .kf-home-categories > .kf-container > span {
  display: none !important;
}

body.home .kf-home-category-rail {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body.home .kf-home-category-rail a {
  display: grid !important;
  grid-template-rows: 84px auto !important;
  place-items: center !important;
  min-height: 146px !important;
  min-width: 0 !important;
  padding: 14px 10px !important;
  border: 1px solid #dce6f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #061429 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(7,20,38,.04) !important;
}

body.home .kf-home-category-rail a:hover,
body.home .kf-home-category-rail a:focus {
  background: #fff !important;
  color: #061429 !important;
  border-color: rgba(0,135,62,.36) !important;
  transform: translateY(-2px) !important;
}

body.home .kf-home-category-rail__image {
  display: grid !important;
  width: 92px !important;
  height: 78px !important;
  place-items: center !important;
}

body.home .kf-home-category-rail__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

body.home .kf-home-category-rail__label {
  display: block !important;
  width: 100% !important;
  color: #061429 !important;
  font-family: "Inter Tight", Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 650 !important;
  line-height: 1.16 !important;
  text-align: center !important;
  white-space: normal !important;
}

body.home .kf-hero--retail .kf-hero__inner {
  grid-template-columns: minmax(440px, 0.88fr) minmax(520px, 1.12fr) !important;
  min-height: 600px !important;
  padding-top: 56px !important;
  padding-bottom: 0 !important;
}

body.home .kf-hero--retail .kf-hero__copy {
  align-self: center !important;
}

body.home .kf-hero__visual {
  align-self: stretch !important;
  min-height: 560px !important;
  overflow: hidden !important;
  background: linear-gradient(120deg, #f8fbff, #e8eef5) !important;
}

body.home .kf-hero__visual > img {
  height: 560px !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.home .kf-hero__visual::after {
  background:
    linear-gradient(90deg, rgba(255,255,255,.76) 0%, rgba(255,255,255,.28) 28%, rgba(255,255,255,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,0) 40%, rgba(255,255,255,.18) 100%) !important;
}

body.home .kf-hero__visual-card {
  display: none !important;
}

body.home .kf-hero__merch {
  position: absolute !important;
  left: 28px !important;
  bottom: 28px !important;
  z-index: 2 !important;
  display: flex !important;
  gap: 10px !important;
}

body.home .kf-hero__merch img {
  width: 74px !important;
  height: 74px !important;
  object-fit: cover !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(6,20,41,.18) !important;
}

body.home .kf-section--outdoor .kf-container,
body.home .kf-section--featured .kf-container {
  width: min(1360px, calc(100% - 48px)) !important;
}

body.home .kf-section--outdoor .kf-section__head {
  display: grid !important;
  grid-template-columns: minmax(230px, 0.28fr) minmax(0, 1fr) !important;
  gap: 24px !important;
}

body.home .kf-section--outdoor .kf-section__head > a {
  justify-self: end !important;
  align-self: start !important;
}

body.home .kf-section--outdoor ul.products {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.home .kf-section--outdoor ul.products li.product,
body.home .kf-section--featured ul.products li.product {
  padding: 10px !important;
  box-shadow: none !important;
}

body.home .kf-section--outdoor ul.products li.product .woocommerce-loop-product__title,
body.home .kf-section--featured ul.products li.product .woocommerce-loop-product__title {
  min-height: 38px !important;
  font-size: .88rem !important;
}

body.home .kf-section--outdoor ul.products li.product .button,
body.home .kf-section--featured ul.products li.product .button {
  min-height: 38px !important;
  padding: 9px 12px !important;
  font-size: .82rem !important;
}

body.home .kf-trust-grid--band {
  width: min(1360px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: 48px 28px !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #061429, #062b4f) !important;
  color: #fff !important;
}

body.home .kf-trust-grid--band .kf-trust-item {
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.home .kf-trust-grid--band .kf-trust-item:last-child {
  border-right: 0 !important;
}

body.home .kf-trust-grid--band h3 {
  color: #fff !important;
  font-size: 1.02rem !important;
}

body.home .kf-trust-grid--band p {
  color: rgba(255,255,255,.78) !important;
  max-width: 190px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1180px) {
  body.home .kf-home-category-rail {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  body.home .kf-section--outdoor ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body.woocommerce-checkout form.checkout #customer_details {
    order: 1 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.woocommerce-checkout form.checkout #order_review_heading {
    order: 2 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    margin-top: 8px !important;
  }

  body.woocommerce-checkout form.checkout #order_review {
    order: 3 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    position: static !important;
    width: 100% !important;
  }
}

@media (max-width: 640px) {
  body.home .kf-hero--retail .kf-hero__inner {
    padding: 26px 22px 0 !important;
    gap: 20px !important;
  }

  body.home .kf-hero__visual {
    min-height: 250px !important;
    margin: 0 -22px !important;
  }

  body.home .kf-hero__visual > img {
    height: 290px !important;
  }

  body.home .kf-hero__merch {
    display: none !important;
  }

  body.home .kf-home-categories .kf-container,
  body.home .kf-section--outdoor .kf-container,
  body.home .kf-section--featured .kf-container,
  body.home .kf-trust-grid--band {
    width: 100% !important;
  }

  body.home .kf-home-category-rail {
    display: flex !important;
    gap: 12px !important;
    overflow-x: auto !important;
    padding: 0 18px 4px !important;
    scroll-snap-type: x proximity !important;
  }

  body.home .kf-home-category-rail a {
    flex: 0 0 142px !important;
    grid-template-rows: 74px auto !important;
    min-height: 128px !important;
    scroll-snap-align: start !important;
  }

  body.home .kf-home-category-rail__image {
    width: 84px !important;
    height: 68px !important;
  }

  body.home .kf-section--outdoor .kf-section__head {
    grid-template-columns: 1fr !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.home .kf-section--outdoor .kf-section__head > a {
    justify-self: stretch !important;
  }

  body.home .kf-section--outdoor ul.products {
    grid-template-columns: 1fr !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.home .kf-trust-grid--band {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 22px 10px !important;
    border-radius: 8px !important;
  }

  body.home .kf-trust-grid--band .kf-trust-item {
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.16) !important;
    padding: 18px 8px !important;
  }

  body.home .kf-trust-grid--band .kf-trust-item:last-child {
    grid-column: 1 / -1 !important;
    border-bottom: 0 !important;
  }

  body.woocommerce-checkout .kf-checkout-steps {
    display: flex !important;
    gap: 10px !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout .kf-checkout-steps li {
    display: grid !important;
    justify-items: center !important;
    gap: 5px !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    font-size: 0.7rem !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }

  body.woocommerce-checkout .kf-checkout-steps li::after {
    display: none !important;
  }

  body.woocommerce-checkout .kf-checkout-steps span {
    width: 26px !important;
    height: 26px !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.woocommerce-checkout .kf-main {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body.woocommerce-checkout .kf-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-checkout .kf-page > .kf-container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-checkout .kf-page__content {
    padding: 14px !important;
  }

  body.woocommerce-checkout .woocommerce,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout form.checkout #customer_details,
  body.woocommerce-checkout form.checkout #order_review,
  body.woocommerce-checkout #payment,
  body.woocommerce-checkout #payment ul.payment_methods,
  body.woocommerce-checkout #payment li,
  body.woocommerce-checkout #payment .woocommerce-info {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout #payment {
    padding: 12px !important;
  }

  body.woocommerce-checkout #payment .woocommerce-info {
    margin: 0 !important;
    padding: 12px 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.88rem !important;
    line-height: 1.25 !important;
  }
}

/* Final replay wheel: customer-facing order received reward module */
body.woocommerce-order-received .woocommerce-order-details {
  scroll-margin-top: 120px;
}

body.woocommerce-order-received .kf-replay-spin {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin: 32px auto !important;
  padding: 38px !important;
  display: grid !important;
  grid-template-columns: minmax(280px, 0.74fr) minmax(360px, 1fr) !important;
  gap: 38px !important;
  align-items: stretch !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 86% 10%, rgba(7, 20, 38, 0.08) 0 2px, transparent 3px) 0 0 / 18px 18px,
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 253, 0.96)) !important;
  box-shadow: 0 18px 50px rgba(7, 20, 38, 0.08) !important;
  overflow: hidden !important;
}

body.woocommerce-order-received .kf-replay-spin::before,
body.woocommerce-order-received .kf-replay-spin::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-spin::before {
  left: -42px !important;
  top: -34px !important;
  width: 190px !important;
  height: 190px !important;
  background:
    linear-gradient(135deg, transparent 0 20%, #02a83f 20% 34%, transparent 34% 42%, #08aeca 42% 54%, transparent 54% 62%, #062655 62% 73%, transparent 73% 80%, #e51644 80% 85%, transparent 85%) !important;
  transform: rotate(-12deg) !important;
  opacity: 0.95 !important;
}

body.woocommerce-order-received .kf-replay-spin::after {
  right: -46px !important;
  bottom: -48px !important;
  width: 220px !important;
  height: 220px !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, transparent 0 48%, #062655 48% 57%, transparent 57% 64%, #08aeca 64% 70%, transparent 70% 78%, #e51644 78% 84%, transparent 84% 90%, #02a83f 90%) !important;
  opacity: 0.85 !important;
}

body.woocommerce-order-received .kf-replay-spin__summary {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 8px 0;
}

body.woocommerce-order-received .kf-replay-spin__eyebrow,
body.woocommerce-order-received .kf-replay-spin__copy span {
  color: #0a8f3e !important;
  font-family: "Inter Tight", "Inter", system-ui, sans-serif;
  font-size: 0.76rem !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase;
}

body.woocommerce-order-received .kf-replay-spin__summary h2 {
  margin: 0 !important;
  color: #071426 !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.02 !important;
  font-weight: 760 !important;
}

body.woocommerce-order-received .kf-replay-spin__summary p {
  max-width: 390px;
  margin: 0;
  color: #42526a;
  font-size: 1.02rem;
  line-height: 1.55;
}

body.woocommerce-order-received .kf-replay-spin__details {
  margin: 16px 0 6px;
  padding: 0 24px;
  border: 1px solid #dbe4ee;
  border-radius: 12px;
  background: #fff;
}

body.woocommerce-order-received .kf-replay-spin__details div {
  padding: 20px 0;
  border-bottom: 1px solid #e8eef4;
}

body.woocommerce-order-received .kf-replay-spin__details div:last-child {
  border-bottom: 0;
}

body.woocommerce-order-received .kf-replay-spin__details dt {
  margin: 0 0 8px;
  color: #42526a;
  font-size: 0.88rem;
  font-weight: 650;
}

body.woocommerce-order-received .kf-replay-spin__details dd {
  margin: 0;
  color: #071426;
  font-family: "Inter Tight", "Inter", system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 760;
}

body.woocommerce-order-received .kf-replay-spin__reward-note {
  display: grid;
  gap: 6px;
  padding: 18px 20px;
  border: 1px solid #e4e8f0;
  border-radius: 12px;
  background: #fbfcff;
  box-shadow: 0 10px 26px rgba(7, 20, 38, 0.04);
}

body.woocommerce-order-received .kf-replay-spin__reward-note strong {
  color: #071426;
  font-size: 0.98rem;
}

body.woocommerce-order-received .kf-replay-spin__reward-note span {
  color: #42526a;
  line-height: 1.45;
}

body.woocommerce-order-received .kf-replay-spin__secondary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border-radius: 9px;
  background: linear-gradient(135deg, #08b354, #08aeca);
  color: #fff;
  font-weight: 760;
  text-decoration: none;
}

body.woocommerce-order-received .kf-replay-spin__game {
  position: relative !important;
  z-index: 1;
  display: grid !important;
  justify-items: center !important;
  align-content: center !important;
  gap: 18px !important;
  min-height: 620px !important;
  padding: 10px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.woocommerce-order-received .kf-replay-spin__game::before {
  content: "" !important;
  position: absolute !important;
  inset: 150px 0 94px !important;
  z-index: -1 !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, rgba(8, 174, 202, 0.18), rgba(8, 174, 202, 0) 70%) !important;
  transform: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy {
  display: grid;
  justify-items: center;
  max-width: 620px;
  text-align: center;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  max-width: 640px !important;
  margin: 8px 0 10px !important;
  color: #071426 !important;
  font-size: clamp(2.35rem, 5.2vw, 4.8rem) !important;
  line-height: 0.98 !important;
  font-weight: 780 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2::first-line {
  color: #071426;
}

body.woocommerce-order-received .kf-replay-spin__copy p {
  max-width: 480px;
  margin: 0;
  color: #27364d !important;
  font-size: clamp(1rem, 1.7vw, 1.28rem) !important;
  line-height: 1.35;
}

body.woocommerce-order-received .kf-replay-wheel {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: min(430px, 86vw) !important;
  height: min(430px, 86vw) !important;
  border: 15px solid #062655 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at center, transparent 0 17%, #ffffff 17.4% 18.5%, transparent 18.8%),
    conic-gradient(from -30deg, #08a84a 0 60deg, #e51644 60deg 120deg, #08aeca 120deg 180deg, #6e18bd 180deg 240deg, #d70f67 240deg 300deg, #064bad 300deg 360deg) !important;
  box-shadow: 0 16px 36px rgba(7, 20, 38, 0.24) !important;
  transition: transform 0.9s cubic-bezier(.17,.67,.17,1.02) !important;
}

body.woocommerce-order-received .kf-replay-wheel::before {
  content: "" !important;
  position: absolute !important;
  top: -50px !important;
  left: 50% !important;
  z-index: 5 !important;
  width: 52px !important;
  height: 72px !important;
  border: 0 !important;
  border-radius: 28px 28px 30px 30px !important;
  background: linear-gradient(180deg, #2ee979, #08a84a) !important;
  clip-path: polygon(50% 100%, 12% 45%, 12% 24%, 28% 7%, 50% 0, 72% 7%, 88% 24%, 88% 45%) !important;
  transform: translateX(-50%) !important;
  box-shadow: 0 10px 18px rgba(8, 168, 74, 0.32) !important;
}

body.woocommerce-order-received .kf-replay-wheel::after {
  content: "" !important;
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 6 !important;
  width: 22px !important;
  height: 22px !important;
  border: 6px solid #2ee979 !important;
  border-radius: 999px !important;
  background: #062655 !important;
  transform: translate(-50%, -238px) !important;
}

body.woocommerce-order-received .kf-replay-wheel strong {
  position: relative !important;
  inset: auto !important;
  grid-area: auto !important;
  z-index: 4 !important;
  display: grid !important;
  width: 104px !important;
  height: 104px !important;
  place-items: center !important;
  border: 7px solid #fff !important;
  border-radius: 999px !important;
  background: #071426 !important;
  color: #fff !important;
  font-family: "Inter Tight", "Inter", system-ui, sans-serif !important;
  font-size: 1.65rem !important;
  font-weight: 800 !important;
  box-shadow: 0 8px 18px rgba(7, 20, 38, 0.22) !important;
  transform: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  position: absolute !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 122px !important;
  min-height: 58px !important;
  padding: 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  text-align: center !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(2),
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) {
  color: #fff !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  display: block;
  font-family: "Inter Tight", "Inter", system-ui, sans-serif;
  font-size: clamp(1rem, 2vw, 1.55rem);
  line-height: 1.02;
  font-weight: 800;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  display: block;
  margin-top: 3px;
  font-size: 0.62rem;
  line-height: 1.06;
  font-weight: 760;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: rotate(30deg) translateY(-136px) rotate(-30deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: rotate(90deg) translateY(-136px) rotate(-90deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: rotate(150deg) translateY(-136px) rotate(-150deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: rotate(210deg) translateY(-136px) rotate(-210deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: rotate(270deg) translateY(-136px) rotate(-270deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: rotate(330deg) translateY(-136px) rotate(-330deg) !important; }

body.woocommerce-order-received .kf-replay-spin__button {
  width: min(430px, 86vw) !important;
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, #05b94d, #078f83) !important;
  color: #fff !important;
  font-family: "Inter Tight", "Inter", system-ui, sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 24px rgba(4, 121, 68, 0.22) !important;
}

body.woocommerce-order-received .kf-replay-spin__result {
  max-width: 430px;
  min-height: 24px !important;
  margin: 0 !important;
  color: #071426 !important;
  font-size: 0.98rem !important;
  font-weight: 650 !important;
  text-align: center !important;
}

body.woocommerce-order-received .kf-replay-spin__cta {
  display: inline-flex;
  width: min(430px, 86vw);
  min-height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #071426;
  color: #fff;
  font-weight: 760;
  text-decoration: none;
}

body.woocommerce-order-received .kf-replay-spin__cta[hidden] {
  display: none !important;
}

body.woocommerce-order-received .kf-replay-spin__button[disabled] {
  cursor: default;
  opacity: 1;
}

body.woocommerce-order-received .kf-replay-spin__button.is-loading {
  filter: saturate(0.86);
}

body.woocommerce-order-received .kf-replay-spin__result.is-error {
  color: #b4232f !important;
}

@media (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-spin {
    width: calc(100% - 28px) !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 24px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__summary {
    order: 2;
  }

  body.woocommerce-order-received .kf-replay-spin__game {
    order: 1;
    min-height: auto !important;
    width: 100% !important;
    overflow: visible !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin {
    width: calc(100% - 20px) !important;
    padding: 18px !important;
    border-radius: 14px !important;
  }

  body.woocommerce-order-received .kf-replay-spin::before,
  body.woocommerce-order-received .kf-replay-spin::after {
    opacity: 0.45 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy h2 {
    font-size: 2.25rem !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy p {
    font-size: 1rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    width: min(270px, 76vw) !important;
    height: min(270px, 76vw) !important;
    border-width: 11px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel::before {
    top: -42px !important;
    width: 44px !important;
    height: 62px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel::after {
    width: 18px !important;
    height: 18px !important;
    border-width: 5px !important;
    transform: translate(-50%, -176px) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel strong {
    width: 74px !important;
    height: 74px !important;
    border-width: 5px !important;
    font-size: 1.25rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: 76px !important;
    min-height: 42px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: 0.78rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: 0.42rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: rotate(30deg) translateY(-82px) rotate(-30deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: rotate(90deg) translateY(-82px) rotate(-90deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: rotate(150deg) translateY(-82px) rotate(-150deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: rotate(210deg) translateY(-82px) rotate(-210deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: rotate(270deg) translateY(-82px) rotate(-270deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: rotate(330deg) translateY(-82px) rotate(-330deg) !important; }

  body.woocommerce-order-received .kf-replay-spin__result {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-order-received .kf-replay-spin__button,
  body.woocommerce-order-received .kf-replay-spin__cta {
    width: 100% !important;
  }
}

/* Final footer pass: match the client board order and tighten the independent-store finish. */
.kf-footer .kf-footer__inner {
  grid-template-columns: minmax(220px, 1.25fr) minmax(130px, .9fr) minmax(180px, 1fr) minmax(210px, 1fr) minmax(210px, 1fr) !important;
  gap: clamp(24px, 4vw, 64px) !important;
  align-items: start !important;
}

.kf-footer {
  background: #06182e !important;
  color: #fff !important;
}

.kf-footer h2,
.kf-footer h3 {
  color: #fff !important;
}

.kf-footer p,
.kf-footer a,
.kf-footer span,
.kf-footer__bottom {
  color: rgba(255,255,255,.86) !important;
}

.kf-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.18) !important;
}

.kf-footer__brand {
  order: 1;
}

.kf-footer__brand p {
  max-width: 300px;
}

.kf-footer__brand span {
  display: block;
  margin-top: 20px;
  color: rgba(255,255,255,.8) !important;
  font-weight: 500 !important;
}

.kf-footer__social {
  display: flex;
  gap: 14px;
  margin-top: 28px;
  flex-wrap: wrap;
}

.kf-footer__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.26);
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  letter-spacing: .04em;
}

.kf-footer__social a:hover {
  border-color: rgba(49,226,132,.75);
  color: #31e284 !important;
}

.kf-footer__inner > section:nth-of-type(2) {
  order: 2;
}

.kf-footer__inner > section:nth-of-type(3) {
  order: 3;
}

.kf-footer__inner > section:nth-of-type(4) {
  order: 4;
}

.kf-footer__offer {
  order: 5;
}

.kf-footer .kf-payment-badges,
.kf-footer .kf-payment-extra {
  max-width: 270px;
}

@media (max-width: 980px) {
  .kf-footer .kf-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .kf-footer__offer {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .kf-footer .kf-footer__inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .kf-footer__offer {
    grid-column: auto;
  }

  .kf-footer__social {
    margin-top: 18px;
  }

  .kf-footer .kf-payment-badges,
  .kf-footer .kf-payment-extra {
    max-width: 100%;
  }
}

/* Final home alignment: stadium hero, clean category rail, and board-like product rows. */
.home .kf-hero--retail {
  padding: 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #dbe4ef;
}

.home .kf-hero--retail .kf-hero__inner {
  max-width: 1440px !important;
  margin: 0 auto !important;
  min-height: 430px !important;
  display: grid !important;
  grid-template-columns: minmax(540px, 1fr) minmax(560px, 1.22fr) !important;
  align-items: stretch !important;
  gap: 0 !important;
}

.home .kf-hero--retail .kf-hero__copy {
  padding: clamp(44px, 6vw, 78px) clamp(28px, 6vw, 70px) !important;
  justify-content: center !important;
  max-width: none !important;
  width: 100% !important;
}

.home .kf-hero--retail .kf-hero__copy h1 {
  font-size: clamp(3.35rem, 4.15vw, 4.7rem) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
  max-width: 760px !important;
  text-wrap: balance;
}

.home .kf-hero--retail .kf-hero__copy p {
  max-width: 520px !important;
}

.home .kf-hero--retail .kf-hero__visual {
  min-height: 430px !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  background: #eef4f8 !important;
}

.home .kf-hero--retail .kf-hero__visual > img {
  width: 100% !important;
  height: 100% !important;
  min-height: 430px !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: saturate(1.02) contrast(1.03) !important;
}

.home .kf-hero__merch,
.home .kf-hero__visual-card {
  display: none !important;
}

.home .kf-home-categories {
  background: #fff !important;
  border-bottom: 1px solid #dbe4ef !important;
  padding: 22px 0 !important;
}

.home .kf-home-categories > .kf-container > span {
  display: none !important;
}

.home .kf-home-category-rail {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(115px, 1fr)) !important;
  gap: 14px !important;
}

.home .kf-home-category-rail a {
  min-height: 128px !important;
  padding: 12px !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  display: grid !important;
  grid-template-rows: 74px auto !important;
  place-items: center !important;
  color: #07152a !important;
  text-transform: none !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
}

.home .kf-home-category-rail__image {
  width: 100% !important;
  height: 74px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: #f7fafc !important;
  border-radius: 6px !important;
}

.home .kf-home-category-rail__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

.home .kf-home-scenes {
  padding: 18px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #dbe4ef !important;
}

.home .kf-section--outdoor,
.home .kf-section--featured {
  padding: 34px 0 !important;
  background: #fff !important;
  border-bottom: 1px solid #e6edf5 !important;
}

.home .kf-section--outdoor .kf-section__head,
.home .kf-section--featured .kf-section__head {
  display: grid !important;
  grid-template-columns: minmax(210px, 280px) 1fr !important;
  gap: 24px !important;
  align-items: start !important;
}

.home .kf-section--outdoor .woocommerce,
.home .kf-section--featured .woocommerce {
  margin-top: -120px !important;
  margin-left: 310px !important;
}

.home .kf-section--outdoor ul.products,
.home .kf-section--featured ul.products {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.home .kf-section--outdoor ul.products li.product,
.home .kf-section--featured ul.products li.product {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

@media (max-width: 1100px) {
  .home .kf-hero--retail .kf-hero__inner {
    grid-template-columns: 1fr !important;
  }

  .home .kf-hero--retail .kf-hero__visual {
    min-height: 320px !important;
  }

  .home .kf-hero--retail .kf-hero__visual > img {
    min-height: 320px !important;
  }

  .home .kf-home-category-rail {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  .home .kf-home-category-rail a {
    min-width: 138px !important;
    scroll-snap-align: start !important;
  }

  .home .kf-section--outdoor .kf-section__head,
  .home .kf-section--featured .kf-section__head {
    display: flex !important;
  }

  .home .kf-section--outdoor .woocommerce,
  .home .kf-section--featured .woocommerce {
    margin: 18px 0 0 !important;
  }

  .home .kf-section--outdoor ul.products,
  .home .kf-section--featured ul.products {
    display: flex !important;
    overflow-x: auto !important;
    gap: 14px !important;
    padding-bottom: 8px !important;
  }

  .home .kf-section--outdoor ul.products li.product,
  .home .kf-section--featured ul.products li.product {
    min-width: 220px !important;
  }
}

@media (max-width: 640px) {
  .home .kf-hero--retail .kf-hero__copy {
    padding: 32px 24px 18px !important;
  }

  .home .kf-hero--retail .kf-hero__copy h1 {
    font-size: clamp(2.55rem, 11vw, 3.45rem) !important;
    max-width: 360px !important;
  }

  .home .kf-hero__cta {
    display: grid !important;
    gap: 12px !important;
  }

  .home .kf-hero__cta .kf-button {
    width: 100% !important;
  }

  .home .kf-hero--retail .kf-hero__visual {
    min-height: 240px !important;
  }

  .home .kf-hero--retail .kf-hero__visual > img {
    min-height: 240px !important;
  }

  .home .kf-home-category-rail a {
    min-width: 124px !important;
  }

  .home .kf-home-category-rail__image {
    height: 82px !important;
  }

  .home .kf-section--outdoor,
  .home .kf-section--featured {
    padding: 28px 0 !important;
  }

  .home .kf-section--outdoor ul.products li.product,
  .home .kf-section--featured ul.products li.product {
    min-width: 184px !important;
  }
}

/* Final delivery correction: keep the hero and mobile CTAs within the reference layout. */
body.home .kf-main,
body.home .kf-hero--retail {
  overflow-x: hidden !important;
}

body.home .kf-hero--retail,
body.home .kf-hero--retail .kf-hero__inner,
body.home .kf-hero--retail .kf-hero__copy,
body.home .kf-hero--retail .kf-hero__visual {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

body.home .kf-hero--retail .kf-hero__inner {
  width: 100% !important;
  max-width: 1500px !important;
  grid-template-columns: minmax(660px, .98fr) minmax(560px, 1.02fr) !important;
}

body.home .kf-hero--retail .kf-hero__copy {
  min-width: 0 !important;
  padding-left: clamp(52px, 6.8vw, 78px) !important;
  padding-right: clamp(30px, 4vw, 54px) !important;
}

body.home .kf-hero--retail .kf-hero__copy h1,
body.home .kf-hero--retail h1 {
  width: 100% !important;
  max-width: 720px !important;
  font-size: clamp(3.45rem, 3.62vw, 4.25rem) !important;
  line-height: 1.05 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.home .kf-hero__cta {
  max-width: 100% !important;
}

body.home .kf-hero__cta .kf-button {
  box-sizing: border-box !important;
  max-width: 100% !important;
  white-space: normal !important;
}

@media (max-width: 1100px) {
  body.home .kf-hero--retail .kf-hero__inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.home .kf-hero--retail .kf-hero__inner {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100vw !important;
  }

  body.home .kf-hero--retail .kf-hero__copy {
    width: 100% !important;
    padding: 30px 22px 18px !important;
  }

  body.home .kf-hero--retail .kf-hero__copy h1,
  body.home .kf-hero--retail h1 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 10.2vw, 3.05rem) !important;
    line-height: 1.08 !important;
  }

  body.home .kf-hero--retail .kf-hero__copy p {
    max-width: 100% !important;
    font-size: 1rem !important;
  }

  body.home .kf-hero__cta {
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  body.home .kf-hero__cta .kf-button {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.home .kf-hero--retail .kf-hero__visual {
    display: block !important;
    width: 100% !important;
    min-height: 230px !important;
  }

  body.home .kf-hero--retail .kf-hero__visual > img {
    min-height: 230px !important;
    object-position: center !important;
  }
}

/* Customer-facing account layout polish. Keep at the end so legacy account rules cannot win. */
.woocommerce-account:not(.logged-in) .kf-account-intro {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.8fr) minmax(440px, 1.2fr) !important;
  grid-template-areas:
    "eyebrow title"
    "copy title"
    ". pill" !important;
  gap: 22px 48px !important;
  align-items: center !important;
  min-height: 360px !important;
  overflow: hidden !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro span {
  grid-area: eyebrow !important;
  align-self: end !important;
  margin: 0 !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro h2 {
  grid-area: title !important;
  max-width: 680px !important;
  margin: 0 !important;
  font-size: clamp(3.2rem, 5.3vw, 5.25rem) !important;
  line-height: 0.98 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro p {
  grid-area: copy !important;
  align-self: start !important;
  max-width: 360px !important;
  margin: 0 !important;
}

.woocommerce-account:not(.logged-in) .kf-account-intro::after {
  grid-area: pill !important;
  justify-self: start !important;
  align-self: start !important;
}

@media (max-width: 900px) {
  .woocommerce-account:not(.logged-in) .kf-account-intro {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "eyebrow"
      "title"
      "copy"
      "pill" !important;
    min-height: 0 !important;
    gap: 16px !important;
  }

  .woocommerce-account:not(.logged-in) .kf-account-intro h2 {
    max-width: 100% !important;
    font-size: clamp(2.25rem, 9vw, 4rem) !important;
  }
}

/* Mobile checkout and replay final lock. Keep this last so customer QA rules win. */
@media (max-width: 640px) {
  body.woocommerce-checkout,
  body.woocommerce-order-received {
    overflow-x: hidden !important;
  }

  body.woocommerce-checkout .kf-main,
  body.woocommerce-order-received .kf-main {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.woocommerce-checkout .kf-page,
  body.woocommerce-order-received .kf-page {
    width: 100% !important;
    padding: 34px 10px 0 !important;
    box-sizing: border-box !important;
  }

  body.woocommerce-checkout .kf-page h1 {
    margin-bottom: 24px !important;
    font-size: clamp(2.35rem, 11vw, 3.15rem) !important;
    line-height: 1 !important;
  }

  body.woocommerce-checkout .woocommerce-message,
  body.woocommerce-checkout .woocommerce-info,
  body.woocommerce-checkout .woocommerce-error {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border-radius: 10px !important;
    font-size: .9rem !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-checkout .woocommerce-message .button,
  body.woocommerce-checkout .woocommerce-info .button {
    width: 100% !important;
    min-height: 42px !important;
    margin: 10px 0 0 !important;
    border-radius: 8px !important;
  }

  body.woocommerce-checkout .woocommerce-form-login-toggle,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin: 0 0 10px !important;
  }

  body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    position: relative !important;
    display: block !important;
    margin-bottom: 10px !important;
    padding: 11px 12px 11px 38px !important;
    border: 1px solid #c8d9ea !important;
    border-top: 2px solid #1665a7 !important;
    background: #fff !important;
    color: #344255 !important;
    font-size: .86rem !important;
    line-height: 1.34 !important;
  }

  body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
    position: absolute !important;
    top: 13px !important;
    left: 13px !important;
    display: inline-grid !important;
    width: 15px !important;
    height: 15px !important;
    place-items: center !important;
    color: #1665a7 !important;
    font-size: .75rem !important;
    line-height: 1 !important;
  }

  body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
    color: #0f4c81 !important;
    font-weight: 760 !important;
    text-decoration: none !important;
  }

  body.woocommerce-checkout .kf-checkout-steps {
    margin: 18px 0 16px !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout .kf-checkout-steps li {
    color: #536170 !important;
    font-size: .68rem !important;
    font-weight: 750 !important;
  }

  body.woocommerce-checkout .kf-checkout-steps span {
    width: 24px !important;
    height: 24px !important;
    border: 0 !important;
    background: #e8eef5 !important;
    color: #344255 !important;
    font-size: .74rem !important;
  }

  body.woocommerce-checkout .kf-checkout-steps .is-current span {
    background: #0c9f4b !important;
    color: #fff !important;
  }

  body.woocommerce-checkout .kf-payment-note {
    margin: 0 0 14px !important;
    padding: 10px !important;
    border: 1px solid #dbe6f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(7,20,38,.045) !important;
  }

  body.woocommerce-checkout .kf-payment-note__copy {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout .kf-payment-note__copy span {
    display: grid !important;
    min-height: 38px !important;
    place-items: center !important;
    padding: 7px 6px !important;
    border: 1px solid #e3ebf2 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #071426 !important;
    font-size: .72rem !important;
    line-height: 1.12 !important;
    text-align: center !important;
  }

  body.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body.woocommerce-checkout form.checkout #customer_details {
    order: 1 !important;
  }

  body.woocommerce-checkout form.checkout #order_review_heading {
    order: 2 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    font-size: 1.35rem !important;
  }

  body.woocommerce-checkout form.checkout #order_review {
    order: 3 !important;
    position: static !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields,
  body.woocommerce-checkout .woocommerce-checkout-review-order,
  body.woocommerce-checkout #payment {
    width: 100% !important;
    box-sizing: border-box !important;
    border: 1px solid #dbe6f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 14px 34px rgba(7,20,38,.05) !important;
  }

  body.woocommerce-checkout .woocommerce-billing-fields,
  body.woocommerce-checkout .woocommerce-shipping-fields,
  body.woocommerce-checkout .woocommerce-additional-fields {
    padding: 16px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order,
  body.woocommerce-checkout #payment {
    padding: 14px !important;
  }

  body.woocommerce-checkout form .form-row,
  body.woocommerce-checkout form .form-row-first,
  body.woocommerce-checkout form .form-row-last {
    float: none !important;
    width: 100% !important;
    margin: 0 0 13px !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout form .form-row label {
    margin-bottom: 6px !important;
    color: #071426 !important;
    font-size: .9rem !important;
    font-weight: 760 !important;
    line-height: 1.2 !important;
  }

  body.woocommerce-checkout form .form-row input.input-text,
  body.woocommerce-checkout form .form-row textarea,
  body.woocommerce-checkout form .form-row select,
  body.woocommerce-checkout .select2-container .select2-selection--single {
    width: 100% !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
    border: 1px solid #c9d7e5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #071426 !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }

  body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading {
    margin: 0 0 12px !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading h3 {
    margin: 0 0 5px !important;
    font-size: 1.25rem !important;
    line-height: 1.1 !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading p {
    margin: 0 0 10px !important;
    color: #536170 !important;
    font-size: .86rem !important;
    line-height: 1.38 !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badge {
    min-height: 36px !important;
    padding: 5px 6px !important;
    border-radius: 7px !important;
    font-size: .68rem !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra {
    display: none !important;
  }

  body.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    border: 0 !important;
  }

  body.woocommerce-checkout #payment li {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.woocommerce-checkout #payment div.payment_box {
    margin-top: 12px !important;
  }

  body.woocommerce-checkout #payment .place-order {
    gap: 12px !important;
    padding-top: 12px !important;
  }

  body.woocommerce-checkout #payment #place_order {
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 10px !important;
    background: #071426 !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
  }

  body.woocommerce-checkout #payment #place_order[disabled],
  body.woocommerce-checkout #payment #place_order[aria-disabled="true"] {
    background: #d8e2ec !important;
    color: #536170 !important;
  }

  body.woocommerce-checkout .kf-test-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 12px !important;
    box-shadow: none !important;
  }

  body.woocommerce-checkout .kf-test-card__intro,
  body.woocommerce-checkout .kf-test-card__field--number {
    grid-column: 1 / -1 !important;
  }

  body.woocommerce-checkout .kf-test-card label {
    margin-bottom: 5px !important;
    font-size: .78rem !important;
    line-height: 1.15 !important;
  }

  body.woocommerce-checkout .kf-test-card input.input-text {
    min-height: 44px !important;
    padding: 9px 10px !important;
    font-size: .94rem !important;
  }

  body.woocommerce-checkout .kf-test-card__expiry,
  body.woocommerce-checkout .kf-test-card__cvc {
    text-align: center !important;
  }

  body.woocommerce-order-received .kf-page {
    padding-top: 18px !important;
  }

  body.woocommerce-order-received .kf-replay-spin {
    width: calc(100% - 20px) !important;
    margin: 18px auto 28px !important;
    padding: 18px !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    border-radius: 14px !important;
    overflow: visible !important;
    scroll-margin-top: 116px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__game {
    order: 1 !important;
    gap: 14px !important;
    min-height: 0 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__summary {
    order: 2 !important;
    padding-top: 4px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy h2 {
    max-width: 310px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: clamp(2rem, 10vw, 2.85rem) !important;
    line-height: 1.02 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy p {
    max-width: 300px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    width: min(300px, 78vw) !important;
    height: min(300px, 78vw) !important;
    border-width: 11px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel::before {
    top: -40px !important;
    width: 42px !important;
    height: 60px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel::after {
    width: 18px !important;
    height: 18px !important;
    border-width: 5px !important;
    transform: translate(-50%, calc(-1 * min(186px, 48vw))) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel strong {
    width: 74px !important;
    height: 74px !important;
    border-width: 5px !important;
    font-size: 1.25rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: 78px !important;
    min-height: 42px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: .8rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: .43rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: rotate(30deg) translateY(calc(-1 * min(92px, 24vw))) rotate(-30deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: rotate(90deg) translateY(calc(-1 * min(92px, 24vw))) rotate(-90deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: rotate(150deg) translateY(calc(-1 * min(92px, 24vw))) rotate(-150deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: rotate(210deg) translateY(calc(-1 * min(92px, 24vw))) rotate(-210deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: rotate(270deg) translateY(calc(-1 * min(92px, 24vw))) rotate(-270deg) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: rotate(330deg) translateY(calc(-1 * min(92px, 24vw))) rotate(-330deg) !important; }

  body.woocommerce-order-received .kf-replay-spin__button,
  body.woocommerce-order-received .kf-replay-spin__cta {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 52px !important;
    border-radius: 10px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__result {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    display: grid !important;
    place-items: center !important;
    padding: 8px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    overflow-wrap: anywhere !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__result.has-code {
    border-color: rgba(12,159,75,.28) !important;
    background: #f0fff6 !important;
    color: #065f2f !important;
    font-weight: 800 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__summary h2 {
    margin-top: 8px !important;
    font-size: clamp(2.1rem, 11vw, 3rem) !important;
    line-height: 1 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__details {
    display: grid !important;
    gap: 8px !important;
  }
}

@media (max-width: 390px) {
  body.woocommerce-checkout .kf-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.woocommerce-checkout .kf-payment-note__copy {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
  body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    padding-left: 36px !important;
    font-size: .84rem !important;
  }

  body.woocommerce-checkout .kf-payment-note__copy span {
    min-height: 34px !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.woocommerce-checkout .kf-test-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.woocommerce-checkout .kf-test-card input.input-text {
    font-size: .9rem !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.woocommerce-order-received .kf-replay-spin {
    width: calc(100% - 16px) !important;
    padding: 14px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    width: min(286px, 78vw) !important;
    height: min(286px, 78vw) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: 72px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: .74rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: .4rem !important;
  }
}

/* Mobile commerce path polish: shop density, product purchase, account, checkout overflow. */
@media (max-width: 640px) {
  html,
  body,
  .kf-main,
  .kf-page,
  .woocommerce,
  .woocommerce-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .kf-header__inner {
    grid-template-columns: minmax(96px, 1fr) auto auto !important;
    gap: 6px !important;
  }

  .kf-logo__image {
    width: 118px !important;
    max-width: 32vw !important;
  }

  .kf-actions .kf-icon-link--account .kf-action-label {
    font-size: 0 !important;
  }

  .kf-actions .kf-icon-link--account .kf-action-label::after {
    content: "Account" !important;
    font-size: .72rem !important;
  }

  body.post-type-archive-product .kf-page,
  body.tax-product_cat .kf-page {
    padding-top: 22px !important;
  }

  body.post-type-archive-product .kf-shop-intro,
  body.tax-product_cat .kf-shop-intro {
    display: grid !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }

  body.post-type-archive-product .kf-shop-intro h2,
  body.tax-product_cat .kf-shop-intro h2 {
    margin: 4px 0 6px !important;
    font-size: clamp(2.25rem, 11vw, 3rem) !important;
    line-height: 1 !important;
  }

  body.post-type-archive-product .kf-shop-intro p,
  body.tax-product_cat .kf-shop-intro p {
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    font-size: .98rem !important;
    line-height: 1.38 !important;
  }

  body.post-type-archive-product .kf-shop-intro__meta,
  body.tax-product_cat .kf-shop-intro__meta {
    gap: 8px !important;
    margin-top: 10px !important;
  }

  body.post-type-archive-product .kf-shop-intro__meta span,
  body.post-type-archive-product .kf-shop-intro__meta a,
  body.tax-product_cat .kf-shop-intro__meta span,
  body.tax-product_cat .kf-shop-intro__meta a {
    min-height: 36px !important;
    padding: 8px 12px !important;
    font-size: .78rem !important;
  }

  body.post-type-archive-product .kf-shop-intro .kf-assurance-pills,
  body.tax-product_cat .kf-shop-intro .kf-assurance-pills {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  body.post-type-archive-product .kf-shop-intro .kf-assurance-pills li,
  body.tax-product_cat .kf-shop-intro .kf-assurance-pills li {
    min-height: 0 !important;
    padding: 10px 12px !important;
    border-radius: 9px !important;
  }

  body.post-type-archive-product .kf-shop-intro .kf-assurance-pills strong,
  body.tax-product_cat .kf-shop-intro .kf-assurance-pills strong {
    font-size: .92rem !important;
  }

  body.post-type-archive-product .kf-shop-intro .kf-assurance-pills span,
  body.tax-product_cat .kf-shop-intro .kf-assurance-pills span {
    font-size: .78rem !important;
  }

  body.post-type-archive-product .kf-category-nav--shop,
  body.post-type-archive-product .kf-scene-nav--shop,
  body.tax-product_cat .kf-category-nav--shop,
  body.tax-product_cat .kf-scene-nav--shop {
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding: 12px !important;
    border-radius: 10px !important;
  }

  body.post-type-archive-product .kf-category-nav--shop ul,
  body.post-type-archive-product .kf-scene-nav--shop ul,
  body.tax-product_cat .kf-category-nav--shop ul,
  body.tax-product_cat .kf-scene-nav--shop ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.post-type-archive-product .kf-category-nav--shop a,
  body.post-type-archive-product .kf-scene-nav--shop a,
  body.tax-product_cat .kf-category-nav--shop a,
  body.tax-product_cat .kf-scene-nav--shop a {
    min-height: 40px !important;
    padding: 8px !important;
    font-size: .76rem !important;
    line-height: 1.15 !important;
  }

  body.post-type-archive-product .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-result-count,
  body.tax-product_cat .woocommerce-ordering {
    float: none !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.post-type-archive-product .woocommerce-ordering select,
  body.tax-product_cat .woocommerce-ordering select {
    width: 100% !important;
    min-height: 42px !important;
  }

  body.post-type-archive-product ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_cat .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  body.post-type-archive-product ul.products li.product,
  body.post-type-archive-product .woocommerce ul.products li.product,
  body.tax-product_cat ul.products li.product,
  body.tax-product_cat .woocommerce ul.products li.product {
    padding: 9px !important;
    border-radius: 10px !important;
  }

  body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
  body.tax-product_cat ul.products li.product .woocommerce-loop-product__title {
    min-height: 42px !important;
    font-size: .8rem !important;
    line-height: 1.22 !important;
  }

  body.post-type-archive-product ul.products li.product .price,
  body.tax-product_cat ul.products li.product .price {
    min-height: 20px !important;
    font-size: .8rem !important;
  }

  body.post-type-archive-product ul.products li.product .button,
  body.tax-product_cat ul.products li.product .button {
    min-height: 36px !important;
    padding: 8px 6px !important;
    font-size: .72rem !important;
  }

  body.single-product .kf-page {
    padding-top: 16px !important;
  }

  body.single-product div.product {
    display: grid !important;
    gap: 16px !important;
  }

  body.single-product div.product div.images {
    margin-bottom: 0 !important;
  }

  body.single-product div.product div.images img,
  body.single-product .woocommerce-product-gallery__image img {
    max-height: 220px !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px !important;
  }

  body.single-product .woocommerce-product-gallery__trigger {
    top: 10px !important;
    right: 10px !important;
    width: 40px !important;
    height: 40px !important;
  }

  body.single-product span.onsale {
    top: 8px !important;
    right: 8px !important;
    min-height: 24px !important;
    padding: 5px 8px !important;
    font-size: .68rem !important;
  }

  body.single-product div.product div.summary {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  body.single-product .product_title {
    margin: 0 !important;
    font-size: clamp(2rem, 10vw, 2.6rem) !important;
    line-height: 1.02 !important;
  }

  body.single-product .summary .price {
    margin: 0 !important;
    font-size: 1.45rem !important;
    line-height: 1.1 !important;
  }

  body.single-product .woocommerce-product-details__short-description p,
  body.single-product .stock {
    margin: 0 !important;
    font-size: .96rem !important;
    line-height: 1.42 !important;
  }

  body.single-product form.cart {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 2px 0 0 !important;
  }

  body.single-product form.cart .quantity,
  body.single-product form.cart .qty {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.single-product form.cart .single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  body.single-product .kf-save-for-later {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  body.single-product .kf-product-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 2px !important;
  }

  body.single-product .kf-product-trust__item {
    min-height: 0 !important;
    padding: 10px !important;
  }

  body.single-product .kf-product-trust strong {
    font-size: .78rem !important;
  }

  body.single-product .kf-product-trust span {
    font-size: .72rem !important;
  }

  body.woocommerce-account:not(.logged-in) .kf-page {
    padding-top: 22px !important;
  }

  body.woocommerce-account:not(.logged-in) .kf-account-intro {
    min-height: 0 !important;
    padding: 20px !important;
    gap: 12px !important;
    border-radius: 12px !important;
  }

  body.woocommerce-account:not(.logged-in) .kf-account-intro h2 {
    font-size: clamp(2rem, 9vw, 2.7rem) !important;
    line-height: 1.02 !important;
  }

  body.woocommerce-account:not(.logged-in) .kf-account-intro p {
    font-size: .96rem !important;
  }

  body.woocommerce-account:not(.logged-in) .kf-account-intro::after {
    min-height: 38px !important;
    padding: 8px 12px !important;
    font-size: .68rem !important;
  }

  body.woocommerce-account:not(.logged-in) .u-columns.col2-set,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-columns.col2-set {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  body.woocommerce-account:not(.logged-in) .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .col-1 {
    order: 1 !important;
  }

  body.woocommerce-account:not(.logged-in) .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2,
  body.woocommerce-account:not(.logged-in) .col-2 {
    order: 2 !important;
  }

  body.woocommerce-account:not(.logged-in) .u-column1,
  body.woocommerce-account:not(.logged-in) .u-column2,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column1,
  body.woocommerce-account:not(.logged-in) .woocommerce .u-column2 {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  body.woocommerce-account:not(.logged-in) .u-column1 h2,
  body.woocommerce-account:not(.logged-in) .u-column2 h2 {
    font-size: clamp(1.6rem, 8vw, 2.1rem) !important;
  }

  body.woocommerce-account form button.button {
    width: 100% !important;
    min-height: 44px !important;
    white-space: nowrap !important;
  }

  body.woocommerce-checkout .woocommerce,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #payment,
  body.woocommerce-checkout table.shop_table,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table,
  body.woocommerce-checkout .woocommerce-checkout-payment,
  body.woocommerce-checkout .payment_methods,
  body.woocommerce-checkout .payment_box {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout select.select2-hidden-accessible,
  body.woocommerce-checkout select.country_to_state.select2-hidden-accessible,
  body.woocommerce-checkout select.state_select.select2-hidden-accessible {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    width: 1px !important;
    min-width: 0 !important;
    max-width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

@media (max-width: 430px) {
  body.post-type-archive-product .kf-page,
  body.tax-product_cat .kf-page,
  body.single-product .kf-page,
  body.woocommerce-account:not(.logged-in) .kf-page {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.single-product div.product div.images img,
  body.single-product .woocommerce-product-gallery__image img {
    max-height: 205px !important;
  }

  body.single-product .product_title {
    font-size: clamp(1.9rem, 9.5vw, 2.35rem) !important;
  }

  body.post-type-archive-product ul.products,
  body.tax-product_cat ul.products {
    gap: 10px !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  body.post-type-archive-product ul.products,
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat ul.products,
  body.tax-product_cat .woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.single-product div.product {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
    gap: 24px !important;
  }

  body.single-product div.product div.images img,
  body.single-product .woocommerce-product-gallery__image img {
    max-height: 360px !important;
  }
}

/* Final client-delivery lock: visible QA blockers. */
@media (max-width: 900px) {
  .kf-icon-link--cart .kf-action-label::before,
  .kf-icon-link--cart .kf-action-label::after {
    content: none !important;
    display: none !important;
  }

  .kf-icon-link--cart .kf-action-label {
    font-size: .78rem !important;
    line-height: 1 !important;
  }

  body.woocommerce-checkout .woocommerce-error {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px 16px 14px 44px !important;
    box-sizing: border-box !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  body.woocommerce-checkout .woocommerce-error::before {
    position: absolute !important;
    top: 15px !important;
    left: 16px !important;
    margin: 0 !important;
  }

  body.woocommerce-checkout .woocommerce-error li {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-product .woocommerce-product-gallery__trigger {
    top: 44px !important;
    right: 10px !important;
    left: auto !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  body.single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.single-product div.product div.images,
  body.single-product div.product div.summary {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.single-product .product_title {
    max-width: 100% !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    font-size: clamp(2.2rem, 6vw, 3rem) !important;
  }

  body.single-product span.onsale {
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    max-width: calc(100% - 24px) !important;
  }

  body.single-product form.cart {
    display: grid !important;
    grid-template-columns: 110px minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    align-items: stretch !important;
  }

  body.single-product form.cart .quantity,
  body.single-product form.cart .qty {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-product form.cart .single_add_to_cart_button {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 !important;
    justify-self: stretch !important;
    white-space: nowrap !important;
  }

  body.single-product .kf-save-for-later {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}

/* Final payment and replay readability lock. */
body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 10px !important;
  padding: 0 !important;
}

body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badge {
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 7px 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  border: 1px solid #dbe5f0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: .78rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badge__label {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  margin: 6px 0 0 !important;
  color: #536170 !important;
  font-size: .74rem !important;
  line-height: 1.15 !important;
}

body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra > span:first-child {
  flex-basis: 100% !important;
  font-weight: 750 !important;
}

body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra > span:not(:first-child) {
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #edf3f8 !important;
  color: #42526a !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}

body.woocommerce-checkout .kf-test-card__helper {
  grid-column: 1 / -1 !important;
  display: grid !important;
  gap: 4px !important;
  margin: 0 0 4px !important;
  padding: 10px 12px !important;
  border: 1px solid #dce8f1 !important;
  border-radius: 9px !important;
  background: #f8fbfe !important;
  color: #42526a !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
}

body.woocommerce-checkout .kf-test-card__helper strong {
  color: #071426 !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  width: 104px !important;
  min-height: 48px !important;
  padding: 0 3px !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 2px !important;
  text-wrap: balance !important;
}

body.woocommerce-order-received .kf-replay-wheel span b,
body.woocommerce-order-received .kf-replay-wheel span small {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-align: center !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-size: clamp(.9rem, 1.55vw, 1.25rem) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-size: clamp(.5rem, .86vw, .66rem) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.woocommerce-order-received .kf-replay-wheel strong {
  transform: rotate(calc(-1 * var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-spin__button {
  margin-top: 16px !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: rotate(30deg) translateY(-136px) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: rotate(90deg) translateY(-136px) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: rotate(150deg) translateY(-136px) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: rotate(210deg) translateY(-136px) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: rotate(270deg) translateY(-136px) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: rotate(330deg) translateY(-136px) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important; }

@media (max-width: 560px) {
  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badge {
    min-height: 36px !important;
    padding: 6px 5px !important;
    font-size: .68rem !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra {
    gap: 5px !important;
    font-size: .68rem !important;
  }

  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra > span:not(:first-child) {
    padding: 4px 7px !important;
  }

  body.woocommerce-checkout .kf-test-card__helper {
    padding: 9px 10px !important;
    font-size: .76rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: 70px !important;
    min-height: 34px !important;
    padding: 0 2px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: .68rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: .38rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: rotate(30deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: rotate(90deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: rotate(150deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: rotate(210deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: rotate(270deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: rotate(330deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important; }
}

@media (min-width: 561px) and (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-wheel span {
    width: 92px !important;
    min-height: 42px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: .84rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: .48rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: rotate(30deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: rotate(90deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: rotate(150deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: rotate(210deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: rotate(270deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important; }
  body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: rotate(330deg) translateY(calc(-1 * min(92px, 24vw))) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important; }
}

/* Reference wheel cascade lock: keep this at the end of the file. */
body.woocommerce-order-received .kf-replay-spin {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  width: min(100%, 860px) !important;
  margin-inline: auto !important;
}

body.woocommerce-order-received .kf-replay-spin__summary {
  width: min(100%, 720px) !important;
  margin-inline: auto !important;
}

body.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: min(520px, 88vw) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .285) !important;
  --kf-pin-top: clamp(212px, 29vw, 248px) !important;
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  width: min(100%, 760px) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding: clamp(24px, 4vw, 42px) clamp(14px, 4vw, 44px) clamp(28px, 4vw, 42px) !important;
  overflow: hidden !important;
  border: 1px solid #dce8f1 !important;
  border-radius: 26px !important;
  background: radial-gradient(circle at 89% 10%, rgba(6, 38, 85, .14) 0 3px, transparent 3.4px) 0 0 / 18px 18px, linear-gradient(180deg, #ffffff 0%, #f8fbff 52%, #ffffff 100%) !important;
  box-shadow: 0 24px 60px rgba(6, 24, 44, .12), 0 2px 8px rgba(6, 24, 44, .06) !important;
  gap: clamp(16px, 3vw, 24px) !important;
  text-align: center !important;
}

body.woocommerce-order-received .kf-replay-spin__game::before {
  content: "" !important;
  position: absolute !important;
  inset: 16px auto auto 10px !important;
  width: clamp(95px, 20vw, 165px) !important;
  height: clamp(135px, 26vw, 210px) !important;
  z-index: -1 !important;
  opacity: .92 !important;
  transform: skewX(-14deg) !important;
  background: linear-gradient(118deg, #08bf43 0 22%, transparent 22% 32%, #12bad0 32% 48%, transparent 48% 58%, #062a63 58% 74%, transparent 74% 84%, #ed1746 84% 91%, transparent 91% 100%) !important;
  border-radius: 18px 0 0 0 !important;
}

body.woocommerce-order-received .kf-replay-spin__game::after {
  content: "" !important;
  position: absolute !important;
  top: var(--kf-pin-top) !important;
  left: 50% !important;
  z-index: 8 !important;
  width: clamp(44px, 10vw, 62px) !important;
  height: clamp(66px, 14vw, 88px) !important;
  transform: translateX(-50%) !important;
  background: radial-gradient(circle at 50% 28%, #f8fbff 0 7px, #062655 7px 11px, transparent 11.5px), linear-gradient(180deg, #16dd4d 0%, #08aa3f 72%, #047c33 100%) !important;
  clip-path: polygon(50% 100%, 22% 61%, 10% 38%, 11% 20%, 25% 6%, 50% 0, 75% 6%, 89% 20%, 90% 38%, 78% 61%) !important;
  filter: drop-shadow(0 10px 13px rgba(4, 124, 51, .35)) !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy > span { display: none !important; }

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  margin: 0 !important;
  color: #061833 !important;
  font-size: clamp(2.35rem, 7.8vw, 5rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  text-transform: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  color: transparent !important;
  background: linear-gradient(90deg, #08b43f 0%, #079f59 48%, #12bcd4 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
}

body.woocommerce-order-received .kf-replay-spin__copy p {
  width: min(100%, 600px) !important;
  margin: 4px auto 0 !important;
  color: #1d2b42 !important;
  font-size: clamp(1rem, 2.2vw, 1.35rem) !important;
  line-height: 1.28 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy p strong {
  display: block !important;
  margin-top: 2px !important;
  color: #08a846 !important;
  font-size: 1.08em !important;
  font-weight: 900 !important;
}

body.woocommerce-order-received .kf-replay-wheel {
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  margin: clamp(18px, 4vw, 30px) auto 0 !important;
  overflow: visible !important;
  border: clamp(12px, 2.8vw, 22px) solid #062655 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 50% 50%, transparent 0 22%, #ffffff 22.4% 24%, transparent 24.4% 100%), conic-gradient(from -30deg, #10b947 0deg 58deg, #ffffff 58deg 62deg, #ed1746 62deg 118deg, #ffffff 118deg 122deg, #12b8c7 122deg 178deg, #ffffff 178deg 182deg, #7b21d7 182deg 238deg, #ffffff 238deg 242deg, #e11268 242deg 298deg, #ffffff 298deg 302deg, #074dae 302deg 358deg, #ffffff 358deg 360deg) !important;
  box-shadow: 0 0 0 4px #ffffff, 0 0 0 8px rgba(6, 38, 85, .1), 0 22px 34px rgba(6, 24, 44, .22) !important;
  transition: transform 900ms cubic-bezier(.17, .67, .26, 1.04) !important;
}

body.woocommerce-order-received .kf-replay-wheel::before,
body.woocommerce-order-received .kf-replay-wheel::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 2 !important;
  display: grid !important;
  width: clamp(76px, calc(var(--kf-wheel-size) * .235), 132px) !important;
  min-height: clamp(42px, calc(var(--kf-wheel-size) * .12), 68px) !important;
  margin: 0 !important;
  padding: 0 4px !important;
  place-content: center !important;
  gap: 4px !important;
  color: #ffffff !important;
  text-align: center !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .18) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span b,
body.woocommerce-order-received .kf-replay-wheel span small {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  color: #ffffff !important;
  text-align: center !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-size: clamp(.86rem, calc(var(--kf-wheel-size) * .048), 1.7rem) !important;
  font-weight: 950 !important;
  line-height: .95 !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-size: clamp(.44rem, calc(var(--kf-wheel-size) * .021), .84rem) !important;
  font-weight: 850 !important;
  line-height: 1.05 !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: translate(-50%, -50%) rotate(0deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(0deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: translate(-50%, -50%) rotate(60deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-60deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: translate(-50%, -50%) rotate(120deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-120deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: translate(-50%, -50%) rotate(180deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-180deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: translate(-50%, -50%) rotate(240deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-240deg - var(--kf-wheel-angle, 0deg))) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: translate(-50%, -50%) rotate(300deg) translateY(calc(-1 * var(--kf-label-radius))) rotate(calc(-300deg - var(--kf-wheel-angle, 0deg))) !important; }

body.woocommerce-order-received .kf-replay-wheel strong {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  display: grid !important;
  place-items: center !important;
  inset: 50% auto auto 50% !important;
  width: calc(var(--kf-wheel-size) * .205) !important;
  height: calc(var(--kf-wheel-size) * .205) !important;
  min-width: 70px !important;
  min-height: 70px !important;
  max-width: 112px !important;
  max-height: 112px !important;
  border: clamp(5px, 1.1vw, 8px) solid #ffffff !important;
  border-radius: 50% !important;
  background: #061833 !important;
  color: #ffffff !important;
  font-size: clamp(1.25rem, calc(var(--kf-wheel-size) * .055), 2.1rem) !important;
  font-weight: 950 !important;
  transform: translate(-50%, -50%) rotate(calc(-1 * var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-spin__button {
  width: min(100%, var(--kf-wheel-size)) !important;
  min-height: clamp(58px, 9vw, 74px) !important;
  margin: clamp(26px, 5vw, 36px) auto 0 !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #08bf43 0%, #079f59 50%, #047d86 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 14px 22px rgba(4, 125, 86, .28) !important;
  font-size: clamp(1.18rem, 4.5vw, 1.9rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__button::before {
  content: "\26BD" !important;
  margin-right: .55em !important;
  font-size: .95em !important;
}

body.woocommerce-order-received .kf-replay-spin__result {
  box-sizing: border-box !important;
  width: min(100%, var(--kf-wheel-size)) !important;
  overflow-wrap: break-word !important;
}

body.woocommerce-order-received .kf-replay-spin__result.has-code {
  display: grid !important;
  gap: 7px !important;
  padding: 16px !important;
  border-color: rgba(8, 184, 73, .35) !important;
  background: linear-gradient(180deg, #ffffff 0%, #f3fff7 100%) !important;
  box-shadow: 0 14px 28px rgba(8, 168, 70, .12) !important;
}

body.woocommerce-order-received .kf-replay-spin__result-label {
  color: #08a846 !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__code {
  justify-self: center !important;
  padding: 8px 16px !important;
  border: 1px dashed #08a846 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #061833 !important;
  font-size: clamp(1.25rem, 4vw, 1.7rem) !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(250px, 64vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .285) !important;
    --kf-pin-top: clamp(220px, 58vw, 242px) !important;
    border-radius: 18px !important;
    padding-inline: 10px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy h2 {
    font-size: clamp(1.85rem, 9.2vw, 2.65rem) !important;
  }

  body.woocommerce-order-received .kf-replay-spin__copy p {
    font-size: .98rem !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    border-width: 12px !important;
    box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px rgba(6, 38, 85, .1), 0 16px 26px rgba(6, 24, 44, .2) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(60px, calc(var(--kf-wheel-size) * .215), 64px) !important;
    min-height: 38px !important;
    gap: 2px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.68rem, calc(var(--kf-wheel-size) * .034), .84rem) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.34rem, calc(var(--kf-wheel-size) * .016), .43rem) !important;
  }
}

@media (min-width: 561px) and (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(470px, 58vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .285) !important;
    --kf-pin-top: clamp(228px, 30vw, 252px) !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount bdi,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-currencySymbol {
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
  }
}

/* Final mobile header delivery lock: keep logo, menu, account, and cart in one compact row. */
@media (max-width: 640px) {
  .kf-header__inner {
    display: grid !important;
    grid-template-columns: minmax(104px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px clamp(14px, 4vw, 20px) !important;
  }

  .kf-logo {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  .kf-logo__image {
    width: clamp(104px, 30vw, 126px) !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .kf-menu-toggle {
    grid-column: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }

  .kf-actions {
    grid-column: auto !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }

  .kf-actions .kf-icon-link {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 8px 11px !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
  }

  .kf-actions .kf-icon-link--account .kf-action-label {
    font-size: 0 !important;
    line-height: 1 !important;
  }

  .kf-actions .kf-icon-link--account .kf-action-label::after {
    content: "Account" !important;
    display: inline !important;
    color: inherit !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .kf-actions .kf-icon-link--cart {
    grid-column: auto !important;
    justify-self: auto !important;
    gap: 7px !important;
  }

  .kf-icon-link--cart .kf-action-label {
    display: inline !important;
    font-size: .78rem !important;
    line-height: 1 !important;
  }

  .kf-icon-link--cart .kf-action-label::before,
  .kf-icon-link--cart .kf-action-label::after {
    content: none !important;
    display: none !important;
  }

  .kf-cart-count {
    display: inline-grid !important;
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    place-items: center !important;
    font-size: .78rem !important;
    line-height: 1 !important;
  }
}

@media (max-width: 390px) {
  .kf-header__inner {
    grid-template-columns: minmax(96px, 1fr) auto auto !important;
    gap: 5px !important;
    padding-inline: 12px !important;
  }

  .kf-logo__image {
    width: clamp(96px, 28vw, 112px) !important;
  }

  .kf-menu-toggle,
  .kf-actions .kf-icon-link {
    min-height: 40px !important;
    padding: 7px 9px !important;
    font-size: .78rem !important;
  }

  .kf-actions {
    gap: 5px !important;
  }

  .kf-actions .kf-icon-link--account .kf-action-label::after,
  .kf-icon-link--cart .kf-action-label {
    font-size: .74rem !important;
  }

  .kf-cart-count {
    flex-basis: 22px !important;
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    font-size: .72rem !important;
  }
}

/* Final replay readability polish: keep campaign stripes decorative, not over the title. */
body.woocommerce-order-received .kf-replay-spin__game {
  background:
    radial-gradient(circle at 89% 10%, rgba(6, 38, 85, .08) 0 3px, transparent 3.4px) 0 0 / 18px 18px,
    linear-gradient(180deg, #ffffff 0%, #f8fbff 52%, #ffffff 100%) !important;
}

body.woocommerce-order-received .kf-replay-spin__game::before {
  inset: 18px auto auto -42px !important;
  width: clamp(58px, 12vw, 104px) !important;
  height: clamp(110px, 18vw, 158px) !important;
  opacity: .18 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy {
  z-index: 5 !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game::before {
    inset: 18px auto auto -46px !important;
    width: 78px !important;
    height: 128px !important;
    opacity: .16 !important;
  }
}

/* Final checkout table polish: keep price-column headings readable on narrow phones. */
@media (max-width: 640px) {
  body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    table-layout: fixed !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
    width: 58% !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
    width: 42% !important;
    min-width: 104px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }
}

/* Match-day reward poster lock, based on the supplied campaign reference. */
body.woocommerce-order-received .kf-page {
  padding-top: clamp(22px, 4vw, 44px) !important;
}

body.woocommerce-order-received .kf-page > h1:first-child,
body.woocommerce-order-received .kf-page .page-title:first-child {
  display: none !important;
}

body.woocommerce-order-received .kf-replay-spin {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: minmax(260px, .82fr) minmax(360px, 1.18fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto clamp(34px, 5vw, 60px) !important;
  padding: clamp(170px, 23vw, 250px) clamp(20px, 4.6vw, 64px) clamp(34px, 5vw, 58px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(212, 226, 239, .95) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(246,251,255,.94)),
    radial-gradient(circle at 78% 34%, rgba(10, 172, 76, .08), transparent 34%),
    #ffffff !important;
  box-shadow: 0 28px 70px rgba(6, 24, 44, .14), 0 2px 10px rgba(6, 24, 44, .06) !important;
}

body.woocommerce-order-received .kf-replay-spin::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: -1 !important;
  display: block !important;
  width: 100% !important;
  height: clamp(150px, 22vw, 230px) !important;
  background:
    linear-gradient(90deg, rgba(3, 16, 38, .08), rgba(3, 16, 38, 0) 42%),
    url("../match-day-reward-spin-2k-banner.png") center / cover no-repeat,
    #061833 !important;
}

body.woocommerce-order-received .kf-replay-spin::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  z-index: -1 !important;
  height: clamp(42px, 7vw, 88px) !important;
  background:
    linear-gradient(110deg, #05265c 0 12%, transparent 12% 18%, #ef1747 18% 24%, transparent 24% 62%, #10b747 62% 76%, #10b9cf 76% 88%, #05265c 88% 100%) !important;
  opacity: .94 !important;
}

body.woocommerce-order-received .kf-replay-spin > * {
  position: relative !important;
  z-index: 1 !important;
}

body.woocommerce-order-received .kf-replay-spin__summary {
  align-self: center !important;
  display: grid !important;
  gap: 22px !important;
  min-width: 0 !important;
  padding-right: clamp(0px, 3vw, 34px) !important;
  border-right: 1px solid rgba(148, 164, 184, .28) !important;
}

body.woocommerce-order-received .kf-replay-spin__eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  align-items: center !important;
  gap: 9px !important;
  color: #08a846 !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__eyebrow::before {
  content: "\26BD" !important;
  display: inline-grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #10c653, #087a42) !important;
  color: #ffffff !important;
  font-size: 1rem !important;
}

body.woocommerce-order-received .kf-replay-spin__summary h2 {
  margin: -8px 0 0 !important;
  color: #061833 !important;
  font-size: clamp(1.85rem, 3.4vw, 3rem) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

body.woocommerce-order-received .kf-replay-spin__summary p {
  max-width: 36ch !important;
  margin: 0 !important;
  color: #24354f !important;
  font-size: clamp(1rem, 1.3vw, 1.16rem) !important;
  line-height: 1.48 !important;
}

body.woocommerce-order-received .kf-replay-spin__details {
  display: grid !important;
  gap: 0 !important;
  padding: clamp(16px, 2vw, 24px) !important;
  border: 1px solid rgba(203, 216, 228, .95) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .9) !important;
  box-shadow: 0 14px 34px rgba(6, 24, 44, .08) !important;
}

body.woocommerce-order-received .kf-replay-spin__details div {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 6px 14px !important;
  align-items: center !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid rgba(203, 216, 228, .78) !important;
}

body.woocommerce-order-received .kf-replay-spin__details div:last-child {
  border-bottom: 0 !important;
}

body.woocommerce-order-received .kf-replay-spin__details dt {
  grid-column: 2 !important;
  color: #24354f !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__details dd {
  grid-column: 2 !important;
  margin: 0 !important;
  color: #061833 !important;
  font-size: clamp(1.05rem, 1.6vw, 1.3rem) !important;
  font-weight: 950 !important;
}

body.woocommerce-order-received .kf-replay-spin__details div::before {
  content: "" !important;
  grid-row: 1 / span 2 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #0b67c2, #074b99) !important;
}

body.woocommerce-order-received .kf-replay-spin__details div:nth-child(2)::before {
  background: linear-gradient(135deg, #12c75a, #078a43) !important;
}

body.woocommerce-order-received .kf-replay-spin__details div:nth-child(3)::before {
  background: linear-gradient(135deg, #d90d72, #9a155f) !important;
}

body.woocommerce-order-received .kf-replay-spin__reward-note {
  padding: 18px 18px 18px 62px !important;
  border: 1px solid rgba(203, 216, 228, .9) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.86) !important;
  box-shadow: 0 10px 26px rgba(6, 24, 44, .07) !important;
}

body.woocommerce-order-received .kf-replay-spin__reward-note::before {
  content: "\2726" !important;
  position: absolute !important;
  left: 18px !important;
  top: 18px !important;
  display: grid !important;
  width: 30px !important;
  height: 30px !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #6d28d9 !important;
  color: #ffffff !important;
}

body.woocommerce-order-received .kf-replay-spin__reward-note strong {
  display: block !important;
  margin-bottom: 6px !important;
  color: #061833 !important;
  font-size: .88rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__reward-note span {
  color: #2b3b55 !important;
  line-height: 1.46 !important;
}

body.woocommerce-order-received .kf-replay-spin__secondary {
  justify-self: start !important;
  min-height: 52px !important;
  padding: 15px 24px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #0abf4c, #077f40) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 22px rgba(7, 127, 64, .24) !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__game {
  align-self: center !important;
  min-width: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(6, 38, 85, .06) 0 1px, transparent 1.5px) 0 0 / 18px 18px,
    transparent !important;
  box-shadow: none !important;
}

body.woocommerce-order-received .kf-replay-spin__game::before {
  opacity: .1 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  font-style: italic !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span:first-child {
  font-size: .68em !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  font-size: .72em !important;
}

@media (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-spin {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: min(100% - 16px, 720px) !important;
    padding: clamp(126px, 36vw, 176px) clamp(12px, 4vw, 28px) 28px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-order-received .kf-replay-spin::before {
    height: clamp(112px, 33vw, 160px) !important;
    background-position: left top !important;
  }

  body.woocommerce-order-received .kf-replay-spin::after {
    height: 44px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__summary {
    order: 2 !important;
    padding: 0 !important;
    border-right: 0 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__game {
    order: 1 !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-page {
    padding-top: 8px !important;
  }

  body.woocommerce-order-received .kf-replay-spin {
    width: min(100% - 12px, 430px) !important;
    padding-top: clamp(112px, 34vw, 142px) !important;
  }

  body.woocommerce-order-received .kf-replay-spin__summary {
    gap: 14px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__details {
    padding: 12px 16px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__reward-note {
    padding: 14px 14px 14px 52px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__reward-note::before {
    left: 14px !important;
    top: 14px !important;
  }

  body.woocommerce-order-received .kf-replay-spin__secondary {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Final footer trust lock: real social icons and only active payment labels. */
.kf-footer__social a {
  position: relative !important;
  display: inline-grid !important;
  width: 46px !important;
  height: 46px !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .035) !important;
  color: #ffffff !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease !important;
}

.kf-footer__social a:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(16, 199, 90, .65) !important;
  background: rgba(16, 199, 90, .12) !important;
}

.kf-footer__social svg {
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.kf-footer__social a[aria-label="Facebook"] svg {
  fill: currentColor !important;
  stroke: none !important;
}

.kf-footer .kf-payment-extra {
  display: none !important;
}

.kf-footer .kf-payment-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: min(100%, 360px) !important;
  max-width: 360px !important;
  margin-top: 18px !important;
}

.kf-footer .kf-payment-badge {
  display: inline-flex !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(203, 216, 228, .95) !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #061833 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .08) !important;
}

.kf-footer .kf-payment-badge__mark {
  position: relative !important;
  display: inline-grid !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 18px !important;
  place-items: center !important;
}

.kf-footer .kf-payment-badge__mark::before {
  display: inline-block !important;
  color: currentColor !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.kf-footer .kf-payment-badge--visa .kf-payment-badge__mark::before {
  content: "V" !important;
  color: #1434cb !important;
  font-style: italic !important;
}

.kf-footer .kf-payment-badge--mastercard .kf-payment-badge__mark {
  width: 30px !important;
}

.kf-footer .kf-payment-badge--mastercard .kf-payment-badge__circle {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
}

.kf-footer .kf-payment-badge--mastercard .kf-payment-badge__circle--red {
  background: #eb001b !important;
  transform: translateX(5px) !important;
}

.kf-footer .kf-payment-badge--mastercard .kf-payment-badge__circle--orange {
  background: #f79e1b !important;
  transform: translateX(-5px) !important;
  mix-blend-mode: multiply !important;
}

.kf-footer .kf-payment-badge--amex .kf-payment-badge__mark::before {
  content: "A" !important;
  color: #006fcf !important;
}

.kf-footer .kf-payment-badge--discover .kf-payment-badge__mark::before {
  content: "D" !important;
  color: #f58220 !important;
}

.kf-footer .kf-payment-badge--paypal .kf-payment-badge__mark::before {
  content: "P" !important;
  color: #0070ba !important;
}

.kf-footer .kf-payment-badge--stripe .kf-payment-badge__mark::before {
  content: "S" !important;
  color: #635bff !important;
}

.kf-footer .kf-payment-badge__label {
  display: inline !important;
  color: #061833 !important;
  font-size: .82rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

@media (max-width: 560px) {
  .kf-footer__social {
    gap: 12px !important;
  }

  .kf-footer__social a {
    width: 44px !important;
    height: 44px !important;
  }

  .kf-footer .kf-payment-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  .kf-footer .kf-payment-badge {
    min-height: 46px !important;
    padding-inline: 10px !important;
  }
}

/* Final header row lock: prevent Cart from dropping into a wide second row on cart/checkout. */
@media (max-width: 900px) {
  .kf-header__inner {
    display: grid !important;
    grid-template-columns: minmax(88px, 1fr) auto auto auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: min(100% - 24px, 1120px) !important;
    min-height: 58px !important;
    padding: 8px 0 !important;
  }

  .kf-logo,
  .kf-logo__image {
    width: clamp(100px, 24vw, 150px) !important;
    max-width: 100% !important;
  }

  .kf-menu-toggle {
    grid-column: auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }

  .kf-actions {
    display: contents !important;
  }

  .kf-actions .kf-icon-link {
    grid-column: auto !important;
    justify-self: end !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
  }

  .kf-actions .kf-icon-link--cart {
    display: inline-flex !important;
    gap: 8px !important;
  }
}

@media (max-width: 430px) {
  .kf-header__inner {
    grid-template-columns: minmax(82px, 1fr) auto auto auto !important;
    gap: 5px !important;
    width: min(100% - 20px, 1120px) !important;
  }

  .kf-logo,
  .kf-logo__image {
    width: clamp(88px, 25vw, 104px) !important;
  }

  .kf-menu-toggle,
  .kf-actions .kf-icon-link {
    min-height: 40px !important;
    padding: 7px 9px !important;
    font-size: .78rem !important;
  }

  .kf-actions .kf-icon-link--account .kf-action-label::after,
  .kf-icon-link--cart .kf-action-label {
    font-size: .74rem !important;
  }
}

/* Final HD replay wheel lock: sharper wheel, professional typography, and pointer anchored to the wheel. */
body.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: min(560px, 86vw) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .292) !important;
  font-family: "Inter Tight", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  overflow: hidden !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 85% 13%, rgba(6, 38, 85, .12) 0 2px, transparent 2.6px) 0 0 / 17px 17px,
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,251,255,.98) 58%, #ffffff 100%) !important;
  box-shadow: 0 28px 70px rgba(6, 24, 44, .13), inset 0 1px 0 rgba(255,255,255,.94) !important;
}

body.woocommerce-order-received .kf-replay-spin__game::after {
  content: none !important;
  display: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-style: italic !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span:first-child {
  color: #061833 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  background: linear-gradient(90deg, #08b43f 0%, #079f59 46%, #10b7d1 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

body.woocommerce-order-received .kf-replay-spin__copy p {
  width: min(100%, 34ch) !important;
  margin-inline: auto !important;
  color: #1a2a44 !important;
  font-weight: 650 !important;
}

body.woocommerce-order-received .kf-replay-spin__copy p strong {
  color: #08a846 !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-weight: 950 !important;
}

body.woocommerce-order-received .kf-replay-wheel {
  position: relative !important;
  box-sizing: border-box !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  margin: clamp(42px, 8vw, 58px) auto 0 !important;
  overflow: visible !important;
  border: clamp(15px, calc(var(--kf-wheel-size) * .046), 26px) solid #061f49 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 21%, rgba(255,255,255,.98) 21.5% 23.4%, transparent 24% 100%),
    radial-gradient(circle at 34% 24%, rgba(255,255,255,.22), transparent 24%),
    conic-gradient(from -30deg,
      #12bd47 0deg 58deg,
      #ffffff 58deg 62deg,
      #ed1746 62deg 118deg,
      #ffffff 118deg 122deg,
      #10bac8 122deg 178deg,
      #ffffff 178deg 182deg,
      #7b20d8 182deg 238deg,
      #ffffff 238deg 242deg,
      #e11268 242deg 298deg,
      #ffffff 298deg 302deg,
      #0755b7 302deg 358deg,
      #ffffff 358deg 360deg) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.72),
    inset 0 18px 38px rgba(255,255,255,.18),
    0 0 0 4px #ffffff,
    0 0 0 8px rgba(6, 31, 73, .12),
    0 24px 36px rgba(6, 24, 44, .26) !important;
}

body.woocommerce-order-received .kf-replay-wheel::before {
  content: "" !important;
  position: absolute !important;
  inset: clamp(-16px, calc(var(--kf-wheel-size) * -.035), -10px) !important;
  z-index: 0 !important;
  display: block !important;
  border: 1px solid rgba(255,255,255,.78) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 0%, #ffffff 0 4px, transparent 4.5px) 50% 0 / 100% 100% no-repeat,
    repeating-conic-gradient(from 0deg, rgba(255,255,255,.9) 0deg 2.4deg, transparent 2.4deg 30deg) !important;
  opacity: .88 !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-wheel::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: clamp(-58px, calc(var(--kf-wheel-size) * -.142), -44px) !important;
  z-index: 9 !important;
  display: block !important;
  width: clamp(48px, calc(var(--kf-wheel-size) * .14), 74px) !important;
  height: clamp(68px, calc(var(--kf-wheel-size) * .19), 102px) !important;
  transform: translateX(-50%) !important;
  clip-path: polygon(50% 100%, 22% 60%, 10% 38%, 11% 20%, 25% 6%, 50% 0, 75% 6%, 89% 20%, 90% 38%, 78% 60%) !important;
  background:
    radial-gradient(circle at 50% 27%, #ffffff 0 7px, #061f49 7.5px 12px, transparent 12.5px),
    linear-gradient(180deg, #21e85a 0%, #0bb544 68%, #047a35 100%) !important;
  filter: drop-shadow(0 12px 13px rgba(4, 122, 53, .34)) !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  z-index: 2 !important;
  width: clamp(82px, calc(var(--kf-wheel-size) * .24), 140px) !important;
  min-height: clamp(44px, calc(var(--kf-wheel-size) * .118), 70px) !important;
  padding: 0 4px !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .28) !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-size: clamp(.92rem, calc(var(--kf-wheel-size) * .046), 1.72rem) !important;
  font-weight: 950 !important;
  line-height: .94 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-size: clamp(.46rem, calc(var(--kf-wheel-size) * .021), .82rem) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
  letter-spacing: .01em !important;
  text-transform: uppercase !important;
}

body.woocommerce-order-received .kf-replay-wheel strong {
  z-index: 5 !important;
  width: calc(var(--kf-wheel-size) * .215) !important;
  height: calc(var(--kf-wheel-size) * .215) !important;
  border: clamp(5px, calc(var(--kf-wheel-size) * .016), 9px) solid #ffffff !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.18), transparent 30%),
    linear-gradient(180deg, #0b2d61 0%, #061833 72%) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.2),
    0 0 0 3px rgba(6, 31, 73, .3),
    0 9px 18px rgba(6, 24, 44, .28) !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
}

body.woocommerce-order-received .kf-replay-spin__button {
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #11c84f 0%, #06984f 54%, #047f8a 100%) !important;
  box-shadow: 0 16px 26px rgba(4, 127, 86, .3), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

body.woocommerce-order-received .kf-replay-spin__result.has-code {
  width: min(100%, calc(var(--kf-wheel-size) - 20px)) !important;
  margin-inline: auto !important;
  border: 1px solid rgba(8, 184, 73, .35) !important;
  border-radius: 15px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,255,248,.98)),
    radial-gradient(circle at 50% 0%, rgba(8, 184, 73, .1), transparent 45%) !important;
}

body.woocommerce-order-received .kf-replay-spin__code {
  min-width: min(100%, 230px) !important;
  padding: 10px 18px !important;
  border: 1.5px dashed #08a846 !important;
  border-radius: 11px !important;
  background: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(8, 168, 70, .07) !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-size: clamp(1.45rem, 5.8vw, 2.3rem) !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(318px, 81vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .288) !important;
    padding-inline: 12px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    margin-top: 44px !important;
    border-width: 14px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(68px, calc(var(--kf-wheel-size) * .225), 78px) !important;
    min-height: 42px !important;
    gap: 2px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.78rem, calc(var(--kf-wheel-size) * .037), .94rem) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.38rem, calc(var(--kf-wheel-size) * .018), .48rem) !important;
  }
}

@media (min-width: 561px) and (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(520px, 70vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .292) !important;
  }
}

/* Final anti-crop lock: animate the wheel face, not the outer square box. */
body.woocommerce-order-received .kf-replay-wheel {
  transform: none !important;
  background: #061f49 !important;
}

body.woocommerce-order-received .kf-replay-wheel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 21%, rgba(255,255,255,.98) 21.5% 23.4%, transparent 24% 100%),
    radial-gradient(circle at 34% 24%, rgba(255,255,255,.22), transparent 24%),
    conic-gradient(from -30deg,
      #12bd47 0deg 58deg,
      #ffffff 58deg 62deg,
      #ed1746 62deg 118deg,
      #ffffff 118deg 122deg,
      #10bac8 122deg 178deg,
      #ffffff 178deg 182deg,
      #7b20d8 182deg 238deg,
      #ffffff 238deg 242deg,
      #e11268 242deg 298deg,
      #ffffff 298deg 302deg,
      #0755b7 302deg 358deg,
      #ffffff 358deg 360deg) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.72),
    inset 0 18px 38px rgba(255,255,255,.18) !important;
  opacity: 1 !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transition: transform 900ms cubic-bezier(.17, .67, .26, 1.04) !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span,
body.woocommerce-order-received .kf-replay-wheel strong {
  z-index: 3 !important;
}

body.woocommerce-order-received .kf-replay-wheel::after {
  z-index: 10 !important;
}

/* Delivery lock: readable replay wheel labels and aligned payment marks. */
body.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: min(560px, 86vw) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .315) !important;
}

body.woocommerce-order-received .kf-replay-wheel {
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  transform: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  inset: 50% auto auto 50% !important;
  box-sizing: border-box !important;
  width: clamp(96px, calc(var(--kf-wheel-size) * .245), 138px) !important;
  min-height: clamp(48px, calc(var(--kf-wheel-size) * .116), 66px) !important;
  padding: 2px 6px !important;
  align-content: center !important;
  justify-items: center !important;
  gap: 3px !important;
  color: #ffffff !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  text-align: center !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .34) !important;
  transform-origin: center center !important;
}

body.woocommerce-order-received .kf-replay-wheel span b,
body.woocommerce-order-received .kf-replay-wheel span small {
  display: block !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  text-wrap: balance !important;
  letter-spacing: 0 !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-size: clamp(1rem, calc(var(--kf-wheel-size) * .039), 1.42rem) !important;
  line-height: .96 !important;
  font-weight: 950 !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-size: clamp(.5rem, calc(var(--kf-wheel-size) * .017), .66rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: translate(-50%, -50%) rotate(30deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-30deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: translate(-50%, -50%) rotate(90deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-90deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: translate(-50%, -50%) rotate(150deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-150deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: translate(-50%, -50%) rotate(210deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-210deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: translate(-50%, -50%) rotate(270deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-270deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: translate(-50%, -50%) rotate(330deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-330deg) !important; }

.kf-payment-badges {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  list-style: none !important;
}

.kf-payment-badge {
  position: relative !important;
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 46px !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(205, 218, 230, .95) !important;
  border-radius: 9px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
  box-shadow: 0 8px 18px rgba(6, 24, 44, .08) !important;
  color: #061833 !important;
  overflow: hidden !important;
  text-align: center !important;
}

.kf-payment-badge__mark {
  position: relative !important;
  display: inline-grid !important;
  flex: 0 0 26px !important;
  width: 26px !important;
  height: 18px !important;
  place-items: center !important;
}

.kf-payment-badge__mark::before {
  display: block !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.kf-payment-badge--visa .kf-payment-badge__mark::before {
  content: "V" !important;
  color: #1434cb !important;
  font-style: italic !important;
}

.kf-payment-badge--amex .kf-payment-badge__mark::before {
  content: "A" !important;
  color: #006fcf !important;
}

.kf-payment-badge--discover .kf-payment-badge__mark::before {
  content: "D" !important;
  color: #f58220 !important;
}

.kf-payment-badge--paypal .kf-payment-badge__mark::before {
  content: "P" !important;
  color: #0070ba !important;
}

.kf-payment-badge--stripe .kf-payment-badge__mark::before {
  content: "S" !important;
  color: #635bff !important;
}

.kf-payment-badge--mastercard .kf-payment-badge__mark {
  flex-basis: 32px !important;
  width: 32px !important;
}

.kf-payment-badge--mastercard .kf-payment-badge__circle {
  position: absolute !important;
  top: 1px !important;
  display: block !important;
  width: 17px !important;
  height: 17px !important;
  border-radius: 999px !important;
}

.kf-payment-badge--mastercard .kf-payment-badge__circle--red {
  left: 3px !important;
  background: #eb001b !important;
  transform: none !important;
}

.kf-payment-badge--mastercard .kf-payment-badge__circle--orange {
  right: 3px !important;
  background: #f79e1b !important;
  mix-blend-mode: multiply !important;
  transform: none !important;
}

.kf-payment-badge__label {
  display: block !important;
  min-width: 0 !important;
  color: inherit !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.kf-footer .kf-payment-badges {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: min(100%, 330px) !important;
  max-width: 330px !important;
  margin-top: 18px !important;
}

.kf-footer .kf-payment-badge {
  height: 48px !important;
  min-height: 48px !important;
}

.kf-payment-note {
  align-items: stretch !important;
}

.kf-payment-note__badges {
  width: 100% !important;
}

.kf-payment-note .kf-payment-badges,
body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.kf-payment-note .kf-payment-badge,
body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badge {
  height: 42px !important;
  min-height: 42px !important;
  box-shadow: none !important;
}

.kf-payment-extra,
body.woocommerce-checkout .kf-payment-method-heading .kf-payment-extra {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  width: 100% !important;
  margin-top: 10px !important;
  color: #516078 !important;
  font-size: .72rem !important;
  line-height: 1.2 !important;
}

.kf-payment-extra > span:first-child {
  flex: 1 0 100% !important;
  color: #24324a !important;
  font-weight: 850 !important;
}

.kf-payment-extra > span:not(:first-child) {
  display: inline-flex !important;
  min-height: 26px !important;
  align-items: center !important;
  padding: 5px 8px !important;
  border: 1px solid #dbe5ef !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #344255 !important;
  font-weight: 760 !important;
  white-space: nowrap !important;
}

.kf-footer .kf-payment-extra {
  display: none !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(318px, 81vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .305) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(70px, calc(var(--kf-wheel-size) * .232), 78px) !important;
    min-height: 43px !important;
    padding: 1px 3px !important;
    gap: 2px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.78rem, calc(var(--kf-wheel-size) * .031), .88rem) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.38rem, calc(var(--kf-wheel-size) * .0145), .45rem) !important;
  }

  .kf-payment-badges,
  .kf-footer .kf-payment-badges,
  .kf-payment-note .kf-payment-badges,
  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: none !important;
  }

  .kf-payment-badge,
  .kf-footer .kf-payment-badge,
  .kf-payment-note .kf-payment-badge,
  body.woocommerce-checkout .kf-payment-method-heading .kf-payment-badge {
    height: 46px !important;
    min-height: 46px !important;
    padding: 8px !important;
  }

  .kf-payment-badge__mark {
    flex-basis: 24px !important;
    width: 24px !important;
  }

  .kf-payment-badge--mastercard .kf-payment-badge__mark {
    flex-basis: 30px !important;
    width: 30px !important;
  }

  .kf-payment-badge__label {
    font-size: .74rem !important;
  }
}

/* Delivery correction: final cascade lock for poster spacing and circular wheel. */
body.woocommerce-order-received .kf-replay-spin {
  --kf-poster-height: clamp(172px, 19vw, 228px) !important;
  grid-template-columns: minmax(260px, .82fr) minmax(360px, 1.18fr) !important;
  gap: clamp(34px, 4vw, 64px) !important;
  padding-top: calc(var(--kf-poster-height) + 34px) !important;
  overflow: hidden !important;
}

body.woocommerce-order-received .kf-replay-spin::before {
  height: var(--kf-poster-height) !important;
  background:
    linear-gradient(90deg, rgba(3, 16, 38, .08), rgba(3, 16, 38, 0) 42%),
    url("../match-day-reward-spin-2k-banner.png") center / cover no-repeat,
    #061833 !important;
}

body.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: clamp(360px, 33vw, 460px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .306) !important;
  align-self: start !important;
  display: grid !important;
  justify-items: center !important;
  overflow: visible !important;
}

body.woocommerce-order-received .kf-replay-spin__copy {
  width: min(100%, 520px) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 {
  width: 100% !important;
  max-width: 100% !important;
  font-size: clamp(2rem, 3.25vw, 3.3rem) !important;
  line-height: 1 !important;
  overflow-wrap: normal !important;
}

body.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
}

body.woocommerce-order-received .kf-replay-wheel {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  aspect-ratio: 1 / 1 !important;
  margin: clamp(28px, 4vw, 44px) auto 0 !important;
  overflow: visible !important;
  border: clamp(14px, calc(var(--kf-wheel-size) * .044), 22px) solid #062655 !important;
  border-radius: 50% !important;
  background: #061f49 !important;
  box-shadow:
    0 0 0 4px #ffffff,
    0 0 0 8px rgba(6, 31, 73, .12),
    0 24px 36px rgba(6, 24, 44, .24) !important;
  transform: none !important;
}

body.woocommerce-order-received .kf-replay-wheel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  border: 0 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 21%, rgba(255,255,255,.98) 21.5% 23.4%, transparent 24% 100%),
    radial-gradient(circle at 34% 24%, rgba(255,255,255,.22), transparent 24%),
    conic-gradient(from -30deg,
      #12bd47 0deg 58deg,
      #ffffff 58deg 62deg,
      #ed1746 62deg 118deg,
      #ffffff 118deg 122deg,
      #10bac8 122deg 178deg,
      #ffffff 178deg 182deg,
      #7b20d8 182deg 238deg,
      #ffffff 238deg 242deg,
      #e11268 242deg 298deg,
      #ffffff 298deg 302deg,
      #0755b7 302deg 358deg,
      #ffffff 358deg 360deg) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.72),
    inset 0 18px 38px rgba(255,255,255,.18) !important;
  opacity: 1 !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transition: transform 900ms cubic-bezier(.17, .67, .26, 1.04) !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-wheel::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: clamp(-58px, calc(var(--kf-wheel-size) * -.142), -44px) !important;
  z-index: 9 !important;
  display: block !important;
  width: clamp(48px, calc(var(--kf-wheel-size) * .14), 74px) !important;
  height: clamp(68px, calc(var(--kf-wheel-size) * .19), 102px) !important;
  transform: translateX(-50%) !important;
  clip-path: polygon(50% 100%, 22% 60%, 10% 38%, 11% 20%, 25% 6%, 50% 0, 75% 6%, 89% 20%, 90% 38%, 78% 60%) !important;
  background:
    radial-gradient(circle at 50% 27%, #ffffff 0 7px, #061f49 7.5px 12px, transparent 12.5px),
    linear-gradient(180deg, #21e85a 0%, #0bb544 68%, #047a35 100%) !important;
  filter: drop-shadow(0 12px 13px rgba(4, 122, 53, .34)) !important;
  pointer-events: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 3 !important;
  display: grid !important;
  width: clamp(88px, calc(var(--kf-wheel-size) * .232), 108px) !important;
  min-height: clamp(44px, calc(var(--kf-wheel-size) * .108), 52px) !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  place-content: center !important;
  gap: 2px !important;
  color: #ffffff !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  text-align: center !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, .34) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.woocommerce-order-received .kf-replay-wheel span b,
body.woocommerce-order-received .kf-replay-wheel span small {
  display: block !important;
  max-width: 100% !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.woocommerce-order-received .kf-replay-wheel span b {
  font-size: clamp(.84rem, calc(var(--kf-wheel-size) * .031), 1rem) !important;
  line-height: .96 !important;
  font-weight: 950 !important;
}

body.woocommerce-order-received .kf-replay-wheel span small {
  font-size: clamp(.42rem, calc(var(--kf-wheel-size) * .0145), .5rem) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) { transform: translate(-50%, -50%) rotate(30deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-30deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) { transform: translate(-50%, -50%) rotate(90deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-90deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) { transform: translate(-50%, -50%) rotate(150deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-150deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) { transform: translate(-50%, -50%) rotate(210deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-210deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) { transform: translate(-50%, -50%) rotate(270deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-270deg) !important; }
body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) { transform: translate(-50%, -50%) rotate(330deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-330deg) !important; }

body.woocommerce-order-received .kf-replay-wheel strong {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 5 !important;
  display: grid !important;
  width: calc(var(--kf-wheel-size) * .205) !important;
  height: calc(var(--kf-wheel-size) * .205) !important;
  min-width: 70px !important;
  min-height: 70px !important;
  place-items: center !important;
  border: clamp(5px, calc(var(--kf-wheel-size) * .016), 8px) solid #ffffff !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #0b2d61 0%, #061833 72%) !important;
  color: #ffffff !important;
  font-size: clamp(1.25rem, calc(var(--kf-wheel-size) * .052), 1.65rem) !important;
  font-weight: 950 !important;
  transform: translate(-50%, -50%) !important;
}

@media (max-width: 900px) {
  body.woocommerce-order-received .kf-replay-spin {
    --kf-poster-height: clamp(112px, 30vw, 150px) !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: min(100% - 16px, 720px) !important;
    padding: calc(var(--kf-poster-height) + 22px) clamp(12px, 4vw, 28px) 28px !important;
    border-radius: 22px !important;
  }

  body.woocommerce-order-received .kf-replay-spin::before {
    background:
      linear-gradient(90deg, rgba(3, 16, 38, .05), rgba(3, 16, 38, 0) 52%),
      url("../match-day-reward-spin-2k-banner.png") center top / contain no-repeat,
      #061833 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__summary {
    order: 2 !important;
  }

  body.woocommerce-order-received .kf-replay-spin__game {
    order: 1 !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin {
    --kf-poster-height: clamp(106px, 31vw, 126px) !important;
    width: min(100% - 12px, 430px) !important;
    padding-top: calc(var(--kf-poster-height) + 18px) !important;
  }

  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(318px, 81vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .296) !important;
    padding-inline: 10px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel {
    margin-top: 36px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(68px, calc(var(--kf-wheel-size) * .222), 76px) !important;
    min-height: 40px !important;
    padding: 1px 3px !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.74rem, calc(var(--kf-wheel-size) * .030), .84rem) !important;
  }

  body.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.36rem, calc(var(--kf-wheel-size) * .014), .43rem) !important;
  }
}

.kf-footer__signup {
  align-items: stretch !important;
}

.kf-footer__signup input[type="email"] {
  min-width: 0 !important;
}

.kf-footer__signup button {
  min-width: 132px !important;
  white-space: nowrap !important;
}

.kf-footer__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.kf-footer__signup-message {
  grid-column: 1 / -1;
  width: 100%;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.35;
}

.kf-footer__signup-message.is-success {
  color: #bff4ce;
}

.kf-footer__signup-message.is-error {
  color: #fecaca;
}

.kf-account-dashboard__profile {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 18px;
}

.kf-account-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  background: #0f7f4f;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

.kf-account-avatar img,
.kf-admin-user-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kf-account-dashboard__hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.kf-account-dashboard__profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 8px;
  color: #ffffff;
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
}

.kf-account-photo-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid #d9e2ec;
  border-radius: 10px;
  background: #f8fbff;
}

.kf-account-photo-panel__avatar {
  width: 86px;
  height: 86px;
  border-color: #d9e2ec;
}

.kf-account-photo-panel__content {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.kf-account-photo-panel__content span {
  color: #0f7f4f;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.kf-account-photo-panel__content strong {
  color: #071426;
  font-size: 1.08rem;
}

.kf-account-photo-panel__content p {
  margin: 0;
  color: #5b6778;
}

.kf-account-photo-panel__upload input {
  width: 100%;
  max-width: 420px;
}

.kf-account-photo-panel__remove {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3f4c5f;
  font-weight: 700;
}

.kf-admin-user-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  overflow: hidden;
  margin: 0 0 10px;
  border-radius: 999px;
  background: #0f7f4f;
  color: #fff;
  font-weight: 900;
}

@media (max-width: 640px) {
  .kf-footer__signup {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .kf-footer__signup button,
  .kf-footer__signup input[type="email"] {
    width: 100% !important;
  }

  .kf-account-dashboard__profile,
  .kf-account-photo-panel {
    grid-template-columns: 1fr;
  }

  .kf-account-dashboard__profile {
    align-items: flex-start;
  }

  .kf-account-dashboard__hero-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .kf-account-dashboard__profile-link,
  .kf-account-dashboard__logout {
    width: 100%;
  }
}

/* Site delivery polish lock: consistent copy hierarchy, resilient buttons, and intentional empty states. */
html body .kf-button,
html body.woocommerce a.button,
html body.woocommerce button.button,
html body.woocommerce input.button,
html body .kf-card-actions .button,
html body .kf-card-actions .added_to_cart {
  min-height: 44px !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15 !important;
}

html body .kf-section__head,
html body .kf-checkout-path,
html body .kf-rewards-panel,
html body .kf-shop-intro,
html body .kf-product-trust,
html body .kf-account-intro {
  max-width: 100% !important;
}

html body.post-type-archive-product .woocommerce-products-header__title.page-title {
  margin-bottom: 14px !important;
}

html body.post-type-archive-product .kf-shop-intro h2,
html body.tax-product_cat .kf-shop-intro h2 {
  max-width: 780px !important;
  font-size: clamp(2rem, 4vw, 3.35rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

html body.post-type-archive-product .kf-shop-intro p,
html body.tax-product_cat .kf-shop-intro p {
  max-width: 760px !important;
  font-size: clamp(.98rem, 1.5vw, 1.08rem) !important;
  line-height: 1.55 !important;
}

html body.single-product .kf-product-trust {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.single-product .kf-product-trust__item {
  min-width: 0 !important;
}

html body.woocommerce-cart .cart-empty,
html body.woocommerce-checkout .cart-empty {
  max-width: 760px !important;
  margin: 34px auto 16px !important;
  padding: 28px !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #10233f !important;
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: 0 18px 40px rgba(11, 31, 58, .08) !important;
}

html body.woocommerce-cart .return-to-shop,
html body.woocommerce-checkout .return-to-shop {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto 42px !important;
}

html body.woocommerce-cart .return-to-shop .button,
html body.woocommerce-checkout .return-to-shop .button {
  min-width: min(100%, 240px) !important;
  border-radius: 8px !important;
  background: #0b1f3a !important;
  color: #ffffff !important;
  font-weight: 950 !important;
}

html body.woocommerce-account:not(.logged-in) .kf-account-intro {
  padding: clamp(24px, 4vw, 44px) !important;
  border-radius: 12px !important;
}

html body.woocommerce-account:not(.logged-in) .kf-account-intro h2 {
  max-width: 760px !important;
  font-size: clamp(2rem, 4.8vw, 4.2rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-account:not(.logged-in) .kf-account-intro p,
html body .kf-form-note {
  max-width: 680px !important;
  line-height: 1.55 !important;
}

@media (max-width: 720px) {
  html body .kf-section__head,
  html body .kf-checkout-path,
  html body .kf-rewards-panel {
    gap: 16px !important;
  }

  html body.single-product .kf-product-trust {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.post-type-archive-product .kf-shop-intro,
  html body.tax-product_cat .kf-shop-intro,
  html body.woocommerce-cart .cart-empty,
  html body.woocommerce-checkout .cart-empty {
    padding: 22px 16px !important;
  }

  html body.post-type-archive-product .kf-shop-intro h2,
  html body.tax-product_cat .kf-shop-intro h2 {
    font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
  }
}

/* Required size selection for footwear and apparel products. */
html body.woocommerce div.product form.cart .kf-size-choice {
  display: grid !important;
  gap: 10px !important;
  order: -1 !important;
  grid-column: 1 / -1 !important;
  width: min(100%, 420px) !important;
  margin: 0 0 16px !important;
  padding: 14px !important;
  border: 1px solid #d8e5f1 !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
}

html body.single-product form.cart .quantity {
  order: 1 !important;
}

html body.single-product form.cart .single_add_to_cart_button {
  order: 2 !important;
}

html body.single-product form.cart .kf-save-for-later {
  order: 3 !important;
}

html body.woocommerce div.product form.cart .kf-size-choice label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  color: #0b1220 !important;
  font-size: .95rem !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

html body.woocommerce div.product form.cart .kf-size-choice label strong {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #dcfce7 !important;
  color: #087443 !important;
  font-size: .68rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html body.woocommerce div.product form.cart .kf-size-choice select {
  width: 100% !important;
  min-height: 48px !important;
  padding: 0 42px 0 14px !important;
  border: 1px solid #b9cada !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0b1220 !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
}

html body.woocommerce div.product form.cart .kf-size-choice p {
  margin: 0 !important;
  color: #536172 !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
}

html body.woocommerce ul.products li.product .kf-button--choose-size,
html body .kf-main ul.products li.product .kf-button--choose-size {
  border-color: #0b1220 !important;
  background: #0b1220 !important;
  color: #ffffff !important;
}

@media (max-width: 560px) {
  html body.woocommerce div.product form.cart .kf-size-choice {
    width: 100% !important;
    padding: 12px !important;
  }

  html body.woocommerce div.product form.cart .kf-size-choice label {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 7px !important;
  }
}

/* Original retail cues inspired by major sports stores; no league/team assets. */
html body .kf-topbar__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

html body .kf-topbar__promo,
html body .kf-topbar__tools {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

html body .kf-topbar__promo {
  flex-wrap: wrap !important;
}

html body .kf-topbar__tools {
  flex: 0 0 auto !important;
}

html body .kf-topbar__trust,
html body .kf-topbar__tool {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: inherit !important;
  font-size: .73rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

html body .kf-topbar__trust::before,
html body .kf-topbar__tool::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: #22c55e !important;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .16) !important;
}

html body .kf-topbar__tool::before {
  width: 6px !important;
  height: 6px !important;
  background: #cbd5e1 !important;
  box-shadow: none !important;
}

html body .kf-topbar__tool:hover,
html body .kf-topbar__tool:focus-visible {
  color: #d1fae5 !important;
}

html body .kf-assurance-pills__item--rewards .kf-assurance-pills__icon {
  background: linear-gradient(135deg, rgba(34, 197, 94, .18), rgba(15, 23, 42, .08)) !important;
}

html body .kf-assurance-pills__item--rewards .kf-assurance-pills__icon::before {
  content: "" !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 3px !important;
  border: 2px solid #0d7a3b !important;
  box-shadow: inset 0 5px 0 rgba(13, 122, 59, .14) !important;
}

html body.woocommerce ul.products li.product .kf-product-card__badges,
html body .kf-main ul.products li.product .kf-product-card__badges {
  position: absolute !important;
  z-index: 3 !important;
  top: 12px !important;
  left: 12px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  max-width: calc(100% - 24px) !important;
  pointer-events: none !important;
}

html body.woocommerce ul.products li.product .kf-product-card__badge,
html body .kf-main ul.products li.product .kf-product-card__badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  max-width: 100% !important;
  padding: 5px 8px !important;
  border: 1px solid rgba(15, 23, 42, .08) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #0b1220 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .1) !important;
  font-size: .68rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

html body.woocommerce ul.products li.product .kf-product-card__badge--sale,
html body .kf-main ul.products li.product .kf-product-card__badge--sale {
  border-color: rgba(13, 122, 59, .22) !important;
  background: #0d7a3b !important;
  color: #fff !important;
}

html body.woocommerce ul.products li.product .kf-product-card__badge--new,
html body .kf-main ul.products li.product .kf-product-card__badge--new {
  border-color: rgba(11, 18, 32, .1) !important;
  background: #0b1220 !important;
  color: #fff !important;
}

html body.woocommerce ul.products li.product .kf-product-card__badge--best,
html body.woocommerce ul.products li.product .kf-product-card__badge--pick,
html body .kf-main ul.products li.product .kf-product-card__badge--best,
html body .kf-main ul.products li.product .kf-product-card__badge--pick {
  border-color: rgba(13, 122, 59, .22) !important;
  background: #f0fdf4 !important;
  color: #087443 !important;
}

html body.woocommerce ul.products li.product span.onsale,
html body .kf-main ul.products li.product span.onsale {
  display: none !important;
}

html body.home .kf-trust-grid--band .kf-trust-item h3 {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

html body.home .kf-trust-grid--band .kf-trust-item h3::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 999px !important;
  background: #0d7a3b !important;
  box-shadow: 0 0 0 4px rgba(13, 122, 59, .12) !important;
}

@media (max-width: 900px) {
  html body .kf-topbar__inner {
    justify-content: center !important;
  }

  html body .kf-topbar__promo {
    justify-content: center !important;
    row-gap: 7px !important;
  }

  html body .kf-topbar__tools {
    display: none !important;
  }
}

@media (max-width: 520px) {
  html body .kf-topbar__inner {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  html body .kf-topbar__promo {
    gap: 8px 12px !important;
  }

  html body .kf-topbar__trust {
    font-size: .68rem !important;
  }

  html body .kf-topbar__trust--secure {
    display: none !important;
  }

  html body.woocommerce ul.products li.product .kf-product-card__badges,
  html body .kf-main ul.products li.product .kf-product-card__badges {
    top: 10px !important;
    left: 10px !important;
    gap: 5px !important;
    max-width: calc(100% - 20px) !important;
  }

  html body.woocommerce ul.products li.product .kf-product-card__badge,
  html body .kf-main ul.products li.product .kf-product-card__badge {
    min-height: 22px !important;
    padding: 5px 7px !important;
    font-size: .62rem !important;
  }

  html body .kf-icon-link--account .kf-action-label::before,
  html body .kf-icon-link--account .kf-action-label::after,
  html body .kf-icon-link--cart .kf-action-label::before,
  html body .kf-icon-link--cart .kf-action-label::after {
    content: none !important;
    display: none !important;
  }
}

/* Newsletter and account avatar delivery layer. */
html body .kf-footer__signup {
  align-items: stretch !important;
}

html body .kf-footer__signup input[type="email"] {
  min-width: 0 !important;
}

html body .kf-footer__signup button {
  min-width: 132px !important;
  white-space: nowrap !important;
}

html body .kf-footer__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body .kf-footer__signup-message {
  grid-column: 1 / -1;
  width: 100%;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.35;
}

html body .kf-footer__signup-message.is-success {
  color: #bff4ce;
}

html body .kf-footer__signup-message.is-error {
  color: #fecaca;
}

html body .kf-account-dashboard__profile {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 18px;
}

html body .kf-account-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, .48);
  border-radius: 999px;
  background: #0f7f4f;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1;
}

html body .kf-account-avatar img,
html body .kf-admin-user-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html body .kf-account-dashboard__hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

html body .kf-account-dashboard__profile-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 8px;
  color: #ffffff;
  font-size: .86rem;
  font-weight: 850;
  text-decoration: none;
}

html body .kf-account-photo-panel {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin: 0 0 24px;
  padding: 20px;
  border: 1px solid #d9e2ec;
  border-radius: 10px;
  background: #f8fbff;
}

html body .kf-account-photo-panel__avatar {
  width: 86px;
  height: 86px;
  border-color: #d9e2ec;
}

html body .kf-account-photo-panel__content {
  display: grid;
  gap: 8px;
  min-width: 0;
}

html body .kf-account-photo-panel__content span {
  color: #0f7f4f;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

html body .kf-account-photo-panel__content strong {
  color: #071426;
  font-size: 1.08rem;
}

html body .kf-account-photo-panel__content p {
  margin: 0;
  color: #5b6778;
}

html body .kf-account-photo-panel__upload input {
  width: 100%;
  max-width: 420px;
}

html body .kf-account-photo-panel__remove {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3f4c5f;
  font-weight: 700;
}

html body.woocommerce ul.products li.product a img,
html body .wc-block-grid__product-image img,
html body.single-product .woocommerce-product-gallery__image img {
  object-fit: contain !important;
  background: #f5f8fc !important;
}

@media (max-width: 640px) {
  html body .kf-footer__signup {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  html body .kf-footer__signup button,
  html body .kf-footer__signup input[type="email"] {
    width: 100% !important;
  }

  html body .kf-account-dashboard__profile,
  html body .kf-account-photo-panel {
    grid-template-columns: 1fr;
  }

  html body .kf-account-dashboard__profile {
    align-items: flex-start;
  }

  html body .kf-account-dashboard__hero-actions {
    justify-content: flex-start;
    width: 100%;
  }

  html body .kf-account-dashboard__profile-link,
  html body .kf-account-dashboard__logout {
    width: 100%;
  }
}

/* CEO delivery lock: account, checkout, and product purchase details. */
html body.woocommerce ul.products li.product .price,
html body .kf-main ul.products li.product .price {
  gap: 4px !important;
  line-height: 1.15 !important;
}

html body.woocommerce ul.products li.product .price .screen-reader-text,
html body .kf-main ul.products li.product .price .screen-reader-text,
html body.woocommerce div.product p.price .screen-reader-text,
html body.woocommerce div.product span.price .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

html body.single-product form.cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

html body.single-product form.cart .quantity {
  flex: 0 0 104px !important;
  margin: 0 !important;
}

html body.single-product form.cart .quantity .qty {
  width: 100% !important;
  min-height: 50px !important;
  border-radius: 8px !important;
}

html body.single-product form.cart .single_add_to_cart_button {
  flex: 1 1 220px !important;
  min-width: 220px !important;
  margin: 0 !important;
}

html body.single-product .related.products ul.products li.product a img {
  min-height: 168px !important;
  object-fit: contain !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__mode {
  border-color: #b7f4cf !important;
  background: #e9fff1 !important;
  color: #075f32 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice {
  border-color: #c7d8ee !important;
  background: #f7fbff !important;
  color: #10233f !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment {
  scroll-margin-top: 110px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment #place_order {
  font-size: 1.05rem !important;
}

@media (max-width: 720px) {
  html body .kf-header__inner {
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
  }

  html body .kf-actions {
    gap: 6px !important;
    min-width: 0 !important;
  }

  html body .kf-actions .kf-icon-link {
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
  }

  html body .kf-actions .kf-icon-link--account {
    min-width: 68px !important;
    padding-inline: 10px !important;
  }

  html body .kf-actions .kf-icon-link--account .kf-action-label {
    font-size: 0 !important;
    line-height: 1 !important;
  }

  html body .kf-actions .kf-icon-link--account .kf-action-label::after {
    content: "Account" !important;
    display: inline !important;
    color: inherit !important;
    background: transparent !important;
    font-size: .74rem !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav,
  html body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav {
    overflow: hidden !important;
    padding: 16px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav__head {
    margin-bottom: 12px !important;
    gap: 3px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav li {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav a {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 11px 10px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: .8rem !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav .is-active a,
  html body.woocommerce-account.logged-in .kf-account-nav a[aria-current="page"] {
    border-color: rgba(36, 223, 104, .72) !important;
    background: rgba(36, 223, 104, .16) !important;
    color: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(36, 223, 104, .22) !important;
  }

  html body.single-product form.cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
  }

  html body.single-product form.cart > * {
    float: none !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
    position: static !important;
  }

  html body.single-product form.cart .quantity,
  html body.single-product form.cart .single_add_to_cart_button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    grid-column: 1 / -1 !important;
  }

  html body.single-product form.cart .quantity {
    grid-row: 1 !important;
  }

  html body.single-product form.cart .single_add_to_cart_button {
    grid-row: 2 !important;
  }

  html body.single-product form.cart .single_add_to_cart_button {
    min-height: 50px !important;
    padding-inline: 12px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-steps {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-steps li {
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 8px !important;
    justify-content: center !important;
    font-size: .74rem !important;
    white-space: nowrap !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-steps li + li::before,
  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-steps .is-current::after {
    display: none !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge {
    min-width: 0 !important;
  }
}

/* True final order-received reward layout lock. Must stay at file end. */
html body.woocommerce-order-received .kf-page,
html body.woocommerce-checkout.woocommerce-order-received .kf-page {
  width: min(1360px, calc(100% - 48px)) !important;
  max-width: 1360px !important;
  margin-inline: auto !important;
}

html body.woocommerce-order-received .kf-replay-spin,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
  display: grid !important;
  grid-template-columns: minmax(360px, .86fr) minmax(460px, .98fr) !important;
  gap: clamp(28px, 3.5vw, 54px) !important;
  align-items: stretch !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  min-height: auto !important;
  margin: 0 auto clamp(42px, 6vw, 76px) !important;
  padding: clamp(28px, 4vw, 44px) !important;
  border: 1px solid rgba(115, 148, 180, .28) !important;
  border-radius: 16px !important;
  background: radial-gradient(circle at 14% 4%, rgba(46, 242, 139, .14), transparent 30%), linear-gradient(135deg, #071426 0%, #082341 58%, #0b2d4c 100%) !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(7, 20, 38, .16) !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(10px, 2vw, 24px) 0 !important;
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__eyebrow,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__eyebrow {
  width: fit-content !important;
  margin: 0 0 16px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(46, 242, 139, .13) !important;
  color: #35f28b !important;
  font-size: .8rem !important;
  font-weight: 950 !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary h2 {
  max-width: 8.5ch !important;
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: clamp(3rem, 5vw, 5.2rem) !important;
  line-height: .92 !important;
  opacity: 1 !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
  max-width: 440px !important;
  margin: 0 0 24px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  font-weight: 650 !important;
  line-height: 1.58 !important;
  opacity: 1 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: min(100%, 360px) !important;
  margin: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details div,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 14px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #071426 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details div::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div::before {
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details dt,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dt,
html body.woocommerce-order-received .kf-replay-spin__details dd,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dd {
  grid-column: 2 !important;
  margin: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details dt,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dt {
  color: #34445d !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

html body.woocommerce-order-received .kf-replay-spin__details dd,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dd {
  color: #071426 !important;
  font-size: clamp(1.22rem, 1.7vw, 1.55rem) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}

html body.woocommerce-order-received .kf-replay-spin__reward-note,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note {
  width: min(100%, 360px) !important;
  margin-top: 14px !important;
  padding: 16px !important;
  border: 1px solid rgba(46, 242, 139, .28) !important;
  border-radius: 12px !important;
  background: rgba(46, 242, 139, .1) !important;
}

html body.woocommerce-order-received .kf-replay-spin__reward-note strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note strong {
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__reward-note span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note span {
  color: rgba(255, 255, 255, .78) !important;
}

html body.woocommerce-order-received .kf-replay-spin__game,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
  display: grid !important;
  min-width: 0 !important;
  justify-items: center !important;
  align-content: start !important;
  gap: 16px !important;
  padding: clamp(24px, 3vw, 36px) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(18, 67, 106, .9), rgba(9, 37, 67, .92)) !important;
  box-shadow: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-order-received .kf-replay-spin__game::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::after {
  display: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy {
  display: grid !important;
  gap: 10px !important;
  justify-items: center !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
  max-width: 12ch !important;
  margin: 0 auto !important;
  font-size: clamp(2.15rem, 3.3vw, 3.45rem) !important;
  line-height: .94 !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2 span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy p {
  max-width: 360px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .9) !important;
  font-size: 1rem !important;
  line-height: 1.42 !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
  width: min(100%, 360px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24) !important;
  overflow: visible !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel .kf-spin-wheel-face,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel .kf-spin-wheel-face {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html body.woocommerce-order-received .kf-replay-spin__button,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__button,
html body.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-order-received .kf-replay-spin__best,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__best {
  width: min(100%, 360px) !important;
}

@media (max-width: 980px) {
  html body.woocommerce-order-received .kf-page,
  html body.woocommerce-checkout.woocommerce-order-received .kf-page,
  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    width: min(100% - 28px, 720px) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 24px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
    align-items: center !important;
    text-align: center !important;
    padding: 0 !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary h2,
  html body.woocommerce-order-received .kf-replay-spin__summary p,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
    max-width: 620px !important;
  }
}

@media (max-width: 640px) {
  html body.woocommerce-order-received .kf-page,
  html body.woocommerce-checkout.woocommerce-order-received .kf-page,
  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    width: min(100% - 20px, 430px) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    padding: 16px !important;
    border-radius: 14px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary h2 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 12vw, 3.35rem) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details div,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 66px !important;
    padding: 12px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details div::before,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div::before {
    width: 28px !important;
    height: 28px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__game,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    gap: 12px !important;
    padding: 16px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__copy h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
    font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
    width: min(100%, 288px) !important;
  }
}

/* Order received reward panel final correction: desktop and mobile fit/readability. */
html body.woocommerce-order-received .kf-page,
html body.woocommerce-checkout.woocommerce-order-received .kf-page {
  width: min(1360px, calc(100% - 48px)) !important;
  max-width: 1360px !important;
  margin-inline: auto !important;
}

html body.woocommerce-order-received .kf-replay-spin,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .86fr) minmax(460px, .98fr) !important;
  gap: clamp(28px, 3.5vw, 54px) !important;
  align-items: stretch !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  min-height: auto !important;
  margin: 0 auto clamp(42px, 6vw, 76px) !important;
  padding: clamp(28px, 4vw, 44px) !important;
  border: 1px solid rgba(115, 148, 180, .28) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 14% 4%, rgba(46, 242, 139, .14), transparent 30%),
    linear-gradient(135deg, #071426 0%, #082341 58%, #0b2d4c 100%) !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(7, 20, 38, .16) !important;
}

html body.woocommerce-order-received .kf-replay-spin::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin::before {
  opacity: .16 !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: clamp(10px, 2vw, 24px) 0 !important;
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary::after {
  display: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__eyebrow,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 16px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(46, 242, 139, .13) !important;
  color: #35f28b !important;
  font-size: .8rem !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary h2 {
  max-width: 8.5ch !important;
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: clamp(3rem, 5vw, 5.2rem) !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
  max-width: 440px !important;
  margin: 0 0 24px !important;
  color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
  font-weight: 650 !important;
  line-height: 1.58 !important;
  opacity: 1 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: min(100%, 360px) !important;
  margin: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details div,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 14px !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #071426 !important;
  box-shadow: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__details div::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div::before {
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__details dt,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dt {
  grid-column: 2 !important;
  margin: 0 0 3px !important;
  color: #34445d !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html body.woocommerce-order-received .kf-replay-spin__details dd,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dd {
  grid-column: 2 !important;
  margin: 0 !important;
  color: #071426 !important;
  font-size: clamp(1.22rem, 1.7vw, 1.55rem) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}

html body.woocommerce-order-received .kf-replay-spin__reward-note,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note {
  width: min(100%, 360px) !important;
  margin-top: 14px !important;
  padding: 16px !important;
  border: 1px solid rgba(46, 242, 139, .28) !important;
  border-radius: 12px !important;
  background: rgba(46, 242, 139, .1) !important;
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__reward-note strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note strong {
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__reward-note span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note span {
  color: rgba(255, 255, 255, .78) !important;
}

html body.woocommerce-order-received .kf-replay-spin__secondary,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__secondary {
  width: fit-content !important;
  margin-top: 16px !important;
  color: #ffffff !important;
  font-weight: 850 !important;
  text-decoration-color: rgba(255, 255, 255, .6) !important;
}

html body.woocommerce-order-received .kf-replay-spin__game,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  min-width: 0 !important;
  justify-items: center !important;
  align-content: start !important;
  gap: 16px !important;
  padding: clamp(24px, 3vw, 36px) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, rgba(18, 67, 106, .9), rgba(9, 37, 67, .92)) !important;
  box-shadow: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-order-received .kf-replay-spin__game::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::after {
  display: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy {
  display: grid !important;
  gap: 10px !important;
  justify-items: center !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy > span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy > span {
  margin: 0 !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: rgba(46, 242, 139, .18) !important;
  color: #7cffad !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .04em !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
  max-width: 12ch !important;
  margin: 0 auto !important;
  color: #071426 !important;
  font-size: clamp(2.15rem, 3.3vw, 3.45rem) !important;
  line-height: .94 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2 span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  color: #35f28b !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy p {
  max-width: 360px !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .9) !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  line-height: 1.42 !important;
}

html body.woocommerce-order-received .kf-replay-spin__progress,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress {
  margin: 2px 0 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
  width: min(100%, 360px) !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .24) !important;
  overflow: visible !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel .kf-spin-wheel-face,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel .kf-spin-wheel-face {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel .kf-spin-wheel-pointer,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel .kf-spin-wheel-pointer {
  width: 18% !important;
  max-width: 70px !important;
  top: -6% !important;
}

html body.woocommerce-order-received .kf-replay-spin__button,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__button,
html body.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-order-received .kf-replay-spin__best,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__best {
  width: min(100%, 360px) !important;
}

@media (min-width: 1200px) {
  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    transform: translateY(-10px) !important;
  }
}

@media (max-width: 980px) {
  html body.woocommerce-order-received .kf-page,
  html body.woocommerce-checkout.woocommerce-order-received .kf-page,
  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    width: min(100% - 28px, 720px) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 24px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
    align-items: center !important;
    text-align: center !important;
    padding: 0 !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary h2,
  html body.woocommerce-order-received .kf-replay-spin__summary p,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
    max-width: 620px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details,
  html body.woocommerce-order-received .kf-replay-spin__reward-note,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__reward-note {
    width: min(100%, 520px) !important;
  }
}

@media (max-width: 640px) {
  html body.woocommerce-order-received .kf-page,
  html body.woocommerce-checkout.woocommerce-order-received .kf-page,
  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    width: min(100% - 20px, 430px) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    margin-top: 8px !important;
    padding: 16px !important;
    border-radius: 14px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__eyebrow,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__eyebrow {
    margin-bottom: 12px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary h2 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 12vw, 3.35rem) !important;
    line-height: .95 !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary p,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
    margin-bottom: 18px !important;
    font-size: .98rem !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details {
    gap: 8px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details div,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: 66px !important;
    padding: 12px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details div::before,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details div::before {
    width: 28px !important;
    height: 28px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__details dd,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details dd {
    font-size: clamp(1.05rem, 6vw, 1.35rem) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__game,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    gap: 12px !important;
    padding: 16px !important;
    border-radius: 14px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__copy h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
    max-width: 12ch !important;
    font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__copy p,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy p {
    font-size: .9rem !important;
  }

  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
    width: min(100%, 288px) !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__button,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__button,
  html body.woocommerce-order-received .kf-replay-spin__result,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__result,
  html body.woocommerce-order-received .kf-replay-spin__history,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history,
  html body.woocommerce-order-received .kf-replay-spin__best,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__best {
    width: 100% !important;
  }
}

/* Order replay wheel readability lock: keep received-copy readable over the sports poster background. */
html body.woocommerce-order-received .kf-replay-spin,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
  isolation: isolate !important;
}

html body.woocommerce-order-received .kf-replay-spin__layout,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__layout {
  align-items: start !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
  position: relative !important;
  z-index: 6 !important;
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary > span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary > span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
  padding: 7px 12px !important;
  border: 1px solid rgba(51, 255, 127, .34) !important;
  border-radius: 999px !important;
  background: rgba(5, 18, 36, .78) !important;
  color: #33ff7f !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .24) !important;
}

html body.woocommerce-order-received .kf-replay-spin__summary p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
  display: block !important;
  max-width: 430px !important;
  margin: 0 0 22px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(255, 255, 255, .2) !important;
  border-left: 4px solid #33ff7f !important;
  border-radius: 10px !important;
  background: rgba(3, 15, 31, .82) !important;
  color: #f7fbff !important;
  font-size: clamp(1rem, 1.4vw, 1.12rem) !important;
  font-weight: 780 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .35) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .22) !important;
}

html body.woocommerce-order-received .kf-replay-spin__details,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__details,
html body.woocommerce-order-received .kf-replay-spin__notice,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__notice {
  position: relative !important;
  z-index: 6 !important;
  color: #071426 !important;
}

html body.woocommerce-order-received .kf-replay-spin__game,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
  z-index: 7 !important;
}

html body.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::before {
  opacity: .16 !important;
  pointer-events: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__game::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::after {
  pointer-events: none !important;
}

@media (max-width: 900px) {
  html body.woocommerce-order-received .kf-replay-spin__summary,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
    display: grid !important;
    justify-items: start !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__summary p,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary p {
    max-width: 100% !important;
    margin-bottom: 18px !important;
  }
}

/* Final client delivery layer: stable commerce layout, buttons, cards, product pages, account, and footer. */
html body {
  --kf-delivery-ink: #071426;
  --kf-delivery-muted: #4f5f70;
  --kf-delivery-line: #d9e3ee;
  --kf-delivery-bg: #f4f7fa;
  --kf-delivery-surface: #ffffff;
  --kf-delivery-green: #078a48;
  --kf-delivery-green-dark: #056e3a;
  --kf-delivery-gold: #f4b21b;
  --kf-delivery-radius: 8px;
  overflow-x: hidden !important;
  background: var(--kf-delivery-bg) !important;
  color: var(--kf-delivery-ink) !important;
}

html body *,
html body *::before,
html body *::after {
  box-sizing: border-box !important;
}

html body .kf-container,
html body .kf-header__inner,
html body .kf-topbar__inner,
html body.woocommerce .kf-page,
html body.woocommerce-page .kf-page {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

html body .kf-button,
html body .button,
html body button,
html body input[type="submit"],
html body.woocommerce a.button,
html body.woocommerce button.button,
html body.woocommerce input.button,
html body.woocommerce #respond input#submit {
  display: inline-flex !important;
  min-width: 0 !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 18px !important;
  border-radius: var(--kf-delivery-radius) !important;
  font-size: .95rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  box-shadow: none !important;
}

html body .kf-button--accent,
html body.woocommerce a.button.checkout-button,
html body.woocommerce button.single_add_to_cart_button,
html body.woocommerce #place_order {
  border-color: var(--kf-delivery-green) !important;
  background: var(--kf-delivery-green) !important;
  color: #ffffff !important;
}

html body .kf-button--accent:hover,
html body.woocommerce a.button.checkout-button:hover,
html body.woocommerce button.single_add_to_cart_button:hover,
html body.woocommerce #place_order:hover {
  border-color: var(--kf-delivery-green-dark) !important;
  background: var(--kf-delivery-green-dark) !important;
}

html body .kf-button--ghost,
html body .kf-button--secondary,
html body.woocommerce ul.products li.product .button,
html body .kf-main ul.products li.product .button,
html body.woocommerce ul.products li.product .added_to_cart,
html body .kf-main ul.products li.product .added_to_cart {
  border: 1px solid var(--kf-delivery-line) !important;
  background: #ffffff !important;
  color: var(--kf-delivery-ink) !important;
}

html body.home .kf-hero--campaign {
  position: relative !important;
  min-height: min(740px, calc(100vh - 120px)) !important;
  display: grid !important;
  align-items: end !important;
  padding: clamp(28px, 5vw, 64px) 0 !important;
  background: #eaf2f5 !important;
  overflow: hidden !important;
}

html body.home .kf-campaign-hero__link {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  z-index: 0 !important;
}

html body.home .kf-campaign-hero__link picture,
html body.home .kf-campaign-hero__link img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

html body.home .kf-campaign-hero__link img {
  object-fit: cover !important;
  object-position: center !important;
}

html body.home .kf-hero--campaign::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(90deg, rgba(244, 247, 250, .96) 0%, rgba(244, 247, 250, .78) 42%, rgba(244, 247, 250, .18) 72%) !important;
  pointer-events: none !important;
}

html body.home .kf-campaign-hero__copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

html body.home .kf-campaign-hero__copy h1 {
  max-width: 12.5ch !important;
  margin: 16px 0 18px !important;
  color: var(--kf-delivery-ink) !important;
  font-size: clamp(3rem, 5.3vw, 5.6rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

html body.home .kf-campaign-hero__copy p {
  max-width: 610px !important;
  margin: 0 !important;
  color: #233247 !important;
  font-size: clamp(1.02rem, 1.2vw, 1.18rem) !important;
  line-height: 1.65 !important;
}

html body.home .kf-campaign-hero__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 28px !important;
}

html body.home .kf-promo-strip .kf-container {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  width: min(1240px, calc(100% - 48px)) !important;
}

html body.home .kf-section,
html body.home .kf-home-categories {
  padding-block: clamp(42px, 6vw, 72px) !important;
}

html body.home .kf-section__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 24px !important;
  align-items: end !important;
  margin-bottom: 26px !important;
}

html body.home .kf-section__head h2 {
  max-width: 11ch !important;
  font-size: clamp(2rem, 3.6vw, 4rem) !important;
  line-height: 1 !important;
}

html body.home .kf-section__head p {
  max-width: 640px !important;
  color: var(--kf-delivery-muted) !important;
  line-height: 1.55 !important;
}

html body.home .kf-home-categories .kf-container {
  grid-template-columns: 150px minmax(0, 1fr) !important;
  gap: 22px !important;
  align-items: center !important;
}

html body.home .kf-home-category-rail {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.home .kf-home-category-rail a {
  min-height: 150px !important;
  padding: 14px !important;
  border-radius: var(--kf-delivery-radius) !important;
}

html body.home .kf-home-category-rail__label,
html body .kf-category-nav a,
html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body .kf-main ul.products li.product .woocommerce-loop-product__title {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: manual !important;
}

html body.woocommerce ul.products,
html body .kf-main ul.products,
html body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: min(1240px, 100%) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

html body.woocommerce ul.products li.product,
html body .kf-main ul.products li.product {
  display: flex !important;
  min-width: 0 !important;
  min-height: 100% !important;
  flex-direction: column !important;
  padding: 14px !important;
  border: 1px solid var(--kf-delivery-line) !important;
  border-radius: var(--kf-delivery-radius) !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

html body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
html body .kf-main ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  color: inherit !important;
  text-decoration: none !important;
}

html body.woocommerce ul.products li.product a img,
html body .kf-main ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: contain !important;
  padding: 12px !important;
  border-radius: 6px !important;
  background: #f7f9fb !important;
}

html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body .kf-main ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.55em !important;
  margin: 14px 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  color: var(--kf-delivery-ink) !important;
  font-size: 1.04rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

html body.woocommerce ul.products li.product .price,
html body .kf-main ul.products li.product .price {
  margin-top: auto !important;
  color: var(--kf-delivery-green) !important;
  font-size: 1.08rem !important;
  font-weight: 900 !important;
}

html body.woocommerce ul.products li.product .kf-card-actions,
html body .kf-main ul.products li.product .kf-card-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

html body.woocommerce ul.products li.product .kf-card-actions--added {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.woocommerce ul.products li.product .kf-card-actions .button,
html body.woocommerce ul.products li.product .kf-card-actions .added_to_cart,
html body .kf-main ul.products li.product .kf-card-actions .button,
html body .kf-main ul.products li.product .kf-card-actions .added_to_cart {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 10px !important;
  font-size: .86rem !important;
}

html body.woocommerce ul.products li.product .onsale,
html body .kf-main ul.products li.product .onsale {
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: var(--kf-delivery-gold) !important;
  color: var(--kf-delivery-ink) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

html body.post-type-archive-product .kf-shop-intro,
html body.tax-product_cat .kf-shop-intro,
html body .kf-category-nav--shop,
html body .kf-shop-toolbar {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  border-radius: var(--kf-delivery-radius) !important;
}

html body .kf-shop-toolbar {
  grid-template-columns: minmax(320px, 1fr) auto !important;
  gap: 16px !important;
  padding: 14px !important;
}

html body .kf-shop-search {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
}

html body .kf-shop-search input[type="search"],
html body .kf-shop-toolbar__ordering select {
  min-height: 48px !important;
  min-width: 0 !important;
  border-radius: var(--kf-delivery-radius) !important;
}

html body.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr) !important;
  gap: clamp(34px, 5vw, 68px) !important;
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

html body.single-product div.product .summary.entry-summary,
html body.single-product div.product div.images {
  width: auto !important;
  max-width: 100% !important;
  float: none !important;
}

html body.single-product div.product .product_title {
  max-width: 12.5ch !important;
  font-size: clamp(2.55rem, 4.6vw, 4.7rem) !important;
  line-height: .98 !important;
}

html body.single-product form.cart {
  display: grid !important;
  grid-template-columns: 132px minmax(190px, 1fr) !important;
  gap: 12px !important;
  max-width: 560px !important;
  align-items: stretch !important;
}

html body.single-product form.cart .quantity,
html body.single-product form.cart .single_add_to_cart_button,
html body.single-product .kf-save-for-later {
  width: 100% !important;
}

html body.single-product .kf-product-meta-line {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  max-width: 640px !important;
  margin-top: 16px !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid var(--kf-delivery-line) !important;
  color: var(--kf-delivery-muted) !important;
  font-size: .9rem !important;
  line-height: 1.45 !important;
}

html body.single-product .kf-product-meta-line a {
  color: var(--kf-delivery-ink) !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

html body.single-product .woocommerce-tabs {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: clamp(42px, 6vw, 72px) auto 0 !important;
}

html body.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--kf-delivery-line) !important;
}

html body.single-product .woocommerce-tabs ul.tabs::before,
html body.single-product .woocommerce-tabs ul.tabs li::before,
html body.single-product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

html body.single-product .woocommerce-tabs ul.tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--kf-delivery-line) !important;
  border-bottom: 0 !important;
  border-radius: 8px 8px 0 0 !important;
  background: #ffffff !important;
}

html body.single-product .woocommerce-tabs ul.tabs li a {
  display: inline-flex !important;
  min-height: 46px !important;
  align-items: center !important;
  padding: 0 18px !important;
  color: var(--kf-delivery-ink) !important;
  font-weight: 850 !important;
}

html body.single-product .woocommerce-Tabs-panel {
  max-width: 760px !important;
  color: #1c2d42 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

html body.single-product .related.products {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin: clamp(42px, 6vw, 72px) auto 0 !important;
}

html body.single-product .related.products > h2 {
  margin: 0 0 22px !important;
  text-align: left !important;
  font-size: clamp(1.7rem, 2.8vw, 2.6rem) !important;
  line-height: 1.05 !important;
}

html body.single-product .related.products ul.products,
html body.single-product .related.products .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.single-product .related.products ul.products::before,
html body.single-product .related.products ul.products::after {
  display: none !important;
  content: none !important;
}

html body.single-product .related.products ul.products li.product,
html body.single-product .related.products .woocommerce ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

html body.single-product .related.products ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

html body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  min-height: 2.8em !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

html body.single-product .related.products ul.products li.product .button,
html body.single-product .related.products ul.products li.product .added_to_cart {
  min-height: 44px !important;
  white-space: normal !important;
}

html body.woocommerce-account.logged-in .woocommerce {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 24px !important;
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

html body.woocommerce-account.logged-in .kf-account-nav {
  min-height: 0 !important;
  padding: 22px !important;
  border-radius: var(--kf-delivery-radius) !important;
  box-shadow: none !important;
}

html body.woocommerce-account.logged-in .kf-account-nav a {
  min-height: 46px !important;
  border-radius: 7px !important;
  white-space: normal !important;
}

html body.woocommerce-account.logged-in .woocommerce-MyAccount-content,
html body.woocommerce-account.logged-in .kf-account-dashboard__hero,
html body.woocommerce-account.logged-in .kf-account-dashboard__card,
html body.woocommerce-account.logged-in .woocommerce-info {
  border-radius: var(--kf-delivery-radius) !important;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__hero {
  min-height: 0 !important;
  padding: clamp(24px, 4vw, 38px) !important;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__hero h2 {
  max-width: 13ch !important;
  font-size: clamp(2.2rem, 4.2vw, 4rem) !important;
  line-height: 1 !important;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

html body.woocommerce-account .woocommerce-info {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px !important;
  border-top-color: var(--kf-delivery-green) !important;
}

html body.woocommerce-account .woocommerce-info .button {
  order: 2 !important;
  margin: 0 !important;
  background: var(--kf-delivery-ink) !important;
  color: #ffffff !important;
}

html body .kf-footer {
  margin-top: clamp(48px, 6vw, 76px) !important;
}

html body .kf-footer__inner {
  grid-template-columns: minmax(220px, 1.2fr) minmax(150px, .8fr) minmax(190px, .95fr) minmax(190px, .9fr) minmax(240px, 1fr) !important;
  gap: clamp(24px, 4vw, 56px) !important;
  align-items: start !important;
}

html body .kf-footer__offer {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body .kf-footer__signup {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  max-width: 320px !important;
}

html body .kf-footer__signup input,
html body .kf-footer__signup button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note::after {
  content: "Review your cart, confirm your details, and complete a demonstration order without a real card charge." !important;
}

@media (max-width: 1100px) {
  html body.woocommerce ul.products,
  html body .kf-main ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.single-product .related.products ul.products,
  html body.single-product .related.products .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .kf-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body.single-product .related.products ul.products,
  html body.single-product .related.products .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

@media (max-width: 860px) {
  html body .kf-container,
  html body .kf-header__inner,
  html body .kf-topbar__inner,
  html body.woocommerce .kf-page,
  html body.woocommerce-page .kf-page,
  html body.post-type-archive-product .kf-shop-intro,
  html body.tax-product_cat .kf-shop-intro,
  html body .kf-category-nav--shop,
  html body .kf-shop-toolbar,
  html body.single-product div.product,
  html body.single-product .woocommerce-tabs,
  html body.single-product .related.products,
  html body.woocommerce-account.logged-in .woocommerce {
    width: min(100% - 28px, 720px) !important;
  }

  html body.home .kf-campaign-hero__copy {
    width: min(100% - 28px, 720px) !important;
  }

  html body.home .kf-hero--campaign {
    min-height: 680px !important;
    align-items: end !important;
  }

  html body.home .kf-hero--campaign::after {
    background: linear-gradient(180deg, rgba(244, 247, 250, .2) 0%, rgba(244, 247, 250, .95) 52%, rgba(244, 247, 250, .98) 100%) !important;
  }

  html body.home .kf-campaign-hero__copy h1 {
    max-width: 11.5ch !important;
    font-size: clamp(2.55rem, 9.5vw, 4rem) !important;
  }

  html body.home .kf-promo-strip .kf-container,
  html body.home .kf-section__head,
  html body.home .kf-home-categories .kf-container,
  html body .kf-shop-toolbar,
  html body.single-product div.product,
  html body.woocommerce-account.logged-in .woocommerce {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .kf-home-category-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body .kf-shop-search {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  html body .kf-shop-search__clear {
    grid-column: 1 / -1 !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav ul {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding-bottom: 4px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav li {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 720px) {
  html body.post-type-archive-product .kf-shop-intro,
  html body.tax-product_cat .kf-shop-intro {
    margin-bottom: 16px !important;
    padding: 18px 16px !important;
  }

  html body.post-type-archive-product .kf-shop-intro h2,
  html body.tax-product_cat .kf-shop-intro h2 {
    font-size: clamp(1.75rem, 8vw, 2.35rem) !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
  }

  html body.post-type-archive-product .kf-shop-intro p,
  html body.tax-product_cat .kf-shop-intro p {
    margin-bottom: 10px !important;
    font-size: .94rem !important;
    line-height: 1.42 !important;
  }

  html body.post-type-archive-product .kf-shop-intro__meta,
  html body.tax-product_cat .kf-shop-intro__meta {
    gap: 6px !important;
    margin-top: 8px !important;
  }

  html body.post-type-archive-product .kf-shop-intro .kf-assurance-pills,
  html body.tax-product_cat .kf-shop-intro .kf-assurance-pills {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 10px !important;
  }

  html body.post-type-archive-product .kf-shop-intro .kf-assurance-pills li,
  html body.tax-product_cat .kf-shop-intro .kf-assurance-pills li {
    min-height: 0 !important;
    padding: 9px 10px !important;
  }

  html body.woocommerce-cart .wc-proceed-to-checkout {
    position: sticky !important;
    bottom: 10px !important;
    z-index: 30 !important;
    margin: 14px 0 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(11, 31, 58, .12) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 38px rgba(11, 31, 58, .18) !important;
    backdrop-filter: blur(10px) !important;
  }

  html body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    margin: 0 !important;
    width: 100% !important;
    min-height: 52px !important;
    border-radius: 8px !important;
    font-size: .98rem !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav ul {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav li {
    flex: initial !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.woocommerce-account.logged-in .kf-account-nav a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-inline: 8px !important;
    font-size: .76rem !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 640px) {
  html body .kf-container,
  html body .kf-header__inner,
  html body .kf-topbar__inner,
  html body.woocommerce .kf-page,
  html body.woocommerce-page .kf-page,
  html body.post-type-archive-product .kf-shop-intro,
  html body.tax-product_cat .kf-shop-intro,
  html body .kf-category-nav--shop,
  html body .kf-shop-toolbar,
  html body.single-product div.product,
  html body.single-product .woocommerce-tabs,
  html body.single-product .related.products,
  html body.woocommerce-account.logged-in .woocommerce {
    width: min(100% - 24px, 430px) !important;
  }

  html body.home .kf-campaign-hero__copy {
    width: min(100% - 24px, 430px) !important;
  }

  html body.home .kf-hero--campaign {
    min-height: 620px !important;
    padding-bottom: 34px !important;
  }

  html body.home .kf-campaign-hero__copy p {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  html body.home .kf-campaign-hero__actions,
  html body .kf-home-spin__actions,
  html body .kf-home-spin__modal-actions,
  html body .kf-checkout-path,
  html body.woocommerce-account.logged-in .kf-account-dashboard__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .kf-campaign-hero__actions .kf-button,
  html body .kf-home-spin__actions .kf-button,
  html body .kf-checkout-path .kf-button,
  html body.woocommerce-account.logged-in .kf-account-dashboard__actions .kf-button {
    width: 100% !important;
  }

  html body.woocommerce ul.products,
  html body .kf-main ul.products,
  html body.single-product .related.products ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
  }

  html body.woocommerce ul.products li.product .kf-card-actions--added {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.single-product form.cart {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.single-product .woocommerce-tabs ul.tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.single-product .woocommerce-tabs ul.tabs li a {
    width: 100% !important;
    justify-content: center !important;
    padding-inline: 10px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__grid,
  html body .kf-footer__inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.woocommerce-account .woocommerce-info {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.woocommerce-account .woocommerce-info .button {
    width: 100% !important;
  }

  html body .kf-footer__signup {
    max-width: none !important;
  }
}

/* Campaign poster delivery lock: use supplied independent-site artwork as the hero and promo rails. */
html body.home .kf-hero--campaign {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #05080d !important;
  overflow: hidden !important;
}

html body.home .kf-campaign-hero__link,
html body.home .kf-campaign-hero__link picture,
html body.home .kf-campaign-hero__link img {
  display: block !important;
  width: 100% !important;
}

html body.home .kf-campaign-hero__link {
  position: relative !important;
  color: inherit !important;
  text-decoration: none !important;
}

html body.home .kf-campaign-hero__link img {
  height: min(76vh, 760px) !important;
  min-height: 520px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

html body.home .kf-section--campaign-posters {
  padding: clamp(34px, 5vw, 70px) 0 !important;
  background: #f5f7fa !important;
}

html body.home .kf-section--campaign-posters .kf-container {
  width: min(1240px, calc(100% - 40px)) !important;
}

html body.home .kf-campaign-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(14px, 2vw, 22px) !important;
  margin-top: clamp(18px, 3vw, 28px) !important;
}

html body.home .kf-campaign-card {
  display: block !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid #d7e2ec !important;
  border-radius: 8px !important;
  background: #05080d !important;
  color: inherit !important;
  text-decoration: none !important;
  box-shadow: 0 18px 42px rgba(7, 20, 38, .12) !important;
}

html body.home .kf-campaign-card:first-child {
  grid-column: span 2 !important;
}

html body.home .kf-campaign-card picture,
html body.home .kf-campaign-card img {
  display: block !important;
  width: 100% !important;
}

html body.home .kf-campaign-card img {
  aspect-ratio: 1672 / 941 !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  transition: transform .28s ease !important;
}

html body.home .kf-campaign-card:hover img,
html body.home .kf-campaign-card:focus-visible img {
  transform: scale(1.018) !important;
}

html body.home .kf-campaign-card:focus-visible {
  outline: 3px solid #0eb75f !important;
  outline-offset: 4px !important;
}

@media (max-width: 720px) {
  html body.home .kf-campaign-hero__link img {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 941 / 1672 !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  html body.home .kf-section--campaign-posters .kf-container {
    width: min(100%, calc(100vw - 24px)) !important;
  }

  html body.home .kf-campaign-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  html body.home .kf-campaign-card:first-child {
    grid-column: auto !important;
  }

  html body.home .kf-campaign-card img {
    aspect-ratio: 941 / 1672 !important;
  }
}

/* Delivery hard lock: order-received also carries the checkout body class. */
body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
  --kf-poster-height: clamp(172px, 19vw, 228px) !important;
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: minmax(260px, .82fr) minmax(360px, 1.18fr) !important;
  gap: clamp(34px, 4vw, 64px) !important;
  width: min(1120px, calc(100% - 32px)) !important;
  margin: 0 auto clamp(34px, 5vw, 60px) !important;
  padding: calc(var(--kf-poster-height) + 34px) clamp(20px, 4.6vw, 64px) clamp(34px, 5vw, 58px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(212, 226, 239, .95) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(246,251,255,.94)),
    radial-gradient(circle at 78% 34%, rgba(10, 172, 76, .08), transparent 34%),
    #ffffff !important;
  box-shadow: 0 28px 70px rgba(6, 24, 44, .14), 0 2px 10px rgba(6, 24, 44, .06) !important;
}

body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  z-index: -1 !important;
  display: block !important;
  width: 100% !important;
  height: var(--kf-poster-height) !important;
  background:
    linear-gradient(90deg, rgba(3, 16, 38, .08), rgba(3, 16, 38, 0) 42%),
    url("../match-day-reward-spin-2k-banner.png") center / cover no-repeat,
    #061833 !important;
}

body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin > * {
  position: relative !important;
  z-index: 1 !important;
}

body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
  align-self: start !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: clamp(360px, 33vw, 460px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .306) !important;
  align-self: start !important;
  justify-self: center !important;
  display: grid !important;
  justify-items: center !important;
  width: min(100%, 560px) !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel {
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  aspect-ratio: 1 / 1 !important;
  transform: none !important;
}

@media (max-width: 900px) {
  body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    --kf-poster-height: clamp(112px, 30vw, 150px) !important;
    grid-template-columns: 1fr !important;
    width: min(100% - 16px, 720px) !important;
    padding: calc(var(--kf-poster-height) + 22px) clamp(12px, 4vw, 28px) 28px !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin::before {
    background:
      linear-gradient(90deg, rgba(3, 16, 38, .05), rgba(3, 16, 38, 0) 52%),
      url("../match-day-reward-spin-2k-banner.png") center top / contain no-repeat,
      #061833 !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__summary {
    order: 2 !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    order: 1 !important;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    --kf-poster-height: clamp(106px, 31vw, 126px) !important;
    width: min(100% - 12px, 430px) !important;
    padding-top: calc(var(--kf-poster-height) + 18px) !important;
  }

  body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(318px, 81vw) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .296) !important;
    width: 100% !important;
  }
}

/* Final wheel alignment lock: selected prize center stops under the pointer. */
body.woocommerce-order-received .kf-replay-spin__game {
  --kf-label-radius: calc(var(--kf-wheel-size) * .286) !important;
}

body.woocommerce-order-received .kf-replay-wheel::before {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 20.5%, rgba(255, 255, 255, .98) 21% 23.5%, transparent 24.2% 100%),
    radial-gradient(circle at 34% 22%, rgba(255, 255, 255, .18), transparent 24%),
    repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .92) 58deg 62deg, transparent 62deg 118deg),
    conic-gradient(from 0deg,
      #10bac8 0deg 58.5deg,
      #ffffff 58.5deg 61.5deg,
      #e11268 61.5deg 118.5deg,
      #ffffff 118.5deg 121.5deg,
      #0755b7 121.5deg 178.5deg,
      #ffffff 178.5deg 181.5deg,
      #ed1746 181.5deg 238.5deg,
      #ffffff 238.5deg 241.5deg,
      #10a84f 241.5deg 298.5deg,
      #ffffff 298.5deg 301.5deg,
      #7b20d8 301.5deg 358.5deg,
      #ffffff 358.5deg 360deg) !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transform-origin: 50% 50% !important;
}

body.woocommerce-order-received .kf-replay-wheel::after {
  top: clamp(-50px, calc(var(--kf-wheel-size) * -.115), -38px) !important;
  width: clamp(40px, calc(var(--kf-wheel-size) * .105), 56px) !important;
  height: clamp(56px, calc(var(--kf-wheel-size) * .15), 72px) !important;
  clip-path: polygon(50% 100%, 7% 12%, 30% 0, 70% 0, 93% 12%) !important;
  background: linear-gradient(180deg, #31e46a 0%, #0aa447 72%, #066f33 100%) !important;
  filter: drop-shadow(0 10px 12px rgba(6, 24, 44, .28)) !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(calc(30deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(calc(90deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(calc(150deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(calc(210deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(calc(270deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.woocommerce-order-received .kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(calc(330deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

@media (max-width: 560px) {
  body.woocommerce-order-received .kf-replay-spin__game {
    --kf-label-radius: calc(var(--kf-wheel-size) * .282) !important;
  }
}

/* Checkout-class override: same lock with enough specificity to beat legacy delivery rules. */
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__game,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__game {
  --kf-label-radius: calc(var(--kf-wheel-size) * .286) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 20.5%, rgba(255, 255, 255, .98) 21% 23.5%, transparent 24.2% 100%),
    radial-gradient(circle at 34% 22%, rgba(255, 255, 255, .18), transparent 24%),
    repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .92) 58deg 62deg, transparent 62deg 118deg),
    conic-gradient(from 0deg,
      #10bac8 0deg 58.5deg,
      #ffffff 58.5deg 61.5deg,
      #e11268 61.5deg 118.5deg,
      #ffffff 118.5deg 121.5deg,
      #0755b7 121.5deg 178.5deg,
      #ffffff 178.5deg 181.5deg,
      #ed1746 181.5deg 238.5deg,
      #ffffff 238.5deg 241.5deg,
      #10a84f 241.5deg 298.5deg,
      #ffffff 298.5deg 301.5deg,
      #7b20d8 301.5deg 358.5deg,
      #ffffff 358.5deg 360deg) !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transform-origin: 50% 50% !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::after,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::after {
  top: clamp(-50px, calc(var(--kf-wheel-size) * -.115), -38px) !important;
  width: clamp(40px, calc(var(--kf-wheel-size) * .105), 56px) !important;
  height: clamp(56px, calc(var(--kf-wheel-size) * .15), 72px) !important;
  clip-path: polygon(50% 100%, 7% 12%, 30% 0, 70% 0, 93% 12%) !important;
  background: linear-gradient(180deg, #31e46a 0%, #0aa447 72%, #066f33 100%) !important;
  filter: drop-shadow(0 10px 12px rgba(6, 24, 44, .28)) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(1),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(calc(30deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(2),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(calc(90deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(3),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(calc(150deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(4),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(calc(210deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(5),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(calc(270deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6),
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(calc(330deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

/* Homepage conversion upgrade: match-day retail first, reward spin second. */
body.home .kf-hero__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

body.home .kf-hero__proof span {
  border: 1px solid rgba(9, 31, 57, .14);
  border-radius: 8px;
  background: #fff;
  color: #061d38;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  padding: 10px 12px;
}

body.home .kf-section--match-reward {
  background:
    linear-gradient(180deg, #eef4f7 0%, #ffffff 100%);
  padding: clamp(56px, 7vw, 96px) 0;
}

body.home .kf-home-spin {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  align-items: center;
  gap: clamp(28px, 5vw, 64px);
  border: 1px solid rgba(9, 31, 57, .12);
  border-radius: 8px;
  background:
    radial-gradient(circle at 8% 16%, rgba(24, 180, 99, .12), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f6fbf8 100%);
  box-shadow: 0 24px 80px rgba(6, 29, 56, .08);
  overflow: hidden;
  padding: clamp(24px, 5vw, 56px);
}

body.home .kf-home-spin__content {
  max-width: 560px;
}

body.home .kf-home-spin__content h2 {
  color: #061d38;
  font-size: clamp(34px, 5vw, 64px);
  line-height: .96;
  margin: 10px 0 18px;
}

body.home .kf-home-spin__content p {
  color: #24364c;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.6;
  margin: 0 0 22px;
}

body.home .kf-home-spin__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 18px;
}

body.home .kf-home-spin__button {
  min-height: 52px;
}

body.home .kf-home-spin__button.is-loading {
  cursor: progress;
  opacity: .84;
}

body.home .kf-home-spin__result {
  border: 1px solid rgba(20, 169, 91, .28);
  border-radius: 8px;
  background: #f4fff8;
  color: #061d38;
  font-weight: 800;
  line-height: 1.45;
  margin: 18px 0 0;
  min-height: 52px;
  padding: 14px 16px;
}

body.home .kf-home-spin__rules {
  display: grid;
  gap: 9px;
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
}

body.home .kf-home-spin__rules li {
  color: #40516a;
  font-size: 14px;
  line-height: 1.45;
  padding-left: 22px;
  position: relative;
}

body.home .kf-home-spin__rules li::before {
  background: #14a95b;
  border-radius: 999px;
  content: "";
  height: 8px;
  left: 2px;
  position: absolute;
  top: .58em;
  width: 8px;
}

body.home .kf-home-spin__game {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-self: center;
  max-width: 520px;
  width: 100%;
}

body.home .kf-home-spin__banner {
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(6, 29, 56, .16);
  display: block;
  height: auto;
  max-width: min(440px, 100%);
  transform: rotate(-3deg);
  width: 100%;
}

body.home .kf-home-spin__wheel.kf-replay-wheel {
  --kf-home-wheel-size: min(340px, 78vw);
  --kf-label-radius: clamp(86px, 26vw, 108px);
  aspect-ratio: 1;
  box-shadow: 0 18px 48px rgba(6, 29, 56, .2);
  flex: 0 0 auto;
  height: var(--kf-home-wheel-size) !important;
  max-width: var(--kf-home-wheel-size);
  overflow: visible;
  position: relative;
  width: var(--kf-home-wheel-size) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel::before {
  background:
    repeating-conic-gradient(from 0deg, rgba(255, 255, 255, .9) 58deg 62deg, transparent 62deg 118deg),
    conic-gradient(from 0deg,
      #19b766 0deg 60deg,
      #e51654 60deg 120deg,
      #0e5aa8 120deg 180deg,
      #e91446 180deg 240deg,
      #15b869 240deg 300deg,
      #22b9c7 300deg 360deg) !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel::after {
  background: linear-gradient(180deg, #1fe078, #0ea65d) !important;
  border: 0 !important;
  border-radius: 42% 42% 50% 50% !important;
  box-shadow: 0 10px 18px rgba(6, 29, 56, .2);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  height: 70px !important;
  left: 50% !important;
  top: -8px !important;
  transform: translateX(-50%) !important;
  width: 54px !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  display: grid !important;
  font-family: "Inter Tight", Inter, system-ui, sans-serif !important;
  font-size: 10px;
  gap: 2px;
  inset: 50% auto auto 50% !important;
  margin: 0 !important;
  min-height: clamp(42px, calc(var(--kf-home-wheel-size) * .13), 52px);
  padding: 2px 4px !important;
  place-content: center !important;
  position: absolute !important;
  text-align: center !important;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .36);
  width: clamp(70px, calc(var(--kf-home-wheel-size) * .25), 86px);
  z-index: 3;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span b,
body.home .kf-home-spin__wheel.kf-replay-wheel span small {
  display: block;
  letter-spacing: 0;
  line-height: 1.02;
  max-width: 100%;
  text-transform: uppercase;
  white-space: nowrap;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span b {
  font-size: clamp(.72rem, calc(var(--kf-home-wheel-size) * .034), .94rem);
  font-weight: 950;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span small {
  font-size: clamp(.39rem, calc(var(--kf-home-wheel-size) * .016), .48rem);
  font-weight: 900;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(calc(30deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(calc(90deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(calc(150deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(calc(210deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(calc(270deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(calc(330deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

body.home .kf-home-spin__modal {
  align-items: center;
  background: rgba(6, 29, 56, .62);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 1000;
}

body.home .kf-home-spin__modal[hidden] {
  display: none;
}

body.home .kf-home-spin__modal-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
  color: #061d38;
  max-width: 460px;
  padding: 28px;
  position: relative;
  width: min(460px, 100%);
}

body.home .kf-home-spin__modal-card h3 {
  font-size: clamp(26px, 5vw, 42px);
  line-height: 1;
  margin: 10px 0 12px;
}

body.home .kf-home-spin__modal-card p {
  color: #304159;
  line-height: 1.55;
  margin: 0 0 22px;
}

body.home .kf-home-spin__modal-close {
  align-items: center;
  background: #061d38;
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-size: 24px;
  height: 40px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 40px;
}

body.home .kf-section--members {
  background: #061d38;
  color: #fff;
  padding: clamp(48px, 6vw, 84px) 0;
}

body.home .kf-member-rewards {
  display: grid;
  gap: clamp(24px, 5vw, 56px);
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
}

body.home .kf-member-rewards h2 {
  color: #fff;
  font-size: clamp(32px, 5vw, 58px);
  line-height: .98;
  margin: 10px 0 16px;
}

body.home .kf-member-rewards p {
  color: rgba(255, 255, 255, .78);
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
}

body.home .kf-member-rewards__grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.home .kf-member-rewards__grid article {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
  min-height: 132px;
  padding: 18px;
}

body.home .kf-member-rewards__grid strong,
body.home .kf-member-rewards__grid span {
  display: block;
}

body.home .kf-member-rewards__grid strong {
  color: #fff;
  font-size: 18px;
  line-height: 1.15;
  margin-bottom: 10px;
}

body.home .kf-member-rewards__grid span {
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
  line-height: 1.45;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badges {
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge {
  min-width: 0;
  white-space: normal !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge__label {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

@media (max-width: 900px) {
  body.home .kf-home-spin,
  body.home .kf-member-rewards {
    grid-template-columns: 1fr;
  }

  body.home .kf-home-spin__game {
    order: -1;
  }

  body.home .kf-member-rewards__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  body.home .kf-section--match-reward {
    padding: 38px 0;
  }

  body.home .kf-home-spin {
    padding: 18px;
  }

  body.home .kf-home-spin__banner {
    max-width: 310px;
  }

  body.home .kf-home-spin__wheel.kf-replay-wheel {
    --kf-home-wheel-size: min(270px, 78vw);
    --kf-label-radius: min(74px, 21vw);
  }

  body.home .kf-home-spin__wheel.kf-replay-wheel::after {
    height: 56px !important;
    width: 44px !important;
  }

  body.home .kf-home-spin__wheel.kf-replay-wheel span {
    font-size: 8px;
    min-height: 40px;
    width: 62px;
  }

  body.home .kf-home-spin__actions,
  body.home .kf-home-spin__actions .kf-button {
    width: 100%;
  }
}

@media (max-width: 560px) {
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__game,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__game {
    --kf-label-radius: calc(var(--kf-wheel-size) * .282) !important;
  }
}

/* Responsive catalog polish: keep mobile and tablet layouts fully contained. */
html body.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

html body.single-product .woocommerce-product-gallery__wrapper,
html body.single-product .woocommerce-product-gallery__image,
html body.single-product .woocommerce-product-gallery__image a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

html body.single-product .woocommerce-product-gallery__image img.wp-post-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

html body.single-product .woocommerce-product-gallery .zoomImg {
  display: none !important;
}

html body.woocommerce-account .show-password-input {
  min-width: 44px !important;
}

@media (max-width: 900px) {
  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce,
  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce.columns-3,
  html body.home main.kf-main .kf-section--featured .kf-container .woocommerce {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce ul.products,
  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce.columns-3 ul.products,
  html body.home main.kf-main .kf-section--featured .kf-container .woocommerce ul.products {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  html body.home main.kf-main .kf-section--outdoor ul.products li.product,
  html body.home main.kf-main .kf-section--featured ul.products li.product {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
}

@media (max-width: 640px) {
  html body.home .kf-home-categories .kf-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 12px 0 !important;
  }

  html body.home .kf-home-categories .kf-container > span {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.home .kf-home-category-rail {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  html body.home .kf-home-category-rail a {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    min-height: 104px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    white-space: normal !important;
  }

  html body.home .kf-home-category-rail__image,
  html body.home .kf-home-category-rail__label {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  html body.home .kf-scene-nav--home {
    box-sizing: border-box !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  html body.home .kf-scene-nav--home > span,
  html body.home .kf-scene-nav--home ul {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.home .kf-scene-nav--home ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html body.home .kf-scene-nav--home li,
  html body.home .kf-scene-nav--home a {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce ul.products,
  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce.columns-3 ul.products,
  html body.home main.kf-main .kf-section--featured .kf-container .woocommerce ul.products,
  html body.woocommerce ul.products,
  html body .kf-main ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: min(100%, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
  }

  html body.woocommerce ul.products li.product,
  html body .kf-main ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 760px) {
  html body.home #match-day-reward-spin .kf-home-spin {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 18px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__content,
  html body.home #match-day-reward-spin .kf-home-spin__game {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    order: 0 !important;
    display: grid !important;
    justify-items: center !important;
    overflow: visible !important;
    padding: 0 12px 22px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__content {
    order: 1 !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel {
    margin: 26px auto 0 !important;
  }
}

/* Final delivery lock: premium sports DTC storefront and purchase flow. */
html {
  overflow-x: hidden !important;
}

html body {
  color: #111827 !important;
  background: #f5f7f9 !important;
}

html body .kf-main {
  overflow-x: clip !important;
}

html body .kf-container {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
}

html body .kf-button,
html body.woocommerce a.button,
html body.woocommerce button.button,
html body.woocommerce input.button,
html body.woocommerce #respond input#submit {
  min-height: 48px !important;
  border-radius: 6px !important;
  border: 1px solid #111827 !important;
  background: #111827 !important;
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

html body .kf-button--accent,
html body.woocommerce button.single_add_to_cart_button,
html body.woocommerce #payment #place_order {
  border-color: #0d7a3b !important;
  background: #0d7a3b !important;
  color: #fff !important;
}

html body .kf-button--ghost {
  border-color: #cbd5e1 !important;
  background: #fff !important;
  color: #111827 !important;
}

html body .kf-topbar {
  background: #0b1220 !important;
  color: #fff !important;
}

html body .kf-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  border-bottom: 1px solid #e5e7eb !important;
  background: rgba(255, 255, 255, .96) !important;
  backdrop-filter: blur(16px) !important;
}

html body .kf-header__inner {
  min-height: 74px !important;
}

html body .kf-nav a,
html body .kf-action-label {
  color: #111827 !important;
  font-weight: 750 !important;
  letter-spacing: 0 !important;
}

html body.home .kf-hero--retail {
  min-height: auto !important;
  padding: clamp(56px, 7vw, 92px) 0 clamp(44px, 6vw, 80px) !important;
  background:
    linear-gradient(90deg, #f7f9fb 0 48%, #e9eff4 48% 100%) !important;
}

html body.home .kf-hero--retail .kf-hero__inner {
  width: min(1180px, calc(100% - 48px)) !important;
  display: grid !important;
  grid-template-columns: minmax(360px, .88fr) minmax(440px, 1.12fr) !important;
  gap: clamp(44px, 6vw, 86px) !important;
  align-items: center !important;
  margin: 0 auto !important;
}

html body.home .kf-hero--retail .kf-eyebrow,
html body.home .kf-eyebrow {
  color: #0d7a3b !important;
  font-size: .76rem !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
}

html body.home .kf-hero--retail h1 {
  max-width: 11.2ch !important;
  margin: 18px 0 22px !important;
  color: #0b1220 !important;
  font-size: clamp(3.25rem, 5.7vw, 5.65rem) !important;
  line-height: .95 !important;
  letter-spacing: 0 !important;
}

html body.home .kf-hero--retail p {
  max-width: 58ch !important;
  color: #475569 !important;
  font-size: 1.05rem !important;
  line-height: 1.72 !important;
}

html body.home .kf-hero__cta,
html body.home .kf-hero__proof {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

html body.home .kf-hero__proof span {
  border: 1px solid #d8e2ec !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #334155 !important;
  padding: 8px 12px !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
}

html body.home .kf-hero__visual {
  min-height: clamp(520px, 44vw, 650px) !important;
  overflow: hidden !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 26px 80px rgba(15, 23, 42, .09) !important;
}

html body.home .kf-hero__visual > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #fff !important;
}

html body.home .kf-home-categories,
html body.home .kf-home-scenes,
html body.home .kf-commerce-path,
html body.home .kf-section {
  background: #f5f7f9 !important;
}

html body.home .kf-home-category-rail a,
html body.home .kf-scene-nav--home a,
html body.home .kf-commerce-path__inner,
html body.home .kf-promo-event,
html body.home .kf-home-spin,
html body.home .kf-member-rewards,
html body.home .kf-brand-band,
html body.home .kf-promo,
html body.home .kf-trust-item {
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.home .kf-commerce-path__inner {
  display: grid !important;
  grid-template-columns: minmax(260px, .75fr) minmax(420px, 1fr) auto !important;
  gap: 22px !important;
  align-items: center !important;
  padding: clamp(18px, 3vw, 28px) !important;
}

html body.home .kf-commerce-path h2 {
  margin: 8px 0 0 !important;
  color: #0b1220 !important;
  font-size: clamp(1.45rem, 2.4vw, 2.2rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

html body.home .kf-commerce-path ol {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.home .kf-commerce-path li {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  color: #334155 !important;
  font-size: .88rem !important;
  font-weight: 750 !important;
}

html body.home .kf-commerce-path li span {
  display: inline-grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #0b1220 !important;
  color: #fff !important;
}

html body.home .kf-section__head {
  align-items: end !important;
  margin-bottom: 26px !important;
}

html body.home .kf-section__head h2,
html body.home .kf-promo-event h2,
html body.home .kf-home-spin h2,
html body.home .kf-member-rewards h2,
html body.home .kf-brand-band h2 {
  color: #0b1220 !important;
  font-size: clamp(2rem, 3.5vw, 3.5rem) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce ul.products,
html body .kf-main ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
}

html body.woocommerce ul.products li.product,
html body .kf-main ul.products li.product {
  display: grid !important;
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 14px !important;
}

html body.woocommerce ul.products li.product a img,
html body .kf-main ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  background: #f8fafc !important;
}

html body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.6em !important;
  color: #111827 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce ul.products li.product .price {
  color: #0d7a3b !important;
  font-weight: 850 !important;
}

html body .kf-card-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  margin-top: auto !important;
}

html body .kf-card-actions .button,
html body .kf-card-actions .added_to_cart {
  width: 100% !important;
  justify-content: center !important;
  text-align: center !important;
}

html body.home .kf-promo-event {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 380px) !important;
  gap: clamp(22px, 4vw, 54px) !important;
  align-items: center !important;
  padding: clamp(24px, 5vw, 48px) !important;
}

html body.home .kf-promo-event__deal {
  display: grid !important;
  gap: 10px !important;
  padding: 22px !important;
  border-radius: 8px !important;
  background: #0b1220 !important;
  color: #fff !important;
}

html body.home .kf-promo-event__deal strong {
  font-size: 1.25rem !important;
}

html body.home .kf-promo-event__deal span {
  color: #cbd5e1 !important;
  line-height: 1.55 !important;
}

html body.home .kf-promo-event__deal a {
  color: #86efac !important;
  font-weight: 850 !important;
}

html body.home .kf-section--match-reward {
  background: #edf3f7 !important;
}

html body.home .kf-home-spin {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(340px, .8fr) !important;
  gap: clamp(24px, 5vw, 58px) !important;
  align-items: center !important;
  overflow: hidden !important;
  padding: clamp(24px, 5vw, 54px) !important;
}

html body.home .kf-home-spin__content {
  display: grid !important;
  gap: 16px !important;
}

html body.home .kf-home-spin__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

html body.home .kf-home-spin__result {
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 1px solid #bbf7d0 !important;
  border-radius: 8px !important;
  background: #f0fdf4 !important;
  color: #166534 !important;
  font-weight: 800 !important;
}

html body.home .kf-home-spin__rules {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding-left: 18px !important;
  color: #475569 !important;
}

html body.home .kf-home-spin__game {
  display: grid !important;
  justify-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

html body.home .kf-home-spin__banner {
  width: min(100%, 420px) !important;
  border-radius: 8px !important;
}

html body.home .kf-home-spin__wheel {
  width: min(100%, 330px) !important;
  max-width: 330px !important;
  aspect-ratio: 1 !important;
}

html body.home .kf-home-spin__modal[hidden] {
  display: none !important;
}

html body.home .kf-home-spin__modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 120 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
  background: rgba(15, 23, 42, .58) !important;
}

html body.home .kf-home-spin__modal-card {
  width: min(460px, 100%) !important;
  max-height: min(620px, calc(100vh - 40px)) !important;
  overflow: auto !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 26px !important;
  box-shadow: 0 26px 80px rgba(15, 23, 42, .24) !important;
}

html body.home .kf-home-spin__modal-card h3 {
  margin: 10px 0 10px !important;
  color: #0b1220 !important;
  font-size: clamp(1.7rem, 6vw, 2.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

html body.home .kf-home-spin__modal-close {
  float: right !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

html body.home .kf-member-rewards {
  display: grid !important;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 48px) !important;
  align-items: center !important;
  padding: clamp(24px, 5vw, 48px) !important;
}

html body.home .kf-member-rewards > div:first-child {
  display: grid !important;
  gap: 14px !important;
  align-content: center !important;
  justify-items: start !important;
}

html body.home .kf-member-rewards__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.home .kf-member-rewards__grid article {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 18px !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #f8fafc !important;
}

html body.home .kf-brand-band {
  display: grid !important;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1fr) auto !important;
  gap: clamp(18px, 3vw, 34px) !important;
  align-items: center !important;
  padding: clamp(24px, 4vw, 40px) !important;
}

html body.home .kf-brand-band .kf-button {
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  html body.home .kf-brand-band {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }
}

html body.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(360px, .95fr) minmax(380px, .85fr) !important;
  gap: clamp(30px, 5vw, 72px) !important;
  align-items: start !important;
}

html body.single-product div.product .product_title {
  max-width: 11.5ch !important;
  color: #0b1220 !important;
  font-size: clamp(2.8rem, 5vw, 4.8rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

html body.single-product form.cart,
html body.single-product .summary.entry-summary form.cart {
  display: grid !important;
  grid-template-columns: minmax(112px, 170px) minmax(190px, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 560px !important;
}

html body.single-product form.cart .quantity,
html body.single-product form.cart .quantity input,
html body.single-product form.cart .single_add_to_cart_button,
html body.single-product .kf-save-for-later {
  width: 100% !important;
  max-width: 100% !important;
}

html body.woocommerce-cart .kf-page,
html body.woocommerce-checkout .kf-page {
  background: #f5f7f9 !important;
}

html body.woocommerce-cart .woocommerce,
html body.woocommerce-checkout .woocommerce {
  overflow: visible !important;
}

html body.woocommerce-cart form.woocommerce-cart-form,
html body.woocommerce-cart .cart-collaterals,
html body.woocommerce-checkout form.checkout #customer_details,
html body.woocommerce-checkout form.checkout #order_review,
html body.woocommerce-checkout #payment {
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
  gap: 22px !important;
  align-items: start !important;
}

html body.woocommerce-checkout .kf-checkout-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

html body.woocommerce-checkout .kf-checkout-steps li {
  min-width: 0 !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #334155 !important;
}

html body.woocommerce-checkout .kf-payment-note {
  margin: 0 0 18px !important;
  border: 1px solid #d8e2ec !important;
  border-radius: 8px !important;
  background: #fff !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment #place_order {
  width: 100% !important;
  min-height: 56px !important;
  font-size: 1rem !important;
}

html body.woocommerce-checkout .kf-test-card {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

html body.woocommerce-checkout .kf-test-card__field--number {
  grid-column: 1 / -1 !important;
}

html body.woocommerce-checkout .woocommerce-error,
html body.woocommerce-checkout .woocommerce-info,
html body.woocommerce-checkout .woocommerce-message {
  border-radius: 8px !important;
  line-height: 1.5 !important;
}

html body.woocommerce-order-received .kf-replay-spin {
  border-radius: 8px !important;
}

@media (max-width: 1020px) {
  html body.home .kf-hero--retail .kf-hero__inner,
  html body.home .kf-home-spin,
  html body.home .kf-promo-event,
  html body.home .kf-member-rewards,
  html body.single-product div.product,
  html body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout,
  html body.home .kf-commerce-path__inner {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .kf-commerce-path ol,
  html body.home .kf-member-rewards__grid,
  html body.woocommerce ul.products,
  html body .kf-main ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  html body .kf-container {
    width: min(100%, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
  }

  html body .kf-header__inner {
    min-height: 64px !important;
  }

  html body.home .kf-hero--retail {
    padding: 44px 0 30px !important;
    background: #f7f9fb !important;
  }

  html body.home .kf-hero--retail .kf-hero__inner {
    width: min(100%, calc(100vw - 28px)) !important;
    gap: 26px !important;
  }

  html body.home .kf-hero--retail h1 {
    max-width: 11ch !important;
    font-size: clamp(2.58rem, 12.5vw, 3.25rem) !important;
    line-height: 1 !important;
  }

  html body.home .kf-hero__cta,
  html body.home .kf-home-spin__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  html body.home .kf-hero__visual {
    min-height: 330px !important;
    padding: 16px !important;
  }

  html body.home .kf-hero__merch,
  html body.home .kf-hero__visual-card {
    display: none !important;
  }

  html body.home .kf-commerce-path ol,
  html body.home .kf-member-rewards__grid,
  html body.woocommerce ul.products,
  html body .kf-main ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .kf-commerce-path__inner,
  html body.home .kf-promo-event,
  html body.home .kf-home-spin,
  html body.home .kf-member-rewards {
    padding: 18px !important;
  }

  html body.home .kf-home-spin__wheel {
    width: min(100%, 286px) !important;
  }

  html body.home .kf-home-spin__modal {
    align-items: end !important;
    padding: 12px !important;
  }

  html body.home .kf-home-spin__modal-card {
    width: 100% !important;
    max-height: calc(100vh - 24px) !important;
    padding: 22px !important;
  }

  html body.single-product div.product {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  html body.single-product div.product .product_title {
    max-width: 12ch !important;
    font-size: clamp(2.25rem, 11vw, 3rem) !important;
  }

  html body.single-product div.product form.cart,
  html body.single-product .summary.entry-summary form.cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.single-product div.product form.cart .quantity,
  html body.single-product div.product form.cart .quantity input,
  html body.single-product div.product form.cart .single_add_to_cart_button,
  html body.single-product .kf-save-for-later {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.woocommerce-cart table.shop_table.cart,
  html body.woocommerce-checkout table.shop_table {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.woocommerce-checkout .kf-checkout-steps,
  html body.woocommerce-checkout .kf-test-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.woocommerce-cart table.cart td.actions .coupon {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  html body.woocommerce-cart table.cart td.actions .coupon input,
  html body.woocommerce-cart table.cart td.actions .coupon .button,
  html body.woocommerce-cart table.cart td.actions > .button {
    width: 100% !important;
  }
}

@media screen and (max-width: 700px) {
  html body.single-product.woocommerce div.product.product form.cart.cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.single-product.woocommerce div.product.product form.cart.cart .quantity,
  html body.single-product.woocommerce div.product.product form.cart.cart .quantity input,
  html body.single-product.woocommerce div.product.product form.cart.cart .single_add_to_cart_button,
  html body.single-product.woocommerce div.product.product form.cart.cart .kf-save-for-later {
    display: flex !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

html body.home .kf-section--outdoor .woocommerce ul.products,
html body.home .kf-section--featured .woocommerce ul.products,
html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce ul.products,
html body.home main.kf-main .kf-section--featured .kf-container .woocommerce ul.products,
html body.home main.kf-main .woocommerce.columns-4 ul.products,
html body.home main.kf-main .woocommerce.columns-3 ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, calc((100% - 54px) / 4)) !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

html body.home .kf-section--outdoor .woocommerce ul.products li.product,
html body.home .kf-section--featured .woocommerce ul.products li.product,
html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce ul.products li.product,
html body.home main.kf-main .kf-section--featured .kf-container .woocommerce ul.products li.product,
html body.home main.kf-main .woocommerce.columns-4 ul.products li.product,
html body.home main.kf-main .woocommerce.columns-3 ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

html body.home .kf-member-rewards__grid article strong {
  color: #0b1220 !important;
  font-weight: 850 !important;
}

html body.home .kf-member-rewards__grid article span {
  color: #475569 !important;
  line-height: 1.45 !important;
}

@media screen and (max-width: 1020px) {
  html body.home .kf-section--outdoor .woocommerce ul.products,
  html body.home .kf-section--featured .woocommerce ul.products,
  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce ul.products,
  html body.home main.kf-main .kf-section--featured .kf-container .woocommerce ul.products,
  html body.home main.kf-main .woocommerce.columns-4 ul.products,
  html body.home main.kf-main .woocommerce.columns-3 ul.products {
    grid-template-columns: repeat(2, calc((100% - 18px) / 2)) !important;
  }
}

@media screen and (max-width: 700px) {
  html body.home .kf-section--outdoor .woocommerce ul.products,
  html body.home .kf-section--featured .woocommerce ul.products,
  html body.home main.kf-main .kf-section--outdoor .kf-container .woocommerce ul.products,
  html body.home main.kf-main .kf-section--featured .kf-container .woocommerce ul.products,
  html body.home main.kf-main .woocommerce.columns-4 ul.products,
  html body.home main.kf-main .woocommerce.columns-3 ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Match-day wheel final lock: unified sports-poster wheel with working rotation. */
html body .kf-home-spin__game,
html body.woocommerce-order-received .kf-replay-spin__game,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: clamp(270px, 31vw, 430px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .31) !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  min-width: 0 !important;
}

html body .kf-home-spin__game::after,
html body.woocommerce-order-received .kf-replay-spin__game::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--kf-banner-offset, 0px) + 118px) !important;
  z-index: 7 !important;
  width: clamp(36px, calc(var(--kf-wheel-size) * .12), 54px) !important;
  height: clamp(58px, calc(var(--kf-wheel-size) * .17), 78px) !important;
  clip-path: polygon(50% 100%, 8% 16%, 33% 0, 67% 0, 92% 16%) !important;
  background: linear-gradient(180deg, #25e76d 0%, #0fb457 66%, #07743a 100%) !important;
  filter: drop-shadow(0 12px 13px rgba(4, 20, 39, .28)) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel,
html body.woocommerce-order-received .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  box-sizing: border-box !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  max-width: 100% !important;
  aspect-ratio: 1 !important;
  margin: clamp(22px, 3.8vw, 34px) auto 0 !important;
  overflow: visible !important;
  border: clamp(14px, calc(var(--kf-wheel-size) * .046), 22px) solid #061833 !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 21%, rgba(255,255,255,.97) 21.4% 23.5%, transparent 24.2% 100%),
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.2), transparent 26%),
    repeating-conic-gradient(from -30deg, rgba(255,255,255,.96) 0deg 3deg, transparent 3deg 60deg),
    conic-gradient(from -30deg,
      #0c51b7 0deg 60deg,
      #e71846 60deg 120deg,
      #10b9ca 120deg 180deg,
      #7a25d7 180deg 240deg,
      #df145f 240deg 300deg,
      #18c864 300deg 360deg) !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.72),
    inset 0 20px 36px rgba(255,255,255,.16),
    0 0 0 5px #ffffff,
    0 22px 42px rgba(5, 22, 46, .24) !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transform-origin: 50% 50% !important;
  transition: transform 900ms cubic-bezier(.17, .67, .26, 1.04) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel::before,
html body .kf-home-spin__wheel.kf-replay-wheel::after,
html body.woocommerce-order-received .kf-replay-wheel::before,
html body.woocommerce-order-received .kf-replay-wheel::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel::after {
  content: none !important;
  display: none !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span,
html body.woocommerce-order-received .kf-replay-wheel span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 2 !important;
  display: grid !important;
  width: clamp(70px, calc(var(--kf-wheel-size) * .24), 108px) !important;
  min-height: clamp(42px, calc(var(--kf-wheel-size) * .13), 58px) !important;
  margin: 0 !important;
  padding: 2px 4px !important;
  place-content: center !important;
  gap: 2px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  text-align: center !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .38) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span b,
html body.woocommerce-order-received .kf-replay-wheel span b,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span b {
  color: #ffffff !important;
  font-size: clamp(.82rem, calc(var(--kf-wheel-size) * .04), 1.28rem) !important;
  font-weight: 950 !important;
  line-height: .94 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span small,
html body.woocommerce-order-received .kf-replay-wheel span small,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span small {
  color: #ffffff !important;
  font-size: clamp(.39rem, calc(var(--kf-wheel-size) * .017), .6rem) !important;
  font-weight: 900 !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(1),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(1),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(30deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(2),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(2),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(3),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(3),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(150deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(4),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(4),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(210deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(5),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(5),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(270deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(6),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(6),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(330deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel strong,
html body.woocommerce-order-received .kf-replay-wheel strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel strong {
  position: absolute !important;
  inset: 50% auto auto 50% !important;
  z-index: 5 !important;
  display: grid !important;
  width: calc(var(--kf-wheel-size) * .2) !important;
  height: calc(var(--kf-wheel-size) * .2) !important;
  min-width: 58px !important;
  min-height: 58px !important;
  place-items: center !important;
  border: clamp(4px, calc(var(--kf-wheel-size) * .015), 7px) solid #ffffff !important;
  border-radius: 50% !important;
  background: linear-gradient(180deg, #0c2b5d 0%, #061426 100%) !important;
  color: #ffffff !important;
  font-size: clamp(1.12rem, calc(var(--kf-wheel-size) * .052), 1.55rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 10px 22px rgba(6, 20, 38, .28) !important;
  transform: translate(-50%, -50%) rotate(calc(var(--kf-wheel-angle, 0deg) * -1)) !important;
}

html body.home .kf-section--match-reward {
  background: #eef5f8 !important;
}

html body.home .kf-home-spin {
  overflow: hidden !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.96)),
    radial-gradient(circle at 82% 20%, rgba(16, 185, 202, .12), transparent 32%) !important;
}

html body.home .kf-home-spin__banner {
  display: block !important;
  width: min(100%, 460px) !important;
  margin-inline: auto !important;
  border-radius: 16px !important;
  filter: drop-shadow(0 18px 28px rgba(6, 24, 44, .18)) !important;
}

html body.home .kf-home-spin__game {
  --kf-banner-offset: 0px !important;
  gap: 8px !important;
}

html body.home .kf-home-spin__result {
  border-color: #bbf7d0 !important;
  background: #f0fdf4 !important;
  color: #14532d !important;
}

html body.woocommerce-order-received .kf-replay-spin,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.97)),
    radial-gradient(circle at 78% 28%, rgba(16, 185, 202, .12), transparent 30%) !important;
}

html body.woocommerce-order-received .kf-replay-spin::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin::before {
  background:
    linear-gradient(90deg, rgba(3, 16, 38, .08), rgba(3, 16, 38, 0) 42%),
    url("../match-day-reward-spin-2k-banner.png") center / cover no-repeat,
    #061833 !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
  color: #061833 !important;
  font-size: clamp(2rem, 3.4vw, 3.5rem) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  color: #078c45 !important;
}

@media (max-width: 700px) {
  html body .kf-home-spin__game,
  html body.woocommerce-order-received .kf-replay-spin__game,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(270px, calc(100vw - 88px)) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .304) !important;
  }

  html body .kf-home-spin__game::after,
  html body.woocommerce-order-received .kf-replay-spin__game::after,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::after {
    top: calc(var(--kf-banner-offset, 0px) + 96px) !important;
    width: 34px !important;
    height: 54px !important;
  }

  html body.home .kf-home-spin {
    gap: 18px !important;
    padding: 16px !important;
  }

  html body.home .kf-home-spin__banner {
    width: min(100%, 318px) !important;
    border-radius: 12px !important;
  }

  html body.home .kf-home-spin__wheel.kf-replay-wheel {
    margin-top: 12px !important;
  }

  html body .kf-home-spin__wheel.kf-replay-wheel span,
  html body.woocommerce-order-received .kf-replay-wheel span,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span {
    width: clamp(58px, calc(var(--kf-wheel-size) * .22), 68px) !important;
    min-height: 38px !important;
  }

  html body .kf-home-spin__wheel.kf-replay-wheel span b,
  html body.woocommerce-order-received .kf-replay-wheel span b,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span b {
    font-size: clamp(.68rem, calc(var(--kf-wheel-size) * .034), .82rem) !important;
  }

  html body .kf-home-spin__wheel.kf-replay-wheel span small,
  html body.woocommerce-order-received .kf-replay-wheel span small,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span small {
    font-size: clamp(.32rem, calc(var(--kf-wheel-size) * .014), .4rem) !important;
  }

  html body.home .kf-home-spin__modal {
    align-items: end !important;
  }
}

/* Wheel alignment lock: keep labels on one angle system with the rotating color wheel. */
html body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(1),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(1),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(30deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(2),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(2),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(3),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(3),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(150deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(4),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(4),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(210deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(5),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(5),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(270deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home .kf-home-spin__wheel.kf-replay-wheel span:nth-child(6),
html body.woocommerce-order-received .kf-replay-wheel span:nth-child(6),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(330deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home .kf-home-spin__wheel.kf-replay-wheel strong,
html body.woocommerce-order-received .kf-replay-wheel strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel strong {
  transform: translate(-50%, -50%) rotate(calc(var(--kf-wheel-angle, 0deg) * -1)) !important;
}

@media (min-width: 701px) and (max-width: 900px) {
  html body.woocommerce-order-received .kf-replay-spin__game,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(360px, calc(100vw - 160px)) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .31) !important;
  }
}

/* Order confirmation wheel uses a rotating color layer, so the outer wheel stays fixed. */
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
  transform: none !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before {
  content: "" !important;
  display: block !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transform-origin: 50% 50% !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 50% !important;
  top: clamp(-50px, calc(var(--kf-wheel-size) * -.115), -38px) !important;
  z-index: 8 !important;
  width: clamp(40px, calc(var(--kf-wheel-size) * .105), 56px) !important;
  height: clamp(56px, calc(var(--kf-wheel-size) * .15), 72px) !important;
  clip-path: polygon(50% 100%, 7% 12%, 30% 0, 70% 0, 93% 12%) !important;
  background: linear-gradient(180deg, #31e46a 0%, #0aa447 72%, #066f33 100%) !important;
  filter: drop-shadow(0 10px 12px rgba(6, 24, 44, .28)) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(1),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(calc(30deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(2),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(calc(90deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(3),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(calc(150deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(4),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(calc(210deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(5),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(calc(270deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(calc(330deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong {
  transform: translate(-50%, -50%) !important;
}

/* Kangaroo Factory sports-commerce finish: keep product, reward, cart and payment paths clear. */
html body {
  --kf-stadium-ink: #061527;
  --kf-stadium-muted: #596777;
  --kf-stadium-line: #d8e4ee;
  --kf-stadium-green: #008a4c;
  --kf-stadium-lime: #31d875;
  --kf-stadium-gold: #f2b51b;
  --kf-stadium-blue: #0b3a64;
}

html body .kf-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 900 !important;
  backdrop-filter: blur(14px) !important;
}

html body .kf-logo__image {
  max-height: 48px !important;
}

html body .kf-nav ul {
  gap: clamp(12px, 1.6vw, 22px) !important;
}

html body.home .kf-hero--retail {
  min-height: auto !important;
  padding: clamp(44px, 6vw, 82px) 0 clamp(34px, 5vw, 64px) !important;
  background:
    linear-gradient(115deg, rgba(255,255,255,.94) 0%, rgba(245,249,251,.9) 48%, rgba(231,240,244,.92) 100%),
    radial-gradient(circle at 76% 32%, rgba(49, 216, 117, .16), transparent 30%),
    #f5f8fa !important;
}

html body.home .kf-hero--retail .kf-hero__inner {
  width: min(1240px, calc(100% - 40px)) !important;
  grid-template-columns: minmax(340px, .94fr) minmax(430px, 1.06fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
}

html body.home .kf-hero--retail h1 {
  max-width: 13.5ch !important;
  font-size: clamp(2.9rem, 5.4vw, 5.35rem) !important;
  line-height: .97 !important;
}

html body.home .kf-hero--retail .kf-hero__copy p {
  max-width: 60ch !important;
}

html body.home .kf-hero__visual {
  border-radius: 12px !important;
  background:
    linear-gradient(180deg, #ffffff, #f7fafc) !important;
  box-shadow: 0 22px 58px rgba(6, 21, 39, .1) !important;
}

html body.home .kf-hero__visual-card {
  border-radius: 8px !important;
}

html body.home .kf-home-categories .kf-container {
  width: min(1240px, calc(100% - 40px)) !important;
}

html body.home .kf-home-category-rail a {
  align-content: center !important;
  min-height: 148px !important;
  text-align: center !important;
}

html body.home .kf-home-category-rail__label {
  font-size: .88rem !important;
  line-height: 1.25 !important;
}

html body .kf-section__head {
  gap: 18px !important;
}

html body .kf-section__head .kf-button {
  white-space: nowrap !important;
}

html body.woocommerce ul.products li.product,
html body .kf-main ul.products li.product {
  min-height: 100% !important;
}

html body.woocommerce ul.products li.product .kf-product-card__category,
html body .kf-main ul.products li.product .kf-product-card__category {
  display: inline-flex !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  border: 1px solid rgba(0, 138, 76, .22) !important;
  border-radius: 999px !important;
  background: #f0fdf4 !important;
  color: #087443 !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  padding: 6px 9px !important;
}

html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body .kf-main ul.products li.product .woocommerce-loop-product__title {
  min-height: 44px !important;
}

html body.woocommerce ul.products li.product .button,
html body .kf-main ul.products li.product .button,
html body.woocommerce ul.products li.product .added_to_cart,
html body .kf-main ul.products li.product .added_to_cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 46px !important;
  text-align: center !important;
}

html body.home .kf-section--match-reward {
  background: #f2f7fa !important;
}

html body.home .kf-home-spin {
  grid-template-columns: minmax(320px, .9fr) minmax(360px, 1.1fr) !important;
  border: 1px solid rgba(216, 228, 238, .95) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.99), rgba(247,251,248,.97)),
    radial-gradient(circle at 86% 18%, rgba(49,216,117,.15), transparent 28%) !important;
  color: var(--kf-stadium-ink) !important;
  box-shadow: 0 24px 64px rgba(6, 21, 39, .1) !important;
}

html body.home .kf-home-spin h2,
html body.home .kf-home-spin p,
html body.home .kf-home-spin li {
  color: var(--kf-stadium-ink) !important;
}

html body.home .kf-home-spin__rules {
  color: var(--kf-stadium-muted) !important;
}

html body.home .kf-home-spin__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

html body.home .kf-home-spin__result {
  border-color: rgba(0, 138, 76, .24) !important;
  background: #f0fdf4 !important;
  color: #14532d !important;
  font-weight: 750 !important;
}

html body.home .kf-home-spin__modal {
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom)) !important;
}

html body.home .kf-home-spin__modal-card {
  max-height: calc(100vh - 36px) !important;
  overflow: auto !important;
  border-radius: 12px !important;
}

html body.home .kf-home-spin__modal-actions .kf-button {
  flex: 1 1 142px !important;
}

html body.home .kf-checkout-path {
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  background:
    linear-gradient(135deg, var(--kf-stadium-ink), #0b3a64) !important;
}

html body.home .kf-checkout-path p {
  max-width: 72ch !important;
  margin: 8px 0 0 !important;
  color: rgba(255,255,255,.78) !important;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
body.woocommerce-checkout:not(.woocommerce-order-received) #payment #place_order {
  min-height: 54px !important;
  border-radius: 8px !important;
  background: var(--kf-stadium-green) !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note::after {
  content: "Available payment options are shown securely at checkout." !important;
}

/* Final catalog-image lock: keep the new PNG product set aligned across home, shop, cart entry points. */
html body.woocommerce ul.products,
html body.woocommerce-page ul.products,
html body .kf-main ul.products {
  align-items: stretch !important;
}

html body.woocommerce ul.products li.product,
html body.woocommerce-page ul.products li.product,
html body .kf-main ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
  min-height: 100% !important;
}

html body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
html body.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link,
html body .kf-main ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

html body.woocommerce ul.products li.product a img,
html body.woocommerce-page ul.products li.product a img,
html body .kf-main ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
}

html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
html body .kf-main ul.products li.product .woocommerce-loop-product__title {
  display: -webkit-box !important;
  min-height: 3.1em !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

html body.woocommerce ul.products li.product .price,
html body.woocommerce-page ul.products li.product .price,
html body .kf-main ul.products li.product .price {
  min-height: 1.8em !important;
}

html body.woocommerce ul.products li.product .button,
html body.woocommerce-page ul.products li.product .button,
html body .kf-main ul.products li.product .button,
html body.woocommerce ul.products li.product .added_to_cart,
html body .kf-main ul.products li.product .added_to_cart {
  margin-top: auto !important;
  min-height: 44px !important;
  white-space: normal !important;
}

html body .kf-payment-badges,
html body .kf-payment-badge,
html body .kf-payment-extra,
html body .kf-footer .kf-payment-badges,
html body .kf-footer .kf-payment-extra {
  display: none !important;
}

@media (max-width: 640px) {
  html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  html body .kf-main ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.95rem !important;
    line-height: 1.28 !important;
    min-height: 2.5em !important;
  }

  html body.woocommerce ul.products li.product .button,
  html body .kf-main ul.products li.product .button,
  html body.woocommerce ul.products li.product .added_to_cart,
  html body .kf-main ul.products li.product .added_to_cart {
    font-size: 0.82rem !important;
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
  }
}

@media (max-width: 1080px) {
  html body .kf-nav {
    display: none !important;
  }

  html body .kf-menu-toggle {
    display: inline-flex !important;
  }
}

@media (max-width: 980px) {
  html body.home .kf-hero--retail .kf-hero__inner,
  html body.home .kf-home-spin,
  html body.home .kf-checkout-path {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .kf-checkout-path {
    justify-items: start !important;
  }
}

@media (max-width: 640px) {
  html body .kf-header__inner {
    display: grid !important;
    grid-template-columns: minmax(78px, 1fr) auto auto !important;
    gap: 8px !important;
    width: min(100% - 20px, 720px) !important;
  }

  html body .kf-logo__image {
    max-width: 86px !important;
  }

  html body .kf-actions {
    gap: 8px !important;
    min-width: 0 !important;
  }

  html body .kf-icon-link {
    width: auto !important;
    min-width: 46px !important;
    height: 44px !important;
    padding: 0 10px !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  html body .kf-icon-link--account .kf-action-label {
    display: inline !important;
    font-size: 0.72rem !important;
    line-height: 1 !important;
  }

  html body .kf-icon-link--cart .kf-action-label {
    display: none !important;
  }

  html body .kf-menu-toggle {
    min-width: 84px !important;
    padding-inline: 10px !important;
  }

  html body.single-product div.product div.images {
    overflow: visible !important;
  }

  html body.single-product span.onsale {
    right: -6px !important;
    z-index: 5 !important;
  }

  html body.home .kf-hero--retail .kf-hero__inner,
  html body.home .kf-home-categories .kf-container,
  html body.home .kf-section--football .kf-container,
  html body.home .kf-section--rewards .kf-container,
  html body.home .kf-section--checkout-path .kf-container {
    width: min(100%, calc(100vw - 24px)) !important;
  }

  html body.home .kf-hero--retail h1 {
    max-width: 12.5ch !important;
    font-size: clamp(2.55rem, 12vw, 3.25rem) !important;
  }

  html body.home .kf-home-category-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.home .kf-home-category-rail a {
    min-height: 132px !important;
  }

  html body.home .kf-home-spin {
    padding: 16px !important;
  }

  html body.home .kf-home-spin__actions,
  html body.home .kf-home-spin__actions .kf-button,
  html body.home .kf-checkout-path .kf-button {
    width: 100% !important;
  }

  html body.home .kf-home-spin__modal {
    align-items: start !important;
    overflow-y: auto !important;
    padding-top: max(52px, env(safe-area-inset-top)) !important;
  }

  html body.home .kf-home-spin__modal-card {
    width: min(100%, calc(100vw - 28px)) !important;
    padding: 22px 16px 18px !important;
  }

  html body.home .kf-home-spin__modal-close {
    width: 42px !important;
    height: 42px !important;
  }
}

/* Three-spin order reward lock: progress, history, best offer, and 10-turn motion. */
html body.woocommerce-order-received .kf-replay-spin__copy,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy {
  margin-bottom: 14px !important;
}

html body.woocommerce-order-received .kf-replay-spin__progress,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress {
  display: inline-grid !important;
  grid-template-columns: repeat(3, 38px) !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 auto 12px !important;
}

html body.woocommerce-order-received .kf-replay-spin__progress span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress span {
  display: grid !important;
  width: 38px !important;
  height: 38px !important;
  place-items: center !important;
  border: 2px solid rgba(6, 38, 85, .18) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #061833 !important;
  font-size: .92rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

html body.woocommerce-order-received .kf-replay-spin__progress span.is-current,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress span.is-current {
  border-color: #13b957 !important;
  box-shadow: 0 0 0 5px rgba(19, 185, 87, .13) !important;
}

html body.woocommerce-order-received .kf-replay-spin__progress span.is-complete,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress span.is-complete {
  border-color: #062655 !important;
  background: #062655 !important;
  color: #ffffff !important;
}

html body.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: min(100%, 560px) !important;
  margin: 12px auto 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__history:empty,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history:empty {
  display: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__history li,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history li {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  padding: 10px 8px !important;
  border: 1px solid rgba(6, 38, 85, .12) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .9) !important;
  text-align: center !important;
}

html body.woocommerce-order-received .kf-replay-spin__history span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history span {
  color: #64748b !important;
  font-size: .7rem !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

html body.woocommerce-order-received .kf-replay-spin__history strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history strong {
  min-width: 0 !important;
  color: #061833 !important;
  font-size: clamp(.72rem, 1.2vw, .88rem) !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  overflow-wrap: anywhere !important;
}

html body.woocommerce-order-received .kf-replay-spin__best,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__best {
  width: min(100%, 560px) !important;
  margin: 10px auto 0 !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(19, 185, 87, .22) !important;
  border-radius: 999px !important;
  background: #ecfdf3 !important;
  color: #075e31 !important;
  font-size: .92rem !important;
  font-weight: 950 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before {
  transition: transform var(--kf-wheel-duration, 6800ms) cubic-bezier(.08, .72, .08, 1) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong {
  transition: transform var(--kf-wheel-duration, 6800ms) cubic-bezier(.08, .72, .08, 1) !important;
}

html body.woocommerce-order-received .kf-replay-spin__button.is-loading,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__button.is-loading {
  cursor: wait !important;
  opacity: .82 !important;
}

@media (prefers-reduced-motion: reduce) {
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong {
    transition-duration: 1ms !important;
  }
}

@media (max-width: 640px) {
  html body.woocommerce-order-received .kf-replay-spin__progress,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress {
    grid-template-columns: repeat(3, 34px) !important;
    gap: 8px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__progress span,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress span {
    width: 34px !important;
    height: 34px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__history,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin-top: 10px !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__history li,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history li {
    grid-template-columns: auto 1fr !important;
    align-items: center !important;
    text-align: left !important;
  }

  html body.woocommerce-order-received .kf-replay-spin__best,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__best {
    border-radius: 14px !important;
    font-size: .86rem !important;
  }
}

html body.woocommerce-order-received .kf-page__content > h1:first-child,
html body.woocommerce-order-received .woocommerce-order > h1:first-child,
html body.woocommerce-order-received article.page > h1:first-child,
html body.woocommerce-checkout.woocommerce-order-received .kf-page__content > h1:first-child,
html body.woocommerce-checkout.woocommerce-order-received .woocommerce-order > h1:first-child,
html body.woocommerce-checkout.woocommerce-order-received article.page > h1:first-child {
  display: none !important;
}

/* Homepage reward visual refresh: tighter poster composition, no empty wheel box. */
html body.home #match-day-reward-spin .kf-home-spin {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .88fr) !important;
  align-items: center !important;
  gap: clamp(34px, 5vw, 70px) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game {
  --kf-wheel-size: clamp(292px, 24vw, 350px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .31) !important;
  --kf-banner-offset: 0px !important;
  position: relative !important;
  display: grid !important;
  align-content: start !important;
  justify-items: center !important;
  width: min(100%, 500px) !important;
  min-height: 470px !important;
  margin-inline: auto !important;
  padding: 0 18px 24px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 50% 52%, rgba(6, 38, 85, .11) 0 3px, transparent 3.4px) 0 0 / 19px 19px,
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,251,255,.9)) !important;
  box-shadow: 0 24px 60px rgba(6, 24, 44, .1) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__banner {
  position: relative !important;
  z-index: 4 !important;
  display: block !important;
  width: min(100%, 430px) !important;
  max-width: 100% !important;
  margin: 0 auto -18px !important;
  border-radius: 14px !important;
  transform: rotate(-2deg) !important;
  transform-origin: 50% 50% !important;
  filter: drop-shadow(0 18px 26px rgba(6, 24, 44, .18)) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel {
  position: relative !important;
  z-index: 2 !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  margin: 38px auto 0 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game::after {
  top: 128px !important;
  z-index: 6 !important;
  width: 52px !important;
  height: 76px !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span {
  width: clamp(74px, calc(var(--kf-wheel-size) * .22), 88px) !important;
  min-height: clamp(40px, calc(var(--kf-wheel-size) * .12), 48px) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span b {
  font-size: clamp(.76rem, calc(var(--kf-wheel-size) * .032), .92rem) !important;
  line-height: .95 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span small {
  font-size: clamp(.38rem, calc(var(--kf-wheel-size) * .014), .48rem) !important;
  line-height: 1.05 !important;
}

@media (max-width: 980px) {
  html body.home #match-day-reward-spin .kf-home-spin {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    width: min(100%, 460px) !important;
    min-height: 430px !important;
  }
}

@media (max-width: 640px) {
  html body.home #match-day-reward-spin .kf-home-spin__game {
    --kf-wheel-size: min(270px, calc(100vw - 86px)) !important;
    width: min(100%, calc(100vw - 36px)) !important;
    min-height: 390px !important;
    padding: 0 10px 18px !important;
    border-radius: 18px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__banner {
    width: min(100%, 330px) !important;
    margin-bottom: -12px !important;
    border-radius: 11px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel {
    margin-top: 28px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game::after {
    top: 96px !important;
    width: 38px !important;
    height: 58px !important;
  }
}

/* CEO review lock: homepage reward poster matches the paid-order reward style. */
html body.home #match-day-reward-spin .kf-home-spin {
  grid-template-columns: minmax(0, .8fr) minmax(360px, .92fr) !important;
  gap: clamp(34px, 5vw, 76px) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game {
  --kf-wheel-size: clamp(300px, 24vw, 360px) !important;
  position: relative !important;
  isolation: isolate !important;
  width: min(100%, 560px) !important;
  min-height: 610px !important;
  padding: 0 clamp(18px, 3vw, 32px) 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(212, 226, 239, .9) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 88% 12%, rgba(6, 38, 85, .08) 0 3px, transparent 3.4px) 0 0 / 18px 18px,
    linear-gradient(180deg, #ffffff 0%, #f8fbff 52%, #ffffff 100%) !important;
  box-shadow: 0 24px 56px rgba(6, 24, 44, .12) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__banner {
  width: calc(100% + 18px) !important;
  max-width: none !important;
  height: clamp(132px, 13vw, 178px) !important;
  margin: 0 -9px 18px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 18px !important;
  transform: rotate(-2deg) translateY(-5px) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy {
  position: relative !important;
  z-index: 5 !important;
  display: grid !important;
  justify-items: center !important;
  gap: 8px !important;
  width: min(100%, 440px) !important;
  margin: -4px auto 8px !important;
  text-align: center !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy > span {
  display: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 {
  margin: 0 !important;
  color: #061833 !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  font-style: italic !important;
  font-weight: 950 !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 span {
  display: block !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 span:last-child {
  color: #079344 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p {
  max-width: 28ch !important;
  margin: 0 !important;
  color: #061833 !important;
  font-size: clamp(.98rem, 1.4vw, 1.16rem) !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p strong {
  display: block !important;
  margin-top: 2px !important;
  color: #08a846 !important;
  font-size: 1.12em !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel {
  margin-top: 34px !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game::after {
  top: clamp(286px, 25vw, 320px) !important;
}

/* Trust band copy lock: readable professional cards instead of narrow text columns. */
html body.home .kf-trust-grid--band {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding: clamp(26px, 4vw, 42px) !important;
  border-radius: 0 !important;
  background: #061833 !important;
}

html body.home .kf-trust-grid--band .kf-trust-item {
  min-width: 0 !important;
  padding: 0 clamp(18px, 2.4vw, 30px) !important;
  border-right: 1px solid rgba(255, 255, 255, .16) !important;
  text-align: left !important;
}

html body.home .kf-trust-grid--band .kf-trust-item:last-child {
  border-right: 0 !important;
}

html body.home .kf-trust-grid--band h3 {
  max-width: 14ch !important;
  margin: 0 0 12px !important;
  color: #ffffff !important;
  font-size: clamp(1.05rem, 1.35vw, 1.3rem) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

html body.home .kf-trust-grid--band p {
  max-width: 26ch !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .78) !important;
  font-size: clamp(.9rem, 1vw, 1rem) !important;
  line-height: 1.5 !important;
  text-align: left !important;
  overflow-wrap: normal !important;
}

@media (max-width: 980px) {
  html body.home #match-day-reward-spin .kf-home-spin {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    order: -1 !important;
    width: min(100%, 560px) !important;
  }

  html body.home .kf-trust-grid--band {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.home .kf-trust-grid--band .kf-trust-item {
    padding: 20px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .14) !important;
  }
}

@media (max-width: 640px) {
  html body.home #match-day-reward-spin .kf-home-spin__game {
    --kf-wheel-size: min(282px, calc(100vw - 88px)) !important;
    min-height: 540px !important;
    padding: 0 12px 22px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__banner {
    height: 112px !important;
    margin-bottom: 16px !important;
    border-radius: 13px !important;
  }

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 {
  font-size: clamp(1.72rem, 8vw, 2.16rem) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__poster-copy p {
    font-size: .92rem !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel {
    margin-top: 30px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game::after {
    top: 238px !important;
  }

  html body.home .kf-trust-grid--band {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }

  html body.home .kf-trust-grid--band .kf-trust-item {
    padding: 18px 0 !important;
  }

  html body.home .kf-trust-grid--band h3,
  html body.home .kf-trust-grid--band p {
    max-width: none !important;
  }
}

/* Site-wide CEO polish: remove footer payment tiles and normalize customer-facing layout. */
html body .kf-footer {
  background: #061833 !important;
}

html body .kf-footer__inner {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.15fr) minmax(150px, .72fr) minmax(190px, .9fr) minmax(190px, .85fr) minmax(220px, 1fr) !important;
  gap: clamp(28px, 4vw, 58px) !important;
  align-items: start !important;
  padding-block: clamp(54px, 7vw, 82px) !important;
}

html body .kf-footer h2,
html body .kf-footer h3 {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: clamp(.98rem, 1vw, 1.08rem) !important;
  line-height: 1.2 !important;
}

html body .kf-footer p,
html body .kf-footer span,
html body .kf-footer a {
  color: rgba(255, 255, 255, .78) !important;
  font-size: clamp(.92rem, 1vw, 1rem) !important;
  line-height: 1.55 !important;
}

html body .kf-footer__brand p,
html body .kf-footer__brand span,
html body .kf-footer__offer p,
html body .kf-footer__payments p {
  max-width: 30ch !important;
}

html body .kf-footer ul {
  display: grid !important;
  gap: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .kf-footer li {
  margin: 0 !important;
}

html body .kf-footer .kf-payment-badges,
html body .kf-footer .kf-payment-extra {
  display: none !important;
}

html body .kf-footer__payments {
  min-width: 0 !important;
}

html body .kf-footer__payments::after {
  content: "Payment options appear at checkout." !important;
  display: block !important;
  width: fit-content !important;
  margin-top: 16px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}

html body .kf-footer__signup {
  display: grid !important;
  gap: 10px !important;
}

html body .kf-footer__signup input,
html body .kf-footer__signup button {
  width: 100% !important;
  min-height: 48px !important;
  border-radius: 8px !important;
}

html body.home .kf-checkout-path {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: clamp(24px, 4vw, 36px) !important;
  border-radius: 12px !important;
}

html body.home .kf-checkout-path h2 {
  max-width: 28ch !important;
  margin-bottom: 8px !important;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.1 !important;
}

html body.home .kf-checkout-path p {
  max-width: 62ch !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .76) !important;
}

html body.home .kf-checkout-path::after,
body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1100px) {
  html body .kf-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body .kf-footer__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
    padding-block: 42px !important;
  }

  html body .kf-footer h2,
  html body .kf-footer h3,
  html body .kf-footer p,
  html body .kf-footer span,
  html body .kf-footer a {
    text-align: left !important;
  }

  html body .kf-footer__brand p,
  html body .kf-footer__brand span,
  html body .kf-footer__offer p,
  html body .kf-footer__payments p {
    max-width: none !important;
  }

  html body.home .kf-checkout-path {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .kf-checkout-path .kf-button {
    width: 100% !important;
  }
}

/* Final payment-mark removal: no self-drawn payment logos on storefront or checkout. */
html body .kf-payment-badges,
html body .kf-payment-badge,
html body .kf-payment-badge__mark,
html body .kf-payment-badge__label,
html body .kf-payment-extra,
html body .kf-payment-note__badges,
html body .kf-payment-note .kf-payment-badges,
html body .kf-payment-method-heading .kf-payment-badges,
html body .kf-footer .kf-payment-badges,
html body .kf-footer .kf-payment-extra {
  display: none !important;
  visibility: hidden !important;
}

/* Client-ready sports shop lock: real product catalog, clean wheel, stable mobile UI. */
html,
body {
  max-width: 100% !important;
  overflow-x: clip !important;
}

html body.home .kf-hero--retail {
  background:
    linear-gradient(135deg, rgba(6, 24, 51, .04), rgba(8, 168, 70, .08)),
    linear-gradient(90deg, #f8fbff 0%, #eef5f8 100%) !important;
}

html body.home .kf-hero--retail .kf-hero__inner,
html body.home .kf-section .kf-container,
html body.home .kf-promo-strip .kf-container,
html body.home .kf-home-categories .kf-container {
  width: min(1240px, calc(100% - 40px)) !important;
  max-width: calc(100% - 40px) !important;
}

html body.home .kf-hero--retail h1 {
  max-width: 13.5ch !important;
  font-size: clamp(2.72rem, 5.2vw, 5.2rem) !important;
  line-height: .98 !important;
}

html body.home .kf-hero__visual {
  min-height: clamp(430px, 42vw, 620px) !important;
  border-radius: 10px !important;
}

html body.home .kf-hero__visual > img {
  object-fit: contain !important;
}

html body.home .kf-home-category-rail {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

html body.home .kf-home-category-rail a {
  min-height: 168px !important;
  border-radius: 8px !important;
}

html body.home .kf-home-category-rail__image {
  height: 104px !important;
}

html body.home .kf-home-category-rail__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html body.woocommerce ul.products li.product a img,
html body .kf-main ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  padding: 12px !important;
  background: #f8fafc !important;
}

html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body .kf-main ul.products li.product .woocommerce-loop-product__title {
  min-height: 2.7em !important;
  font-size: clamp(.98rem, 1.1vw, 1.08rem) !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}

html body.home #match-day-reward-spin .kf-home-spin {
  grid-template-columns: minmax(0, .9fr) minmax(340px, .95fr) !important;
  border-radius: 12px !important;
  background:
    linear-gradient(135deg, rgba(6, 24, 51, .96), rgba(6, 50, 97, .94)),
    radial-gradient(circle at 80% 10%, rgba(8, 168, 70, .22), transparent 34%) !important;
  overflow: hidden !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game {
  --kf-wheel-size: clamp(286px, 24vw, 350px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .312) !important;
  width: min(100%, 520px) !important;
  min-height: 570px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #ffffff, #f6fbff) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__banner {
  transform: none !important;
  border-radius: 12px !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game::after {
  top: clamp(266px, 24vw, 300px) !important;
  width: clamp(36px, 4vw, 50px) !important;
  height: clamp(54px, 6vw, 72px) !important;
  border-radius: 0 !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel,
html body.woocommerce-order-received .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel {
  transform: none !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel::before,
html body.woocommerce-order-received .kf-replay-wheel::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-wheel::before {
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span {
  width: clamp(66px, calc(var(--kf-wheel-size) * .225), 84px) !important;
  min-height: 42px !important;
  padding: 1px 3px !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span b {
  font-size: clamp(.68rem, calc(var(--kf-wheel-size) * .028), .86rem) !important;
  white-space: normal !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span small {
  font-size: clamp(.34rem, calc(var(--kf-wheel-size) * .013), .44rem) !important;
  white-space: normal !important;
}

html body.home .kf-home-spin__modal-card {
  border-radius: 12px !important;
}

html body.home .kf-home-spin__modal-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.home .kf-home-spin__modal-actions .kf-button {
  width: 100% !important;
}

@media (max-width: 1100px) {
  html body.home .kf-home-category-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body.home .kf-hero--retail .kf-hero__inner,
  html body.home .kf-section .kf-container,
  html body.home .kf-promo-strip .kf-container,
  html body.home .kf-home-categories .kf-container {
    width: min(100% - 28px, 480px) !important;
    max-width: calc(100% - 28px) !important;
  }

  html body.home .kf-hero--retail h1 {
    max-width: 12.8ch !important;
    font-size: clamp(2.4rem, 12vw, 3.2rem) !important;
  }

  html body.home .kf-hero__visual {
    min-height: 330px !important;
  }

  html body.home .kf-home-category-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.home .kf-home-category-rail a {
    min-height: 150px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin {
    padding: 16px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    --kf-wheel-size: min(276px, calc(100vw - 88px)) !important;
    width: min(100%, calc(100vw - 60px)) !important;
    min-height: 512px !important;
    padding-inline: 10px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__banner {
    height: 104px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game::after {
    top: 224px !important;
  }

  html body.home .kf-home-spin__modal {
    padding: 44px 14px 18px !important;
    align-items: start !important;
    overflow-y: auto !important;
  }

  html body.home .kf-home-spin__modal-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 420px) {
  html body.home .kf-home-category-rail {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    --kf-wheel-size: min(248px, calc(100vw - 96px)) !important;
    min-height: 486px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game::after {
    top: 218px !important;
  }
}

/* Final visual QA lock: keep the category rail readable and reward copy high-contrast. */
html body.home .kf-home-categories {
  padding: clamp(28px, 4vw, 44px) 0 !important;
  background: #f5f8fb !important;
}

html body.home .kf-home-categories .kf-container > span {
  display: block !important;
  margin: 0 0 14px !important;
  color: #00873e !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

html body.home .kf-home-category-rail {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  overflow: visible !important;
}

html body.home .kf-home-category-rail a {
  position: relative !important;
  display: grid !important;
  grid-template-rows: minmax(104px, 1fr) auto !important;
  align-items: center !important;
  justify-items: center !important;
  min-width: 0 !important;
  min-height: 174px !important;
  padding: 12px !important;
  border: 1px solid #d9e3ee !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(7, 20, 38, .05) !important;
  transform: none !important;
}

html body.home .kf-home-category-rail__image {
  display: grid !important;
  width: 100% !important;
  height: 112px !important;
  margin: 0 !important;
  place-items: center !important;
  overflow: hidden !important;
  border-radius: 7px !important;
  background: #f8fafc !important;
}

html body.home .kf-home-category-rail__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  transform: none !important;
}

html body.home .kf-home-category-rail__label {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  color: #071426 !important;
  font-size: .9rem !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

html body.home #match-day-reward-spin .kf-home-spin__content,
html body.home #match-day-reward-spin .kf-home-spin__content h2,
html body.home #match-day-reward-spin .kf-home-spin__content p,
html body.home #match-day-reward-spin .kf-home-spin__content li,
html body.home #match-day-reward-spin .kf-home-spin__rules,
html body.home #match-day-reward-spin .kf-home-spin__result {
  color: #ffffff !important;
}

html body.home #match-day-reward-spin .kf-home-spin__content .kf-eyebrow {
  color: #9ff3bc !important;
}

html body.home #match-day-reward-spin .kf-home-spin__result {
  border-color: rgba(255, 255, 255, .34) !important;
  background: rgba(255, 255, 255, .13) !important;
}

@media (max-width: 1100px) {
  html body.home .kf-home-category-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  html body.home .kf-home-category-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html body.home .kf-home-category-rail a {
    min-height: 164px !important;
  }
}

@media (max-width: 420px) {
  html body.home .kf-home-category-rail {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Wheel typography delivery lock: short, readable labels on home and paid-order wheels. */
html body .kf-home-spin__wheel.kf-replay-wheel,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
  --kf-wheel-size: clamp(286px, 24vw, 350px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .325) !important;
  position: relative !important;
  display: block !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  min-width: var(--kf-wheel-size) !important;
  min-height: var(--kf-wheel-size) !important;
  max-width: var(--kf-wheel-size) !important;
  max-height: var(--kf-wheel-size) !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  transform: none !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel::before,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  border-radius: inherit !important;
  background: conic-gradient(
    from -30deg,
    #063261 0deg 60deg,
    #0b8f48 60deg 120deg,
    #d73b3e 120deg 180deg,
    #0aa6b8 180deg 240deg,
    #7b3fb5 240deg 300deg,
    #f3f6fa 300deg 360deg
  ) !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transition: transform var(--kf-wheel-duration, 6800ms) cubic-bezier(.08, .72, .08, 1) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 2 !important;
  display: grid !important;
  width: calc(var(--kf-wheel-size) * .245) !important;
  min-width: 0 !important;
  min-height: calc(var(--kf-wheel-size) * .122) !important;
  padding: 3px 4px !important;
  place-items: center !important;
  gap: 1px !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, .17) !important;
  color: #ffffff !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(2, 10, 20, .42) !important;
  white-space: normal !important;
  overflow: hidden !important;
  transform-origin: center !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(6),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6) {
  color: #071426 !important;
  text-shadow: none !important;
  background: rgba(255, 255, 255, .7) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span b,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span b,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span b {
  display: block !important;
  max-width: 100% !important;
  color: inherit !important;
  font-size: clamp(.66rem, calc(var(--kf-wheel-size) * .026), .82rem) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  overflow-wrap: normal !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span small,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span small,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span small {
  display: block !important;
  max-width: 100% !important;
  color: inherit !important;
  font-size: clamp(.42rem, calc(var(--kf-wheel-size) * .015), .52rem) !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  opacity: .9 !important;
  text-transform: uppercase !important;
  overflow-wrap: normal !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(1),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(1),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(30deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-30deg) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(2),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(2),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-90deg) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(3),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(3),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(150deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-150deg) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(4),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(4),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(210deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-210deg) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(5),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(5),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(270deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-270deg) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel span:nth-child(6),
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6),
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(330deg) translateY(calc(var(--kf-label-radius) * -1)) rotate(-330deg) !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel strong,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel strong {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 4 !important;
  display: grid !important;
  width: calc(var(--kf-wheel-size) * .235) !important;
  height: calc(var(--kf-wheel-size) * .235) !important;
  min-width: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  place-items: center !important;
  border: 6px solid #ffffff !important;
  border-radius: 50% !important;
  background: #071426 !important;
  color: #ffffff !important;
  font-size: clamp(1rem, calc(var(--kf-wheel-size) * .052), 1.36rem) !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  transform: translate(-50%, -50%) !important;
}

@media (max-width: 640px) {
  html body .kf-home-spin__wheel.kf-replay-wheel,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
    --kf-wheel-size: min(258px, calc(100vw - 92px)) !important;
    --kf-label-radius: calc(var(--kf-wheel-size) * .32) !important;
  }

  html body .kf-home-spin__wheel.kf-replay-wheel span,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span {
    width: calc(var(--kf-wheel-size) * .255) !important;
    min-height: calc(var(--kf-wheel-size) * .13) !important;
    padding: 2px 3px !important;
    border-radius: 6px !important;
  }

  html body .kf-home-spin__wheel.kf-replay-wheel span b,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span b,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span b {
    font-size: .62rem !important;
  }

  html body .kf-home-spin__wheel.kf-replay-wheel span small,
  html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span small,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel span small {
    font-size: .38rem !important;
  }
}

/* CEO final lock: homepage reward spin must read like a premium sports promo, not a debug poster. */
html body.home #match-day-reward-spin .kf-home-spin {
  grid-template-columns: minmax(0, .96fr) minmax(420px, .9fr) !important;
  align-items: center !important;
  gap: clamp(34px, 4.5vw, 64px) !important;
  padding: clamp(40px, 5vw, 68px) clamp(34px, 5vw, 70px) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(20, 196, 102, .12), transparent 26%),
    linear-gradient(135deg, #071a36 0%, #0b315f 100%) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__content {
  max-width: 560px !important;
}

html body.home #match-day-reward-spin .kf-home-spin__content h2 {
  max-width: 11.5ch !important;
  font-size: clamp(3rem, 4.8vw, 5rem) !important;
  line-height: .98 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__content p {
  max-width: 48ch !important;
  font-size: clamp(1.05rem, 1.35vw, 1.28rem) !important;
  line-height: 1.52 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__actions {
  gap: 10px !important;
  margin-top: clamp(20px, 3vw, 34px) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__actions .kf-button {
  min-height: 48px !important;
  padding: 13px 22px !important;
  border-radius: 8px !important;
  font-size: .96rem !important;
  line-height: 1 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__result {
  max-width: 560px !important;
  padding: 18px 20px !important;
  border-radius: 8px !important;
  font-size: clamp(1rem, 1.35vw, 1.2rem) !important;
  line-height: 1.45 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__rules {
  gap: 10px !important;
  font-size: .95rem !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game {
  --kf-wheel-size: clamp(300px, 23vw, 350px) !important;
  --kf-label-radius: calc(var(--kf-wheel-size) * .3) !important;
  width: min(100%, 500px) !important;
  min-height: auto !important;
  padding: 0 18px 26px !important;
  overflow: hidden !important;
  border: 1px solid rgba(213, 226, 238, .95) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(247,251,255,.98) 100%) !important;
  box-shadow: 0 26px 58px rgba(3, 15, 31, .18) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__banner {
  width: calc(100% + 36px) !important;
  height: clamp(120px, 10vw, 150px) !important;
  margin: 0 -18px 18px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 14px 14px 0 0 !important;
  transform: none !important;
  filter: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy {
  width: min(100%, 390px) !important;
  margin: 0 auto 18px !important;
  gap: 7px !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 {
  font-size: clamp(1.8rem, 2.4vw, 2.55rem) !important;
  line-height: 1.02 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p {
  max-width: 32ch !important;
  font-size: clamp(.9rem, 1vw, 1rem) !important;
  line-height: 1.35 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p strong {
  display: inline !important;
  margin: 0 !important;
  font-size: 1em !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: calc(clamp(120px, 10vw, 150px) + 128px) !important;
  z-index: 9 !important;
  width: clamp(34px, 3.2vw, 44px) !important;
  height: clamp(48px, 4.4vw, 62px) !important;
  clip-path: polygon(50% 100%, 9% 14%, 33% 0, 67% 0, 91% 14%) !important;
  background: linear-gradient(180deg, #2fe46f 0%, #0aa64a 72%, #067236 100%) !important;
  filter: drop-shadow(0 9px 10px rgba(6, 24, 44, .26)) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game::after {
  content: none !important;
  display: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel {
  margin: 10px auto 0 !important;
  border-width: clamp(14px, calc(var(--kf-wheel-size) * .05), 20px) !important;
  overflow: visible !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span {
  width: calc(var(--kf-wheel-size) * .235) !important;
  min-height: calc(var(--kf-wheel-size) * .105) !important;
  padding: 2px 3px !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, .16) !important;
  text-shadow: 0 1px 3px rgba(2, 10, 20, .42) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span b {
  font-size: clamp(.54rem, calc(var(--kf-wheel-size) * .022), .7rem) !important;
  line-height: 1.02 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span small {
  font-size: clamp(.32rem, calc(var(--kf-wheel-size) * .0115), .4rem) !important;
  line-height: 1.04 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(calc(30deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-30deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(calc(90deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-90deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(calc(150deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-150deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span:nth-child(4) {
  transform: translate(-50%, -50%) rotate(calc(210deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-210deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span:nth-child(5) {
  transform: translate(-50%, -50%) rotate(calc(270deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-270deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel span:nth-child(6) {
  transform: translate(-50%, -50%) rotate(calc(330deg + var(--kf-wheel-angle, 0deg))) translateY(calc(var(--kf-label-radius) * -1)) rotate(calc(-330deg - var(--kf-wheel-angle, 0deg))) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__wheel.kf-replay-wheel strong {
  transform: translate(-50%, -50%) !important;
}

@media (max-width: 980px) {
  html body.home #match-day-reward-spin .kf-home-spin {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    order: 0 !important;
    width: min(100%, 500px) !important;
  }
}

@media (max-width: 640px) {
  html body.home #match-day-reward-spin .kf-home-spin {
    padding: 18px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__content h2 {
    max-width: 12ch !important;
    font-size: clamp(2.25rem, 11vw, 3rem) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game {
    --kf-wheel-size: min(260px, calc(100vw - 86px)) !important;
    width: min(100%, calc(100vw - 36px)) !important;
    padding: 0 12px 20px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__banner {
    width: calc(100% + 24px) !important;
    height: 104px !important;
    margin-inline: -12px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 {
    font-size: clamp(1.55rem, 7.2vw, 2rem) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game::before {
    top: 238px !important;
    width: 32px !important;
    height: 46px !important;
  }
}

/* Final asset lock: poster-grade reward wheel shared by homepage and order confirmation. */
html body.home #match-day-reward-spin .kf-home-spin,
html body.woocommerce-order-received .kf-replay-spin,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
  background:
    linear-gradient(90deg, rgba(5, 16, 35, .88), rgba(5, 16, 35, .52)),
    url("../world-cup-spin-poster-bg.svg") center / cover no-repeat !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game,
html body.woocommerce-order-received .kf-replay-spin__game,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
  --kf-wheel-size: clamp(292px, 30vw, 380px) !important;
  position: relative !important;
  display: grid !important;
  justify-items: center !important;
  align-content: start !important;
  width: min(100%, 520px) !important;
  min-height: auto !important;
  padding: clamp(24px, 3vw, 34px) clamp(18px, 3vw, 30px) clamp(28px, 3.6vw, 42px) !important;
  overflow: hidden !important;
  border: 1px solid rgba(221, 233, 246, .72) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(7, 22, 47, .06), rgba(7, 22, 47, .18)),
    url("../world-cup-spin-poster-bg.svg") center top / cover no-repeat !important;
  box-shadow: 0 28px 70px rgba(0, 14, 30, .28) !important;
  color: #ffffff !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game {
  padding-top: clamp(18px, 2.6vw, 28px) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__banner {
  display: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy,
html body.woocommerce-order-received .kf-replay-spin__copy,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy {
  position: relative !important;
  z-index: 4 !important;
  width: min(100%, 430px) !important;
  margin: 0 auto 14px !important;
  text-align: center !important;
  color: #ffffff !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy span,
html body.woocommerce-order-received .kf-replay-spin__copy > span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 24px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: rgba(51, 236, 126, .16) !important;
  color: #80ff9b !important;
  font-size: .72rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3,
html body.woocommerce-order-received .kf-replay-spin__copy h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
  margin: 9px 0 8px !important;
  color: #ffffff !important;
  font-size: clamp(2.1rem, 4.4vw, 3.45rem) !important;
  font-weight: 950 !important;
  line-height: .92 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  text-shadow: 0 8px 20px rgba(0, 12, 28, .42) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 span,
html body.woocommerce-order-received .kf-replay-spin__copy h2 span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 span {
  display: block !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 span:last-child,
html body.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 span:last-child {
  color: #34ef78 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p,
html body.woocommerce-order-received .kf-replay-spin__copy p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy p {
  max-width: 34ch !important;
  margin: 0 auto !important;
  color: rgba(245, 250, 255, .88) !important;
  font-size: .98rem !important;
  line-height: 1.38 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__game::before,
html body.home #match-day-reward-spin .kf-home-spin__game::after,
html body.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-order-received .kf-replay-spin__game::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game::after {
  content: none !important;
  display: none !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel {
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  width: var(--kf-wheel-size) !important;
  height: var(--kf-wheel-size) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: clamp(8px, 1.5vw, 16px) auto clamp(14px, 2vw, 20px) !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

html body .kf-home-spin__wheel.kf-replay-wheel::before,
html body .kf-home-spin__wheel.kf-replay-wheel::after,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::after,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::before,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-wheel::after {
  content: none !important;
  display: none !important;
}

html body .kf-replay-wheel .kf-spin-wheel-face {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  pointer-events: none !important;
  transform: rotate(var(--kf-wheel-angle, 0deg)) !important;
  transform-origin: 50% 50% !important;
  transition: transform var(--kf-wheel-duration, 6800ms) cubic-bezier(.08, .72, .08, 1) !important;
  will-change: transform !important;
}

html body .kf-replay-wheel .kf-spin-wheel-pointer {
  position: absolute !important;
  left: 50% !important;
  top: calc(var(--kf-wheel-size) * -.105) !important;
  z-index: 3 !important;
  display: block !important;
  width: calc(var(--kf-wheel-size) * .18) !important;
  height: calc(var(--kf-wheel-size) * .24) !important;
  max-width: none !important;
  pointer-events: none !important;
  transform: translateX(-50%) !important;
  filter: drop-shadow(0 10px 12px rgba(0, 13, 29, .34)) !important;
}

html body .kf-replay-wheel .kf-spin-wheel-fallback-label,
html body .kf-replay-wheel .kf-spin-wheel-fallback-brand,
html body .kf-replay-wheel > span:not(.kf-spin-wheel-fallback-label),
html body .kf-replay-wheel > strong:not(.kf-spin-wheel-fallback-brand) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body.woocommerce-order-received .kf-replay-spin__progress,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__progress {
  position: relative !important;
  z-index: 6 !important;
  margin: 4px auto 8px !important;
}

html body.woocommerce-order-received .kf-replay-spin__button,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__button,
html body.home #match-day-reward-spin .kf-home-spin__button {
  position: relative !important;
  z-index: 7 !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #46ff7d 0%, #13c95d 100%) !important;
  color: #041827 !important;
  box-shadow: 0 16px 28px rgba(0, 26, 17, .28) !important;
}

html body.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__history,
html body.woocommerce-order-received .kf-replay-spin__best,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__best {
  position: relative !important;
  z-index: 6 !important;
}

html body.woocommerce-order-received .kf-replay-spin__result,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__result,
html body.home #match-day-reward-spin .kf-home-spin__result {
  border: 1px solid rgba(221, 233, 246, .88) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .94) !important;
  color: #10233f !important;
  box-shadow: 0 14px 30px rgba(0, 14, 30, .14) !important;
}

@media (max-width: 980px) {
  html body.home #match-day-reward-spin .kf-home-spin,
  html body.woocommerce-order-received .kf-replay-spin,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__game,
  html body.woocommerce-order-received .kf-replay-spin__game,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(340px, calc(100vw - 78px)) !important;
    width: min(100%, 520px) !important;
  }
}

@media (max-width: 640px) {
  html body.home #match-day-reward-spin .kf-home-spin__game,
  html body.woocommerce-order-received .kf-replay-spin__game,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__game {
    --kf-wheel-size: min(282px, calc(100vw - 74px)) !important;
    width: min(100%, calc(100vw - 32px)) !important;
    padding: 18px 12px 22px !important;
    border-radius: 12px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3,
  html body.woocommerce-order-received .kf-replay-spin__copy h2,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy h2 {
    font-size: clamp(1.72rem, 8.2vw, 2.38rem) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__poster-copy p,
  html body.woocommerce-order-received .kf-replay-spin__copy p,
  html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin__copy p {
    font-size: .9rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .kf-replay-wheel .kf-spin-wheel-face {
    transition-duration: 1ms !important;
  }
}

/* Order-page final cleanup: keep the wheel poster readable over every legacy override. */
html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__game,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__game {
  background:
    radial-gradient(circle at 50% 12%, rgba(67, 213, 255, .22), transparent 34%),
    radial-gradient(circle at 14% 74%, rgba(52, 239, 120, .18), transparent 30%),
    linear-gradient(180deg, #071a36 0%, #0a315f 58%, #083920 100%) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy {
  position: relative !important;
  z-index: 8 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy h2,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy h2,
html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy h2 span,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy h2 span {
  position: relative !important;
  z-index: 8 !important;
  display: block !important;
  margin-inline: auto !important;
  color: #ffffff !important;
  font-style: normal !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-shadow: 0 8px 18px rgba(0, 12, 28, .42) !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy h2 span:last-child,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy h2 span:last-child {
  color: #34ef78 !important;
}

html body.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy p,
html body.woocommerce-checkout.woocommerce-order-received .kf-replay-spin .kf-replay-spin__copy p {
  position: relative !important;
  z-index: 8 !important;
  color: rgba(245, 250, 255, .92) !important;
  text-align: center !important;
  text-shadow: 0 4px 10px rgba(0, 12, 28, .3) !important;
}

/* Homepage wheel cleanup: remove background headline collision and restore one clear title. */
html body.home #match-day-reward-spin .kf-home-spin__game {
  background:
    radial-gradient(circle at 50% 12%, rgba(67, 213, 255, .24), transparent 34%),
    radial-gradient(circle at 15% 76%, rgba(52, 239, 120, .18), transparent 30%),
    linear-gradient(180deg, #071a36 0%, #0a315f 58%, #083920 100%) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy {
  position: relative !important;
  z-index: 8 !important;
  display: grid !important;
  gap: 8px !important;
  width: min(100%, 420px) !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  text-align: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy > span {
  display: inline-flex !important;
  justify-self: center !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(52, 239, 120, .18) !important;
  color: #80ff9b !important;
  font-size: .72rem !important;
  font-style: normal !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 {
  display: block !important;
  width: min(100%, 390px) !important;
  margin: 0 auto !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 4.4vw, 3.15rem) !important;
  font-style: normal !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-shadow: 0 8px 18px rgba(0, 12, 28, .42) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 span {
  display: block !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  text-align: inherit !important;
  text-transform: inherit !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 span:last-child {
  color: #34ef78 !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p {
  max-width: 34ch !important;
  margin: 0 auto !important;
  color: rgba(245, 250, 255, .92) !important;
  font-size: .96rem !important;
  font-style: normal !important;
  font-weight: 800 !important;
  line-height: 1.34 !important;
  text-align: center !important;
  text-shadow: 0 4px 10px rgba(0, 12, 28, .32) !important;
}

html body.home #match-day-reward-spin .kf-home-spin__poster-copy p strong {
  display: inline !important;
  color: #34ef78 !important;
  font: inherit !important;
}

@media (max-width: 640px) {
  html body.home #match-day-reward-spin .kf-home-spin__poster-copy {
    margin-bottom: 10px !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__poster-copy h3 {
    width: min(100%, 300px) !important;
    font-size: clamp(1.78rem, 8vw, 2.34rem) !important;
  }

  html body.home #match-day-reward-spin .kf-home-spin__poster-copy p {
    max-width: 30ch !important;
    font-size: .9rem !important;
  }
}

/* Cache-busted final title guard for the homepage reward card. */
html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__game {
  background:
    radial-gradient(circle at 50% 12%, rgba(67, 213, 255, .24), transparent 34%),
    radial-gradient(circle at 15% 76%, rgba(52, 239, 120, .18), transparent 30%),
    linear-gradient(180deg, #071a36 0%, #0a315f 58%, #083920 100%) !important;
  isolation: isolate !important;
}

html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__game::before,
html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__game::after {
  content: none !important;
  display: none !important;
}

html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy,
html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy h3,
html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy h3 span,
html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy p {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy h3 {
  display: block !important;
  width: min(100%, 390px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: clamp(2rem, 4.4vw, 3.15rem) !important;
  font-style: normal !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-shadow: 0 8px 18px rgba(0, 12, 28, .42) !important;
}

html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy h3 span {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: 0 !important;
  text-align: inherit !important;
  text-transform: inherit !important;
  border-radius: 0 !important;
  opacity: 1 !important;
}

html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy h3 span:last-child {
  color: #34ef78 !important;
}

html body.home section#match-day-reward-spin .kf-home-spin .kf-home-spin__poster-copy > span {
  display: inline-flex !important;
  width: auto !important;
  min-height: 26px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: rgba(52, 239, 120, .18) !important;
  color: #80ff9b !important;
  font-size: .72rem !important;
  font-style: normal !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Homepage reward section cleanup: remove poster text from the full module and make the reward result readable. */
html body.home section#match-day-reward-spin .kf-home-spin {
  background:
    radial-gradient(circle at 82% 18%, rgba(62, 216, 255, .16), transparent 28%),
    radial-gradient(circle at 16% 82%, rgba(52, 239, 120, .14), transparent 30%),
    linear-gradient(135deg, #06152f 0%, #071a36 46%, #083920 100%) !important;
  isolation: isolate !important;
}

html body.home section#match-day-reward-spin .kf-home-spin::before,
html body.home section#match-day-reward-spin .kf-home-spin::after {
  content: none !important;
  display: none !important;
}

html body.home section#match-day-reward-spin .kf-home-spin__content {
  position: relative !important;
  z-index: 2 !important;
}

html body.home section#match-day-reward-spin .kf-home-spin__result,
html body.home section#match-day-reward-spin .has-home-spin-result .kf-home-spin__result {
  display: block !important;
  max-width: 560px !important;
  min-height: 0 !important;
  margin: 2px 0 12px !important;
  padding: 18px 22px !important;
  border: 1px solid rgba(221, 233, 246, .95) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #10233f !important;
  font-size: clamp(1rem, 1.15vw, 1.14rem) !important;
  font-style: normal !important;
  font-weight: 850 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  box-shadow: 0 18px 34px rgba(0, 14, 30, .18) !important;
  opacity: 1 !important;
}

html body.home section#match-day-reward-spin .kf-home-spin__rules {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 6px !important;
}

@media (max-width: 640px) {
  html body.home section#match-day-reward-spin .kf-home-spin__result,
  html body.home section#match-day-reward-spin .has-home-spin-result .kf-home-spin__result {
    padding: 14px 16px !important;
    font-size: .94rem !important;
  }
}

/* Checkout payment professionalism lock: clear, compact, test-safe card payment UI. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note {
  display: grid !important;
  grid-template-columns: minmax(220px, .85fr) minmax(0, 1.15fr) !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 auto 22px !important;
  padding: 18px 20px !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  box-shadow: 0 16px 36px rgba(8, 22, 43, .08) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note::after {
  content: none !important;
  display: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note__copy {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note__copy span {
  color: #0b1f3a !important;
  font-size: .88rem !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note__copy p {
  margin: 0 !important;
  color: #52657c !important;
  font-size: .84rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 68px !important;
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 10px !important;
  border: 1px solid #d9e4f0 !important;
  border-radius: 999px !important;
  background: #f8fbff !important;
  color: #10233f !important;
  box-shadow: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge__mark {
  display: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge__label {
  display: block !important;
  color: inherit !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment,
html body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-checkout-payment {
  overflow: hidden !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: 0 22px 48px rgba(8, 22, 43, .1) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 20px 22px 12px !important;
  color: #0b1f3a !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label::after {
  content: "Test mode" !important;
  flex: 0 0 auto !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(14, 183, 95, .12) !important;
  color: #087a43 !important;
  font-size: .68rem !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box {
  margin: 0 !important;
  padding: 0 22px 22px !important;
  border: 0 !important;
  background: transparent !important;
  color: #10233f !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box::before {
  content: none !important;
  display: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(120px, .44fr) minmax(96px, .32fr) !important;
  gap: 14px !important;
  padding: 18px !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 10px !important;
  background: #f8fbff !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__header {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin: 0 0 2px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__header p {
  margin: 4px 0 0 !important;
  color: #52657c !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__eyebrow {
  display: block !important;
  color: #0b1f3a !important;
  font-size: .98rem !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__mode {
  flex: 0 0 auto !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #0b1f3a !important;
  color: #ffffff !important;
  font-size: .68rem !important;
  font-weight: 950 !important;
  letter-spacing: .06em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice {
  grid-column: 1 / -1 !important;
  display: grid !important;
  gap: 3px !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(14, 183, 95, .22) !important;
  border-radius: 8px !important;
  background: rgba(14, 183, 95, .08) !important;
  color: #0b1f3a !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice strong {
  color: #087a43 !important;
  font-size: .82rem !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice span {
  color: #52657c !important;
  font-size: .82rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__field {
  display: grid !important;
  gap: 7px !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__field--number {
  grid-column: 1 / -1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card label {
  margin: 0 !important;
  color: #34445d !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card input.input-text {
  width: 100% !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #cbd8e6 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #0b1f3a !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9) !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card input.input-text:focus {
  border-color: #0eb75f !important;
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(14, 183, 95, .14) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card__header,
html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card__notice,
html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card__field--number {
  grid-column: 1 / -1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card__expiry,
html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card__cvc,
html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .kf-test-card__field input.input-text {
  width: 100% !important;
  min-width: 0 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
  margin: 0 !important;
  padding: 0 22px 22px !important;
  background: transparent !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment #place_order {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #24df68 0%, #0ba94d 100%) !important;
  color: #041827 !important;
  font-size: 1rem !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 16px 30px rgba(8, 120, 64, .24) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-error {
  border: 1px solid #fecaca !important;
  border-left: 4px solid #dc2626 !important;
  border-radius: 10px !important;
  background: #fff1f2 !important;
  color: #7f1d1d !important;
  font-weight: 850 !important;
}

@media (max-width: 720px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 16px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badges {
    justify-content: flex-start !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note .kf-payment-badge {
    min-width: calc(50% - 4px) !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 14px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__header {
    display: grid !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label,
  html body.woocommerce-checkout:not(.woocommerce-order-received) #payment div.payment_box,
  html body.woocommerce-checkout:not(.woocommerce-order-received) #payment .place-order {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* Final site delivery polish lock. Keep this at the end so legacy cascade cannot override it. */
html body .kf-button,
html body.woocommerce a.button,
html body.woocommerce button.button,
html body.woocommerce input.button,
html body .kf-card-actions .button,
html body .kf-card-actions .added_to_cart {
  min-height: 44px !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15 !important;
}

html body .kf-section__head,
html body .kf-checkout-path,
html body .kf-rewards-panel,
html body .kf-shop-intro,
html body .kf-product-trust,
html body .kf-account-intro {
  max-width: 100% !important;
}

html body.post-type-archive-product .woocommerce-products-header__title.page-title {
  margin-bottom: 14px !important;
}

html body.post-type-archive-product .kf-shop-intro h2,
html body.tax-product_cat .kf-shop-intro h2 {
  max-width: 780px !important;
  font-size: clamp(2rem, 4vw, 3.35rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

html body.post-type-archive-product .kf-shop-intro p,
html body.tax-product_cat .kf-shop-intro p {
  max-width: 760px !important;
  font-size: clamp(.98rem, 1.5vw, 1.08rem) !important;
  line-height: 1.55 !important;
}

html body.single-product .kf-product-trust {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

html body.single-product .kf-product-trust__item {
  min-width: 0 !important;
}

html body.woocommerce-cart .cart-empty,
html body.woocommerce-checkout .cart-empty {
  max-width: 760px !important;
  margin: 34px auto 16px !important;
  padding: 28px !important;
  border: 1px solid #dbe6f2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  color: #10233f !important;
  font-size: clamp(1.2rem, 2vw, 1.55rem) !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  box-shadow: 0 18px 40px rgba(11, 31, 58, .08) !important;
}

html body.woocommerce-cart .return-to-shop,
html body.woocommerce-checkout .return-to-shop {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto 42px !important;
}

html body.woocommerce-cart .return-to-shop .button,
html body.woocommerce-checkout .return-to-shop .button {
  min-width: min(100%, 240px) !important;
  border-radius: 8px !important;
  background: #0b1f3a !important;
  color: #ffffff !important;
  font-weight: 950 !important;
}

html body.woocommerce-account:not(.logged-in) .kf-account-intro {
  padding: clamp(24px, 4vw, 44px) !important;
  border-radius: 12px !important;
}

html body.woocommerce-account:not(.logged-in) .kf-account-intro h2 {
  max-width: 760px !important;
  font-size: clamp(2rem, 4.8vw, 4.2rem) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

html body.woocommerce-account:not(.logged-in) .kf-account-intro p,
html body .kf-form-note {
  max-width: 680px !important;
  line-height: 1.55 !important;
}

@media (max-width: 720px) {
  html body .kf-section__head,
  html body .kf-checkout-path,
  html body .kf-rewards-panel {
    gap: 16px !important;
  }

  html body.single-product .kf-product-trust {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.post-type-archive-product .kf-shop-intro,
  html body.tax-product_cat .kf-shop-intro,
  html body.woocommerce-cart .cart-empty,
  html body.woocommerce-checkout .cart-empty {
    padding: 22px 16px !important;
  }

  html body.post-type-archive-product .kf-shop-intro h2,
  html body.tax-product_cat .kf-shop-intro h2 {
    font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
  }
}

/* Final order lock: size selector must stay before quantity and add-to-cart. */
html body.single-product form.cart .kf-size-choice {
  grid-row: 1 !important;
  order: -10 !important;
}

html body.single-product form.cart .quantity {
  grid-row: 2 !important;
  order: 1 !important;
}

html body.single-product form.cart .single_add_to_cart_button {
  grid-row: 2 !important;
  order: 2 !important;
}

html body.single-product form.cart .kf-save-for-later {
  grid-row: 3 !important;
  order: 3 !important;
}

@media (max-width: 700px) {
  html body.single-product form.cart .kf-size-choice {
    grid-row: 1 !important;
    order: -10 !important;
  }

  html body.single-product form.cart .quantity {
    grid-row: 2 !important;
    order: 1 !important;
  }

  html body.single-product form.cart .single_add_to_cart_button {
    grid-row: 3 !important;
    order: 2 !important;
  }

  html body.single-product form.cart .kf-save-for-later {
    grid-row: 4 !important;
    order: 3 !important;
  }
}

/* Final mobile storefront lock. This file loads after style.css, so keep the
   campaign image and compact header fixes here as the last winning layer. */
@media (max-width: 720px) {
  html body .kf-header__inner {
    display: grid !important;
    grid-template-columns: minmax(76px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    overflow: hidden !important;
  }

  html body .kf-logo,
  html body .kf-logo__image {
    width: clamp(82px, 24vw, 104px) !important;
    max-width: 104px !important;
    min-width: 0 !important;
  }

  html body .kf-menu-toggle {
    min-width: 88px !important;
    max-width: 96px !important;
    height: 42px !important;
    padding: 0 10px !important;
    gap: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  html body .kf-actions {
    display: inline-flex !important;
    grid-column: auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    min-width: 0 !important;
    max-width: 126px !important;
    white-space: nowrap !important;
  }

  html body .kf-actions .kf-icon-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 8px !important;
    gap: 5px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    line-height: 1 !important;
  }

  html body .kf-icon-link--account {
    width: 58px !important;
    min-width: 58px !important;
  }

  html body .kf-icon-link--account .kf-action-label {
    display: inline-block !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  html body .kf-icon-link--account .kf-action-label::before {
    content: "Acct" !important;
    display: inline !important;
    font-size: .78rem !important;
    font-weight: 820 !important;
  }

  html body .kf-icon-link--account .kf-action-label::after,
  html body .kf-icon-link--cart .kf-action-label::after {
    content: none !important;
    display: none !important;
  }

  html body .kf-icon-link--cart {
    width: 64px !important;
    min-width: 64px !important;
  }

  html body .kf-icon-link--cart .kf-action-label {
    display: inline-block !important;
    font-size: 0 !important;
    line-height: 1 !important;
  }

  html body .kf-icon-link--cart .kf-action-label::before {
    content: "Cart" !important;
    display: inline !important;
    font-size: .72rem !important;
    font-weight: 820 !important;
  }

  html body .kf-cart-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 18px !important;
    min-width: 18px !important;
    height: 18px !important;
    margin-left: 0 !important;
    border-radius: 999px !important;
    font-size: .68rem !important;
    line-height: 1 !important;
  }

  html body.home .kf-campaign-card {
    display: block !important;
    aspect-ratio: 16 / 10 !important;
    height: auto !important;
    max-height: 300px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #eef3f8 !important;
  }

  html body.home .kf-campaign-card picture,
  html body.home .kf-campaign-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  html body.home .kf-campaign-card img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #0b1322 !important;
  }
}

@media (max-width: 380px) {
  html body .kf-header__inner {
    grid-template-columns: minmax(68px, 1fr) auto auto !important;
    gap: 5px !important;
    padding-inline: 8px !important;
  }

  html body .kf-logo,
  html body .kf-logo__image {
    width: 78px !important;
    max-width: 78px !important;
  }

  html body .kf-menu-toggle {
    min-width: 78px !important;
    max-width: 84px !important;
    padding-inline: 8px !important;
  }

  html body .kf-icon-link--account {
    width: 48px !important;
    min-width: 48px !important;
  }

  html body .kf-icon-link--account .kf-action-label::before {
    font-size: .72rem !important;
  }

  html body .kf-icon-link--cart {
    width: 42px !important;
    min-width: 42px !important;
    padding-inline: 4px !important;
  }

  html body .kf-icon-link--cart .kf-action-label::before {
    content: none !important;
    display: none !important;
  }
}

/* Account dashboard mobile card polish. */
html body.woocommerce-account.logged-in .kf-account-dashboard__profile {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__profile-link,
html body.woocommerce-account.logged-in .kf-account-dashboard__logout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 8px;
  color: #fff;
  font-weight: 760;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
}

html body.woocommerce-account.logged-in .kf-account-dashboard__profile-link {
  background: rgba(255, 255, 255, 0.06);
}

html body.woocommerce-account.logged-in .kf-account-dashboard__hero h2 {
  max-width: 540px;
  font-size: clamp(2rem, 3.2vw, 3.1rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

@media (max-width: 700px) {
  html body.woocommerce-account.logged-in .kf-account-dashboard__hero {
    gap: 16px !important;
    padding: 20px !important;
    border-radius: 8px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__profile {
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: start !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__avatar,
  html body.woocommerce-account.logged-in .kf-account-avatar {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
    font-size: 1.35rem !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__hero span {
    display: block !important;
    margin-bottom: 6px !important;
    font-size: .72rem !important;
    line-height: 1.1 !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__hero h2 {
    max-width: 100% !important;
    margin: 0 0 8px !important;
    font-size: clamp(1.72rem, 8.6vw, 2.1rem) !important;
    line-height: 1.02 !important;
    overflow-wrap: anywhere !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__hero p {
    max-width: 100% !important;
    font-size: .94rem !important;
    line-height: 1.38 !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__hero-actions {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__profile-link,
  html body.woocommerce-account.logged-in .kf-account-dashboard__logout {
    width: 100% !important;
    min-height: 40px !important;
    padding: 9px 10px !important;
    font-size: .86rem !important;
    white-space: normal !important;
  }
}

@media (max-width: 430px) {
  html body.woocommerce-account.logged-in .kf-account-dashboard__hero {
    padding: 18px 16px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__profile {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__avatar,
  html body.woocommerce-account.logged-in .kf-account-avatar {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    font-size: 1.1rem !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__hero h2 {
    font-size: clamp(1.52rem, 7.6vw, 1.86rem) !important;
  }

  html body.woocommerce-account.logged-in .kf-account-dashboard__hero p {
    font-size: .88rem !important;
  }
}

/* Professional shop directory: marketplace-style structure with original imagery. */
html body.home .kf-home-directory {
  padding: clamp(34px, 5vw, 58px) 0 !important;
}

/* Footer legal copy: independent-store policy links and copyright notice. */
html body .kf-footer__bottom {
  background: #061833 !important;
  border-top: 1px solid rgba(255, 255, 255, .18) !important;
  color: rgba(255, 255, 255, .78) !important;
}

html body .kf-footer__bottom .kf-container {
  display: grid !important;
  gap: 12px !important;
}

html body .kf-footer__legal-links ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .kf-footer__legal-links li {
  margin: 0 !important;
  padding: 0 !important;
}

html body .kf-footer__legal-links a,
html body .kf-footer__bottom p {
  color: rgba(255, 255, 255, .82) !important;
  font-size: .84rem !important;
  line-height: 1.55 !important;
}

html body .kf-footer__legal-links a {
  text-decoration: none !important;
}

html body .kf-footer__legal-links a:hover {
  color: #fff !important;
}

html body .kf-footer__bottom p {
  max-width: 1120px !important;
  margin: 0 !important;
}

/* Product image sizing guard: keep product photography visually substantial in cards and galleries. */
html body.woocommerce ul.products li.product a img,
html body.woocommerce-page ul.products li.product a img,
html body .kf-main ul.products li.product a img {
  width: 100% !important;
  min-height: clamp(210px, 18vw, 280px) !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

html body.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  max-height: 620px !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 620px) {
  html body .kf-footer__legal-links ul {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
}

/* Checkout customer-facing copy lock: hide internal test-mode labels. */
html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label::after {
  content: none !important;
  display: none !important;
}

html body.home .kf-home-directory .kf-container {
  display: grid !important;
  grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
  align-items: start !important;
}

html body.home .kf-home-directory__head {
  position: sticky !important;
  top: 86px !important;
  display: grid !important;
  gap: 10px !important;
}

html body.home .kf-home-directory__head span {
  display: block !important;
  color: #00873e !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

html body.home .kf-home-directory__head h2 {
  max-width: 320px !important;
  margin: 0 !important;
  color: #071426 !important;
  font-size: clamp(1.65rem, 2.45vw, 2.35rem) !important;
  font-weight: 950 !important;
  line-height: 1.02 !important;
}

html body.home .kf-home-category-rail.kf-home-directory__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
  width: 100% !important;
}

html body.home .kf-home-directory-card {
  display: grid !important;
  grid-template-rows: 1fr auto !important;
  min-width: 0 !important;
  border: 1px solid #d9e3ee !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 14px 30px rgba(7, 20, 38, .06) !important;
  overflow: hidden !important;
}

html body.home .kf-home-category-rail .kf-home-directory-card__main {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-rows: 168px auto auto !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 12px 12px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #071426 !important;
  white-space: normal !important;
  text-decoration: none !important;
}

html body.home .kf-home-directory .kf-home-category-rail__image {
  display: block !important;
  width: 100% !important;
  height: 168px !important;
  overflow: hidden !important;
  border-radius: 7px !important;
  background: #f6f8fb !important;
}

html body.home .kf-home-directory .kf-home-category-rail__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

html body.home .kf-home-directory .kf-home-category-rail__label {
  box-sizing: border-box !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 12px 0 0 !important;
  color: #071426 !important;
  font-size: 1.03rem !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  text-align: left !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: normal !important;
}

html body.home .kf-home-directory-card__copy {
  box-sizing: border-box !important;
  display: block !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: 7px !important;
  color: #536176 !important;
  font-size: .86rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: normal !important;
}

html body.home .kf-home-directory-card__links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  padding: 0 12px 14px !important;
}

html body.home .kf-home-category-rail .kf-home-directory-card__links a {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 9px !important;
  border: 1px solid #d9e3ee !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  color: #253348 !important;
  font-size: .72rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  html body.home .kf-home-directory .kf-container {
    grid-template-columns: 1fr !important;
  }

  html body.home .kf-home-directory__head {
    position: static !important;
  }

  html body.home .kf-home-directory__head h2 {
    max-width: 680px !important;
  }

  html body.home .kf-home-category-rail.kf-home-directory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  html body.home .kf-home-directory .kf-container {
    width: min(100% - 28px, 720px) !important;
    gap: 16px !important;
  }

  html body.home .kf-home-category-rail.kf-home-directory__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  html body.home .kf-home-category-rail .kf-home-directory-card__main {
    grid-template-rows: 154px auto auto !important;
  }

  html body.home .kf-home-directory .kf-home-category-rail__image {
    height: 154px !important;
  }
}

@media (max-width: 720px) {
  html body .kf-actions .kf-icon-link--account {
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
  }

  html body .kf-actions .kf-icon-link--account .kf-action-label {
    width: auto !important;
    max-width: 40px !important;
    font-size: 0 !important;
  }

  html body .kf-actions .kf-icon-link--account .kf-action-label::after {
    content: none !important;
    display: none !important;
    font-size: 0 !important;
  }

  html body .kf-actions .kf-icon-link--account .kf-action-label::before {
    content: "Acct" !important;
  }

  html body .kf-actions .kf-icon-link--cart {
    width: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
  }
}

@media (max-width: 380px) {
  html body .kf-actions .kf-icon-link--account {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }

  html body .kf-actions .kf-icon-link--cart {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
  }
}

/* Retail navigation polish: compact top utility buttons and tidy shop controls. */
html body .kf-topbar__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

html body .kf-topbar__promo,
html body .kf-topbar__tools {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

html body .kf-topbar__promo {
  justify-content: flex-start !important;
}

html body .kf-topbar__tools {
  justify-content: flex-end !important;
  padding: 4px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.04) !important;
}

html body .kf-topbar__trust,
html body .kf-topbar__tool {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

html body .kf-topbar__tool {
  padding: 0 12px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

html body .kf-topbar__tool::before {
  content: none !important;
  display: none !important;
}

html body .kf-topbar__tool:hover,
html body .kf-topbar__tool:focus-visible {
  background: rgba(255,255,255,.11) !important;
}

html body .kf-category-nav--shop {
  padding: 24px !important;
}

html body .kf-category-nav--shop > span {
  display: block !important;
  margin-bottom: 16px !important;
  color: #5b6878 !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}

html body .kf-category-nav--shop ul {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .kf-category-nav--shop li {
  min-width: 0 !important;
}

html body .kf-category-nav--shop a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1px solid #d7e3ef !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #061429 !important;
  font-size: .98rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
}

html body .kf-category-nav--shop a:hover,
html body .kf-category-nav--shop a:focus-visible,
html body .kf-category-nav--shop a.is-active {
  border-color: #001b41 !important;
  background: #001b41 !important;
  color: #fff !important;
}

html body.woocommerce-shop .kf-shop-toolbar,
html body.tax-product_cat .kf-shop-toolbar,
html body.tax-product_tag .kf-shop-toolbar,
html body.search-results .kf-shop-toolbar {
  display: grid !important;
  grid-template-columns: minmax(320px, 1fr) minmax(260px, 360px) !important;
  gap: 16px !important;
  align-items: stretch !important;
  padding: 18px !important;
}

html body .kf-shop-search {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: stretch !important;
}

html body .kf-shop-search input[type="search"],
html body .kf-shop-toolbar__ordering select {
  min-height: 56px !important;
  border: 1px solid #cbd8e6 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #061429 !important;
  font-size: 1rem !important;
  font-weight: 760 !important;
}

html body .kf-shop-search input[type="search"] {
  width: 100% !important;
  padding: 0 18px !important;
}

html body .kf-shop-search button,
html body .kf-shop-search__clear {
  min-height: 56px !important;
  border-radius: 8px !important;
  padding: 0 22px !important;
  background: #061429 !important;
  color: #fff !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

html body .kf-shop-toolbar__controls {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

html body .kf-shop-toolbar__count .woocommerce-result-count {
  display: flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin: 0 !important;
  color: #4b5870 !important;
  font-weight: 820 !important;
}

html body .kf-shop-toolbar__ordering .woocommerce-ordering {
  float: none !important;
  margin: 0 !important;
  width: 100% !important;
}

html body .kf-shop-toolbar__ordering select {
  width: 100% !important;
  padding: 0 44px 0 16px !important;
}

@media (max-width: 980px) {
  html body .kf-topbar__inner {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 0 14px !important;
  }

  html body .kf-topbar__promo,
  html body .kf-topbar__tools {
    justify-content: center !important;
  }

  html body .kf-topbar__tools {
    display: none !important;
  }

  html body .kf-category-nav--shop ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  html body.woocommerce-shop .kf-shop-toolbar,
  html body.tax-product_cat .kf-shop-toolbar,
  html body.tax-product_tag .kf-shop-toolbar,
  html body.search-results .kf-shop-toolbar {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
  }
}

@media (max-width: 520px) {
  html body .kf-category-nav--shop {
    padding: 16px !important;
  }

  html body .kf-category-nav--shop ul {
    grid-template-columns: 1fr 1fr !important;
  }

  html body .kf-category-nav--shop a {
    min-height: 52px !important;
    font-size: .9rem !important;
    padding: 8px !important;
  }

  html body .kf-shop-search {
    grid-template-columns: 1fr !important;
  }

  html body .kf-shop-search button,
  html body .kf-shop-search__clear {
    width: 100% !important;
  }
}

/* Final checkout copy guard: no internal test labels on customer payment UI. */
html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods > li > label::after {
  content: none !important;
  display: none !important;
}

/* Final account/review polish: English upload control and real customer avatars. */
html body .kf-account-photo-panel__upload {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  max-width: 520px;
  min-height: 46px;
  padding: 6px;
  border: 1px solid #cbd8e6;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
}

html body .kf-account-photo-panel__upload input[type="file"] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

html body .kf-account-photo-panel__upload-button {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 7px;
  background: #061833;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .kf-account-photo-panel__upload-status {
  min-width: 0;
  color: #40516c !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html body.woocommerce div.product #reviews #comments ol.commentlist li img.avatar,
html body.woocommerce #reviews #comments ol.commentlist li img.avatar,
html body .commentlist .kf-review-avatar {
  width: 52px !important;
  height: 52px !important;
  padding: 0 !important;
  border: 2px solid #fff !important;
  border-radius: 50% !important;
  background: #fff !important;
  object-fit: cover !important;
  box-shadow: 0 8px 20px rgba(7, 20, 38, .14) !important;
}

/* Product gallery visibility guard: keep the main product photo visible if WooCommerce gallery JS initializes late. */
html body.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}

/* Rating display guard: avoid WooCommerce's private star font falling back to visible "S" glyphs. */
html body .star-rating::before,
html body .star-rating span::before {
  content: "\2605\2605\2605\2605\2605" !important;
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: 1px;
}

/* Checkout payment brand polish: no exposed test-card defaults, no broken card logos. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands {
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 12px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands ul {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 0 8px !important;
  border: 1px solid #d9e2ec !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
  color: #0f172a !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) !important;
  font-size: .78rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand span {
  display: block !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--visa span {
  color: #1434cb !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--mastercard span {
  color: #111827 !important;
  font-size: clamp(.58rem, 1.85vw, .76rem) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--amex,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--discover,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--jcb {
  border-color: #d9e2ec !important;
  background: linear-gradient(180deg, #ffffff, #f8fafc) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--amex span {
  color: #2563a9 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--discover span {
  color: #b45309 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand--jcb span {
  color: #047857 !important;
}

@media (max-width: 430px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands ul {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand {
    min-height: 40px !important;
    padding-inline: 6px !important;
    font-size: .72rem !important;
  }
}

/* Checkout card-network logos: replace text chips with compact professional marks. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand {
  overflow: hidden !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(100%, 74px) !important;
  min-width: 0 !important;
  height: 30px !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--visa {
  color: #1434cb !important;
  font-size: 1.02rem !important;
  font-style: italic !important;
  font-weight: 950 !important;
  transform: skewX(-8deg);
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--mastercard {
  position: relative !important;
  width: 52px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__circle {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__circle--red {
  background: #eb001b !important;
  transform: translateX(8px);
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__circle--gold {
  background: #f79e1b !important;
  transform: translateX(-8px);
  mix-blend-mode: multiply;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--amex {
  width: 56px !important;
  height: 24px !important;
  border-radius: 3px !important;
  background: #1677c7 !important;
  color: #ffffff !important;
  font-size: .78rem !important;
  font-weight: 950 !important;
  text-shadow: 0 1px 0 rgba(0, 43, 92, .45);
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--discover {
  position: relative !important;
  color: #111827 !important;
  font-size: .74rem !important;
  font-weight: 950 !important;
  overflow: visible !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--discover::after {
  content: "";
  position: absolute;
  right: 1px;
  bottom: 2px;
  width: 42px;
  height: 8px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, transparent 0%, #f97316 36%, #f97316 100%);
  transform: skewX(-18deg);
  z-index: 0;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--discover > span {
  position: relative !important;
  z-index: 1 !important;
  display: inline !important;
  color: #f97316 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--jcb {
  width: 56px !important;
  height: 24px !important;
  overflow: hidden !important;
  border-radius: 3px !important;
  color: #ffffff !important;
  font-size: .75rem !important;
  font-weight: 950 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--jcb > span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 33.333% !important;
  height: 100% !important;
  color: #ffffff !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--jcb > span:nth-child(1) {
  background: #0f5fb8 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--jcb > span:nth-child(2) {
  background: #d7193f !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__logo--jcb > span:nth-child(3) {
  background: #159447 !important;
}

/* Store assurance image icon upgrade. */
html body .kf-assurance-pills__icon,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body .kf-assurance-pills__icon::before,
html body .kf-assurance-pills__icon::after,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon::before,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon::after {
  content: none !important;
  display: none !important;
}

html body .kf-assurance-pills__icon img,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html body .kf-shop-intro .kf-assurance-pills__icon {
  width: 74px !important;
  height: 74px !important;
  margin: 0 0 18px !important;
}

html body .kf-shop-intro .kf-assurance-pills strong {
  max-width: 170px !important;
}

html body .kf-shop-intro .kf-assurance-pills span:not(.kf-assurance-pills__icon) {
  max-width: 180px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance {
  display: grid !important;
  gap: 16px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__item {
  grid-template-columns: 58px minmax(0, 1fr) !important;
  column-gap: 14px !important;
  row-gap: 3px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon {
  grid-row: 1 / span 2 !important;
  width: 58px !important;
  height: 58px !important;
}

html body.post-type-archive-product .kf-shop-intro .kf-assurance-pills,
html body.woocommerce-shop .kf-shop-intro .kf-assurance-pills,
html body.tax-product_cat .kf-shop-intro .kf-assurance-pills {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 520px !important;
  gap: 14px !important;
}

html body .kf-shop-intro .kf-assurance-pills li,
html body .kf-shop-intro .kf-assurance-pills__item {
  grid-template-rows: auto auto 1fr !important;
  min-height: 210px !important;
  padding: 22px 20px !important;
  overflow: visible !important;
}

html body .kf-shop-intro .kf-assurance-pills__icon {
  width: 86px !important;
  height: 86px !important;
  margin: 0 0 16px !important;
}

@media (max-width: 640px) {
  html body .kf-shop-intro .kf-assurance-pills li,
  html body .kf-shop-intro .kf-assurance-pills__item {
    min-height: 170px !important;
    padding: 16px !important;
  }

  html body .kf-shop-intro .kf-assurance-pills__icon {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 12px !important;
  }
}

/* Checkout card brand image marks. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands ul {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: center !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__image {
  display: block !important;
  width: 100% !important;
  max-width: 112px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

@media (max-width: 520px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands {
    gap: 10px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands ul {
    gap: 5px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__image {
    max-width: 64px !important;
  }
}

/* Header logo scale lock: keep the brand visible on compact checkout screens. */
html body .kf-header__inner {
  min-height: 72px !important;
}

html body .kf-logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: clamp(132px, 16vw, 178px) !important;
  max-width: clamp(132px, 16vw, 178px) !important;
  min-width: clamp(132px, 16vw, 178px) !important;
}

html body .kf-logo__image {
  width: clamp(126px, 13vw, 162px) !important;
  max-width: clamp(126px, 13vw, 162px) !important;
  height: auto !important;
}

@media (max-width: 760px) {
  html body .kf-header__inner {
    grid-template-columns: minmax(138px, 1fr) auto auto !important;
    min-height: 76px !important;
    gap: 8px !important;
    padding-inline: 12px !important;
  }

  html body .kf-logo,
  html body .kf-logo__image {
    width: 132px !important;
    max-width: 132px !important;
  }
}

@media (max-width: 390px) {
  html body .kf-header__inner {
    grid-template-columns: minmax(126px, 1fr) auto auto !important;
    gap: 6px !important;
    padding-inline: 10px !important;
  }

  html body .kf-logo,
  html body .kf-logo__image {
    width: 124px !important;
    max-width: 124px !important;
  }
}

@media (max-width: 620px) {
  html body .kf-account-photo-panel__upload {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  html body .kf-account-photo-panel__upload-button {
    width: 100%;
  }
}

/* Image layout QA lock: keep storefront imagery readable on desktop and mobile. */
html body.woocommerce ul.products li.product a img,
html body.woocommerce-page ul.products li.product a img,
html body .kf-main ul.products li.product a img,
html body.single-product .related ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #f6f8fb !important;
}

@media (min-width: 721px) {
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products,
  html body .kf-main ul.products {
    align-items: stretch !important;
  }
}

@media (max-width: 720px) {
  html body.home .kf-hero--campaign {
    background: #eef3f6 !important;
  }

  html body.home .kf-campaign-hero__link {
    height: clamp(300px, 50vh, 430px) !important;
    min-height: 300px !important;
    max-height: 430px !important;
    overflow: hidden !important;
    background: #dfe8eb !important;
  }

  html body.home .kf-campaign-hero__link picture,
  html body.home .kf-campaign-hero__link img {
    width: 100% !important;
    height: 100% !important;
  }

  html body.home .kf-campaign-hero__link img {
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center 34% !important;
  }

  html body.home .kf-hero--campaign::after {
    background: linear-gradient(180deg, rgba(246, 249, 252, 0) 0%, rgba(246, 249, 252, .10) 58%, #f6f9fc 100%) !important;
    opacity: .72 !important;
  }

  html body.home .kf-hero--campaign::before {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  html body.home .kf-campaign-hero__copy {
    position: relative !important;
    z-index: 2 !important;
    width: min(100% - 24px, 430px) !important;
    margin: 0 auto !important;
    padding: 22px 0 8px !important;
    color: #071426 !important;
  }

  html body.home .kf-hero--campaign {
    display: block !important;
    min-height: 0 !important;
    padding: 0 0 24px !important;
    overflow: hidden !important;
  }

  html body.home .kf-campaign-hero__link {
    position: relative !important;
    inset: auto !important;
    z-index: 0 !important;
    display: block !important;
  }

  html body.home .kf-campaign-hero__copy h1 {
    max-width: 10.5ch !important;
    margin: 0 0 12px !important;
    font-size: clamp(2.35rem, 10vw, 3.2rem) !important;
    line-height: .98 !important;
    color: #071426 !important;
  }

  html body.home .kf-campaign-hero__copy p {
    max-width: 34rem !important;
    margin: 0 !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
    color: #40516a !important;
  }

  html body.home .kf-campaign-hero__actions {
    margin-top: 18px !important;
  }
}

/* Demo-launch QA lock: make preview payment status explicit and keep launch imagery readable. */
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note {
  border-color: #c8d8ea !important;
  background: linear-gradient(135deg, #f8fbff, #eef6ff) !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note::after {
  content: "Preview only" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 6px 10px !important;
  border: 1px solid #b7c9e0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #24415f !important;
  font-size: .74rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice {
  grid-column: 1 / -1 !important;
  display: grid !important;
  gap: 4px !important;
  margin: 0 0 4px !important;
  padding: 12px 14px !important;
  border: 1px solid #cbd8e6 !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: #334155 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice strong {
  color: #071426 !important;
  font-size: .86rem !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__notice span {
  color: #52657c !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__image {
  max-width: 118px !important;
}

@media (max-width: 520px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__image {
    max-width: 88px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-payment-note::after {
    justify-self: start !important;
  }
}

html body .kf-shop-intro .kf-assurance-pills__icon {
  width: 92px !important;
  height: 92px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon {
  width: 64px !important;
  height: 64px !important;
}

html body.woocommerce ul.products li.product a img,
html body.woocommerce-page ul.products li.product a img,
html body .kf-main ul.products li.product a img,
html body.single-product .related ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f5f8fc !important;
}

@media (max-width: 760px) {
  html body.home .kf-hero--campaign::before {
    background: linear-gradient(180deg, rgba(7, 20, 38, .16), rgba(7, 20, 38, .05)) !important;
  }

  html body.home .kf-hero--campaign::after {
    opacity: .16 !important;
  }

  html body.home .kf-campaign-hero__link img {
    filter: saturate(1.06) contrast(1.03) brightness(1.06) !important;
    object-position: center top !important;
  }
}

html body.woocommerce-checkout:not(.woocommerce-order-received) #payment ul.payment_methods::before {
  content: "All major credit and debit cards are accepted for preview orders. No real card charge is processed." !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .woocommerce-billing-fields > h3::after {
  content: "Billing details are used to create this preview order." !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands ul {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand {
  display: inline-flex !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px 6px !important;
  border: 1px solid #d8e2ed !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05) !important;
  overflow: hidden !important;
}

html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__image {
  max-width: 104px !important;
  max-height: 40px !important;
}

@media (max-width: 520px) {
  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-test-card__brands ul {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand {
    min-height: 58px !important;
  }

  html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-card-brand__image {
    max-width: 96px !important;
    max-height: 50px !important;
  }
}

html body .kf-assurance-pills__icon img,
html body.woocommerce-checkout:not(.woocommerce-order-received) .kf-checkout-assurance__icon img {
  filter: saturate(1.08) contrast(1.08) !important;
}
