/* ==========================================================================
   Site footer — cloned from fc-qa.notfc.com (Fortune Wins app footer)
   Tokens are scoped to .site-footer so they don't leak into the Katen theme.
   ========================================================================== */
.site-footer {
  --fw-color-text: lab(96.1137% 5.7736 -5.29707);
  --fw-color-text-muted: lab(72.6611% 48.3752 -67.4882);
  --fw-color-bg-deep: lab(1.81144% 13.0638 -13.9755);
  --fw-color-border: lab(25.3985% 44.4488 -36.7288);
  --fw-color-surface-raised: lab(10.7723% 42.9896 -34.3425);
  --fw-color-purple-face: lab(66.7391% 71.321 -91.8824);
  --fw-color-purple-depth: lab(56.2072% 73.6551 -92.2657);
  --fw-color-purple-ink: lab(10.7723% 42.9896 -34.3425);
  --fw-color-gold-ink: lab(18.285% 19.3364 21.1844);
  --fw-color-gold-face-light: lab(95.1185% 1.98269 36.4068);
  --fw-color-focus: lab(43.074% 40.023 -98.4682);
  --fw-color-focus-ring: lab(95.4084% 6.92132 -10.8319);
  --fw-gradient-gold-face: radial-gradient(ellipse 85% 122% at 50% 0, lab(95.1185% 1.98269 36.4068) 0%, lab(89.7847% 8.12256 50.2726) 33.65%, lab(74.151% 20.0229 53.8193) 67.3%, lab(72.0166% 19.1511 61.3673) 81.487%, lab(67.2994% 20.9446 61.9005) 88.58%, lab(69.511% 19.1289 73.8471) 95.673%);
  --fw-gradient-gold-face-spread: radial-gradient(ellipse 130% 130% at 50% 50%, lab(95.1185% 1.98269 36.4068) 0%, lab(89.7847% 8.12256 50.2726) 48%, lab(74.151% 20.0229 53.8193) 72%, lab(72.0166% 19.1511 61.3673) 84%, lab(67.2994% 20.9446 61.9005) 92%, lab(69.511% 19.1289 73.8471) 100%);
  --fw-font-sans: "Montserrat", "Segoe UI", system-ui, sans-serif;
  --fw-text-xs: .75rem;
  --fw-text-sm: .875rem;
  --fw-text-md: 1rem;
  --fw-leading-tight: 1.2;
  --fw-leading-normal: 1.5;
  --fw-space-1: .25rem;
  --fw-space-2: .5rem;
  --fw-space-3: .75rem;
  --fw-space-4: 1rem;
  --fw-space-5: 1.5rem;
  --fw-space-6: 2rem;
  --fw-space-8: 3rem;
  --fw-radius-sm: .375rem;
  --fw-radius-lg: .75rem;
  --fw-radius-card: 24px;
  --fw-radius-pill: 9999px;
  --fw-footer-accent: var(--fw-color-purple-face);

  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: var(--fw-space-6) var(--fw-space-6) calc(var(--fw-space-6) + env(safe-area-inset-bottom, 0px));
  border: 0;
  border-top: 3px solid var(--fw-footer-accent);
  background: var(--fw-color-bg-deep);
  color: var(--fw-color-text);
  font-family: var(--fw-font-sans);
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
  overflow: hidden;
}
.site-footer *, .site-footer *::before, .site-footer *::after { box-sizing: border-box; }

/* Neutralise Katen / Bootstrap defaults inside the footer */
.site-footer h5, .site-footer p, .site-footer ul, .site-footer li { margin: 0; padding: 0; }
.site-footer ul { list-style: none; }
.site-footer a { color: inherit; }

@media (min-width: 768px) {
  .site-footer { padding: var(--fw-space-8) var(--fw-space-4) calc(var(--fw-space-5) + env(safe-area-inset-bottom, 0px)); }
}

/* Inner --------------------------------------------------------------- */
.site-footer__inner {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; gap: var(--fw-space-5);
  width: 100%; max-width: 72rem; margin-inline: auto;
}
@media (min-width: 768px) {
  .site-footer__inner { gap: var(--fw-space-6); max-width: 80rem; padding-inline: var(--fw-space-6); }
}

/* Brand row ----------------------------------------------------------- */
.site-footer__brand { display: flex; flex-direction: column; align-items: center; gap: var(--fw-space-4); }
@media (min-width: 768px) {
  .site-footer__brand { flex-direction: row; justify-content: space-between; align-items: center; }
  .site-footer__brand .social-icons { justify-content: flex-end; }
}
.site-footer__logo {
  display: inline-flex; align-items: center; max-width: 100%; min-height: 44px;
  color: inherit; text-decoration: none; transform-origin: center; transition: transform .16s;
}
.site-footer__logo:active { transform: scale(.94); }
.site-footer__logo:focus-visible { outline: 3px solid var(--fw-color-focus); outline-offset: 3px; border-radius: var(--fw-radius-sm); }
@media (hover: hover) and (pointer: fine) { .site-footer__logo:hover { transform: scale(.96); } }
.site-footer__wordmark { display: block; width: min(14rem, 72vw); height: auto; object-fit: contain; object-position: left center; }
@media (min-width: 768px) { .site-footer__wordmark { width: min(12.5rem, 28vw); } }

/* Social icons -------------------------------------------------------- */
.site-footer .social-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--fw-space-3); margin: 0; padding: 0; list-style: none; }
.site-footer .social-icons .social-icons__item { display: flex; margin: 0; padding: 0; }
.social-icon-button {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; min-width: 2.75rem; min-height: 2.75rem;
  padding: 0; border: 0; border-radius: var(--fw-radius-lg);
  background: var(--fw-gradient-gold-face); color: var(--fw-color-gold-ink) !important;
  overflow: hidden; cursor: pointer; text-decoration: none;
  transform: translateY(0) scale(1);
  transition: transform .16s ease-out, background .16s ease-out, filter .16s ease-out, box-shadow .16s ease-out;
}
.social-icon-button:focus { outline: none; }
.social-icon-button:focus-visible { outline: 3px solid var(--fw-color-focus); outline-offset: 3px; }
.social-icon-button:active { transform: translateY(0) scale(.98); filter: brightness(.97); box-shadow: none; }
.social-icon-button__glyph {
  display: block; width: 1.5rem; height: 1.5rem; flex-shrink: 0; pointer-events: none;
  background-color: var(--fw-color-gold-ink); /* not currentColor: child theme forces a{color:#fff!important} */
  -webkit-mask: var(--social-icon-mask) center / contain no-repeat;
          mask: var(--social-icon-mask) center / contain no-repeat;
  transition: transform .16s ease-out;
}
@media (hover: hover) and (pointer: fine) {
  .social-icon-button:hover { background: var(--fw-gradient-gold-face-spread); filter: brightness(1.06); transform: translateY(-2px) scale(1.06); box-shadow: rgba(0,0,0,.35) 0 4px 10px; }
  .social-icon-button:hover .social-icon-button__glyph { transform: scale(1.04); }
}

/* Divider ------------------------------------------------------------- */
.site-footer__divider { display: block; width: 100%; height: 0; margin: 0; border: 0; border-top: 1px solid var(--fw-color-border); opacity: 1; background: none; }

/* Body: about + nav --------------------------------------------------- */
.site-footer__body { display: flex; flex-direction: column; gap: var(--fw-space-5); }
@media (min-width: 768px) {
  .site-footer__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: start; gap: var(--fw-space-6) var(--fw-space-8); }
}
.site-footer__about { display: flex; flex-direction: column; gap: var(--fw-space-3); text-align: center; }
@media (min-width: 640px) { .site-footer__about { text-align: left; } }

.site-footer__intro, .site-footer__notice, .site-footer__operator {
  margin: 0; color: var(--fw-color-text); font-size: var(--fw-text-sm); font-weight: 400; line-height: var(--fw-leading-normal); text-wrap: pretty;
}
.site-footer__operator { font-size: var(--fw-text-xs); }
.site-footer__age { margin: 0; color: var(--fw-color-text); font-size: var(--fw-text-sm); font-weight: 500; line-height: var(--fw-leading-normal); text-align: center; }
@media (min-width: 640px) { .site-footer__age { text-align: left; } }
.site-footer__age-link { display: inline-block; vertical-align: middle; line-height: 0; }
.site-footer__age-link:focus-visible { outline: 2px solid var(--fw-color-focus-ring); outline-offset: 2px; border-radius: var(--fw-radius-pill); }
.site-footer__age-badge { display: inline-block; width: 1.5rem; height: 1.5rem; margin-inline: .5rem; object-fit: contain; vertical-align: middle; }

/* Trust badges -------------------------------------------------------- */
.site-footer__trust {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: var(--fw-space-4) var(--fw-space-5); width: 100%; min-width: 0;
  margin-top: var(--fw-space-4); padding-block: var(--fw-space-3);
}
@media (min-width: 640px) { .site-footer__trust { justify-content: flex-start; } }
.site-footer__trust-link { display: inline-flex; flex: 0 0 auto; line-height: 0; }
.site-footer__trust-link:focus-visible { outline: 2px solid var(--fw-color-focus-ring); outline-offset: 2px; border-radius: var(--fw-radius-sm); }
.site-footer__trust-dmca { display: block; width: auto; max-width: 6.75rem; height: auto; object-fit: contain; }
.site-footer__trust-rgf { display: block; width: 2.75rem; height: 2.75rem; object-fit: contain; }
@media (min-width: 640px) {
  .site-footer__trust-dmca { width: 8.2rem; max-width: none; }
  .site-footer__trust-rgf { width: 3.3rem; height: 3.3rem; }
}
.site-footer__player-safety {
  display: inline-flex; flex: 0 1 auto; justify-content: center; align-items: center;
  height: 2.25rem; min-height: 2.25rem; margin: 0; padding: 0 .75rem;
  border: 0; border-radius: var(--fw-radius-pill);
  background: var(--fw-color-purple-depth); color: var(--fw-color-purple-ink) !important;
  font-family: inherit; font-size: var(--fw-text-xs); font-weight: 700; line-height: 1;
  white-space: nowrap; text-decoration: none !important; cursor: pointer; outline: 0;
}
.site-footer__player-safety:focus-visible { outline: 2px solid var(--fw-color-focus-ring); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .site-footer__player-safety:hover { filter: brightness(1.06); } }
@media (min-width: 640px) { .site-footer__player-safety { flex: 0 0 auto; min-width: 4.5rem; padding: 0 1.125rem; font-size: var(--fw-text-sm); } }

/* Nav columns --------------------------------------------------------- */
.site-footer__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: var(--fw-space-3); text-align: left; }
@media (min-width: 640px) { .site-footer__nav { justify-items: start; gap: var(--fw-space-4) var(--fw-space-5); } }
@media (min-width: 768px) { .site-footer__nav { gap: var(--fw-space-3) var(--fw-space-6); } }
.site-footer__column { display: flex; flex-direction: column; align-self: start; align-items: flex-start; gap: var(--fw-space-1); width: 100%; min-width: 0; }
@media (min-width: 768px) { .site-footer__column { gap: var(--fw-space-3); } }
.site-footer .site-footer__column-title {
  width: 100%; min-height: 1.5rem; margin: 0; color: var(--fw-color-purple-face);
  font-family: var(--fw-font-sans); font-size: var(--fw-text-md); font-weight: 700; line-height: var(--fw-leading-tight); text-align: left;
}
.site-footer__column-list { display: flex; flex-direction: column; align-items: flex-start; gap: 0; width: 100%; margin: 0; padding: 0; list-style: none; }
.site-footer__column-list > li { width: 100%; margin: 0; padding: 0; border: 0; }
.site-footer__column-list > li::before, .site-footer__column-list > li::after { content: none; }

.site-footer .site-footer__link {
  display: inline-flex; align-items: center; justify-content: flex-start;
  width: 100%; min-height: 2.25rem; margin: 0; padding: .15rem 0;
  border: 0; border-radius: .125rem; background: none;
  color: var(--fw-color-text) !important; font-family: var(--fw-font-sans); font-size: var(--fw-text-sm); font-weight: 500; line-height: 1.25; text-align: left;
  text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .18em; text-decoration-skip-ink: auto;
  cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
  transition: color .14s ease-out, text-decoration-color .14s ease-out;
}
.site-footer .site-footer__link:active { color: var(--fw-color-text-muted) !important; }
.site-footer .site-footer__link:focus { outline: none; }
.site-footer .site-footer__link:focus-visible { outline: 3px solid var(--fw-color-focus); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) { .site-footer .site-footer__link:hover { color: var(--fw-color-gold-face-light) !important; } }
@media (min-width: 768px) { .site-footer .site-footer__link { min-height: 2rem; padding-block: .2rem; } }

/* Legal band ---------------------------------------------------------- */
.site-footer__legal {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column; gap: var(--fw-space-4);
  width: 100%; max-width: 72rem; margin-block-start: var(--fw-space-5); margin-inline: auto; text-align: center;
}
@media (min-width: 768px) { .site-footer__legal { max-width: 80rem; padding-inline: var(--fw-space-6); text-align: left; } }

.site-footer__priority-bar {
  position: relative; z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: var(--fw-space-4);
  width: 100%; margin-block: 10px; padding: var(--fw-space-5);
  border: 0; border-radius: var(--fw-radius-card); background: var(--fw-color-surface-raised);
}
@media (min-width: 768px) {
  .site-footer__priority-bar { flex-flow: row wrap; justify-content: space-between; align-items: center; gap: var(--fw-space-4) var(--fw-space-6); min-height: 5rem; padding: var(--fw-space-3) var(--fw-space-6); }
}
.site-footer__priority-credit { display: flex; flex-flow: row; justify-content: center; align-items: center; gap: var(--fw-space-2); text-align: center; }
@media (min-width: 768px) { .site-footer__priority-credit { gap: var(--fw-space-3); text-align: left; } }
.site-footer__brought-by {
  flex-shrink: 0; margin: 0; color: var(--fw-color-text);
  font-size: var(--fw-text-xs); font-weight: 600; line-height: var(--fw-leading-tight);
  letter-spacing: .03em; text-transform: uppercase; white-space: nowrap;
}
@media (min-width: 768px) { .site-footer__brought-by { letter-spacing: .06em; } }
.site-footer__priority-play { display: block; width: min(7.25rem, 100%); min-width: 0; height: auto; object-fit: contain; filter: grayscale(1); }
@media (min-width: 768px) { .site-footer__priority-play { width: min(10.35rem, 24vw); } }

.site-footer__sister-brands { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--fw-space-3) var(--fw-space-4); margin: 0; padding: 0; list-style: none; filter: grayscale(1); }
@media (min-width: 768px) { .site-footer__sister-brands { flex: 1 1 auto; justify-content: flex-end; gap: var(--fw-space-4) 1.875rem; } }
.site-footer__sister-brand { display: flex; justify-content: center; align-items: center; }
.site-footer__sister-brand-img { display: block; width: auto; max-width: 5.75rem; height: 2.25rem; object-fit: contain; object-position: center; }
@media (min-width: 768px) { .site-footer__sister-brand-img { max-width: 5.25rem; height: 2.25rem; } }
.site-footer__sister-brand--american-luck .site-footer__sister-brand-img,
.site-footer__sister-brand--yay .site-footer__sister-brand-img { max-width: 4.916rem; height: 1.924rem; }
@media (min-width: 768px) {
  .site-footer__sister-brand--american-luck .site-footer__sister-brand-img,
  .site-footer__sister-brand--yay .site-footer__sister-brand-img { max-width: 4.489rem; }
}

/* Legal copy + pillars ------------------------------------------------ */
.site-footer__legal-copy {
  --fw-footer-pillar-lift: 0px;
  --fw-footer-pillar-top: 20px;
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: var(--fw-space-2);
  width: 100%; max-width: 42rem; margin-inline: auto; padding-block: 0; text-align: center;
}
.site-footer__legal-copy > .site-footer__copyright,
.site-footer__legal-copy > .site-footer__operator { width: 100%; text-align: center; }
.site-footer__legal-copy > .site-footer__operator { margin: 0; }
.site-footer__copyright {
  margin: 0 0 var(--fw-space-2) !important; color: var(--fw-color-text);
  font-family: var(--fw-font-sans); font-size: var(--fw-text-sm); font-weight: 700; line-height: var(--fw-leading-tight);
  letter-spacing: .04em; text-transform: uppercase; text-wrap: pretty;
}
@media (min-width: 768px) {
  .site-footer__legal-copy { max-width: none; margin-inline: 0; }
  .site-footer__legal--pillars .site-footer__legal-copy {
    --fw-footer-pillar-lift: 1.5rem;
    --fw-footer-pillar-top: calc(8px - var(--fw-footer-pillar-lift));
    padding-inline: clamp(8rem, 13vw, 11rem);
  }
}
.site-footer__pillars { display: flex; order: 1; justify-content: center; align-items: flex-start; height: 7rem; margin-top: calc(var(--fw-space-6) - 10px); pointer-events: none; }
.site-footer__pillar { display: block; width: auto; height: auto; max-height: 24rem; object-fit: contain; object-position: center top; user-select: none; }
.site-footer__pillar--right { display: none; transform: scaleX(-1); }
@media (min-width: 768px) {
  .site-footer__pillars { display: block; order: 0; height: auto; margin-top: 0; }
  .site-footer--pillars .site-footer__pillar { position: absolute; top: var(--fw-footer-pillar-top); z-index: -1; height: calc(100% + 9rem + var(--fw-footer-pillar-lift)); max-height: none; }
  .site-footer--pillars .site-footer__pillar--left { left: calc(-45px + 3.25rem); }
  .site-footer--pillars .site-footer__pillar--right { display: block; right: calc(-45px + 3.25rem); }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer__logo, .social-icon-button, .social-icon-button__glyph, .site-footer .site-footer__link { transition: none; }
  .site-footer__logo:hover, .site-footer__logo:active, .social-icon-button:hover, .social-icon-button:active, .social-icon-button:hover .social-icon-button__glyph { transform: none; }
}
