* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


html {
  scroll-behavior: smooth;
}


body {
  font-family: "Montserrat", sans-serif;

  color: white;

  overflow-x: hidden;

  background-color: #020711;

  background-image:
    linear-gradient(
      rgba(1,6,15,0.25),
      rgba(1,6,15,0.45)
    ),
    url("assets/images/background-site.png");

  background-repeat:
    no-repeat;

  background-position:
    center center;

  background-size:
    cover;

  background-attachment:
    fixed;

  min-height:
    100vh;
}


a {
  text-decoration: none;
  color: inherit;
}


button {
  font-family: inherit;
}



/* ========================= */
/* TOPBAR */
/* ========================= */

.topbar {
  position: fixed;

  top: 0;
  left: 0;

  width: 100%;
  height: 72px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  padding: 0 6%;

  background:
    rgba(3, 8, 18, 0.86);

  backdrop-filter:
    blur(14px) saturate(125%);

  -webkit-backdrop-filter:
    blur(14px) saturate(125%);

  border-bottom:
    1px solid rgba(255,255,255,0.07);

  box-shadow:
    0 12px 35px rgba(0,0,0,0.45);

  overflow: hidden;

  z-index: 1000;
}


.topbar::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,0.018),
      transparent
    );
  pointer-events: none;
}


.topbar::after {
  content: none;
  display: none;
}


.logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  z-index: 2;

  font-size: 24px;
  font-weight: 900;
  letter-spacing: -1px;

  color: #ffffff;

  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: #ffffff;

  -webkit-text-stroke: 0;

  text-shadow:
    0 2px 8px rgba(0,0,0,0.35);

  filter: none;
}

.logo::before,
.logo::after {
  content: none;
  display: none;
}

.logo-live-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  flex:0 0 auto;
  background:#ff3b3b;
  box-shadow:0 0 0 3px rgba(255,59,59,.16),0 0 12px rgba(255,59,59,.55);
  animation:goncaloLiveBlink 1.35s ease-in-out infinite;
}

.logo-live-dot[hidden]{display:none!important;}

@keyframes goncaloLiveBlink{
  0%,42%{opacity:1;transform:scale(1);box-shadow:0 0 0 3px rgba(255,59,59,.16),0 0 12px rgba(255,59,59,.62)}
  55%,88%{opacity:0;transform:scale(.72);box-shadow:0 0 0 1px rgba(255,59,59,0),0 0 0 rgba(255,59,59,0)}
  100%{opacity:1;transform:scale(1);box-shadow:0 0 0 3px rgba(255,59,59,.16),0 0 12px rgba(255,59,59,.62)}
}


nav {
  position: relative;
  z-index: 2;

  display: flex;

  gap: 34px;
}


nav a {
  position: relative;

  font-size: 12px;

  font-weight: 700;

  letter-spacing: 1.4px;

  color:
    rgba(255,255,255,0.76);

  transition:
    color 0.25s ease,
    text-shadow 0.25s ease;
}


nav a:hover {
  color:
    #ffffff;

  text-shadow:
    0 0 12px rgba(70,170,255,0.55);
}


nav a::after {
  content: "";

  position: absolute;

  left: 0;

  bottom: -9px;

  width: 0;

  height: 2px;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      #4cb7ff,
      #9adaff
    );

  box-shadow:
    0 0 10px rgba(60,170,255,0.55);

  transition:
    width 0.25s ease;
}


nav a:hover::after {
  width: 100%;
}

/* BETFLOW TRACKER — separador ativo no cabeçalho */
.betflow-tracker-page .topbar nav a[href="betflow.html"],
.betflow-tracker-page .topbar nav a.active {
  color: #eef9ff;
  text-shadow:
    0 0 7px rgba(135,214,255,.38),
    0 0 16px rgba(91,181,255,.12);
}

.betflow-tracker-page .topbar nav a[href="betflow.html"]::after,
.betflow-tracker-page .topbar nav a.active::after {
  width: 100%;
  background: linear-gradient(90deg, #7ed4ff, #d8f4ff);
  box-shadow:
    0 0 8px rgba(126,212,255,.52),
    0 0 15px rgba(126,212,255,.16);
}



/* ========================= */
/* HERO */
/* ========================= */

.hero {
  position: relative;

  min-height: 100vh;

  display: flex;

  align-items: center;

  padding:
    140px 8% 80px;

  background:
    transparent;

  overflow: hidden;
}


.hero::before {
  content: "";

  position: absolute;

  inset: 0;

  background-image:
    linear-gradient(
      rgba(255,255,255,0.014) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,0.014) 1px,
      transparent 1px
    );

  background-size:
    80px 80px;

  pointer-events: none;
}


.hero-grid {
  position: relative;

  z-index: 3;

  width: 100%;

  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(400px, 0.85fr);

  gap: 100px;

  align-items: center;
}


.hero-content {
  max-width: 850px;
}


.eyebrow {
  margin-bottom: 25px;

  color:
    rgba(255,255,255,0.52);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 4px;
}


.hero h1 {
  display: flex;

  flex-direction: column;

  font-size:
    clamp(
      75px,
      8vw,
      140px
    );

  line-height: 0.80;

  font-weight: 800;

  letter-spacing: -7px;
}


.hero h1 span:first-child {
  color: white;
}


.hero h1 span:last-child {
  color:
    rgba(255,255,255,0.06);

  -webkit-text-stroke:
    2px rgba(255,255,255,0.66);
}


.hero-subtitle {
  max-width: 520px;

  margin-top: 40px;

  color:
    rgba(255,255,255,0.58);

  font-size: 15px;

  line-height: 1.8;
}


.hero-buttons {
  display: flex;

  gap: 12px;

  margin-top: 34px;
}


.hero-meta {
  display: flex;

  align-items: center;

  gap: 25px;

  margin-top: 55px;
}


.meta-item {
  display: flex;

  flex-direction: column;

  gap: 6px;
}


.meta-item span {
  color:
    rgba(255,255,255,0.32);

  font-size: 9.5px;

  font-weight: 700;

  letter-spacing: 2px;
}


.meta-item strong {
  color:
    rgba(255,255,255,0.80);

  font-size: 11px;

  letter-spacing: 1px;
}


.meta-line {
  width: 45px;

  height: 1px;

  background:
    rgba(255,255,255,0.15);
}



/* ========================= */
/* HERO VISUAL */
/* ========================= */

.hero-visual {
  position: relative;

  display: flex;

  justify-content: center;

  align-items: center;
}


.visual-frame {
  position: relative;

  width: 100%;

  max-width: 470px;

  aspect-ratio: 0.80;

  border-radius: 14px;

  border:
    1px solid rgba(255,255,255,0.10);

  background:
    rgba(3, 10, 18, 0.60);

  backdrop-filter:
    blur(10px);

  box-shadow:
    0 40px 100px rgba(0,0,0,0.45);

  overflow: hidden;
}


.visual-frame::before {
  content: "";

  position: absolute;

  width: 420px;

  height: 420px;

  border:
    1px solid rgba(255,255,255,0.06);

  border-radius: 50%;

  top: 40px;

  right: -180px;
}


.visual-frame::after {
  content: "";

  position: absolute;

  width: 190px;

  height: 190px;

  border:
    1px solid rgba(255,255,255,0.06);

  border-radius: 50%;

  bottom: 60px;

  left: -80px;
}


.visual-number {
  position: absolute;

  top: 28px;

  right: 28px;

  color:
    rgba(255,255,255,0.22);

  font-size: 11px;

  font-weight: 700;

  letter-spacing: 2px;
}


.visual-content {
  position: absolute;

  inset: 0;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: center;

  z-index: 2;
}


.visual-small {
  margin-bottom: 18px;

  color:
    rgba(255,255,255,0.35);

  font-size: 9px;

  font-weight: 700;

  letter-spacing: 3px;
}


.visual-logo {
  font-size:
    clamp(
      80px,
      8vw,
      135px
    );

  font-weight: 800;

  line-height: 1;

  letter-spacing: -8px;

  text-shadow:
    0 0 55px rgba(40,120,255,0.20);
}


.visual-content p {
  margin-top: 24px;

  color:
    rgba(255,255,255,0.28);

  font-size: 11px;

  line-height: 1.8;

  text-align: center;

  letter-spacing: 3px;
}


.visual-bottom {
  position: absolute;

  bottom: 25px;

  left: 30px;

  color:
    rgba(255,255,255,0.24);

  font-size: 8px;

  font-weight: 700;

  letter-spacing: 2px;
}



/* ========================= */
/* BUTTONS */
/* ========================= */

.btn {
  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 155px;

  height: 52px;

  padding:
    0 28px;

  border-radius: 6px;

  font-size: 12px;

  font-weight: 800;

  letter-spacing: 1.3px;

  transition:
    0.25s ease;
}


.btn-primary {
  background:
    white;

  color:
    #090b0f;
}


.btn-primary:hover {
  transform:
    translateY(-3px);

  box-shadow:
    0 12px 35px rgba(255,255,255,0.16);
}


.btn-secondary {
  border:
    1px solid rgba(255,255,255,0.18);

  background:
    rgba(3,9,16,0.30);

  color:
    white;
}


.btn-secondary:hover {
  background:
    rgba(255,255,255,0.08);
}



/* ========================= */
/* GLOBAL SECTIONS */
/* ========================= */

.section {
  position: relative;

  padding:
    120px 8%;

  background:
    transparent;
}


.section-dark {
  background:
    transparent;
}


.section-heading {
  display: flex;

  align-items: center;

  gap: 0;

  margin-bottom: 48px;
}


.section-heading span {
  color:
    rgba(116,197,255,0.75);

  font-size: 12px;

  font-weight: 700;
}


.section-heading h2 {
  font-size: 38px;

  font-weight: 800;

  letter-spacing: -1px;
}


.section-top {
  display: flex;

  align-items: flex-end;

  justify-content: space-between;

  gap: 50px;

  margin-bottom: 60px;
}


.section-top .section-heading {
  margin-bottom: 0;
}


.section-description {
  max-width: 430px;

  color:
    rgba(255,255,255,0.58);

  font-size: 13px;

  line-height: 1.7;

  text-align: right;
}



/* ========================= */
/* PARTNERSHIPS */
/* ========================= */

.partnerships-section {
  background:
    transparent;

  min-height: 100vh;

  padding-top: 160px;
}


.partners-grid {
  width: 100%;

  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(320px,420px)
    );

  justify-content: center;

  gap: 24px;

  align-items: stretch;
}


.partner-card {
  position: relative;

  width: 100%;

  min-width: 0;

  border:
    1px solid rgba(255,255,255,0.12);

  border-radius: 16px;

  background:
    rgba(3, 11, 20, 0.72);

  backdrop-filter:
    blur(10px);

  overflow: hidden;

  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}


.partner-card:hover {
  transform:
    translateY(-7px);

  border-color:
    rgba(123,203,255,0.28);

  box-shadow:
    0 30px 80px rgba(0,0,0,0.35);
}


.partner-image {
  position: relative;

  height: 260px;

  overflow: hidden;

  border-bottom:
    1px solid rgba(255,255,255,0.07);
}


/* Selo opcional sobre a imagem de cada parceria (ex.: NOVIDADE / NOVO / EXCLUSIVO).
   Visual simples com LED lento apenas no contorno. */
@property --partner-badge-led-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.partner-image-badge {
  --partner-badge-led-angle: 0deg;
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 12;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 78px);
  padding: 7px 11px;
  border: 1px solid transparent;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(5,14,22,.88), rgba(3,10,16,.86)) padding-box,
    conic-gradient(
      from var(--partner-badge-led-angle),
      transparent 0deg 28deg,
      color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 46%, transparent) 40deg,
      color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 100%, white 8%) 54deg,
      color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 54%, transparent) 68deg,
      transparent 82deg 220deg,
      color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 32%, transparent) 234deg,
      color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 90%, white 10%) 248deg,
      transparent 266deg 360deg
    ) border-box;
  box-shadow:
    0 6px 18px rgba(0,0,0,.30),
    0 0 10px color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 12%, transparent);
  color: color-mix(in srgb, var(--partner-badge-color, var(--partner-accent, #68c8ff)) 90%, white 10%);
  font: 950 7px/1 Montserrat, sans-serif;
  letter-spacing: 1.25px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  animation: partnerBadgeLedRotate 7.8s linear infinite;
}

.partner-image-badge::before {
  content: none;
}

@keyframes partnerBadgeLedRotate {
  to { --partner-badge-led-angle: 360deg; }
}


.coldbet-image {
  display: flex;

  align-items: center;

  justify-content: center;

  background:
    radial-gradient(
      circle at 50% 52%,
      rgba(55,132,255,0.28),
      transparent 30%
    ),
    rgba(3, 13, 24, 0.72);
}


.coldbet-image::before {
  content: "";

  position: absolute;

  inset: 0;

  background-image:
    linear-gradient(
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(255,255,255,0.025) 1px,
      transparent 1px
    );

  background-size:
    45px 45px;
}


.partner-status {
  position: absolute;

  top: 20px;

  left: 20px;

  z-index: 10;

  padding:
    8px 11px;

  border:
    1px solid rgba(255,255,255,0.11);

  border-radius: 5px;

  background:
    rgba(0,0,0,0.18);

  color:
    rgba(255,255,255,0.68);

  font-size: 8px;

  font-weight: 700;

  letter-spacing: 1.5px;
}


.partner-brand {
  position: relative;

  z-index: 5;

  font-size:
    clamp(
      42px,
      4vw,
      70px
    );

  font-weight: 800;

  letter-spacing: -4px;

  text-shadow:
    0 0 55px rgba(80,150,255,0.30);
}


.partner-image-subtitle {
  position: absolute;

  bottom: 22px;

  left: 50%;

  transform:
    translateX(-50%);

  z-index: 5;

  color:
    rgba(255,255,255,0.32);

  font-size: 8px;

  font-weight: 700;

  letter-spacing: 3px;
}


.partner-image-decoration {
  position: absolute;

  border:
    1px solid rgba(255,255,255,0.06);

  border-radius: 50%;
}


.partner-circle-one {
  width: 270px;

  height: 270px;

  right: -100px;

  top: -80px;
}


.partner-circle-two {
  width: 150px;

  height: 150px;

  left: -55px;

  bottom: -60px;
}


.partner-card-content {
  padding:
    28px;
}


.partner-card-header {
  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 20px;
}


.partner-label {
  display: block;

  margin-bottom: 7px;

  color:
    rgba(123,200,255,0.52);

  font-size: 8px;

  font-weight: 700;

  letter-spacing: 2px;
}


.partner-card-header h3 {
  font-size: 27px;

  font-weight: 800;
}




.partner-description {
  min-height: 66px;

  margin-top: 18px;

  color:
    rgba(255,255,255,0.54);

  font-size: 12px;

  line-height: 1.7;
}


.partner-code {
  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 15px;

  margin-top: 24px;

  padding:
    15px;

  border:
    1px solid rgba(255,255,255,0.10);

  border-radius: 8px;

  background:
    rgba(1,7,13,0.26);
}


.partner-code span {
  display: block;

  margin-bottom: 5px;

  color:
    rgba(145,212,255,0.50);

  font-size: 7px;

  letter-spacing: 1.7px;
}


.partner-code strong {
  font-size: 13px;
}


.copy-code {
  padding:
    8px 10px;

  border:
    1px solid rgba(255,255,255,0.12);

  border-radius: 5px;

  background:
    rgba(255,255,255,0.05);

  color:
    rgba(255,255,255,0.75);

  cursor: pointer;

  font-size: 8px;

  font-weight: 800;
}


.copy-code:hover {
  background:
    white;

  color:
    #080b0f;
}


.partner-button {
  width: 100%;

  height: 49px;

  margin-top: 14px;

  padding:
    0 17px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  border-radius: 7px;

  background:
    white;

  color:
    #080b0f;

  font-size: 9px;

  font-weight: 800;

  letter-spacing: 1px;

  transition:
    0.25s;
}


.partner-button:hover {
  transform:
    translateY(-2px);
}


.button-arrow {
  font-size: 17px;
}



/* ========================= */
/* LIVE */
/* ========================= */

.live-section {
  background:
    transparent;
}


.live-wrapper {
  width: 100%;

  max-width: 1320px;

  margin:
    0 auto;
}


.live-shell {
  display: grid;

  grid-template-columns:
    minmax(0,1.65fr)
    minmax(320px,0.62fr);

  overflow: hidden;

  border-radius: 14px;

  border:
    1px solid rgba(91,172,226,0.18);

  background:
    rgba(3, 10, 18, 0.78);

  backdrop-filter:
    blur(10px);

  box-shadow:
    0 35px 100px rgba(0,0,0,0.30);
}


.live-main {
  min-width: 0;

  background:
    rgba(0,0,0,0.50);
}


.live-bar {
  min-height: 64px;

  padding:
    0 23px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  background:
    rgba(4, 10, 18, 0.78);

  border-bottom:
    1px solid rgba(255,255,255,0.06);
}


.live-bar-left {
  display: flex;

  align-items: center;

  gap: 15px;
}


.live-indicator {
  display: flex;

  align-items: center;

  gap: 11px;

  font-size: 9px;

  font-weight: 800;
}


.live-dot {
  width: 7px;

  height: 7px;

  border-radius: 50%;

  background:
    #9146ff;

  box-shadow:
    0 0 14px rgba(145,70,255,0.45);
}

/* Quando a Twitch está mesmo LIVE, a bolinha passa a vermelho e pisca. */
.live-indicator.is-live .live-dot {
  background: #ff2f3f;
  box-shadow:
    0 0 8px rgba(255,47,63,0.95),
    0 0 16px rgba(255,47,63,0.55);
  animation: liveTopDotBlink 1.15s ease-in-out infinite;
}

@keyframes liveTopDotBlink {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.18;
    transform: scale(0.82);
  }
}

@media (prefers-reduced-motion: reduce) {
  .live-indicator.is-live .live-dot {
    animation: none;
  }
}


.live-platform {
  color:
    rgba(255,255,255,0.30);

  font-size: 8px;
}


.live-bar-right {
  color:
    rgba(255,255,255,0.34);

  font-size: 8px;
}


.twitch-player {
  position: relative;

  width: 100%;

  aspect-ratio:
    16 / 9;

  background:
    black;

  overflow: hidden;
}


#offline-image,
#twitch-player {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition:
    opacity 0.5s ease;

}


#offline-image {
  z-index: 2;
}


#twitch-player {

  z-index: 1;

  border: 0;
}


.live-side {
  padding:
    48px 40px;

  display: flex;

  flex-direction: column;

  justify-content: center;

  border-left:
    1px solid rgba(255,255,255,0.065);

  background:
    rgba(3, 10, 18, 0.62);
}


.live-side-top {
  display: flex;

  justify-content: space-between;
}


.live-info-label {
  color:
    #6bbef4;

  font-size: 8px;

  letter-spacing: 2px;
}


.live-side-number {
  color:
    rgba(78,158,211,0.40);

  font-size: 9px;
}


.live-side h3 {
  margin-top: 18px;

  font-size:
    clamp(
      38px,
      3.4vw,
      58px
    );

  line-height: 0.94;

  letter-spacing: -3px;
}


.live-side p {
  margin-top: 26px;

  color:
    rgba(255,255,255,0.54);

  font-size: 12px;

  line-height: 1.8;
}


.live-divider {
  height: 1px;

  margin:
    30px 0;

  background:
    rgba(255,255,255,0.08);
}


.live-details {
  display: grid;

  grid-template-columns:
    0.8fr 1.2fr;

  gap: 25px;
}


.live-detail {
  display: flex;

  flex-direction: column;

  gap: 7px;
}


.live-detail span {
  color:
    rgba(255,255,255,0.28);

  font-size: 7px;
}


.live-detail strong {
  color:
    rgba(255,255,255,0.82);

  font-size: 11px;
}


.live-button {
  width: 100%;

  min-height: 52px;

  margin-top: 32px;

  padding:
    0 18px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  border-radius: 7px;

  background:
    white;

  color:
    #050b11;

  font-size: 9px;

  font-weight: 800;

  letter-spacing: 1px;
}



/* ========================= */
/* ABOUT */
/* ========================= */

.about-section {
  background: transparent;
  overflow: hidden;
  scroll-margin-top: 105px;
}

.about-open {
  position: relative;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 35px 0 50px;
  display: grid;
  grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
  gap: 85px;
  align-items: center;
}

.about-background-text {
  position: absolute;
  right: -55px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 0;
  color: rgba(255,255,255,0.018);
  font-size: clamp(210px, 25vw, 420px);
  font-weight: 800;
  line-height: 0.8;
  letter-spacing: -28px;
  user-select: none;
  pointer-events: none;
}

.about-photo-wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 560px;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(110,190,255,0.17);
  background: rgba(3,10,18,0.42);
  box-shadow: 0 30px 90px rgba(0,0,0,0.30);
}

.about-photo-wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  box-shadow: inset 0 0 70px rgba(0,30,70,0.18);
}

.about-photo-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(2,7,17,0.22), transparent 18%, transparent 80%, rgba(2,7,17,0.34)),
    linear-gradient(0deg, rgba(2,7,17,0.58), transparent 28%);
}

.about-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
}

.about-content {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-left,
.about-right {
  position: relative;
  z-index: 2;
}

.about-eyebrow {
  color: rgba(255,255,255,0.55);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 3px;
}

.about-left h3 {
  margin-top: 20px;
  max-width: 760px;
  font-size: clamp(44px, 4.8vw, 76px);
  line-height: 0.90;
  font-weight: 800;
  letter-spacing: -4px;
}

.about-right {
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.about-intro {
  max-width: 620px;
  color: rgba(255,255,255,0.88);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.65;
}

.about-copy {
  max-width: 620px;
  margin-top: 17px;
  color: rgba(255,255,255,0.56);
  font-size: 13px;
  line-height: 1.8;
}

.about-line {
  width: 100%;
  height: 1px;
  margin: 28px 0;
  background: linear-gradient(90deg, rgba(87,169,225,0.30), rgba(255,255,255,0.04));
}

.about-info {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.about-info-item {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.about-info-item span {
  color: rgba(255,255,255,0.32);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 1.5px;
}

.about-info-item strong {
  color: rgba(255,255,255,0.86);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
}

.about-info-divider {
  width: 1px;
  height: 30px;
  background: rgba(255,255,255,0.12);
}

.about-link {
  width: 210px;
  margin-top: 30px;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,0.24);
  color: rgba(255,255,255,0.86);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1px;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.about-link:hover {
  color: white;
  border-color: rgba(78,174,237,0.70);
}

/* ========================= */
/* SOCIAL */
/* ========================= */

/* ========================= */
/* SOCIAL */
/* ========================= */

.social-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}


.social-card {
  position: relative;

  min-height: 128px;
  padding: 26px 70px 26px 115px;

  display: flex;
  flex-direction: column;
  justify-content: center;

  overflow: hidden;

  border:
    1px solid rgba(255,255,255,0.09);

  border-radius: 12px;

  background:
    linear-gradient(
      135deg,
      rgba(5,10,18,0.76),
      rgba(3,8,14,0.58)
    );

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  box-shadow:
    0 10px 35px rgba(0,0,0,0.16);

  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease,
    box-shadow 0.28s ease;
}



.social-card::before {
  content: "";

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 12% 50%,
      rgba(70,150,255,0.08),
      transparent 30%
    );

  opacity: 0;

  transition: opacity 0.28s ease;

  pointer-events: none;
}



.social-card::after {
  content: "";

  position: absolute;

  left: 30px;
  top: 50%;

  transform: translateY(-50%);

  width: 54px;
  height: 54px;

  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  filter:
    grayscale(1)
    brightness(5);

  opacity: 1;

  transition:
    transform 0.28s ease,
    filter 0.28s ease;
}



.social-card:nth-child(1)::after {

    background-image:url("assets/images/twitch.webp");

}


.social-card:nth-child(2)::after {

    background-image:url("assets/images/telegram.webp");

}


.social-card:nth-child(3)::after {

    background-image:url("assets/images/instagram.webp");

}


.social-card:nth-child(4)::after {

    background-image:url("assets/images/discord.webp");

}



.social-card span {
  position: relative;
  z-index: 2;

  margin-left: 0;

  color:
    rgba(255,255,255,0.42);

  font-size: 9px;
  font-weight: 700;
  letter-spacing: 2.2px;
}



.social-card strong {
  position: relative;
  z-index: 2;

  margin-left: 0;
  margin-top: 8px;

  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.4px;

  color: #ffffff;
}



.social-card:hover {
  transform: translateY(-3px);

  border-color:
    rgba(95,180,255,0.28);

  background:
    linear-gradient(
      135deg,
      rgba(5,11,20,0.90),
      rgba(4,10,18,0.72)
    );

  box-shadow:
    0 18px 45px rgba(0,0,0,0.28),
    0 0 28px rgba(50,140,255,0.05);
}



.social-card:hover::after {
  transform:
    translateY(-50%)
    scale(1.06);

  filter:
    grayscale(1)
    brightness(5)
    opacity(1);
}

.social-card:hover::before {
  opacity: 1;
}




/* ========================= */
/* FOOTER */
/* ========================= */

footer {
  min-height: 92px;

  padding:
    0 8%;

  display: flex;

  align-items: center;

  justify-content: space-between;

  background:
    rgba(2,6,11,0.30);

  border-top:
    1px solid rgba(255,255,255,0.06);

  color:
    rgba(255,255,255,0.34);

  font-size: 10px;

  font-weight: 700;

  letter-spacing: 1.5px;
}



/* ========================= */
/* TABLET */
/* ========================= */

@media (max-width: 1100px) {

  .live-shell {
    grid-template-columns:
      1fr;
  }

  .live-side {
    border-left:
      0;

    border-top:
      1px solid rgba(255,255,255,0.065);
  }

  .about-open {
    grid-template-columns:
      1fr;

    gap:
      55px;
  }

  .about-photo-wrap {
    width: min(620px, 100%);
    min-height: 520px;
    margin: 0 auto;
  }

  .about-photo {
    min-height: 520px;
  }

  .about-right {
    padding-left:
      0;

    padding-top:
      45px;

    border-left:
      0;

    border-top:
      1px solid rgba(255,255,255,0.08);
  }

}



/* ========================= */
/* MOBILE */
/* ========================= */

@media (max-width: 850px) {

  .partnerships-section {
    padding-top: 125px;
  }

  body {
    background-size:
      cover;

    background-position:
      center center;

    background-attachment:
      scroll;
  }


  .topbar {
    height: 74px;

    padding:
      0 6%;
  }


  .logo {
    font-size:
      19px;
  }


  nav {
    display:
      none;
  }


  .hero {
    padding:
      130px 7% 70px;
  }


  .hero-grid {
    grid-template-columns:
      1fr;

    gap:
      60px;
  }


  .hero h1 {
    font-size:
      70px;

    letter-spacing:
      -4px;
  }


  .hero-visual {
    display:
      none;
  }


  .hero-buttons {
    flex-wrap:
      wrap;
  }


  .section {
    padding:
      90px 7%;
  }


  .section-top {
    display:
      block;

    margin-bottom:
      45px;
  }


  .section-top .section-heading {
    margin-bottom:
      20px;
  }


  .section-description {
    max-width:
      100%;

    text-align:
      left;
  }


  .partners-grid {
    grid-template-columns:
      1fr;

    justify-content:
      stretch;
  }


  .partner-card {
    max-width:
      420px;

    margin:
      0 auto;
  }


  .partner-image {
    height:
      230px;
  }


  .live-bar {
    padding:
      0 16px;
  }


  .live-platform,
  .live-bar-right {
    display:
      none;
  }


  .live-side {
    padding:
      36px 26px;
  }


  .live-details {
    grid-template-columns:
      1fr;
  }


  .about-open {
    padding:
      15px 0 25px;

    gap:
      45px;
  }

  .about-photo-wrap {
    min-height: 430px;
    border-radius: 14px;
  }

  .about-photo {
    min-height: 430px;
  }


  .about-background-text {
    right:
      -40px;

    font-size:
      240px;

    letter-spacing:
      -20px;
  }


  .about-left h3 {
    font-size:
      52px;

    letter-spacing:
      -3px;
  }


  .about-intro {
    font-size:
      16px;
  }


  .about-info {
    align-items:
      flex-start;

    flex-direction:
      column;

    gap:
      18px;
  }


  .about-info-divider {
    width:
      60px;

    height:
      1px;
  }


  .social-grid {
    grid-template-columns:
      1fr;
  }


  footer {
    flex-direction:
      column;

    justify-content:
      center;

    gap:
      12px;
  }

}

/* Remover números pequenos dos títulos das secções */
.section-heading span {
  display: none;
}

.section-description {
    display: none;
}


/* ========================= */
/* SNOW BACKGROUND */
/* ========================= */

.snow-layer {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}


/* neve distante - muitos pontos pequenos */

.snow-layer::before {

    content: "";
    position: absolute;
    inset: -50%;

    background-image:

        radial-gradient(circle,
        rgba(255,255,255,0.25) 1px,
        transparent 2px),

        radial-gradient(circle,
        rgba(190,220,255,0.20) 2px,
        transparent 4px),

        radial-gradient(circle,
        rgba(255,255,255,0.12) 3px,
        transparent 6px);


    background-size:

        180px 180px,
        330px 330px,
        520px 520px;


    background-position:

        30px 80px,
        140px 200px,
        300px 50px;


    animation:
        snowFar 90s linear infinite;

}




/* neve próxima - flocos maiores */

.snow-layer::after {

    content: "";
    position: absolute;
    inset: -50%;


    background-image:


        radial-gradient(circle,
        rgba(255,255,255,0.32) 2px,
        transparent 5px),


        radial-gradient(circle,
        rgba(210,235,255,0.22) 4px,
        transparent 9px),


        radial-gradient(circle,
        rgba(255,255,255,0.25) 6px,
        transparent 13px);



    background-size:


        420px 420px,
        700px 700px,
        1100px 1100px;



    background-position:


        80px 150px,
        350px 100px,
        600px 300px;



    filter:
        blur(0.8px);



    animation:
        snowNear 55s linear infinite;

}




@keyframes snowFar {

    from {
        transform:
        translate3d(0,-20%,0);
    }


    to {
        transform:
        translate3d(-40px,20%,0);
    }

}




@keyframes snowNear {


    from {
        transform:
        translate3d(0,-20%,0);
    }


    to {
        transform:
        translate3d(60px,20%,0);
    }

}

/* ========================= */
/* CONTENT ABOVE SNOW */
/* ========================= */

header,
main,
footer {
    position: relative;
    z-index: 2;
}

.partner-card,
.live-shell,
.about-open,
.social-card {
    position: relative;
    z-index: 3;
}


@media (max-width: 850px) {
.social-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .social-card {
    min-height: 112px;
    padding: 22px 50px 22px 100px;
  }

  .social-card::after {
    left: 26px;
    width: 48px;
    height: 48px;
  }

  .social-card strong {
    font-size: 20px;
  }

}


/* ABOUT RESPONSIVE FIX */
@media (max-width: 1100px) {
  .about-open {
    grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
    gap: 50px;
  }

  .about-photo-wrap {
    height: 520px;
  }

  .about-left h3 {
    font-size: clamp(44px, 6vw, 70px);
  }
}

@media (max-width: 850px) {
  .about-open {
    grid-template-columns: 1fr;
    gap: 38px;
    padding: 10px 0 25px;
  }

  .about-photo-wrap {
    width: 100%;
    max-width: 430px;
    height: 520px;
    margin: 0 auto;
  }

  .about-content {
    width: 100%;
  }

  .about-left h3 {
    font-size: clamp(44px, 13vw, 62px);
    letter-spacing: -3px;
  }

  .about-right {
    margin-top: 28px;
    padding-top: 25px;
  }
}


/* ========================= */
/* COLDBET IMAGE UPDATE */
/* ========================= */

.coldbet-image {
    position: relative;
    overflow: hidden;
    background: rgba(3,13,24,0.72);
}

.coldbet-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.coldbet-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(2,7,17,0.05),
        rgba(2,7,17,0.35)
    );
    pointer-events: none;
}


/* ========================= */
/* COLDBET HOVER ICE EFFECT */
/* ========================= */

.partner-card {
    transition:
        transform 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;
}

.partner-card::before {
    content: "";
    position: absolute;
    inset: -45px;
    background:
        radial-gradient(
            circle,
            rgba(110,210,255,0.28),
            transparent 60%
        );
    opacity: 0;
    transition: opacity 0.35s ease;
    pointer-events: none;
    z-index: -1;
}

.partner-card:hover {
    transform: translateY(-8px);
    border-color: rgba(120,215,255,0.65);

    box-shadow:
        0 25px 80px rgba(0,0,0,0.45),
        0 0 35px rgba(70,190,255,0.28),
        0 0 90px rgba(30,120,255,0.18);
}

.partner-card:hover::before {
    opacity: 1;
}

.coldbet-image img {
    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

.partner-card:hover .coldbet-image img {
    transform: scale(1.04);

    filter:
        brightness(1.12)
        drop-shadow(0 0 20px rgba(90,200,255,0.45));
}



/* seta discreta nas redes */
.social-card {
  isolation: isolate;
}

.social-card {
  cursor: pointer;
}

.social-card:before {
  content: "";
  position: absolute;
}

.social-card:after {
  content: "";
}

.social-card:hover {
  cursor: pointer;
}


/* ========================= */
/* AGE VERIFICATION */
/* ========================= */

body.age-gate-open {
  overflow: hidden;
}

.age-gate {
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 28px;

  background:
    radial-gradient(circle at 50% 15%, rgba(63, 139, 196, 0.10), transparent 34%),
    rgba(2, 8, 17, 0.48);

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  opacity: 1;
  visibility: visible;

  transition:
    opacity 0.28s ease,
    visibility 0.28s ease;
}

.age-gate.age-gate-closing {
  opacity: 0;
}

.age-gate.age-gate-hidden {
  display: none;
}

.age-gate-card {
  position: relative;

  width: min(470px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;

  padding: 42px 40px 38px;

  border: 1px solid rgba(129, 190, 230, 0.18);
  border-radius: 24px;

  background:
    linear-gradient(
      145deg,
      rgba(18, 31, 49, 0.98),
      rgba(12, 24, 40, 0.98)
    );

  box-shadow:
    0 34px 100px rgba(0, 0, 0, 0.55),
    0 0 55px rgba(61, 143, 199, 0.08);

  text-align: center;
}

.age-gate-card::-webkit-scrollbar {
  width: 5px;
}

.age-gate-card::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255,255,255,0.14);
}

.age-gate-brand {
  margin-bottom: 31px;

  color: #ffffff;

  font-size: 18px;
  font-weight: 900;
  letter-spacing: 1.2px;

  text-shadow: 0 0 18px rgba(110, 200, 255, 0.18);
}


.age-gate-verified {
  width: 38px;
  height: 38px;

  margin: 0 auto 27px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;

  filter:
    drop-shadow(0 0 12px rgba(255,255,255,0.14))
    drop-shadow(0 0 24px rgba(91,188,255,0.10));
}

.age-gate-verified svg {
  width: 100%;
  height: 100%;
  display: block;
}

.age-gate-kicker {
  margin-bottom: 14px;

  color: rgba(122, 192, 235, 0.72);

  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2.6px;
}

.age-gate h2 {
  margin: 0;

  color: #ffffff;

  font-size: clamp(25px, 4vw, 31px);
  font-weight: 900;
  letter-spacing: -1.2px;
  line-height: 1.08;
}

.age-gate-copy {
  max-width: 390px;

  margin: 18px auto 0;

  color: rgba(255,255,255,0.53);

  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
}

.age-gate-actions {
  display: grid;
  gap: 11px;

  margin-top: 31px;
}

.age-gate-button {
  width: 100%;
  min-height: 50px;

  padding: 0 18px;

  border: 0;
  border-radius: 11px;

  color: white;

  cursor: pointer;

  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1px;

  transition:
    transform 0.22s ease,
    filter 0.22s ease,
    box-shadow 0.22s ease;
}

.age-gate-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

.age-gate-enter {
  background:
    linear-gradient(
      90deg,
      #244a61,
      #142d43
    );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 9px 22px rgba(0,0,0,0.16);
}

.age-gate-exit {
  background:
    linear-gradient(
      90deg,
      #176fe8 0%,
      #359cff 48%,
      #73c8ff 100%
    );

  color: #ffffff;

  box-shadow:
    0 10px 24px rgba(40, 145, 255, 0.20),
    0 0 20px rgba(90, 190, 255, 0.10);
}

.age-gate-exit:hover {
  background:
    linear-gradient(
      90deg,
      #2580f4 0%,
      #47aaff 48%,
      #88d2ff 100%
    );

  box-shadow:
    0 12px 30px rgba(40, 145, 255, 0.30),
    0 0 28px rgba(90, 190, 255, 0.16);
}

.age-gate-warning {
  max-width: 390px;

  margin: 29px auto 0;
  padding-top: 27px;

  border-top: 1px solid rgba(255,255,255,0.07);

  color: rgba(255,255,255,0.37);

  font-size: 10.5px;
  font-weight: 500;
  line-height: 1.65;
}

@media (max-width: 560px) {

  .age-gate-verified {
    width: 34px;
    height: 34px;
    margin-bottom: 23px;
  }


  .age-gate {
    padding: 16px;
  }

  .age-gate-card {
    padding: 32px 22px 28px;
    border-radius: 19px;
  }

  .age-gate-brand {
    margin-bottom: 24px;
    font-size: 16px;
  }
.age-gate-copy {
    font-size: 12px;
  }

  .age-gate-button {
    min-height: 49px;
    font-size: 11px;
  }

  .age-gate-warning {
    font-size: 9.5px;
  }
}
\n\n/* ========================= */\n/* BETFLOW */\n/* ========================= */\n\n.betflow-section {\n  position: relative;\n  min-height: 100vh;\n  overflow: hidden;\n  scroll-margin-top: 72px;\n}\n\n.betflow-section::before {\n  content: "";\n  position: absolute;\n  inset: 0;\n  pointer-events: none;\n  background:\n    radial-gradient(circle at 18% 48%, rgba(61, 255, 136, 0.10), transparent 28%),\n    radial-gradient(circle at 82% 58%, rgba(173, 255, 72, 0.07), transparent 30%),\n    linear-gradient(180deg, transparent 0%, rgba(2, 18, 11, 0.24) 48%, transparent 100%);\n}\n\n.betflow-section::after {\n  content: "BETFLOW";\n  position: absolute;\n  left: 50%;\n  top: 54%;\n  transform: translate(-50%, -50%);\n  color: rgba(255,255,255,0.018);\n  font-size: clamp(120px, 17vw, 300px);\n  line-height: 1;\n  font-weight: 900;\n  letter-spacing: -12px;\n  white-space: nowrap;\n  pointer-events: none;\n  user-select: none;\n}\n\n.betflow-top,\n.betflow-intro,\n.betflow-grid,\n.betflow-signature {\n  position: relative;\n  z-index: 2;\n}\n\n.betflow-description {\n  max-width: 500px;\n}\n\n.betflow-intro {\n  max-width: 1320px;\n  margin: 0 auto 42px;\n}\n\n.betflow-eyebrow {\n  display: block;\n  margin-bottom: 14px;\n  color: rgba(112, 255, 167, 0.65);\n  font-size: 8px;\n  font-weight: 800;\n  letter-spacing: 3px;\n}\n\n.betflow-intro h3 {\n  font-size: clamp(46px, 5vw, 76px);\n  line-height: 0.88;\n  font-weight: 900;\n  letter-spacing: -4px;\n}\n\n.betflow-grid {\n  width: 100%;\n  max-width: 1320px;\n  margin: 0 auto;\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 18px;\n}\n\n.betflow-card {\n  position: relative;\n  min-height: 390px;\n  padding: 34px;\n  display: flex;\n  align-items: flex-end;\n  overflow: hidden;\n  border: 1px solid rgba(255,255,255,0.10);\n  border-radius: 16px;\n  background: linear-gradient(145deg, rgba(4,15,11,0.90), rgba(2,8,10,0.76));\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n  box-shadow: 0 28px 80px rgba(0,0,0,0.25);\n  transition: transform 0.45s cubic-bezier(.22,1,.36,1), border-color 0.45s ease, box-shadow 0.45s ease;\n}\n\n.betflow-card::before {\n  content: "";\n  position: absolute;\n  inset: 0;\n  background-image:\n    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),\n    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);\n  background-size: 48px 48px;\n  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent 78%);\n  pointer-events: none;\n}\n\n.betflow-card::after {\n  content: "";\n  position: absolute;\n  inset: 0;\n  background: linear-gradient(180deg, transparent 18%, rgba(1,8,6,0.22) 48%, rgba(1,7,6,0.86) 100%);\n  pointer-events: none;\n}\n\n.betflow-football {\n  background:\n    radial-gradient(circle at 78% 18%, rgba(36, 224, 111, 0.18), transparent 28%),\n    linear-gradient(145deg, rgba(4,24,14,0.94), rgba(2,9,10,0.78));\n}\n\n.betflow-tennis {\n  background:\n    radial-gradient(circle at 78% 18%, rgba(181, 255, 59, 0.15), transparent 28%),\n    linear-gradient(145deg, rgba(11,24,9,0.94), rgba(2,9,10,0.78));\n}\n\n.betflow-card-glow {\n  position: absolute;\n  width: 320px;\n  height: 320px;\n  right: -120px;\n  top: -130px;\n  border-radius: 50%;\n  border: 1px solid rgba(129,255,174,0.10);\n  box-shadow: 0 0 100px rgba(62,255,132,0.04);\n  transition: transform 0.6s cubic-bezier(.22,1,.36,1), border-color 0.45s ease;\n}\n\n.betflow-card-number {\n  position: absolute;\n  top: 28px;\n  left: 30px;\n  z-index: 3;\n  color: rgba(132,255,176,0.45);\n  font-size: 9px;\n  font-weight: 800;\n  letter-spacing: 2px;\n}\n\n.betflow-sport-icon {\n  position: absolute;\n  right: 34px;\n  top: 30px;\n  z-index: 3;\n  font-size: 58px;\n  line-height: 1;\n  opacity: 0.18;\n  filter: grayscale(1) brightness(3);\n  transform: rotate(-8deg);\n  transition: opacity 0.45s ease, transform 0.6s cubic-bezier(.22,1,.36,1);\n}\n\n.betflow-card-content {\n  position: relative;\n  z-index: 4;\n  width: 100%;\n}\n\n.betflow-card-label {\n  color: rgba(116,255,168,0.62);\n  font-size: 8px;\n  font-weight: 800;\n  letter-spacing: 2.4px;\n}\n\n.betflow-card h4 {\n  margin-top: 10px;\n  font-size: clamp(42px, 4.3vw, 66px);\n  line-height: 0.95;\n  font-weight: 900;\n  letter-spacing: -3px;\n}\n\n.betflow-card p {\n  max-width: 390px;\n  margin-top: 18px;\n  color: rgba(255,255,255,0.52);\n  font-size: 12px;\n  line-height: 1.75;\n}\n\n.betflow-card-action {\n  width: 100%;\n  margin-top: 30px;\n  padding-top: 17px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  border-top: 1px solid rgba(255,255,255,0.11);\n  color: rgba(255,255,255,0.84);\n  font-size: 9px;\n  font-weight: 800;\n  letter-spacing: 1.4px;\n}\n\n.betflow-arrow {\n  font-size: 18px;\n  transition: transform 0.4s cubic-bezier(.22,1,.36,1);\n}\n\n.betflow-card:hover {\n  transform: translateY(-7px);\n  border-color: rgba(103,255,157,0.28);\n  box-shadow: 0 35px 90px rgba(0,0,0,0.34), 0 0 45px rgba(51,255,123,0.055);\n}\n\n.betflow-card:hover .betflow-card-glow {\n  transform: scale(1.12);\n  border-color: rgba(129,255,174,0.18);\n}\n\n.betflow-card:hover .betflow-sport-icon {\n  opacity: 0.30;\n  transform: rotate(-4deg) scale(1.08);\n}\n\n.betflow-card:hover .betflow-arrow {\n  transform: translate(3px, -3px);\n}\n\n.betflow-signature {\n  margin: 42px auto 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 18px;\n}\n\n.betflow-signature span {\n  font-size: 12px;\n  font-weight: 900;\n  letter-spacing: 1px;\n}\n\n.betflow-signature small {\n  padding-left: 18px;\n  border-left: 1px solid rgba(255,255,255,0.14);\n  color: rgba(255,255,255,0.32);\n  font-size: 7px;\n  font-weight: 700;\n  letter-spacing: 2.2px;\n}\n\n@media (max-width: 850px) {\n  .betflow-grid {\n    grid-template-columns: 1fr;\n  }\n\n  .betflow-card {\n    min-height: 330px;\n    padding: 28px;\n  }\n\n  .betflow-section::after {\n    font-size: 100px;\n    letter-spacing: -6px;\n  }\n\n  .betflow-intro h3 {\n    font-size: 50px;\n    letter-spacing: -3px;\n  }\n}\n


/* ========================= */
/* BETFLOW */
/* ========================= */

.betflow-section {
  position: relative;
  scroll-margin-top: 100px;
}

.betflow-section::before {
  content: "";
  position: absolute;
  inset: 8% 4% 4%;
  pointer-events: none;
  background:
    radial-gradient(circle at 28% 52%, rgba(38,255,110,0.075), transparent 27%),
    radial-gradient(circle at 72% 52%, rgba(116,255,76,0.055), transparent 29%);
  filter: blur(10px);
}

.betflow-section .section-heading,
.betflow-section .section-description,
.betflow-grid {
  position: relative;
  z-index: 2;
}

.betflow-section .section-description {
  color: rgba(255,255,255,0.40);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.1px;
}

.betflow-grid {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.betflow-card {
  position: relative;
  min-height: 320px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(122,255,150,0.14);
  background: linear-gradient(145deg, rgba(4,14,13,0.84), rgba(3,9,15,0.78));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
    0 28px 75px rgba(0,0,0,0.26),
    inset 0 1px 0 rgba(255,255,255,0.025);
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;
}

.betflow-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 34%, rgba(55,255,115,0.12), transparent 33%),
    linear-gradient(180deg, rgba(37,255,105,0.035), transparent 52%);
  opacity: 0.62;
  transition: opacity 0.35s ease;
}

.betflow-card::after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -105px;
  bottom: -125px;
  border: 1px solid rgba(110,255,145,0.08);
  border-radius: 50%;
  pointer-events: none;
}

.betflow-card:hover {
  transform: translateY(-7px);
  border-color: rgba(94,255,135,0.34);
  box-shadow:
    0 34px 90px rgba(0,0,0,0.34),
    0 0 34px rgba(56,255,105,0.08),
    inset 0 1px 0 rgba(255,255,255,0.04);
}

.betflow-card:hover::before {
  opacity: 1;
}

.betflow-number {
  position: absolute;
  top: 24px;
  right: 26px;
  z-index: 3;
  color: rgba(99,255,132,0.38);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.betflow-card-top {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 48px;
}

.betflow-kicker {
  color: rgba(143,255,166,0.56);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 2px;
}

.betflow-sport-icon {
  width: 42px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(117,255,147,0.18);
  background: rgba(73,255,112,0.055);
  font-size: 19px;
  box-shadow: 0 0 22px rgba(61,255,106,0.06);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.betflow-card:hover .betflow-sport-icon {
  transform: scale(1.07);
  border-color: rgba(112,255,144,0.32);
  box-shadow: 0 0 28px rgba(61,255,106,0.14);
}

.betflow-card-content {
  position: relative;
  z-index: 3;
  margin-top: 58px;
}

.betflow-card-content h3 {
  font-size: clamp(34px, 3vw, 50px);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -2.4px;
}

.betflow-card-content p {
  max-width: 410px;
  margin-top: 18px;
  color: rgba(255,255,255,0.52);
  font-size: 12px;
  line-height: 1.8;
}

.betflow-enter {
  position: relative;
  z-index: 3;
  width: 100%;
  min-height: 52px;
  margin-top: auto;
  padding: 0 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 8px;
  border: 1px solid rgba(116,255,146,0.16);
  background: rgba(13,28,19,0.55);
  color: rgba(255,255,255,0.92);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.1px;
  transition:
    background 0.30s ease,
    border-color 0.30s ease,
    box-shadow 0.30s ease;
}

.betflow-enter b {
  font-size: 16px;
  font-weight: 600;
  transition: transform 0.30s ease;
}

.betflow-card:hover .betflow-enter {
  background: rgba(19,48,28,0.66);
  border-color: rgba(111,255,144,0.30);
  box-shadow: 0 0 24px rgba(70,255,110,0.07);
}

.betflow-card:hover .betflow-enter b {
  transform: translate(2px, -2px);
}

/* ========================= */
/* TWITCH BUTTON GLOW */
/* ========================= */

.live-button {
  position: relative;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    background 0.28s ease,
    color 0.28s ease;
}

.live-button::before {
  content: "";
  position: absolute;
  inset: -2px;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, rgba(145,70,255,0.24), transparent 66%);
  opacity: 0;
  transition: opacity 0.28s ease;
}

.live-button > span {
  position: relative;
  z-index: 2;
}

.live-button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 16px rgba(145,70,255,0.38),
    0 0 34px rgba(145,70,255,0.20),
    0 10px 28px rgba(0,0,0,0.22);
}

.live-button:hover::before {
  opacity: 1;
}

@media (max-width: 850px) {
  .betflow-grid {
    grid-template-columns: 1fr;
    max-width: 540px;
  }

  .betflow-card {
    min-height: 290px;
  }

  .betflow-card-content {
    margin-top: 45px;
  }
}

/* ========================= */
/* BETFLOW — FINAL REFINEMENTS */
/* ========================= */

.betflow-section {
  padding-top: 100px;
  padding-bottom: 105px;
}

.betflow-section .section-top {
  margin-bottom: 42px;
}

.betflow-heading-sub {
  display: block;
  margin-top: 9px;
  color: rgba(103,255,137,0.48) !important;
  font-size: 8px !important;
  font-weight: 800;
  letter-spacing: 3px;
}

.betflow-grid {
  max-width: 1160px;
  gap: 26px;
}

.betflow-card {
  min-height: 350px;
  padding: 32px;
}

.betflow-card-content {
  margin-top: 64px;
}

.betflow-sport-icon {
  font-family: "Montserrat", sans-serif;
  color: rgba(188,255,202,0.92);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
}

.betflow-card:hover {
  border-color: rgba(89,255,128,0.44);
  box-shadow:
    0 34px 90px rgba(0,0,0,0.36),
    0 0 28px rgba(52,255,100,0.10),
    0 0 58px rgba(52,255,100,0.045),
    inset 0 1px 0 rgba(255,255,255,0.04);
}

.betflow-card:hover .betflow-enter {
  border-color: rgba(101,255,136,0.38);
  box-shadow:
    0 0 20px rgba(60,255,105,0.09),
    inset 0 0 18px rgba(60,255,105,0.025);
}

/* Twitch: slightly richer purple glow, only on hover */
.live-button:hover {
  transform: translateY(-2px);
  box-shadow:
    0 0 12px rgba(145,70,255,0.52),
    0 0 28px rgba(145,70,255,0.32),
    0 0 48px rgba(145,70,255,0.16),
    0 10px 28px rgba(0,0,0,0.22);
}

@media (max-width: 850px) {
  .betflow-section {
    padding-top: 85px;
    padding-bottom: 90px;
  }

  .betflow-section .section-top {
    margin-bottom: 34px;
  }

  .betflow-card {
    min-height: 310px;
  }
}


/* =========================================================
   BETFLOW — VERTICAL CARDS / PHONE LAYOUT
   ========================================================= */

.betflow-grid{
  max-width: 1160px;
  gap: 26px;
  align-items: start;
}

.betflow-item{
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.betflow-card{
  position: relative;
  min-height: 540px;
  height: 540px;
  padding: 34px 32px;
  display: block;
  overflow: hidden;
}

.betflow-card-top{
  position: relative;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.betflow-kicker{
  color: rgba(91,255,132,.72);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 2.2px;
}

.betflow-sport-icon{
  position: absolute;
  top: -4px;
  right: 42%;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  padding: 7px;
  border: 0;
  background: transparent;
  box-shadow: none;
  z-index: 8;
}

.betflow-sport-icon img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(52,255,103,.16));
}

.betflow-card:hover .betflow-sport-icon{
  transform: translateY(-2px) scale(1.05);
  border-color: transparent;
  box-shadow: none;
}

.betflow-card-content{
  position: relative;
  z-index: 7;
  width: 54%;
  margin-top: 105px;
}

.betflow-card-content h3{
  font-size: clamp(38px, 3.2vw, 54px);
  line-height: .94;
  letter-spacing: -2.8px;
}

.betflow-card-content p{
  max-width: 300px;
  margin-top: 18px;
  font-size: 11px;
  line-height: 1.7;
}

.betflow-tags{
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.betflow-tags span{
  padding: 8px 12px;
  border: 1px solid rgba(72,255,116,.20);
  border-radius: 999px;
  background: rgba(29,255,82,.035);
  color: rgba(139,255,166,.64);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .8px;
  transition: border-color .25s ease, color .25s ease, box-shadow .25s ease;
}

.betflow-tags span:hover{
  color: rgba(190,255,204,.92);
  border-color: rgba(72,255,116,.45);
  box-shadow: 0 0 16px rgba(52,255,103,.10);
}

/* Phone stays completely INSIDE the card */
.betflow-phone{
  position: absolute;
  z-index: 5;
  top: 74px;
  right: 22px;
  width: 225px;
  height: 445px;
  padding: 8px;
  overflow: hidden;
  border-radius: 35px;
  border: 2px solid rgba(255,255,255,.13);
  background: #090d0b;
  box-shadow:
    0 24px 55px rgba(0,0,0,.48),
    0 0 28px rgba(45,255,96,.045),
    inset 0 0 0 1px rgba(255,255,255,.05);
  transform: rotate(1.2deg);
  opacity: .90;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    opacity .35s ease,
    box-shadow .35s ease;
}

.betflow-tennis .betflow-phone{
  transform: rotate(-1.2deg);
}

.betflow-card:hover .betflow-phone{
  opacity: .97;
  transform: translateY(-4px) rotate(.4deg);
  box-shadow:
    0 28px 65px rgba(0,0,0,.52),
    0 0 32px rgba(45,255,96,.08),
    inset 0 0 0 1px rgba(255,255,255,.06);
}

.betflow-tennis:hover .betflow-phone{
  transform: translateY(-4px) rotate(-.4deg);
}

.betflow-phone-speaker{
  position: absolute;
  z-index: 10;
  top: 12px;
  left: 50%;
  width: 62px;
  height: 16px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(0,0,0,.92);
  box-shadow: 0 1px 0 rgba(255,255,255,.08);
}

.betflow-phone-screen{
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 27px;
  background: #060a08;
}

.betflow-phone-screen img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  image-rendering: auto;
}

.betflow-platform{
  position: absolute;
  z-index: 8;
  left: 32px;
  bottom: 30px;
  color: rgba(83,255,126,.62);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 1.25px;
}

/* Individual button below each card */
.betflow-external-button{
  width: calc(100% - 38px);
  min-height: 58px;
  margin: 14px auto 0;
  padding: 0 20px;
  border-radius: 10px;
  border: 1px solid rgba(69,255,112,.34);
  background:
    linear-gradient(90deg, rgba(7,37,18,.86), rgba(5,22,12,.72));
  box-shadow:
    0 14px 34px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.025);
}

.betflow-tennis + .betflow-external-button{
  border-color: rgba(151,255,49,.34);
  background:
    linear-gradient(90deg, rgba(29,54,6,.84), rgba(11,29,8,.72));
}

.betflow-external-button b{
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
}

.betflow-external-button:hover{
  transform: translateY(-2px);
  border-color: rgba(79,255,120,.62);
  box-shadow:
    0 0 24px rgba(49,255,97,.10),
    0 16px 38px rgba(0,0,0,.26);
}

@media (max-width: 1050px){
  .betflow-card{
    height: 510px;
    min-height: 510px;
  }

  .betflow-phone{
    width: 195px;
    height: 400px;
    right: 16px;
    top: 88px;
  }

  .betflow-card-content{
    width: 56%;
  }
}

@media (max-width: 850px){
  .betflow-grid{
    max-width: 560px;
    grid-template-columns: 1fr;
  }

  .betflow-card{
    height: 540px;
    min-height: 540px;
  }

  .betflow-phone{
    width: 215px;
    height: 420px;
    right: 22px;
  }

  .betflow-external-button{
    width: calc(100% - 28px);
  }
}

@media (max-width: 560px){
  .betflow-card{
    height: 600px;
    min-height: 600px;
    padding: 28px 24px;
  }

  .betflow-card-content{
    width: 100%;
    margin-top: 72px;
  }

  .betflow-phone{
    top: 300px;
    left: 50%;
    right: auto;
    width: 175px;
    height: 335px;
    transform: translateX(-50%) rotate(.8deg);
  }

  .betflow-tennis .betflow-phone{
    transform: translateX(-50%) rotate(-.8deg);
  }

  .betflow-card:hover .betflow-phone,
  .betflow-tennis:hover .betflow-phone{
    transform: translateX(-50%) translateY(-3px);
  }

  .betflow-platform{
    display: none;
  }
}


/* =========================================================
   BETFLOW — GREEN PANEL + CROPPED PHONE FINAL CONCEPT
   ========================================================= */

.betflow-grid{
  max-width: 1180px !important;
  gap: 28px !important;
  align-items: start !important;
}

.betflow-item{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* More vertical card, with a visible green background like the reference */
.betflow-item .betflow-card{
  position: relative !important;

  height: 560px !important;
  min-height: 560px !important;

  padding: 36px 290px 34px 36px !important;

  overflow: hidden !important;

  border-radius: 18px !important;

  border:
    1px solid rgba(91,255,129,0.24) !important;

  background:
    radial-gradient(
      circle at 86% 24%,
      rgba(78,255,114,0.22),
      transparent 31%
    ),
    radial-gradient(
      circle at 60% 120%,
      rgba(63,255,106,0.10),
      transparent 40%
    ),
    linear-gradient(
      135deg,
      rgba(4,28,16,0.96),
      rgba(3,17,12,0.95) 58%,
      rgba(8,36,14,0.92)
    ) !important;

  box-shadow:
    0 30px 85px rgba(0,0,0,0.34),
    inset 0 1px 0 rgba(255,255,255,0.025) !important;
}

/* subtle green light texture */
.betflow-item .betflow-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      115deg,
      transparent 0%,
      rgba(112,255,137,0.035) 36%,
      transparent 54%
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0.012) 0,
      rgba(255,255,255,0.012) 1px,
      transparent 1px,
      transparent 54px
    ) !important;

  opacity:.65 !important;
}

/* left-side content */
.betflow-item .betflow-card-content{
  position: relative !important;
  z-index: 8 !important;

  width: 100% !important;
  max-width: 350px !important;

  margin-top: 96px !important;
}

.betflow-item .betflow-card-content h3{
  font-size: clamp(44px,3.5vw,60px) !important;
  line-height: .92 !important;
  letter-spacing: -3px !important;
}

.betflow-item .betflow-card-content p{
  max-width: 330px !important;

  margin-top: 20px !important;

  color: rgba(255,255,255,0.55) !important;

  font-size: 12px !important;
  line-height: 1.75 !important;
}

/* tags remain compact */
.betflow-item .betflow-tags{
  max-width: 350px !important;
  margin-top: 24px !important;
}

.betflow-item .betflow-tags span{
  border-color: rgba(95,255,133,0.24) !important;
  background: rgba(19,63,30,0.38) !important;
  color: rgba(187,255,202,0.76) !important;
}

/* phone: large and cropped at the bottom, like the example */
.betflow-item .betflow-phone{
  position: absolute !important;

  top: 28px !important;
  right: 22px !important;
  bottom: auto !important;

  width: 250px !important;
  height: 590px !important;

  padding: 8px !important;

  opacity: .94 !important;

  transform: rotate(1.2deg) !important;

  border-radius: 38px !important;

  background:
    linear-gradient(
      145deg,
      #1b2022,
      #050708 58%,
      #1b2022
    ) !important;

  border:
    1px solid rgba(255,255,255,0.16) !important;

  box-shadow:
    0 34px 80px rgba(0,0,0,0.52),
    0 0 34px rgba(53,255,103,0.10),
    inset 0 0 0 1px rgba(255,255,255,0.03) !important;

  z-index: 5 !important;
}

.betflow-item .betflow-tennis .betflow-phone{
  transform: rotate(-1.2deg) !important;
}

.betflow-item .betflow-card:hover .betflow-phone{
  transform:
    translateY(-5px)
    rotate(.35deg) !important;

  opacity: 1 !important;

  box-shadow:
    0 40px 90px rgba(0,0,0,0.56),
    0 0 38px rgba(53,255,103,0.16),
    inset 0 0 0 1px rgba(255,255,255,0.04) !important;
}

.betflow-item .betflow-tennis:hover .betflow-phone{
  transform:
    translateY(-5px)
    rotate(-.35deg) !important;
}

/* screenshot remains crisp */
.betflow-item .betflow-phone-screen img{
  width:100% !important;
  height:100% !important;

  object-fit:cover !important;
  object-position:center top !important;

  transform:none !important;

  filter:
    saturate(1.02)
    brightness(1.02)
    contrast(1.05) !important;
}

/* remove inherited dark/fade layers from previous versions */
.betflow-item .betflow-phone::before{
  content:none !important;
  display:none !important;
}

.betflow-item .betflow-phone-screen::after{
  background:
    linear-gradient(
      115deg,
      rgba(255,255,255,0.04),
      transparent 20%,
      transparent 82%,
      rgba(0,0,0,0.04)
    ) !important;
}

/* community label stays in lower-left */
.betflow-item .betflow-platform{
  position:absolute !important;

  left:36px !important;
  bottom:34px !important;

  z-index:9 !important;

  color:rgba(110,255,143,0.70) !important;

  font-size:7px !important;
  font-weight:850 !important;
  letter-spacing:1.35px !important;
}

.betflow-item .betflow-platform::before{
  color:rgba(255,255,255,0.29) !important;
}

/* BUTTON BELOW EACH CARD */
.betflow-external-button{
  width: 72% !important;
  max-width: 420px !important;

  min-height: 60px !important;

  margin: 0 auto !important;
  padding: 0 18px 0 22px !important;

  border-radius: 12px !important;

  border:
    1px solid rgba(120,255,48,0.55) !important;

  background:
    linear-gradient(
      90deg,
      rgba(116,221,0,0.95),
      rgba(173,255,0,0.98) 72%,
      rgba(206,255,95,0.98)
    ) !important;

  color: #071006 !important;

  box-shadow:
    0 0 22px rgba(144,255,0,0.18),
    0 14px 36px rgba(0,0,0,0.26) !important;

  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 1px !important;
}

.betflow-external-button b{
  width: 32px !important;
  height: 32px !important;

  background: rgba(4,20,6,0.10) !important;

  border:
    1px solid rgba(4,20,6,0.12) !important;

  color:#071006 !important;
}

.betflow-external-button:hover{
  transform: translateY(-3px) !important;

  box-shadow:
    0 0 30px rgba(150,255,0,0.28),
    0 18px 42px rgba(0,0,0,0.30) !important;
}

/* football and tennis buttons can keep same Betflow family */
.betflow-item:nth-child(2) .betflow-external-button{
  border-color: rgba(111,255,48,0.54) !important;

  background:
    linear-gradient(
      90deg,
      rgba(88,201,0,0.96),
      rgba(151,239,0,0.98) 72%,
      rgba(193,255,75,0.98)
    ) !important;

  color:#071006 !important;
}

@media(max-width:1150px){
  .betflow-item .betflow-card{
    height: 530px !important;
    min-height: 530px !important;
    padding-right:245px !important;
  }

  .betflow-item .betflow-phone{
    width:210px !important;
    height:555px !important;
    right:18px !important;
  }

  .betflow-item .betflow-card-content{
    max-width:310px !important;
  }
}

@media(max-width:850px){
  .betflow-grid{
    max-width:560px !important;
    grid-template-columns:1fr !important;
  }

  .betflow-item .betflow-card{
    height:650px !important;
    min-height:650px !important;

    padding:
      30px 30px 360px !important;
  }

  .betflow-item .betflow-card-content{
    max-width:100% !important;
    margin-top:68px !important;
  }

  .betflow-item .betflow-phone{
    top:330px !important;
    left:50% !important;
    right:auto !important;

    width:210px !important;
    height:470px !important;

    transform:
      translateX(-50%)
      rotate(.8deg) !important;
  }

  .betflow-item .betflow-tennis .betflow-phone{
    transform:
      translateX(-50%)
      rotate(-.8deg) !important;
  }

  .betflow-item .betflow-card:hover .betflow-phone,
  .betflow-item .betflow-tennis:hover .betflow-phone{
    transform:
      translateX(-50%)
      translateY(-4px) !important;
  }

  .betflow-external-button{
    width:92% !important;
  }
}


/* =========================================================
   BETFLOW — PHONE PROPORTIONS + DARK BUTTONS
   ========================================================= */

/* Telemóveis mais naturais: mais largos e menos esticados */
.betflow-item .betflow-phone{
  top: 38px !important;
  right: 18px !important;
  width: 268px !important;
  height: 535px !important;
  border-radius: 40px !important;
}

.betflow-item .betflow-phone-screen{
  border-radius: 31px !important;
}

.betflow-item .betflow-phone-screen img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* Dá um pouco mais de espaço ao telefone sem mexer no aspeto geral */
.betflow-item .betflow-card{
  padding-right: 305px !important;
}

/* Botões escuros, integrados no design */
.betflow-external-button,
.betflow-item:nth-child(2) .betflow-external-button{
  width: 72% !important;
  max-width: 420px !important;
  min-height: 58px !important;

  color: rgba(255,255,255,.92) !important;

  border: 1px solid rgba(62,255,109,.30) !important;

  background:
    linear-gradient(
      100deg,
      rgba(4,31,16,.96),
      rgba(3,20,12,.97) 55%,
      rgba(5,28,15,.96)
    ) !important;

  box-shadow:
    0 12px 32px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.betflow-external-button b,
.betflow-item:nth-child(2) .betflow-external-button b{
  color: rgba(255,255,255,.92) !important;
  background: rgba(65,255,110,.055) !important;
  border: 1px solid rgba(89,255,126,.16) !important;
}

.betflow-external-button:hover,
.betflow-item:nth-child(2) .betflow-external-button:hover{
  transform: translateY(-2px) !important;

  color: #fff !important;
  border-color: rgba(72,255,116,.58) !important;

  background:
    linear-gradient(
      100deg,
      rgba(5,40,20,.98),
      rgba(4,25,14,.98) 55%,
      rgba(7,36,18,.98)
    ) !important;

  box-shadow:
    0 0 22px rgba(54,255,103,.12),
    0 16px 38px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
}

@media(max-width:1150px){
  .betflow-item .betflow-card{
    padding-right: 270px !important;
  }

  .betflow-item .betflow-phone{
    width: 230px !important;
    height: 500px !important;
  }
}

@media(max-width:850px){
  .betflow-item .betflow-card{
    padding: 30px 30px 350px !important;
  }

  .betflow-item .betflow-phone{
    top: 330px !important;
    left: 50% !important;
    right: auto !important;
    width: 225px !important;
    height: 430px !important;
  }

  .betflow-external-button,
  .betflow-item:nth-child(2) .betflow-external-button{
    width: 92% !important;
  }
}


/* =========================================================
   BETFLOW — FINAL REQUESTED TWEAKS
   ========================================================= */

/* Move both phone mockups lower inside their cards */
.betflow-item .betflow-phone {
  top: 72px !important;
}

/* Top card logos removed */
.betflow-sport-icon {
  display: none !important;
}

/* Button layout with the sport logo on the left */
.betflow-external-button {
  display: grid !important;
  grid-template-columns: 42px 1fr 32px !important;
  align-items: center !important;
  gap: 14px !important;
}

.betflow-button-logo {
  width: 36px;
  height: 36px;

  display: grid;
  place-items: center;

  border-radius: 50%;

  background: rgba(63,255,110,0.06);
  border: 1px solid rgba(78,255,119,0.16);

  box-shadow:
    inset 0 0 14px rgba(52,255,103,0.025);

  transition:
    transform 0.28s ease,
    background 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.betflow-button-logo img {
  width: 25px;
  height: 25px;

  display: block;

  object-fit: contain;

  filter:
    drop-shadow(0 0 7px rgba(61,255,108,0.12));
}

.betflow-button-text {
  min-width: 0;

  color: inherit;

  text-align: left;
}

.betflow-external-button:hover .betflow-button-logo {
  transform: scale(1.06);

  background: rgba(63,255,110,0.10);

  border-color: rgba(85,255,125,0.30);

  box-shadow:
    0 0 15px rgba(52,255,103,0.08);
}

/* BETFLOW nav stays green even when the mouse is not over it */
nav a[href="#betflow"] {
  color: #dffff0 !important;

  text-shadow:
    0 0 7px rgba(78,255,122,0.42),
    0 0 16px rgba(52,255,106,0.14) !important;
}

nav a[href="#betflow"]::after {
  width: 100% !important;

  background:
    linear-gradient(
      90deg,
      #42e96e,
      #a7ffba
    ) !important;

  box-shadow:
    0 0 8px rgba(66,233,110,0.58),
    0 0 16px rgba(66,233,110,0.18) !important;
}

nav a[href="#betflow"]:hover {
  color: #effff3 !important;

  text-shadow:
    0 0 9px rgba(78,255,122,0.66),
    0 0 20px rgba(52,255,106,0.26) !important;
}

/* PARCERIAS remains ice-blue when idle */
nav a[href="#parcerias"] {
  color: #eef9ff !important;

  text-shadow:
    0 0 7px rgba(135,214,255,0.38),
    0 0 16px rgba(91,181,255,0.12) !important;
}

nav a[href="#parcerias"]::after {
  width: 100% !important;

  background:
    linear-gradient(
      90deg,
      #7ed4ff,
      #d8f4ff
    ) !important;

  box-shadow:
    0 0 8px rgba(126,212,255,0.52),
    0 0 15px rgba(126,212,255,0.16) !important;
}

@media(max-width:1150px){
  .betflow-item .betflow-phone {
    top: 86px !important;
  }
}

@media(max-width:850px){
  .betflow-item .betflow-phone {
    top: 352px !important;
  }

  .betflow-external-button {
    grid-template-columns: 40px 1fr 32px !important;
  }
}


/* =========================================================
   BETFLOW — BUTTONS ONLY
   ========================================================= */

/* Base button */
.betflow-external-button {
  width: 78% !important;
  max-width: 430px !important;
  min-height: 62px !important;

  margin: 10px auto 0 !important;
  padding: 0 18px !important;

  display: grid !important;
  grid-template-columns: 44px 1fr 34px !important;
  align-items: center !important;
  gap: 14px !important;

  border-radius: 13px !important;

  border: 1px solid rgba(65,255,111,0.34) !important;

  background:
    linear-gradient(
      135deg,
      rgba(4,22,12,0.96),
      rgba(3,16,10,0.98)
    ) !important;

  color: #ffffff !important;

  box-shadow:
    0 12px 28px rgba(0,0,0,0.24),
    inset 0 1px 0 rgba(255,255,255,0.025) !important;

  overflow: hidden !important;

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease,
    background .28s ease !important;
}

/* Football gets a slightly colder green */
.betflow-football-button {
  border-color: rgba(56,229,105,0.38) !important;
}

/* Tennis gets a slightly warmer green */
.betflow-tennis-button {
  border-color: rgba(115,225,62,0.38) !important;
}

/* Logo chip */
.betflow-button-logo {
  width: 38px !important;
  height: 38px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 50% !important;

  background:
    rgba(36,255,94,0.055) !important;

  border:
    1px solid rgba(74,255,116,0.18) !important;

  box-shadow:
    inset 0 0 14px rgba(52,255,103,0.025) !important;

  transition:
    transform .28s ease,
    background .28s ease,
    border-color .28s ease,
    box-shadow .28s ease !important;
}

.betflow-button-logo img {
  width: 27px !important;
  height: 27px !important;

  object-fit: contain !important;
  display: block !important;

  filter:
    drop-shadow(0 0 7px rgba(61,255,108,0.14)) !important;
}

/* Text */
.betflow-button-text {
  text-align: left !important;

  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 1.0px !important;

  color: rgba(255,255,255,0.94) !important;
}

/* Arrow chip */
.betflow-external-button b {
  width: 32px !important;
  height: 32px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 50% !important;

  background:
    rgba(255,255,255,0.045) !important;

  border:
    1px solid rgba(255,255,255,0.10) !important;

  color: rgba(255,255,255,0.92) !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  transition:
    transform .28s ease,
    background .28s ease,
    border-color .28s ease !important;
}

/* Moving light, only on hover */
.betflow-external-button::before {
  content: "" !important;

  position: absolute !important;
  top: 0 !important;
  left: -38% !important;

  width: 28% !important;
  height: 100% !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      105deg,
      transparent,
      rgba(255,255,255,0.10),
      transparent
    ) !important;

  transform: skewX(-18deg) !important;

  opacity: 0 !important;

  transition:
    left .55s ease,
    opacity .22s ease !important;
}

.betflow-external-button:hover::before {
  left: 110% !important;
  opacity: 1 !important;
}

/* Hover */
.betflow-football-button:hover {
  transform: translateY(-2px) !important;

  border-color: rgba(69,255,118,0.62) !important;

  background:
    linear-gradient(
      135deg,
      rgba(5,36,17,0.98),
      rgba(4,21,12,0.99)
    ) !important;

  box-shadow:
    0 0 20px rgba(54,255,104,0.11),
    0 15px 34px rgba(0,0,0,0.28) !important;
}

.betflow-tennis-button:hover {
  transform: translateY(-2px) !important;

  border-color: rgba(126,255,73,0.62) !important;

  background:
    linear-gradient(
      135deg,
      rgba(18,39,9,0.98),
      rgba(7,21,10,0.99)
    ) !important;

  box-shadow:
    0 0 20px rgba(120,255,62,0.10),
    0 15px 34px rgba(0,0,0,0.28) !important;
}

.betflow-external-button:hover .betflow-button-logo {
  transform: scale(1.06) !important;

  background:
    rgba(51,255,101,0.095) !important;

  border-color:
    rgba(81,255,123,0.30) !important;

  box-shadow:
    0 0 15px rgba(52,255,103,0.08) !important;
}

.betflow-external-button:hover b {
  transform: translate(2px,-2px) !important;

  background:
    rgba(255,255,255,0.085) !important;

  border-color:
    rgba(255,255,255,0.16) !important;
}

@media (max-width: 850px) {
  .betflow-external-button {
    width: 92% !important;
    grid-template-columns: 40px 1fr 32px !important;
  }

  .betflow-button-text {
    font-size: 9px !important;
  }
}


/* =========================================================
   BETFLOW — CLEAN PANELS + SIMPLE BUTTONS (FINAL OVERRIDE)
   ========================================================= */
.betflow-item .betflow-card{
  isolation:isolate !important;
  border-color:rgba(73,225,116,.26) !important;
  box-shadow:0 22px 55px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.betflow-item .betflow-football{
  background:
    radial-gradient(ellipse at 82% 18%, rgba(40,175,91,.15) 0%, transparent 42%),
    linear-gradient(135deg, rgba(3,37,22,.98) 0%, rgba(2,23,16,.99) 48%, rgba(1,13,11,.99) 100%) !important;
}
.betflow-item .betflow-tennis{
  background:
    radial-gradient(ellipse at 78% 14%, rgba(128,180,35,.13) 0%, transparent 43%),
    linear-gradient(145deg, rgba(17,42,17,.98) 0%, rgba(5,27,18,.99) 50%, rgba(2,14,12,.99) 100%) !important;
}
.betflow-item .betflow-card::before{
  content:"" !important; position:absolute !important; inset:0 !important; z-index:0 !important;
  opacity:.75 !important; pointer-events:none !important;
  background:linear-gradient(115deg, rgba(255,255,255,.018), transparent 34%, rgba(68,255,126,.025) 68%, transparent) !important;
}
.betflow-item .betflow-football::after,
.betflow-item .betflow-tennis::after{
  content:"" !important; position:absolute !important; width:470px !important; height:220px !important;
  left:-80px !important; right:auto !important; top:auto !important; bottom:-135px !important;
  border-radius:50% !important; pointer-events:none !important; filter:blur(8px) !important;
  border:1px solid rgba(74,235,119,.07) !important;
  background:radial-gradient(ellipse, rgba(37,184,91,.08), transparent 68%) !important;
}
.betflow-item .betflow-tennis::after{
  left:auto !important; right:-100px !important;
  border-color:rgba(145,210,54,.065) !important;
  background:radial-gradient(ellipse, rgba(117,178,45,.07), transparent 68%) !important;
}
.betflow-item .betflow-card > *{position:relative;z-index:2}
.betflow-item .betflow-phone{position:absolute !important;z-index:3 !important}

/* simple, narrower buttons */
.betflow-external-button,
.betflow-item:nth-child(2) .betflow-external-button{
  width:66% !important; max-width:390px !important; min-height:54px !important;
  margin:10px auto 0 !important; padding:0 15px !important;
  display:grid !important; grid-template-columns:34px 1fr 22px !important; gap:11px !important; align-items:center !important;
  border-radius:10px !important;
  color:rgba(255,255,255,.92) !important;
  background:rgba(3,18,12,.88) !important;
  border:1px solid rgba(69,220,111,.28) !important;
  box-shadow:0 9px 22px rgba(0,0,0,.20) !important;
}
.betflow-tennis-button{border-color:rgba(126,201,59,.28) !important;background:rgba(8,22,10,.90) !important}
.betflow-button-logo{
  width:30px !important;height:30px !important;border-radius:50% !important;
  background:rgba(43,190,87,.055) !important;border:1px solid rgba(70,222,111,.13) !important;
  box-shadow:none !important;
}
.betflow-button-logo img{width:22px !important;height:22px !important;filter:none !important}
.betflow-button-text{font-size:9px !important;font-weight:850 !important;letter-spacing:.8px !important;color:rgba(255,255,255,.88) !important}
.betflow-external-button b{
  width:auto !important;height:auto !important;border:0 !important;border-radius:0 !important;background:transparent !important;
  color:rgba(255,255,255,.55) !important;font-size:15px !important;box-shadow:none !important;
}
.betflow-external-button:hover,
.betflow-item:nth-child(2) .betflow-external-button:hover{
  transform:translateY(-2px) !important;background:rgba(5,26,16,.96) !important;
  border-color:rgba(71,235,117,.55) !important;box-shadow:0 12px 28px rgba(0,0,0,.25),0 0 15px rgba(50,225,102,.06) !important;
}
.betflow-tennis-button:hover{border-color:rgba(137,216,64,.55) !important;background:rgba(10,30,12,.96) !important}
.betflow-external-button:hover b{transform:translateX(3px) !important;color:rgba(104,239,139,.9) !important}

@media(max-width:850px){.betflow-external-button,.betflow-item:nth-child(2) .betflow-external-button{width:88% !important}}


/* =========================================================
   BETFLOW — FUNDOS MAIS VISÍVEIS
   ========================================================= */

/* FUTEBOL — esmeralda mais marcado */
.betflow-item .betflow-card.betflow-football{
  background:
    radial-gradient(circle at 86% 28%,
      rgba(35,255,105,.24) 0%,
      rgba(25,190,80,.12) 24%,
      transparent 52%),
    linear-gradient(90deg,
      rgba(255,255,255,.025) 0 13%,
      transparent 13% 28%,
      rgba(52,255,110,.045) 28% 46%,
      transparent 46% 66%,
      rgba(52,255,110,.075) 66% 83%,
      transparent 83% 100%),
    linear-gradient(115deg,
      #03180d 0%,
      #073219 48%,
      #0a4a21 100%) !important;

  border-color:rgba(66,235,113,.38) !important;

  box-shadow:
    inset 0 0 90px rgba(0,0,0,.22),
    inset -90px 0 130px rgba(43,255,104,.07),
    0 24px 60px rgba(0,0,0,.22) !important;
}

/* TÉNIS — verde lima/olive claramente diferente */
.betflow-item .betflow-card.betflow-tennis{
  background:
    radial-gradient(circle at 88% 30%,
      rgba(160,255,55,.22) 0%,
      rgba(105,190,40,.11) 26%,
      transparent 54%),
    linear-gradient(90deg,
      rgba(255,255,255,.018) 0 16%,
      transparent 16% 33%,
      rgba(150,255,60,.04) 33% 51%,
      transparent 51% 69%,
      rgba(150,255,60,.065) 69% 86%,
      transparent 86% 100%),
    linear-gradient(115deg,
      #08190a 0%,
      #16310e 50%,
      #294514 100%) !important;

  border-color:rgba(137,218,57,.36) !important;

  box-shadow:
    inset 0 0 90px rgba(0,0,0,.22),
    inset -90px 0 130px rgba(151,255,55,.055),
    0 24px 60px rgba(0,0,0,.22) !important;
}

/* Faixa luminosa atrás dos telemóveis */
.betflow-item .betflow-card.betflow-football::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:0 !important;

  background:
    linear-gradient(90deg,
      transparent 0%,
      transparent 55%,
      rgba(70,255,120,.035) 62%,
      rgba(70,255,120,.11) 78%,
      rgba(70,255,120,.16) 100%) !important;

  opacity:1 !important;
}

.betflow-item .betflow-card.betflow-tennis::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  z-index:0 !important;

  background:
    linear-gradient(90deg,
      transparent 0%,
      transparent 55%,
      rgba(155,255,65,.025) 62%,
      rgba(155,255,65,.09) 78%,
      rgba(155,255,65,.14) 100%) !important;

  opacity:1 !important;
}

/* mantém conteúdo e telemóvel acima do fundo */
.betflow-item .betflow-card > *{
  position:relative;
  z-index:2;
}

.betflow-item .betflow-phone{
  position:absolute !important;
  z-index:3 !important;
}


/* =========================================================
   BETFLOW — NOVOS FUNDOS (SEM FAIXAS VERTICAIS)
   ========================================================= */

/* FUTEBOL — ondas diagonais + glow esmeralda */
.betflow-item .betflow-card.betflow-football{
  background:
    radial-gradient(
      circle at 82% 30%,
      rgba(39,255,112,.18) 0%,
      rgba(39,255,112,.07) 24%,
      transparent 48%
    ),
    radial-gradient(
      circle at 18% 82%,
      rgba(0,180,95,.12) 0%,
      rgba(0,180,95,.04) 28%,
      transparent 56%
    ),
    linear-gradient(
      135deg,
      rgba(2,22,13,.98) 0%,
      rgba(5,35,20,.97) 52%,
      rgba(8,49,24,.96) 100%
    ) !important;

  border-color: rgba(62,230,108,.34) !important;

  box-shadow:
    inset 0 0 85px rgba(0,0,0,.20),
    0 22px 58px rgba(0,0,0,.22) !important;
}

.betflow-item .betflow-card.betflow-football::before{
  content:"" !important;
  position:absolute !important;
  inset:-20% -10% !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    radial-gradient(
      ellipse at 28% 72%,
      transparent 0 42%,
      rgba(66,255,121,.08) 43% 44%,
      transparent 45% 53%,
      rgba(66,255,121,.045) 54% 55%,
      transparent 56%
    ),
    radial-gradient(
      ellipse at 78% 18%,
      transparent 0 40%,
      rgba(66,255,121,.06) 41% 42%,
      transparent 43%
    ) !important;

  transform: rotate(-10deg);
  opacity: .9 !important;
}

/* TÉNIS — curvas de court + glow lime muito subtil */
.betflow-item .betflow-card.betflow-tennis{
  background:
    radial-gradient(
      circle at 84% 24%,
      rgba(151,255,62,.16) 0%,
      rgba(151,255,62,.06) 24%,
      transparent 48%
    ),
    radial-gradient(
      circle at 12% 86%,
      rgba(83,185,34,.11) 0%,
      rgba(83,185,34,.035) 30%,
      transparent 58%
    ),
    linear-gradient(
      135deg,
      rgba(8,22,9,.98) 0%,
      rgba(17,35,12,.97) 52%,
      rgba(28,47,14,.96) 100%
    ) !important;

  border-color: rgba(132,218,59,.32) !important;

  box-shadow:
    inset 0 0 85px rgba(0,0,0,.20),
    0 22px 58px rgba(0,0,0,.22) !important;
}

.betflow-item .betflow-card.betflow-tennis::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      90deg,
      transparent 0 66%,
      rgba(170,255,80,.07) 66.2% 66.6%,
      transparent 66.8%
    ),
    linear-gradient(
      0deg,
      transparent 0 60%,
      rgba(170,255,80,.055) 60.2% 60.6%,
      transparent 60.8%
    ),
    radial-gradient(
      circle at 84% 72%,
      transparent 0 24%,
      rgba(170,255,80,.055) 24.5% 25%,
      transparent 25.5%
    ) !important;

  opacity: .85 !important;
}

/* remove completely the old stripe/circle decoration */
.betflow-item .betflow-card::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  border:0 !important;
  border-radius:0 !important;
  width:auto !important;
  height:auto !important;
  right:auto !important;
  bottom:auto !important;
  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,.018),
      transparent 22%,
      transparent 78%,
      rgba(255,255,255,.012)
    ) !important;
  opacity:.55 !important;
}

/* conteúdo sempre por cima */
.betflow-item .betflow-card > *{
  position:relative;
  z-index:2;
}

.betflow-item .betflow-phone{
  position:absolute !important;
  z-index:3 !important;
}


/* =========================================================
   BETFLOW — SPORTS FIELD LINES + SIMPLE BUTTONS
   ========================================================= */

/* -------------------------
   FUTEBOL — linha de meio campo + círculo central
   ------------------------- */
.betflow-item .betflow-card.betflow-football::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    /* linha vertical do meio-campo */
    linear-gradient(
      90deg,
      transparent 49.72%,
      rgba(120,255,150,.12) 49.82%,
      rgba(120,255,150,.12) 50.18%,
      transparent 50.28%
    ),
    /* círculo central */
    radial-gradient(
      circle at 50% 50%,
      transparent 0 19%,
      rgba(120,255,150,.11) 19.3% 19.8%,
      transparent 20.1%
    ) !important;

  opacity:.95 !important;
}


/* -------------------------
   TÉNIS — court estilizado
   ------------------------- */
.betflow-item .betflow-card.betflow-tennis::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    /* linha central vertical */
    linear-gradient(
      90deg,
      transparent 49.72%,
      rgba(180,255,95,.10) 49.82%,
      rgba(180,255,95,.10) 50.18%,
      transparent 50.28%
    ),
    /* linha horizontal central */
    linear-gradient(
      0deg,
      transparent 49.72%,
      rgba(180,255,95,.10) 49.82%,
      rgba(180,255,95,.10) 50.18%,
      transparent 50.28%
    ),
    /* linhas laterais */
    linear-gradient(
      90deg,
      transparent 11.8%,
      rgba(180,255,95,.07) 12%,
      rgba(180,255,95,.07) 12.25%,
      transparent 12.45%,
      transparent 87.55%,
      rgba(180,255,95,.07) 87.75%,
      rgba(180,255,95,.07) 88%,
      transparent 88.2%
    ),
    /* linhas de serviço */
    linear-gradient(
      0deg,
      transparent 24.6%,
      rgba(180,255,95,.07) 24.8%,
      rgba(180,255,95,.07) 25.05%,
      transparent 25.25%,
      transparent 74.75%,
      rgba(180,255,95,.07) 74.95%,
      rgba(180,255,95,.07) 75.2%,
      transparent 75.4%
    ) !important;

  opacity:.9 !important;
}


/* -------------------------
   BOTÕES — simples e limpos
   ------------------------- */

.betflow-external-button,
.betflow-football-button,
.betflow-tennis-button{
  width: 66% !important;
  max-width: 360px !important;
  min-height: 52px !important;

  margin: 10px auto 0 !important;
  padding: 0 17px 0 19px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;

  border-radius:9px !important;

  background: rgba(3,18,11,.88) !important;
  border:1px solid rgba(70,225,110,.28) !important;

  color:rgba(255,255,255,.92) !important;

  box-shadow:
    0 10px 24px rgba(0,0,0,.18) !important;

  overflow:hidden !important;

  transition:
    transform .24s ease,
    border-color .24s ease,
    background .24s ease,
    box-shadow .24s ease !important;
}

/* remove old button decorative/logo styles */
.betflow-button-logo{
  display:none !important;
}

.betflow-button-text{
  font-size:9px !important;
  font-weight:800 !important;
  letter-spacing:.75px !important;
  color:rgba(255,255,255,.90) !important;
  text-align:left !important;
}

/* plain arrow, no circle */
.betflow-external-button b{
  width:auto !important;
  height:auto !important;
  min-width:0 !important;

  display:block !important;

  border:0 !important;
  border-radius:0 !important;

  background:transparent !important;
  box-shadow:none !important;

  color:rgba(112,240,142,.72) !important;

  font-size:17px !important;
  font-weight:500 !important;

  transition:
    transform .24s ease,
    color .24s ease !important;
}

/* no sweeping light */
.betflow-external-button::before{
  display:none !important;
  content:none !important;
}

.betflow-football-button{
  border-color:rgba(56,225,105,.30) !important;
}

.betflow-tennis-button{
  border-color:rgba(123,210,62,.30) !important;
}

.betflow-football-button:hover{
  transform:translateY(-2px) !important;
  background:rgba(5,28,15,.94) !important;
  border-color:rgba(66,245,115,.52) !important;
  box-shadow:
    0 0 15px rgba(52,255,103,.07),
    0 12px 28px rgba(0,0,0,.22) !important;
}

.betflow-tennis-button:hover{
  transform:translateY(-2px) !important;
  background:rgba(13,27,9,.94) !important;
  border-color:rgba(145,230,75,.52) !important;
  box-shadow:
    0 0 15px rgba(130,255,70,.06),
    0 12px 28px rgba(0,0,0,.22) !important;
}

.betflow-external-button:hover b{
  transform:translateX(4px) !important;
  color:#b7ffca !important;
  background:transparent !important;
  border:0 !important;
}

@media(max-width:850px){
  .betflow-external-button,
  .betflow-football-button,
  .betflow-tennis-button{
    width:88% !important;
    max-width:none !important;
  }
}


/* =========================================================
   BETFLOW — TÉNIS: CORREDOR DE PARES + BOTÕES SIMPLES
   ========================================================= */

/* TÉNIS: apenas duas linhas paralelas, como o corredor de pares */
.betflow-item .betflow-card.betflow-tennis::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;

  background:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 61.5%,
      rgba(183,255,103,.10) 61.7%,
      rgba(183,255,103,.10) 62.0%,
      transparent 62.2%,
      transparent 80.5%,
      rgba(183,255,103,.10) 80.7%,
      rgba(183,255,103,.10) 81.0%,
      transparent 81.2%,
      transparent 100%
    ) !important;

  opacity: .95 !important;
}

/* mantém o futebol exatamente como está */
.betflow-item .betflow-card.betflow-football::before {
  opacity: .95 !important;
}


/* =========================================================
   BOTÕES — LIMPOS E SEM DEFORMAÇÕES
   ========================================================= */

.betflow-item .betflow-external-button,
.betflow-item .betflow-football-button,
.betflow-item .betflow-tennis-button {
  position: relative !important;

  width: 64% !important;
  max-width: 360px !important;
  min-width: 0 !important;
  height: 52px !important;
  min-height: 52px !important;

  margin: 12px auto 0 !important;
  padding: 0 18px !important;

  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;

  border-radius: 9px !important;
  border: 1px solid rgba(74,230,112,.28) !important;

  background: rgba(3,18,11,.92) !important;

  color: rgba(255,255,255,.94) !important;

  box-shadow: none !important;

  text-decoration: none !important;
  overflow: hidden !important;

  transform: none !important;

  transition:
    background .22s ease,
    border-color .22s ease,
    transform .22s ease !important;
}

/* Futebol: verde esmeralda */
.betflow-item .betflow-football-button {
  border-color: rgba(58,225,106,.30) !important;
}

/* Ténis: ligeiramente olive */
.betflow-item .betflow-tennis-button {
  border-color: rgba(131,207,68,.30) !important;
}

/* texto sempre numa linha */
.betflow-item .betflow-button-text {
  flex: 1 1 auto !important;

  display: block !important;

  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color: rgba(255,255,255,.92) !important;

  font-size: 9px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .75px !important;

  text-align: left !important;
  white-space: nowrap !important;
}

/* seta simples, sem caixa nem círculo */
.betflow-item .betflow-external-button b {
  flex: 0 0 auto !important;

  display: block !important;

  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  box-shadow: none !important;

  color: rgba(111,238,142,.76) !important;

  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1 !important;

  transform: none !important;
}

/* elimina todos os efeitos herdados dos botões anteriores */
.betflow-item .betflow-external-button::before,
.betflow-item .betflow-external-button::after {
  content: none !important;
  display: none !important;
}

.betflow-item .betflow-button-logo {
  display: none !important;
}

/* hover discreto */
.betflow-item .betflow-external-button:hover {
  transform: translateY(-2px) !important;
  background: rgba(5,27,15,.96) !important;
  border-color: rgba(73,244,119,.48) !important;
  box-shadow: none !important;
}

.betflow-item .betflow-tennis-button:hover {
  background: rgba(12,28,9,.96) !important;
  border-color: rgba(144,225,78,.48) !important;
}

.betflow-item .betflow-external-button:hover b {
  transform: translateX(4px) !important;
  color: rgba(175,255,195,.95) !important;
}

/* responsivo */
@media (max-width: 1050px) {
  .betflow-item .betflow-external-button,
  .betflow-item .betflow-football-button,
  .betflow-item .betflow-tennis-button {
    width: 76% !important;
    max-width: 360px !important;
  }
}

@media (max-width: 850px) {
  .betflow-item .betflow-external-button,
  .betflow-item .betflow-football-button,
  .betflow-item .betflow-tennis-button {
    width: 90% !important;
    max-width: none !important;
  }

  .betflow-item .betflow-button-text {
    font-size: 8.5px !important;
  }
}


/* =========================================================
   BETFLOW — TÉNIS HORIZONTAL + BOTÕES CORRIGIDOS
   ========================================================= */

/* TÉNIS: duas linhas horizontais paralelas */
.betflow-item .betflow-card.betflow-tennis::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      0deg,
      transparent 0%,
      transparent 31.5%,
      rgba(185,255,102,.11) 31.7%,
      rgba(185,255,102,.11) 32.0%,
      transparent 32.2%,
      transparent 67.8%,
      rgba(185,255,102,.11) 68.0%,
      rgba(185,255,102,.11) 68.3%,
      transparent 68.5%,
      transparent 100%
    ) !important;

  opacity:.95 !important;
}


/* =========================================================
   BOTÕES — RESET TOTAL E LAYOUT ESTÁVEL
   ========================================================= */

.betflow-item{
  align-items:center !important;
}

/* neutralize every inherited grid/flex rule from previous versions */
.betflow-item .betflow-external-button,
.betflow-item .betflow-football-button,
.betflow-item .betflow-tennis-button{
  box-sizing:border-box !important;

  position:relative !important;

  width:360px !important;
  max-width:calc(100% - 40px) !important;
  height:54px !important;
  min-height:54px !important;

  margin:12px auto 0 !important;
  padding:0 18px !important;

  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;

  gap:16px !important;

  border-radius:10px !important;
  border:1px solid rgba(72,225,111,.26) !important;

  background:rgba(3,18,11,.92) !important;

  color:#fff !important;
  text-decoration:none !important;

  box-shadow:none !important;

  overflow:hidden !important;

  transform:none !important;
}

/* remove all decorative pseudo-elements from old versions */
.betflow-item .betflow-external-button::before,
.betflow-item .betflow-external-button::after{
  content:none !important;
  display:none !important;
}

/* hide old logo container completely */
.betflow-item .betflow-button-logo{
  display:none !important;
}

/* text: fixed, clean, one line */
.betflow-item .betflow-button-text{
  flex:1 1 auto !important;

  width:auto !important;
  min-width:0 !important;

  margin:0 !important;
  padding:0 !important;

  display:block !important;

  color:rgba(255,255,255,.92) !important;

  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.75px !important;

  text-align:left !important;
  white-space:nowrap !important;

  overflow:visible !important;
}

/* simple arrow only */
.betflow-item .betflow-external-button b{
  flex:0 0 auto !important;

  width:auto !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;

  margin:0 !important;
  padding:0 !important;

  display:block !important;

  border:0 !important;
  border-radius:0 !important;

  background:transparent !important;
  box-shadow:none !important;

  color:rgba(112,240,143,.78) !important;

  font-size:17px !important;
  font-weight:500 !important;
  line-height:1 !important;

  transform:none !important;
}

/* subtle sport-specific borders */
.betflow-item .betflow-football-button{
  border-color:rgba(58,225,106,.28) !important;
}

.betflow-item .betflow-tennis-button{
  border-color:rgba(134,210,72,.28) !important;
}

/* very simple hover */
.betflow-item .betflow-external-button:hover{
  transform:translateY(-2px) !important;
  background:rgba(5,28,15,.96) !important;
  border-color:rgba(72,240,118,.48) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
}

.betflow-item .betflow-tennis-button:hover{
  background:rgba(14,28,9,.96) !important;
  border-color:rgba(145,225,78,.48) !important;
}

.betflow-item .betflow-external-button:hover b{
  transform:translateX(4px) !important;
  color:rgba(190,255,205,.96) !important;
}

/* mobile */
@media(max-width:850px){
  .betflow-item .betflow-external-button,
  .betflow-item .betflow-football-button,
  .betflow-item .betflow-tennis-button{
    width:90% !important;
    max-width:none !important;
  }

  .betflow-item .betflow-button-text{
    font-size:8.5px !important;
  }
}


/* =========================================================
   BETFLOW — FINAL FIX
   Mesmo verde + linhas de ténis + botões simples
   ========================================================= */

/* MESMO TOM DE VERDE NAS DUAS CAIXAS */
.betflow-item .betflow-card.betflow-football,
.betflow-item .betflow-card.betflow-tennis {
  background:
    radial-gradient(
      circle at 84% 26%,
      rgba(43,255,113,.17) 0%,
      rgba(43,255,113,.06) 26%,
      transparent 50%
    ),
    radial-gradient(
      circle at 14% 84%,
      rgba(0,175,91,.10) 0%,
      rgba(0,175,91,.03) 30%,
      transparent 58%
    ),
    linear-gradient(
      135deg,
      rgba(3,22,13,.985) 0%,
      rgba(5,34,19,.975) 50%,
      rgba(7,45,22,.965) 100%
    ) !important;

  border-color: rgba(62,230,108,.34) !important;

  box-shadow:
    inset 0 0 85px rgba(0,0,0,.20),
    0 22px 58px rgba(0,0,0,.22) !important;
}


/* FUTEBOL — mantém linha + círculo de meio-campo */
.betflow-item .betflow-card.betflow-football::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      90deg,
      transparent 49.72%,
      rgba(122,255,151,.12) 49.82%,
      rgba(122,255,151,.12) 50.18%,
      transparent 50.28%
    ),
    radial-gradient(
      circle at 50% 50%,
      transparent 0 18.6%,
      rgba(122,255,151,.11) 18.9% 19.5%,
      transparent 19.8%
    ) !important;

  opacity:.95 !important;
}


/* TÉNIS — DUAS LINHAS HORIZONTAIS, MAIS PRÓXIMAS E MAIS GROSSAS */
.betflow-item .betflow-card.betflow-tennis::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      0deg,
      transparent 0%,
      transparent 43.4%,
      rgba(122,255,151,.13) 43.4%,
      rgba(122,255,151,.13) 44.0%,
      transparent 44.0%,
      transparent 56.0%,
      rgba(122,255,151,.13) 56.0%,
      rgba(122,255,151,.13) 56.6%,
      transparent 56.6%,
      transparent 100%
    ) !important;

  opacity:.98 !important;
}


/* remove decorações antigas */
.betflow-item .betflow-card::after {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  border:0 !important;
  width:auto !important;
  height:auto !important;
  right:auto !important;
  bottom:auto !important;
  border-radius:0 !important;

  background:
    linear-gradient(
      120deg,
      rgba(255,255,255,.015),
      transparent 20%,
      transparent 80%,
      rgba(255,255,255,.010)
    ) !important;

  opacity:.5 !important;
}

.betflow-item .betflow-card > * {
  position:relative;
  z-index:2;
}

.betflow-item .betflow-phone {
  position:absolute !important;
  z-index:3 !important;
}


/* =========================================================
   BOTÕES NOVOS — RESET ABSOLUTO
   ========================================================= */

.betflow-item > .betflow-simple-cta {
  box-sizing:border-box !important;

  width:360px !important;
  max-width:calc(100% - 36px) !important;
  height:54px !important;

  margin:12px auto 0 !important;
  padding:0 18px !important;

  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;

  gap:18px !important;

  background:rgba(3,18,11,.94) !important;

  border:1px solid rgba(67,225,108,.30) !important;
  border-radius:10px !important;

  color:#fff !important;
  text-decoration:none !important;

  box-shadow:none !important;

  overflow:hidden !important;

  font-family:inherit !important;

  transform:none !important;

  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease !important;
}

.betflow-item > .betflow-simple-cta::before,
.betflow-item > .betflow-simple-cta::after {
  content:none !important;
  display:none !important;
}

.betflow-item > .betflow-simple-cta > span:first-child {
  display:block !important;
  flex:1 1 auto !important;

  width:auto !important;
  min-width:0 !important;

  margin:0 !important;
  padding:0 !important;

  color:rgba(255,255,255,.93) !important;

  font-size:9px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.7px !important;

  text-align:left !important;
  white-space:nowrap !important;

  border:0 !important;
  background:none !important;
  box-shadow:none !important;
}

.betflow-simple-arrow {
  display:block !important;
  flex:0 0 auto !important;

  width:auto !important;
  height:auto !important;

  margin:0 !important;
  padding:0 !important;

  color:rgba(105,239,139,.82) !important;

  font-size:17px !important;
  font-weight:500 !important;
  line-height:1 !important;

  border:0 !important;
  border-radius:0 !important;

  background:none !important;
  box-shadow:none !important;

  transform:none !important;

  transition:
    transform .22s ease,
    color .22s ease !important;
}

.betflow-item > .betflow-simple-cta:hover {
  transform:translateY(-2px) !important;

  background:rgba(5,29,16,.97) !important;

  border-color:rgba(71,243,118,.50) !important;
}

.betflow-item > .betflow-simple-cta:hover .betflow-simple-arrow {
  transform:translateX(4px) !important;
  color:#c5ffd4 !important;
}


@media (max-width:850px) {
  .betflow-item > .betflow-simple-cta {
    width:90% !important;
    max-width:none !important;
  }

  .betflow-item > .betflow-simple-cta > span:first-child {
    font-size:8.5px !important;
  }
}


/* =========================================================
   BETFLOW — AJUSTE FINAL DAS LINHAS DE TÉNIS
   Mais abaixo + mais próximas + mais grossas
   ========================================================= */

.betflow-item .betflow-card.betflow-tennis::before {
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;

  background:
    linear-gradient(
      0deg,
      transparent 0%,
      transparent 23.5%,
      rgba(122,255,151,.17) 23.5%,
      rgba(122,255,151,.17) 24.4%,
      transparent 24.4%,
      transparent 32.0%,
      rgba(122,255,151,.17) 32.0%,
      rgba(122,255,151,.17) 32.9%,
      transparent 32.9%,
      transparent 100%
    ) !important;

  opacity:1 !important;
}


/* =========================
   PERFORMANCE OPTIMIZATIONS
   ========================= */
/* Adia o rendering de secções fora do ecrã sem alterar o layout final. */
#parcerias, #betflow, #live, #sobre, #redes {
  content-visibility: auto;
  contain-intrinsic-size: 900px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* ========================= */
/* DISCORD ICON FIX */
/* ========================= */

/* O Discord usa imagem própria, igual aos restantes ícones */
.social-card.discord-card::after {
    background-image: url("assets/images/discord.webp");
    width: 54px;
    height: 54px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Evita a imagem HTML ficar gigante dentro do card */
.social-card.discord-card img {
    display: none;
}


/* ========================= */
/* FOOTER CONTACT HIGHLIGHT */
/* ========================= */

.footer-contact {
    color: #ffffff;
    font-weight: 800;
}

.footer-contact .footer-contact-label {
    color: #ffffff;
    font-weight: 900;
}


/* ========================= */
/* DISCORD + FOOTER FIX */
/* ========================= */

.footer-contact-label {
  color: #ffffff;
  font-weight: 900;
}

/* garante que nenhum logo consegue aumentar o card */
.social-card img {
  display: none;
}

.social-card::after {
  width: 54px;
  height: 54px;
}

/* correção para browsers diferentes */
.social-grid {
  width: 100%;
}

@media (max-width: 900px) {
  .social-grid {
    grid-template-columns: 1fr;
  }

  .social-card {
    min-height: 110px;
    padding-left: 100px;
  }
}

/* =========================================================
   SOCIAL ICONS — LOGOS OFICIAIS / FIX FINAL
   Usa os SVG oficiais do Simple Icons como máscara, evitando
   imagens WEBP deformadas, fundos indesejados ou logos trocados.
   ========================================================= */

.social-card::after,
.social-card.discord-card::after {
  content: "" !important;
  position: absolute !important;
  left: 30px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 54px !important;
  height: 54px !important;

  background-image: none !important;
  background-color: #ffffff !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;

  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  mask-size: contain !important;

  filter: none !important;
  opacity: 0.96 !important;

  transition:
    transform 0.28s ease,
    opacity 0.28s ease !important;
}

.social-card:nth-child(1)::after {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitch.svg") !important;
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/twitch.svg") !important;
}

.social-card:nth-child(2)::after {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/telegram.svg") !important;
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/telegram.svg") !important;
}

.social-card:nth-child(3)::after {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/instagram.svg") !important;
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/instagram.svg") !important;
}

.social-card:nth-child(4)::after,
.social-card.discord-card::after {
  -webkit-mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/discord.svg") !important;
  mask-image: url("https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/discord.svg") !important;
}

.social-card:hover::after,
.social-card.discord-card:hover::after {
  transform: translateY(-50%) scale(1.06) !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Pequeno ajuste óptico: Telegram e Instagram ficam visualmente
   equilibrados com Twitch e Discord dentro da mesma caixa. */
.social-card:nth-child(2)::after {
  width: 50px !important;
  height: 50px !important;
}

.social-card:nth-child(3)::after {
  width: 51px !important;
  height: 51px !important;
}

@media (max-width: 900px) {
  .social-card::after,
  .social-card.discord-card::after {
    left: 28px !important;
    width: 48px !important;
    height: 48px !important;
  }
}
/* ========================= */
/* STORE / TWITCH REWARDS    */
/* ========================= */

.store-section {
  scroll-margin-top: 90px;
  min-height: 100vh;
}

.store-shell {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.store-account {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  background:
    radial-gradient(circle at 8% 50%, rgba(145,70,255,0.13), transparent 28%),
    linear-gradient(135deg, rgba(5,12,22,0.86), rgba(2,8,15,0.72));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 30px 90px rgba(0,0,0,0.22);
}

.store-account::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.018) 1px, transparent 1px);
  background-size: 48px 48px;
  opacity: 0.7;
}

.store-account-guest,
.store-account-user {
  position: relative;
  z-index: 2;
  min-height: 190px;
  padding: 38px 42px;
}

.store-account-guest {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.store-account-copy {
  max-width: 690px;
}

.store-kicker {
  display: block;
  margin-bottom: 10px;
  color: rgba(172,128,255,0.85);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 2.2px;
}

.store-account-copy h3 {
  font-size: clamp(28px, 3.2vw, 46px);
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -2px;
}

.store-account-copy p {
  max-width: 610px;
  margin-top: 16px;
  color: rgba(255,255,255,0.52);
  font-size: 12px;
  line-height: 1.8;
}

.store-twitch-login {
  flex: 0 0 auto;
  min-width: 250px;
  min-height: 58px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  border-radius: 8px;
  background: #9146ff;
  color: white;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1px;
  box-shadow: 0 12px 34px rgba(145,70,255,0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.store-twitch-login:hover {
  transform: translateY(-3px);
  background: #a05cff;
  box-shadow: 0 18px 42px rgba(145,70,255,0.28);
}

.store-twitch-icon {
  width: 21px;
  height: 21px;
  display: inline-flex;
}

.store-twitch-icon svg {
  width: 100%;
  height: 100%;
}

.store-account-user {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 34px;
}

.store-account-user[hidden] {
  display: none !important;
}

.store-profile {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
}

.store-profile img {
  width: 76px;
  height: 76px;
  flex: 0 0 auto;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 10px 30px rgba(0,0,0,0.28);
}

.store-profile-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.store-profile-copy .store-kicker {
  margin-bottom: 6px;
}

.store-profile-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: white;
  font-size: clamp(21px, 2.5vw, 34px);
  font-weight: 800;
  letter-spacing: -1px;
}

.store-user-id {
  margin-top: 5px;
  color: rgba(255,255,255,0.34);
  font-size: 9px;
  letter-spacing: 0.7px;
}

.store-balance {
  min-width: 190px;
  padding-left: 34px;
  border-left: 1px solid rgba(255,255,255,0.09);
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.store-balance > span {
  color: rgba(255,255,255,0.34);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1.8px;
}

.store-balance strong {
  color: white;
  font-size: 23px;
  font-weight: 900;
}

.store-logout {
  min-width: 92px;
  height: 42px;
  padding: 0 16px;
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 7px;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.64);
  cursor: pointer;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 1px;
  transition: 0.25s ease;
}

.store-logout:hover {
  color: white;
  background: rgba(255,255,255,0.08);
}

.store-status {
  min-height: 22px;
  margin: 15px 2px 7px;
  color: rgba(255,255,255,0.55);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

.store-status.success {
  color: #7ee8ad;
}

.store-status.error {
  color: #ff8e9b;
}

.store-rewards {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.reward-card {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  padding: 34px;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 14px;
  background:
    linear-gradient(145deg, rgba(5,12,22,0.78), rgba(2,8,15,0.62));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.reward-card::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -110px;
  top: -105px;
  border-radius: 50%;
  border: 1px solid rgba(145,70,255,0.10);
  box-shadow: 0 0 80px rgba(145,70,255,0.035);
}

.reward-card:hover {
  transform: translateY(-5px);
  border-color: rgba(160,102,255,0.24);
  box-shadow: 0 30px 75px rgba(0,0,0,0.22);
}

.reward-number {
  position: absolute;
  top: 24px;
  right: 26px;
  color: rgba(168,121,255,0.30);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
}

.reward-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(145,70,255,0.23);
  border-radius: 12px;
  background: rgba(145,70,255,0.08);
  color: rgba(210,188,255,0.88);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
}

.reward-kicker {
  color: rgba(165,117,255,0.68);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 2px;
}

.reward-card h3 {
  margin-top: 8px;
  color: white;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -1px;
}

.reward-card p {
  max-width: 440px;
  min-height: 54px;
  margin-top: 12px;
  color: rgba(255,255,255,0.48);
  font-size: 11px;
  line-height: 1.7;
}

.reward-bottom {
  margin-top: 29px;
  padding-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,0.075);
}

.reward-bottom strong {
  color: white;
  font-size: 17px;
  font-weight: 900;
}

.reward-bottom strong span {
  color: rgba(255,255,255,0.31);
  font-size: 7px;
  letter-spacing: 1.3px;
}

.reward-redeem {
  min-width: 112px;
  height: 42px;
  border: 0;
  border-radius: 7px;
  background: white;
  color: #090b0f;
  cursor: pointer;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.reward-redeem:hover:not(:disabled) {
  transform: translateY(-2px);
}

.reward-redeem:disabled {
  cursor: not-allowed;
  opacity: 0.36;
}

.store-footnote {
  margin-top: 16px;
  padding: 18px 21px;
  display: flex;
  align-items: center;
  gap: 22px;
  border-left: 2px solid rgba(145,70,255,0.55);
  background: rgba(3,9,16,0.28);
}

.store-footnote span {
  flex: 0 0 auto;
  color: rgba(184,148,255,0.76);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.6px;
}

.store-footnote p {
  color: rgba(255,255,255,0.38);
  font-size: 9px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .store-account-guest {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
  }

  .store-twitch-login {
    width: 100%;
  }

  .store-account-user {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .store-balance {
    padding: 19px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,0.09);
  }

  .store-logout {
    width: 100%;
  }

  .store-rewards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .store-account-guest,
  .store-account-user,
  .reward-card {
    padding: 25px 22px;
  }

  .store-profile img {
    width: 62px;
    height: 62px;
  }

  .reward-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .reward-redeem {
    width: 100%;
  }

  .store-footnote {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
}
/* ========================= */
/* STORE — SEPARADOR PRÓPRIO */
/* ========================= */

nav a.store-nav-link {
  color: #b78cff;
  text-shadow: 0 0 12px rgba(145,70,255,0.35);
}

nav a.store-nav-link::after {
  background: linear-gradient(90deg, #9146ff, #c49cff);
  box-shadow: 0 0 12px rgba(145,70,255,0.55);
}

nav a.store-nav-link:hover,
nav a.store-nav-link.active {
  color: #d8c2ff;
  text-shadow: 0 0 16px rgba(145,70,255,0.65);
}

.store-page-main {
  min-height: 100vh;
  padding-top: 72px;
}

.store-page-hero {
  position: relative;
  min-height: 270px;
  padding: 90px 8% 48px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

.store-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 45%, rgba(145,70,255,0.18), transparent 26%),
    linear-gradient(180deg, rgba(145,70,255,0.045), transparent 72%);
  pointer-events: none;
}

.store-page-hero > div {
  position: relative;
  z-index: 2;
}

.store-page-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: #b88cff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 2.4px;
}

.store-page-hero h1 {
  color: white;
  font-size: clamp(52px, 6vw, 86px);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -4px;
  text-shadow: 0 0 34px rgba(145,70,255,0.10);
}

.store-page-hero p {
  margin-top: 18px;
  color: rgba(255,255,255,0.45);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.1px;
}

.store-page .store-section {
  min-height: 0;
  padding-top: 26px;
}

.store-page .store-account {
  border-color: rgba(145,70,255,0.22);
}

.store-page .store-account::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: linear-gradient(180deg, #9146ff, rgba(145,70,255,0));
}

.store-page .reward-card {
  border-color: rgba(145,70,255,0.15);
}

@media (max-width: 900px) {
  .store-page-hero {
    min-height: 220px;
    padding-top: 70px;
  }
}


/* ===================================================== */
/* HEADER FINAL — STORE ROXO + TWITCH À DIREITA           */
/* ===================================================== */

.topbar {
  justify-content: flex-start;
  gap: 0;
  overflow: visible;
}

.topbar nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 34px;
}

/* STORE com o mesmo destaque visual persistente do BETFLOW, mas roxo */
.topbar nav a.store-nav-link {
  color: #c28cff;
  text-shadow: 0 0 12px rgba(145, 70, 255, 0.45);
}

.topbar nav a.store-nav-link::after {
  width: 100%;
  background: linear-gradient(90deg, #9146ff, #cf9dff);
  box-shadow: 0 0 10px rgba(145, 70, 255, 0.58);
}

.topbar nav a.store-nav-link:hover,
.topbar nav a.store-nav-link.active {
  color: #d9b8ff;
  text-shadow: 0 0 14px rgba(145, 70, 255, 0.68);
}

/* Conta Twitch no extremo direito */
.header-twitch {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  margin-left: 34px;
}

.header-twitch-login {
  height: 38px;
  min-width: 128px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(184, 132, 255, 0.34);
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(145,70,255,0.96), rgba(113,53,235,0.96));
  color: #fff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1px;
  box-shadow: 0 8px 24px rgba(145,70,255,0.20);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.header-twitch-login:hover {
  transform: translateY(-1px);
  filter: brightness(1.07);
  box-shadow: 0 10px 28px rgba(145,70,255,0.30);
}

.header-twitch-user {
  height: 42px;
  max-width: 205px;
  padding: 4px 10px 4px 5px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(184,132,255,0.25);
  border-radius: 8px;
  background: rgba(145,70,255,0.08);
  transition: background .22s ease, border-color .22s ease;
}

.header-twitch-user[hidden] {
  display: none !important;
}

.header-twitch-user:hover {
  background: rgba(145,70,255,0.13);
  border-color: rgba(184,132,255,0.40);
}

.header-twitch-user img {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  display: block;
  flex: 0 0 32px;
  object-fit: cover;
  border-radius: 6px;
}

.header-twitch-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.header-twitch-copy strong {
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
}

.header-twitch-copy small {
  color: #c697ff;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .6px;
}

/* Garante que nenhum elemento da conta Twitch rebenta o header */
.header-twitch svg,
.header-twitch img {
  position: static !important;
  transform: none !important;
}

/* Ajustes para ecrãs mais pequenos */
@media (max-width: 1180px) {
  .topbar nav {
    gap: 22px;
  }

  .header-twitch {
    margin-left: 22px;
  }

  .header-twitch-login {
    min-width: 112px;
    padding: 0 12px;
  }
}

@media (max-width: 980px) {
  .header-twitch {
    display: none;
  }
}


/* ===================================================== */
/* CORREÇÃO ESTADO TWITCH — NÃO MOSTRAR LOGIN + USER     */
/* ===================================================== */

/* O CSS anterior definia display:flex e podia sobrepor o atributo hidden. */
.header-twitch-login[hidden],
.header-twitch-user[hidden],
.store-account-guest[hidden],
.store-account-user[hidden] {
  display: none !important;
}

/* Botão de entrada: pequeno e limpo */
.header-twitch-login {
  height: 38px;
  min-width: 142px;
  padding: 0 16px;
  border-radius: 10px;
  background: linear-gradient(135deg, #9146ff, #a94cff);
  border: 1px solid rgba(200,160,255,0.28);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .55px;
}

/* Utilizador ligado: mini Twitch + pontos, como uma badge */
.header-twitch-user {
  height: 38px;
  min-width: 118px;
  max-width: none;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 10px;
  border: 1px solid rgba(190,145,255,0.24);
  background: rgba(11, 10, 22, 0.82);
  box-shadow: inset 0 0 0 1px rgba(145,70,255,0.04);
}

.header-twitch-user:hover {
  background: rgba(145,70,255,0.12);
  border-color: rgba(190,145,255,0.40);
}

.header-twitch-mini-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #a970ff;
  flex: 0 0 16px;
}

.header-twitch-mini-icon svg {
  width: 16px !important;
  height: 16px !important;
  display: block;
}

.header-twitch-user strong {
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .45px;
  white-space: nowrap;
}

/* Quando a Twitch está ligada, na Store aparece SÓ a conta ligada.
   O bloco "LIGA A TUA CONTA TWITCH" desaparece corretamente via hidden. */


/* ===================================================== */
/* TWITCH HEADER — ÍCONE LOGIN + INICIAIS + PONTOS       */
/* ===================================================== */

.header-twitch-login {
  gap: 8px;
}

.header-login-twitch-icon {
  width: 15px;
  height: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 15px;
  color: #fff;
}

.header-login-twitch-icon svg {
  width: 15px !important;
  height: 15px !important;
  display: block;
  position: static !important;
  transform: none !important;
}

.header-twitch-user {
  gap: 10px;
  min-width: auto;
  padding: 0 12px 0 7px;
}

.header-user-initials {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid rgba(169, 112, 255, 0.55);
  background: rgba(145, 70, 255, 0.14);
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .4px;
}

.header-user-divider {
  width: 1px;
  height: 18px;
  background: rgba(255,255,255,0.13);
}

.header-twitch-user strong {
  display: inline-flex;
  align-items: center;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
}


/* ===================================================== */
/* RODA DA SORTE DIÁRIA — WIDGET INFERIOR DIREITO        */
/* ===================================================== */

.daily-wheel-widget {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2500;
}

.daily-wheel-mini {
  position: relative;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(165, 110, 255, 0.42);
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(145,70,255,0.28), transparent 45%),
    #090712;
  color: #fff;
  cursor: pointer;
  box-shadow:
    0 0 0 4px rgba(145,70,255,0.05),
    0 12px 30px rgba(0,0,0,0.38),
    0 0 24px rgba(145,70,255,0.28);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease;
}

.daily-wheel-mini:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 0 0 5px rgba(145,70,255,0.07),
    0 16px 36px rgba(0,0,0,0.42),
    0 0 30px rgba(145,70,255,0.40);
}

.daily-wheel-mini-ring {
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  border: 2px dashed rgba(184,132,255,0.75);
  animation: dailyMiniSpin 8s linear infinite;
}

.daily-wheel-mini-text {
  position: relative;
  z-index: 2;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .5px;
}

@keyframes dailyMiniSpin {
  to { transform: rotate(360deg); }
}

.daily-wheel-panel {
  position: absolute;
  right: 0;
  bottom: 74px;
  width: 430px;
  max-width: calc(100vw - 28px);
  padding: 24px;
  border: 1px solid rgba(158, 105, 255, 0.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 55% 38%, rgba(145,70,255,0.12), transparent 36%),
    rgba(5, 8, 17, 0.975);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:
    0 28px 90px rgba(0,0,0,0.58),
    0 0 55px rgba(145,70,255,0.08);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(.97);
  transform-origin: bottom right;
  transition:
    opacity .22s ease,
    transform .22s ease;
}

.daily-wheel-panel.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.daily-wheel-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 8px;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.72);
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}

.daily-wheel-header {
  padding-right: 38px;
}

.daily-wheel-kicker {
  color: #b77cff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.8px;
}

.daily-wheel-header h3 {
  margin-top: 7px;
  color: #fff;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: -1px;
}

.daily-wheel-header p {
  margin-top: 6px;
  color: rgba(255,255,255,0.42);
  font-size: 10px;
}

.daily-wheel-stage {
  position: relative;
  width: 315px;
  height: 315px;
  margin: 24px auto 18px;
  display: grid;
  place-items: center;
}

.daily-wheel-disc {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid rgba(173,121,255,0.84);
  background:
    conic-gradient(
      #6f38b8 0deg 36deg,
      #15111f 36deg 72deg,
      #7d44ca 72deg 108deg,
      #15111f 108deg 144deg,
      #6f38b8 144deg 180deg,
      #15111f 180deg 216deg,
      #7d44ca 216deg 252deg,
      #15111f 252deg 288deg,
      #6f38b8 288deg 324deg,
      #15111f 324deg 360deg
    );
  box-shadow:
    0 0 34px rgba(145,70,255,0.25),
    inset 0 0 38px rgba(0,0,0,0.35);
  transition: transform 5.2s cubic-bezier(.12,.62,.08,1);
}

.daily-wheel-disc::before {
  content: "";
  position: absolute;
  inset: 48px;
  border-radius: 50%;
  border: 2px solid rgba(190,145,255,0.35);
  box-shadow: inset 0 0 28px rgba(145,70,255,0.14);
}

.daily-wheel-pointer {
  position: absolute;
  z-index: 5;
  top: -8px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 13px solid transparent;
  border-right: 13px solid transparent;
  border-top: 0;
  border-bottom: 24px solid #b17aff;
  filter: drop-shadow(0 0 8px rgba(145,70,255,.7));
}

.daily-wheel-spin {
  position: relative;
  z-index: 6;
  width: 96px;
  height: 96px;
  border: 3px solid rgba(177,122,255,0.78);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #2a1f3c, #0c0912 72%);
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .8px;
  box-shadow:
    0 0 0 6px rgba(145,70,255,0.08),
    0 0 20px rgba(145,70,255,0.18);
}

.daily-wheel-spin:hover:not(:disabled) {
  filter: brightness(1.08);
}

.daily-wheel-spin:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.daily-wheel-label {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 42px;
  margin-left: -21px;
  margin-top: -10px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  transform-origin: 21px 10px;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
}

.daily-wheel-label::after {
  content: " PTS";
  display: block;
  margin-top: 1px;
  color: #c9a6ff;
  font-size: 7px;
  font-weight: 800;
}

.daily-wheel-label-1  { transform: rotate(18deg)  translateY(-112px) rotate(-18deg); }
.daily-wheel-label-2  { transform: rotate(54deg)  translateY(-112px) rotate(-54deg); }
.daily-wheel-label-3  { transform: rotate(90deg)  translateY(-112px) rotate(-90deg); }
.daily-wheel-label-4  { transform: rotate(126deg) translateY(-112px) rotate(-126deg); }
.daily-wheel-label-5  { transform: rotate(162deg) translateY(-112px) rotate(-162deg); }
.daily-wheel-label-6  { transform: rotate(198deg) translateY(-112px) rotate(-198deg); }
.daily-wheel-label-7  { transform: rotate(234deg) translateY(-112px) rotate(-234deg); }
.daily-wheel-label-8  { transform: rotate(270deg) translateY(-112px) rotate(-270deg); }
.daily-wheel-label-9  { transform: rotate(306deg) translateY(-112px) rotate(-306deg); }
.daily-wheel-label-10 { transform: rotate(342deg) translateY(-112px) rotate(-342deg); }

.daily-wheel-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.daily-wheel-meta-card {
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
}

.daily-wheel-meta-card span {
  display: block;
  color: rgba(255,255,255,0.30);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.daily-wheel-meta-card strong {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
}

.daily-wheel-message {
  min-height: 18px;
  margin-top: 12px;
  color: rgba(255,255,255,0.48);
  font-size: 9px;
  font-weight: 700;
  text-align: center;
}

.daily-wheel-message.success {
  color: #8ce8b0;
}

.daily-wheel-message.error {
  color: #ff8e9b;
}

@media (max-width: 560px) {
  .daily-wheel-widget {
    right: 14px;
    bottom: 14px;
  }

  .daily-wheel-panel {
    width: min(390px, calc(100vw - 28px));
    padding: 20px;
  }

  .daily-wheel-stage {
    width: 280px;
    height: 280px;
  }

  .daily-wheel-label-1,
  .daily-wheel-label-2,
  .daily-wheel-label-3,
  .daily-wheel-label-4,
  .daily-wheel-label-5,
  .daily-wheel-label-6,
  .daily-wheel-label-7,
  .daily-wheel-label-8,
  .daily-wheel-label-9,
  .daily-wheel-label-10 {
    /* override radius for mobile */
  }

  .daily-wheel-label-1  { transform: rotate(18deg)  translateY(-98px) rotate(-18deg); }
  .daily-wheel-label-2  { transform: rotate(54deg)  translateY(-98px) rotate(-54deg); }
  .daily-wheel-label-3  { transform: rotate(90deg)  translateY(-98px) rotate(-90deg); }
  .daily-wheel-label-4  { transform: rotate(126deg) translateY(-98px) rotate(-126deg); }
  .daily-wheel-label-5  { transform: rotate(162deg) translateY(-98px) rotate(-162deg); }
  .daily-wheel-label-6  { transform: rotate(198deg) translateY(-98px) rotate(-198deg); }
  .daily-wheel-label-7  { transform: rotate(234deg) translateY(-98px) rotate(-234deg); }
  .daily-wheel-label-8  { transform: rotate(270deg) translateY(-98px) rotate(-270deg); }
  .daily-wheel-label-9  { transform: rotate(306deg) translateY(-98px) rotate(-306deg); }
  .daily-wheel-label-10 { transform: rotate(342deg) translateY(-98px) rotate(-342deg); }
}


/* ===================================================== */
/* GONCALOTSILVA DAILY SLOT                              */
/* ===================================================== */

.daily-wheel-widget { display: none !important; }

.daily-slot-widget {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2600;
  font-family: inherit;
}

.daily-slot-mini {
  width: 72px;
  height: 64px;
  padding: 8px 7px 7px;
  border: 1px solid rgba(174,111,255,.48);
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(145,70,255,.25), transparent 55%),
    #090711;
  box-shadow: 0 15px 36px rgba(0,0,0,.42), 0 0 26px rgba(145,70,255,.24);
  cursor: pointer;
  transition: .2s ease;
}
.daily-slot-mini:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,0,0,.5), 0 0 32px rgba(145,70,255,.38); }

.daily-slot-mini-reels {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 3px;
}
.daily-slot-mini-reels b {
  display: grid;
  place-items: center;
  height: 28px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 5px;
  background: #14101d;
  color: #fff;
  font-size: 11px;
}
.daily-slot-mini-reels b:nth-child(2) { color: #bf83ff; }
.daily-slot-mini-label {
  display: block;
  margin-top: 5px;
  color: #c995ff;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.3px;
}

.daily-slot-panel {
  position: absolute;
  right: 0;
  bottom: 78px;
  width: 520px;
  max-width: calc(100vw - 28px);
  padding: 27px;
  border: 1px solid rgba(166,105,255,.34);
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 35%, rgba(145,70,255,.15), transparent 37%),
    linear-gradient(180deg, rgba(8,8,19,.985), rgba(3,6,13,.99));
  box-shadow: 0 35px 110px rgba(0,0,0,.68), 0 0 65px rgba(145,70,255,.1);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(.97);
  transform-origin: bottom right;
  transition: opacity .22s ease, transform .22s ease;
}
.daily-slot-panel.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.daily-slot-close {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 31px;
  height: 31px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.72);
  cursor: pointer;
  font-size: 18px;
}

.daily-slot-kicker {
  color: #bb7fff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.8px;
}
.daily-slot-head h3 {
  margin: 7px 0 5px;
  color: #fff;
  font-size: 34px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -1.6px;
}
.daily-slot-head p {
  margin: 0;
  color: rgba(255,255,255,.43);
  font-size: 10px;
}

.daily-slot-machine {
  position: relative;
  margin-top: 24px;
  padding: 22px;
  border: 1px solid rgba(182,126,255,.25);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(31,19,48,.78), rgba(8,8,14,.96));
  box-shadow: inset 0 0 45px rgba(145,70,255,.08), 0 18px 45px rgba(0,0,0,.3);
}
.daily-slot-toplight {
  width: 110px;
  height: 3px;
  margin: -23px auto 19px;
  border-radius: 99px;
  background: #b975ff;
  box-shadow: 0 0 18px #9146ff;
}

.daily-slot-screen {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 9px;
  padding: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: #05060b;
  box-shadow: inset 0 8px 28px rgba(0,0,0,.8);
}
.daily-slot-screen::before,
.daily-slot-screen::after {
  content: "";
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  height: 38px;
  pointer-events: none;
}
.daily-slot-screen::before { top: 0; background: linear-gradient(#05060b, transparent); }
.daily-slot-screen::after { bottom: 0; background: linear-gradient(transparent, #05060b); }

.daily-slot-payline {
  position: absolute;
  z-index: 6;
  left: 5px;
  right: 5px;
  top: 50%;
  height: 1px;
  background: rgba(188,127,255,.42);
  box-shadow: 0 0 10px rgba(145,70,255,.35);
}

.daily-slot-reel {
  height: 142px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(174,112,255,.19);
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 50%, rgba(145,70,255,.13), transparent 60%),
    #0c0a11;
}
.daily-slot-symbol {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 54px;
  font-weight: 950;
  text-shadow: 0 0 24px rgba(145,70,255,.38);
}
.daily-slot-symbol.spinning {
  animation: dailySlotBlur .13s linear infinite;
}
.daily-slot-symbol.locked {
  animation: dailySlotLock .34s ease;
}
@keyframes dailySlotBlur {
  0% { transform: translateY(-16px); filter: blur(1px); opacity:.45; }
  50% { transform: translateY(16px); filter: blur(2px); opacity:1; }
  100% { transform: translateY(-16px); filter: blur(1px); opacity:.45; }
}
@keyframes dailySlotLock {
  0% { transform: scale(1.22); filter: brightness(1.8); }
  100% { transform: scale(1); filter: brightness(1); }
}

.daily-slot-win {
  min-height: 24px;
  margin: 15px 0 12px;
  color: rgba(255,255,255,.42);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.4px;
  text-align: center;
}
.daily-slot-win.win {
  color: #c58cff;
  font-size: 15px;
  text-shadow: 0 0 18px rgba(145,70,255,.45);
}

.daily-slot-spin {
  width: 100%;
  height: 58px;
  border: 1px solid rgba(195,138,255,.6);
  border-radius: 11px;
  background: linear-gradient(135deg, #7b35dc, #a951ff);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(145,70,255,.22);
}
.daily-slot-spin span {
  display: block;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: 1px;
}
.daily-slot-spin small {
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.58);
  font-size: 6px;
  font-weight: 900;
  letter-spacing: 1.3px;
}
.daily-slot-spin:hover:not(:disabled) { filter: brightness(1.08); transform: translateY(-1px); }
.daily-slot-spin:disabled { opacity:.45; cursor:not-allowed; }

.daily-slot-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}
.daily-slot-meta > div {
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 10px;
  background: rgba(255,255,255,.022);
}
.daily-slot-meta span {
  display:block;
  color: rgba(255,255,255,.28);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.2px;
}
.daily-slot-meta strong {
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:14px;
  font-weight:950;
}
.daily-slot-message {
  min-height: 18px;
  margin-top: 11px;
  color: rgba(255,255,255,.45);
  font-size: 9px;
  font-weight: 750;
  text-align:center;
}
.daily-slot-message.success { color:#b989ff; }
.daily-slot-message.error { color:#ff8e9b; }

@media (max-width: 600px) {
  .daily-slot-widget { right: 14px; bottom: 14px; }
  .daily-slot-panel { width: min(450px, calc(100vw - 28px)); padding:20px; }
  .daily-slot-reel { height: 110px; }
  .daily-slot-symbol { font-size: 42px; }
}


/* ===================================================== */
/* DAILY SLOT ICE — VERSÃO GRANDE AZUL                   */
/* ===================================================== */

.daily-slot-panel.daily-slot-panel-ice {
  width: 720px;
  max-width: calc(100vw - 32px);
  padding: 30px 32px 28px;
  border: 1px solid rgba(58, 168, 255, 0.44);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 30%, rgba(34, 143, 255, 0.16), transparent 38%),
    radial-gradient(circle at 20% 80%, rgba(25, 85, 160, 0.12), transparent 34%),
    linear-gradient(180deg, rgba(4, 10, 22, .99), rgba(2, 7, 15, .995));
  box-shadow:
    0 38px 120px rgba(0,0,0,.72),
    0 0 70px rgba(26, 141, 255, .12),
    inset 0 0 0 1px rgba(112, 201, 255, .04);
}

.daily-slot-ice-header {
  text-align: center;
}

.daily-slot-ice-header .daily-slot-kicker {
  color: #5bc2ff;
  letter-spacing: 3px;
}

.daily-slot-ice-header h3 {
  margin: 8px 0 12px;
  color: #eaf7ff;
  font-size: 54px;
  line-height: .95;
  font-weight: 950;
  letter-spacing: -2.5px;
  text-shadow:
    0 0 16px rgba(70, 190, 255, .25),
    0 0 36px rgba(32, 125, 255, .16);
}

.daily-slot-rule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 15px;
  border: 1px solid rgba(79, 183, 255, .26);
  border-radius: 9px;
  background: rgba(19, 77, 125, .14);
  color: #8bd3ff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.daily-slot-machine.daily-slot-machine-ice {
  position: relative;
  margin-top: 22px;
  padding: 24px 24px 20px;
  border: 1px solid rgba(64, 171, 255, .28);
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 0%, rgba(55, 167, 255, .13), transparent 42%),
    linear-gradient(180deg, rgba(10, 30, 55, .82), rgba(3, 9, 18, .98));
  box-shadow:
    inset 0 0 55px rgba(28, 118, 210, .09),
    0 18px 55px rgba(0,0,0,.42);
  overflow: hidden;
}

.daily-slot-machine.daily-slot-machine-ice::before,
.daily-slot-machine.daily-slot-machine-ice::after {
  content: "";
  position: absolute;
  pointer-events: none;
  left: 18px;
  right: 18px;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(112, 205, 255, .9), transparent);
  box-shadow: 0 0 16px rgba(45, 164, 255, .7);
}
.daily-slot-machine.daily-slot-machine-ice::before { top: 10px; }
.daily-slot-machine.daily-slot-machine-ice::after { bottom: 10px; }

.daily-slot-ice-glow {
  position: absolute;
  top: 48%;
  width: 110px;
  height: 110px;
  transform: translateY(-50%);
  border-radius: 50%;
  filter: blur(18px);
  opacity: .18;
  background: #2da7ff;
  pointer-events: none;
}
.daily-slot-ice-glow-left { left: -55px; }
.daily-slot-ice-glow-right { right: -55px; }

.daily-slot-screen.daily-slot-screen-ice {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 14px;
  border: 2px solid rgba(67, 177, 255, .42);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(9, 26, 47, .96), rgba(2, 8, 16, .98));
  box-shadow:
    inset 0 12px 36px rgba(0,0,0,.68),
    0 0 0 5px rgba(40, 135, 220, .05),
    0 0 32px rgba(33, 140, 235, .18);
}

.daily-slot-reel.daily-slot-reel-ice {
  height: 220px;
  border: 1px solid rgba(95, 193, 255, .26);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 50%, rgba(43, 147, 230, .12), transparent 65%),
    linear-gradient(180deg, #0b1b2c, #07111d);
  box-shadow: inset 0 0 28px rgba(27, 113, 190, .08);
}

.daily-slot-screen-ice .daily-slot-payline {
  height: 2px;
  background: rgba(98, 205, 255, .48);
  box-shadow: 0 0 12px rgba(53, 164, 255, .7);
}

.daily-slot-screen-ice .daily-slot-symbol {
  font-size: 74px;
  color: #eaf8ff;
  text-shadow:
    0 0 12px rgba(95, 205, 255, .35),
    0 0 30px rgba(33, 140, 235, .22);
}

.daily-slot-symbol .slot-symbol-img {
  width: 132px;
  height: 132px;
  object-fit: contain;
  filter:
    drop-shadow(0 0 12px rgba(70, 190, 255, .35))
    drop-shadow(0 0 26px rgba(27, 132, 225, .22));
}

.daily-slot-symbol .slot-symbol-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  min-height: 112px;
  color: #dff6ff;
  font-size: 70px;
  font-weight: 950;
  line-height: 1;
}

.daily-slot-symbol .slot-symbol-text.gs {
  font-size: 46px;
  letter-spacing: -2px;
}

.daily-slot-symbol.spinning {
  animation: dailySlotIceSpin .12s linear infinite;
}

.daily-slot-symbol.locked {
  animation: dailySlotIceLock .42s cubic-bezier(.2,.85,.2,1);
}

@keyframes dailySlotIceSpin {
  0%   { transform: translateY(-34px) scale(.96); filter: blur(3px) brightness(.8); opacity:.25; }
  50%  { transform: translateY(34px)  scale(1.03); filter: blur(5px) brightness(1.25); opacity:1; }
  100% { transform: translateY(-34px) scale(.96); filter: blur(3px) brightness(.8); opacity:.25; }
}

@keyframes dailySlotIceLock {
  0%   { transform: scale(.82); filter: brightness(2.2) saturate(1.6); }
  50%  { transform: scale(1.14); }
  100% { transform: scale(1); filter: brightness(1); }
}

.daily-slot-reel-ice.reel-stop-flash {
  animation: reelStopFlash .42s ease;
}
@keyframes reelStopFlash {
  0%   { box-shadow: inset 0 0 28px rgba(27,113,190,.08); }
  45%  { box-shadow: inset 0 0 45px rgba(75,190,255,.42), 0 0 26px rgba(45,164,255,.36); }
  100% { box-shadow: inset 0 0 28px rgba(27,113,190,.08); }
}

.daily-slot-prizes {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 4px;
  margin: 16px 0 12px;
  padding: 11px 10px;
  border: 1px solid rgba(76, 176, 245, .16);
  border-radius: 10px;
  background: rgba(5, 17, 30, .58);
}

.daily-slot-prizes span {
  position: relative;
  color: #6dc8ff;
  font-size: 11px;
  font-weight: 950;
  text-align: center;
}
.daily-slot-prizes span::after {
  content: "PTS";
  display: block;
  margin-top: 1px;
  color: rgba(140, 211, 255, .42);
  font-size: 6px;
}
.daily-slot-prizes span.jackpot {
  color: #fff;
  text-shadow: 0 0 14px rgba(64, 170, 255, .8);
}

.daily-slot-win {
  margin: 12px 0 12px;
  color: rgba(159, 219, 255, .55);
}
.daily-slot-win.win {
  color: #7fd0ff;
  font-size: 18px;
  text-shadow: 0 0 18px rgba(50, 167, 255, .48);
}

.daily-slot-spin.daily-slot-spin-ice {
  height: 68px;
  border: 1px solid rgba(86, 190, 255, .58);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(30, 142, 235, .92), rgba(10, 91, 176, .96));
  box-shadow:
    inset 0 0 20px rgba(142, 224, 255, .1),
    0 12px 34px rgba(16, 105, 202, .25),
    0 0 22px rgba(48, 160, 255, .16);
}
.daily-slot-spin.daily-slot-spin-ice span {
  font-size: 18px;
}
.daily-slot-spin.daily-slot-spin-ice small {
  color: rgba(225, 246, 255, .62);
}

.daily-slot-meta.daily-slot-meta-ice {
  grid-template-columns: repeat(3, 1fr);
}
.daily-slot-meta-ice > div {
  border-color: rgba(61, 157, 225, .16);
  background: rgba(5, 18, 31, .58);
}
.daily-slot-meta-ice span {
  color: rgba(118, 199, 250, .42);
}
.daily-slot-meta-ice strong {
  color: #dff5ff;
}

.daily-slot-message.success {
  color: #68c9ff;
}

.daily-slot-mini {
  border-color: rgba(68, 169, 242, .42);
  background:
    radial-gradient(circle at 50% 0%, rgba(36, 137, 220, .22), transparent 55%),
    #07101b;
  box-shadow: 0 15px 36px rgba(0,0,0,.42), 0 0 26px rgba(30, 140, 235, .22);
}
.daily-slot-mini:hover {
  box-shadow: 0 18px 42px rgba(0,0,0,.5), 0 0 32px rgba(33, 150, 250, .34);
}
.daily-slot-mini-reels b {
  background: #0b1826;
  border-color: rgba(63, 162, 230, .15);
  color: #dff6ff;
}
.daily-slot-mini-reels b img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.daily-slot-mini-label {
  color: #70c9ff;
}

@media (max-width: 900px) {
  .daily-slot-panel.daily-slot-panel-ice {
    width: min(680px, calc(100vw - 24px));
    padding: 24px;
  }
  .daily-slot-reel.daily-slot-reel-ice {
    height: 180px;
  }
  .daily-slot-symbol .slot-symbol-img {
    width: 105px;
    height: 105px;
  }
  .daily-slot-symbol .slot-symbol-text {
    min-width: 90px;
    min-height: 90px;
    font-size: 58px;
  }
  .daily-slot-prizes {
    grid-template-columns: repeat(5, 1fr);
    row-gap: 8px;
  }
}


/* ===================================================== */
/* DAILY SLOT PAYTABLE                                   */
/* ===================================================== */
.daily-slot-paytable-wrap{position:relative;margin:-2px 0 12px;text-align:center}
.daily-slot-paytable-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:28px;padding:0 11px;border:1px solid rgba(91,190,255,.18);border-radius:8px;background:rgba(5,21,36,.52);color:rgba(139,211,255,.72);cursor:pointer;font-size:7px;font-weight:900;letter-spacing:1px;transition:.18s ease}
.daily-slot-paytable-btn:hover{border-color:rgba(91,190,255,.38);background:rgba(14,58,94,.46);color:#dff6ff}
.daily-slot-paytable-icon{width:16px;height:16px;display:inline-grid;place-items:center;border:1px solid rgba(105,201,255,.42);border-radius:50%;color:#78cfff;font-family:Arial,sans-serif;font-size:9px;font-weight:900;line-height:1;box-shadow:0 0 9px rgba(45,164,255,.15)}
.daily-slot-paytable[hidden]{display:none!important}
.daily-slot-paytable{position:absolute;z-index:20;left:50%;bottom:36px;width:min(520px,calc(100vw - 70px));padding:16px;transform:translateX(-50%);border:1px solid rgba(83,183,255,.34);border-radius:14px;background:radial-gradient(circle at 50% 0%,rgba(36,142,225,.13),transparent 42%),rgba(3,11,22,.985);box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 34px rgba(31,145,235,.12);text-align:left}
.daily-slot-paytable-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.daily-slot-paytable-head span{display:block;color:#65c6ff;font-size:7px;font-weight:900;letter-spacing:1.6px}
.daily-slot-paytable-head strong{display:block;margin-top:4px;color:#effaff;font-size:13px;font-weight:950}
.daily-slot-paytable-close{width:27px;height:27px;border:1px solid rgba(255,255,255,.09);border-radius:7px;background:rgba(255,255,255,.03);color:rgba(255,255,255,.65);cursor:pointer;font-size:16px}
.daily-slot-paytable-list{display:grid;gap:6px}
.daily-slot-payrow{display:grid;grid-template-columns:142px 1fr auto;align-items:center;gap:12px;min-height:44px;padding:6px 10px;border:1px solid rgba(72,164,225,.10);border-radius:9px;background:rgba(8,27,44,.48)}
.daily-slot-payrow.jackpot{border-color:rgba(89,194,255,.28);background:linear-gradient(90deg,rgba(16,72,111,.52),rgba(8,27,44,.48));box-shadow:inset 0 0 18px rgba(43,158,232,.06)}
.daily-slot-combo{display:flex;align-items:center;gap:5px}
.daily-slot-combo b{width:34px;height:32px;display:grid;place-items:center;border:1px solid rgba(91,190,255,.18);border-radius:6px;background:#091a29;color:#dff6ff;font-size:15px;font-weight:950;text-shadow:0 0 10px rgba(61,174,245,.28)}
.daily-slot-payrow>span{color:rgba(157,216,250,.52);font-size:7px;font-weight:900;letter-spacing:.9px}
.daily-slot-payrow>strong{color:#e7f8ff;font-size:11px;font-weight:950;white-space:nowrap}
.daily-slot-payrow.jackpot>strong{color:#76d0ff;text-shadow:0 0 12px rgba(58,179,255,.4)}
.daily-slot-paytable-note{margin:10px 2px 0;color:rgba(147,207,244,.42);font-size:7px;font-weight:700;text-align:center}
@media(max-width:650px){.daily-slot-paytable{width:min(430px,calc(100vw - 50px))}.daily-slot-payrow{grid-template-columns:116px 1fr auto;gap:7px}.daily-slot-combo b{width:29px;height:29px}}

/* Jackpot coin symbol */
.daily-slot-symbol .slot-symbol-coin{
  width: 112px;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 0 14px rgba(78,190,255,.45));
}
.daily-slot-combo.combo-coin img{
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}


/* ===================================================== */
/* DAILY STREAK — 7 DIAS                                 */
/* ===================================================== */

.daily-streak-widget{
  position:fixed;
  right:104px;
  bottom:22px;
  z-index:2610;
  font-family:inherit;
}

.daily-streak-mini{
  position:relative;
  height:64px;
  min-width:94px;
  padding:7px 12px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(67,176,255,.34);
  border-radius:14px;
  background:
    radial-gradient(circle at 25% 0%,rgba(36,137,220,.22),transparent 58%),
    #07101b;
  color:#fff;
  cursor:pointer;
  box-shadow:0 15px 36px rgba(0,0,0,.42),0 0 25px rgba(30,140,235,.18);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.daily-streak-mini:hover{
  transform:translateY(-3px);
  border-color:rgba(91,194,255,.52);
  box-shadow:0 18px 42px rgba(0,0,0,.5),0 0 32px rgba(33,150,250,.30);
}

.daily-streak-mini.available{
  animation:dailyStreakPulse 2.2s ease-in-out infinite;
}

@keyframes dailyStreakPulse{
  0%,100%{box-shadow:0 15px 36px rgba(0,0,0,.42),0 0 18px rgba(33,150,250,.18)}
  50%{box-shadow:0 15px 36px rgba(0,0,0,.42),0 0 34px rgba(70,190,255,.46)}
}

.daily-streak-mini-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(92,196,255,.35);
  border-radius:9px;
  background:rgba(22,90,144,.20);
  color:#83d7ff;
  font-size:15px;
  text-shadow:0 0 12px rgba(68,182,255,.65);
}

.daily-streak-mini-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
}
.daily-streak-mini-copy strong{
  color:#eaf8ff;
  font-size:8px;
  font-weight:950;
  letter-spacing:1px;
}
.daily-streak-mini-copy small{
  color:rgba(119,205,255,.55);
  font-size:6px;
  font-weight:900;
  letter-spacing:.8px;
}

.daily-streak-badge{
  position:absolute;
  top:-5px;
  right:-5px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border:2px solid #06101b;
  border-radius:50%;
  background:#58c6ff;
  color:#02101a;
  font-size:8px;
  font-weight:950;
  box-shadow:0 0 13px rgba(70,190,255,.65);
}

.daily-streak-panel{
  position:absolute;
  right:0;
  bottom:78px;
  width:540px;
  max-width:calc(100vw - 28px);
  padding:27px;
  border:1px solid rgba(72,181,255,.36);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 16%,rgba(41,145,225,.17),transparent 34%),
    linear-gradient(180deg,rgba(6,15,29,.99),rgba(2,8,16,.995));
  box-shadow:0 35px 110px rgba(0,0,0,.70),0 0 62px rgba(32,144,230,.11);
  opacity:0;
  pointer-events:none;
  transform:translateY(14px) scale(.97);
  transform-origin:bottom right;
  transition:opacity .22s ease,transform .22s ease;
}

.daily-streak-panel.open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.daily-streak-close{
  position:absolute;
  right:14px;
  top:14px;
  width:31px;
  height:31px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.72);
  cursor:pointer;
  font-size:18px;
}

.daily-streak-head{
  padding-right:42px;
}
.daily-streak-kicker{
  color:#63c9ff;
  font-size:8px;
  font-weight:950;
  letter-spacing:2px;
}
.daily-streak-head h3{
  margin:7px 0 6px;
  color:#eefaff;
  font-size:34px;
  line-height:1;
  font-weight:950;
  letter-spacing:-1.5px;
}
.daily-streak-head p{
  color:rgba(203,235,255,.45);
  font-size:9px;
  line-height:1.6;
}

.daily-streak-current{
  margin-top:20px;
  padding:16px;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(79,183,255,.20);
  border-radius:13px;
  background:
    radial-gradient(circle at 18% 50%,rgba(51,163,239,.14),transparent 34%),
    rgba(6,24,40,.62);
}
.daily-streak-current-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(91,196,255,.35);
  border-radius:50%;
  background:rgba(22,90,144,.18);
  color:#82d7ff;
  font-size:23px;
  text-shadow:0 0 17px rgba(62,180,255,.68);
}
.daily-streak-current-icon img{
  width:42px;
  height:42px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 10px rgba(62,180,255,.45));
}

.daily-streak-current span{
  display:block;
  color:rgba(130,207,252,.47);
  font-size:7px;
  font-weight:950;
  letter-spacing:1.3px;
}
.daily-streak-current strong{
  display:block;
  margin-top:5px;
  color:#e8f8ff;
  font-size:21px;
  font-weight:950;
}

.daily-streak-claim{
  width:100%;
  height:58px;
  margin-top:12px;
  border:1px solid rgba(92,194,255,.60);
  border-radius:11px;
  background:linear-gradient(180deg,#238edc,#0d64ad);
  color:#fff;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(17,112,194,.24),0 0 20px rgba(48,160,255,.13);
}
.daily-streak-claim span{
  display:block;
  font-size:11px;
  font-weight:950;
  letter-spacing:.8px;
}
.daily-streak-claim small{
  display:block;
  margin-top:2px;
  color:rgba(221,246,255,.60);
  font-size:6px;
  font-weight:900;
  letter-spacing:1.1px;
}
.daily-streak-claim:hover:not(:disabled){filter:brightness(1.08)}
.daily-streak-claim:disabled{
  cursor:not-allowed;
  opacity:.42;
}

.daily-streak-days{
  margin-top:19px;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
}

.daily-streak-day{
  min-width:0;
  padding:8px 3px 7px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  border:1px solid rgba(77,162,220,.11);
  border-radius:10px;
  background:rgba(6,21,35,.50);
  opacity:.46;
  transition:.2s ease;
}
.daily-streak-day-circle{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(91,190,255,.16);
  border-radius:50%;
  background:#091a29;
  color:rgba(214,242,255,.60);
  font-size:8px;
  font-weight:950;
}
.daily-streak-day strong{
  color:rgba(142,211,250,.60);
  font-size:8px;
  font-weight:950;
}
.daily-streak-day em{
  color:#6fcaff;
  font-size:5px;
  font-style:normal;
  font-weight:950;
  letter-spacing:.4px;
}

.daily-streak-day.completed{
  opacity:.78;
  border-color:rgba(65,171,238,.20);
}
.daily-streak-day.completed .daily-streak-day-circle{
  background:rgba(24,105,160,.28);
  color:#9bddff;
}
.daily-streak-day.active{
  opacity:1;
  transform:translateY(-3px);
  border-color:rgba(87,194,255,.47);
  background:linear-gradient(180deg,rgba(22,91,145,.46),rgba(7,26,44,.65));
  box-shadow:0 0 20px rgba(47,163,235,.16);
}
.daily-streak-day.active .daily-streak-day-circle{
  border-color:rgba(112,210,255,.64);
  background:rgba(30,131,198,.34);
  color:#fff;
  box-shadow:0 0 14px rgba(65,184,255,.22);
}
.daily-streak-day-final.active{
  box-shadow:0 0 24px rgba(72,190,255,.25);
}

.daily-streak-info{
  margin-top:13px;
  padding:11px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-left:2px solid rgba(81,191,255,.60);
  background:rgba(7,25,42,.42);
}
.daily-streak-info span{
  color:rgba(124,202,249,.45);
  font-size:7px;
  font-weight:950;
  letter-spacing:1.2px;
}
.daily-streak-info strong{
  color:#daf4ff;
  font-size:10px;
  font-weight:950;
}

.daily-streak-footer{
  margin-top:10px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(71,158,218,.10);
  border-radius:9px;
  background:rgba(5,18,31,.55);
}
.daily-streak-footer span{
  color:rgba(124,202,249,.40);
  font-size:7px;
  font-weight:950;
  letter-spacing:1px;
}
.daily-streak-footer strong{
  color:#dff5ff;
  font-size:10px;
  font-weight:950;
}

.daily-streak-message{
  min-height:17px;
  margin-top:10px;
  color:rgba(187,226,249,.45);
  font-size:8px;
  font-weight:800;
  text-align:center;
}
.daily-streak-message.success{color:#71d1ff}
.daily-streak-message.error{color:#ff8e9b}

@media(max-width:650px){
  .daily-streak-widget{right:94px;bottom:14px}
  .daily-streak-panel{width:min(500px,calc(100vw - 28px));padding:20px}
  .daily-streak-days{gap:4px}
  .daily-streak-day-circle{width:30px;height:30px}
}



/* Daily Streak — corrigir tamanho do número em "1/7 DIAS" */
.daily-streak-info strong #dailyStreakCurrent{
  display:inline-block;
  color:#daf4ff;
  font-size:10px !important;
  line-height:1;
  font-weight:950;
  letter-spacing:0;
  vertical-align:baseline;
}

.daily-streak-info strong{
  font-size:10px;
  line-height:1;
}


/* ===================================================== */
/* DAILY SLOT — MINI LOGO CLEAN                          */
/* ===================================================== */
.daily-slot-mini{
  width:68px;
  min-width:68px;
  height:68px;
  padding:7px 7px 6px;
  border-radius:17px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  overflow:visible;
}

.daily-slot-mini-logo{
  width:43px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  filter:drop-shadow(0 0 7px rgba(69,181,255,.42));
  transition:transform .22s ease, filter .22s ease;
}

.daily-slot-mini-logo::after{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  background:rgba(62,174,255,.10);
  filter:blur(8px);
  z-index:-1;
}

.daily-slot-mini-logo img{
  display:block;
  width:42px;
  height:42px;
  object-fit:contain;
}

.daily-slot-mini:hover .daily-slot-mini-logo{
  transform:translateY(-1px) scale(1.06);
  filter:drop-shadow(0 0 10px rgba(76,191,255,.62));
}

.daily-slot-mini-label{
  margin-top:-1px;
  font-size:7px;
  line-height:1;
  letter-spacing:1.25px;
  font-weight:950;
}

/* Esconde o layout antigo dos três mini rolos caso fique em cache no HTML. */
.daily-slot-mini-reels{
  display:none !important;
}


/* ===================================================== */
/* MINI SLOT — 3 COLUNAS COM A MOEDA                     */
/* ===================================================== */
.daily-slot-mini{
  width:72px !important;
  min-width:72px !important;
  height:64px !important;
  padding:7px 7px 6px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
}

.daily-slot-mini-logo{
  display:none !important;
}

.daily-slot-mini-reels{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:3px !important;
  width:100% !important;
}

.daily-slot-mini-reels b{
  height:29px !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  border:1px solid rgba(63,162,230,.22) !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,#0d1e2e,#07121e) !important;
  box-shadow:
    inset 0 0 8px rgba(41,143,220,.10),
    0 0 7px rgba(44,157,235,.08) !important;
}

.daily-slot-mini-reels b img{
  width:24px !important;
  height:24px !important;
  max-width:24px !important;
  max-height:24px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 5px rgba(67,182,255,.32)) !important;
}

.daily-slot-mini:hover .daily-slot-mini-reels b img{
  filter:drop-shadow(0 0 7px rgba(80,195,255,.50)) !important;
}

.daily-slot-mini-label{
  margin-top:0 !important;
  font-size:7px !important;
  line-height:1 !important;
  letter-spacing:1.25px !important;
  font-weight:950 !important;
  text-align:center !important;
}


/* ===================================================== */
/* DAILY STREAK — NOVA IMAGEM dailys-coin.png            */
/* ===================================================== */
.daily-streak-mini-icon{
  overflow:hidden !important;
  padding:2px !important;
}

.daily-streak-mini-icon img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 6px rgba(76,190,255,.40)) !important;
}


/* ===================================================== */
/* MINI SLOT — 3 SÍMBOLOS DIFERENTES                     */
/* ===================================================== */
.daily-slot-mini-seven,
.daily-slot-mini-snow{
  color:#dff5ff !important;
  font-weight:950 !important;
  text-shadow:
    0 0 5px rgba(89,196,255,.65),
    0 0 10px rgba(45,150,230,.32) !important;
}

.daily-slot-mini-seven{
  font-size:18px !important;
  line-height:1 !important;
}

.daily-slot-mini-snow{
  font-size:15px !important;
  line-height:1 !important;
}



/* ===================================================== */
/* DAILY STREAK — COIN APENAS NOS PONTOS                 */
/* ===================================================== */

.streak-points-inline{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}

.streak-points-inline img{
  width:17px;
  height:17px;
  object-fit:contain;
  display:inline-block;
  filter:drop-shadow(0 0 5px rgba(75,190,255,.35));
}

.streak-bonus-spin{
  color:#75ceff;
  font-size:.72em;
  font-weight:900;
  white-space:nowrap;
}

.daily-streak-day strong{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:3px;
}

.streak-day-coin{
  width:10px;
  height:10px;
  object-fit:contain;
  display:inline-block;
  filter:drop-shadow(0 0 3px rgba(75,190,255,.28));
}


/* ===================================================== */
/* DAILY STREAK — MOEDA NO CÍRCULO DA RECOMPENSA DE HOJE */
/* ===================================================== */
.daily-streak-reward-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.daily-streak-reward-icon img{
  width:70% !important;
  height:70% !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 0 7px rgba(73,190,255,.42)) !important;
}

/* A recompensa de hoje fica novamente limpa: "150 PONTOS" */
.streak-points-inline img{
  display:none !important;
}


/* ===================================================== */
/* HEADER TWITCH — FOTO DE PERFIL                        */
/* ===================================================== */
.header-user-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:8px;
  object-fit:cover;
  display:block;
  border:1px solid rgba(157,103,255,.48);
  box-shadow:0 0 12px rgba(145,70,255,.18);
}

/* ===================================================== */
/* DAILY BADGE — VISIBILIDADE ROBUSTA                    */
/* ===================================================== */
.daily-streak-badge{
  display:none !important;
}

.daily-streak-badge.is-visible{
  display:grid !important;
}


/* ===================================================== */
/* TWITCH TOPO — ESTADO LOGIN ROBUSTO                    */
/* ===================================================== */
.header-twitch-login[hidden],
.header-twitch-user[hidden]{
  display:none !important;
}

.header-twitch-user:not([hidden]){
  display:inline-flex !important;
}

.header-user-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:block;
  object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(157,103,255,.48);
  box-shadow:0 0 12px rgba(145,70,255,.18);
}


/* ===================================================== */
/* STORE — REWARDS COM IMAGEM                            */
/* ===================================================== */
.store-page .store-rewards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.store-page .reward-card.reward-card-image {
  min-height: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  border-color: rgba(104, 167, 255, 0.18);
  background: linear-gradient(155deg, rgba(4, 13, 26, 0.96), rgba(2, 7, 15, 0.88));
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.20);
}

.store-page .reward-card.reward-card-image::before {
  width: 220px;
  height: 220px;
  right: -90px;
  top: -95px;
  border-color: rgba(71, 149, 255, 0.14);
  box-shadow: 0 0 80px rgba(45, 128, 255, 0.06);
  z-index: 0;
}

.reward-media {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: rgba(3, 10, 20, 0.75);
}

.reward-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 60%, rgba(2, 8, 17, 0.46) 100%);
}

.reward-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s cubic-bezier(.22,1,.36,1), filter .45s ease;
}

.reward-card-image:hover .reward-media img {
  transform: scale(1.035);
  filter: brightness(1.05);
}

.reward-card-image .reward-number {
  top: 16px;
  right: 17px;
  z-index: 4;
  min-width: 34px;
  height: 26px;
  padding: 0 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,0.13);
  border-radius: 999px;
  background: rgba(2, 8, 18, 0.62);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: rgba(255,255,255,0.68);
  font-size: 8px;
}

.reward-content {
  position: relative;
  z-index: 2;
  flex: 1;
  padding: 25px 25px 23px;
  display: flex;
  flex-direction: column;
}

.reward-card-image .reward-kicker {
  color: rgba(109, 179, 255, 0.72);
}

.reward-card-image h3 {
  margin-top: 7px;
  font-size: 23px;
  letter-spacing: -0.8px;
}

.reward-card-image p {
  min-height: 44px;
  margin-top: 10px;
  font-size: 10px;
  line-height: 1.6;
}

.reward-card-image .reward-bottom {
  margin-top: auto;
  padding-top: 18px;
}

.reward-card-image .reward-redeem {
  background: linear-gradient(180deg, #ffffff, #dfeeff);
  box-shadow: 0 8px 25px rgba(78, 151, 255, 0.10);
}

.store-page .reward-card.reward-card-image:hover {
  border-color: rgba(93, 164, 255, 0.34);
  box-shadow: 0 30px 80px rgba(0,0,0,0.28), 0 0 38px rgba(52, 131, 255, 0.05);
}

@media (max-width: 1100px) {
  .store-page .store-rewards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .store-page .store-rewards {
    grid-template-columns: 1fr;
  }

  .reward-content {
    padding: 22px;
  }
}

/* ===================================================== */
/* STORE 2026 — CATEGORIAS + ESTADOS DE RESGATE          */
/* ===================================================== */
.store-category-panel {
  margin: 18px 0 8px;
  padding: 16px 18px 17px;
  border: 1px solid rgba(111, 181, 255, 0.14);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(5, 13, 26, 0.70), rgba(2, 8, 17, 0.56));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.store-category-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.store-category-heading > span {
  color: rgba(255,255,255,0.88);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.8px;
}

.store-category-heading small {
  color: rgba(255,255,255,0.38);
  font-size: 9px;
  font-weight: 600;
}

.store-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.store-category {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  background: rgba(255,255,255,0.035);
  color: rgba(255,255,255,0.56);
  cursor: pointer;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .8px;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.store-category:hover {
  transform: translateY(-1px);
  color: #fff;
  border-color: rgba(108, 181, 255, 0.28);
}

.store-category.active {
  color: #07111f;
  border-color: rgba(255,255,255,0.92);
  background: linear-gradient(180deg, #ffffff 0%, #dceeff 100%);
  box-shadow: 0 8px 22px rgba(66, 148, 255, 0.14);
}

.reward-card[hidden] {
  display: none !important;
}

.store-page .reward-card-image .reward-redeem {
  min-width: 158px;
  padding: 0 13px;
  opacity: 1;
  white-space: nowrap;
}

.store-page .reward-card-image .reward-redeem:not(:disabled) {
  background: linear-gradient(180deg, #ffffff 0%, #e7f2ff 100%);
  color: #07101d;
  box-shadow: 0 8px 25px rgba(78, 151, 255, 0.13);
}

.store-page .reward-card-image .reward-redeem.is-insufficient,
.store-page .reward-card-image .reward-redeem.is-guest,
.store-page .reward-card-image .reward-redeem:disabled {
  opacity: 1;
  transform: none;
  cursor: not-allowed;
  background: linear-gradient(180deg, rgba(116,123,135,.42), rgba(76,82,94,.42));
  color: rgba(255,255,255,.45);
  box-shadow: none;
}

/* ===================================================== */
/* MODAL / QUESTIONÁRIO DE RESGATE                       */
/* ===================================================== */
body.redeem-modal-open {
  overflow: hidden;
}

.redeem-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.redeem-modal.open {
  display: flex;
}

.redeem-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 4, 10, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  animation: redeemFadeIn .18s ease both;
}

.redeem-dialog {
  position: relative;
  z-index: 2;
  width: min(540px, 100%);
  max-height: min(780px, calc(100vh - 32px));
  overflow-y: auto;
  border: 1px solid rgba(99, 176, 255, 0.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 86% 0%, rgba(58, 145, 255, 0.10), transparent 32%),
    linear-gradient(165deg, rgba(13, 20, 34, 0.99), rgba(8, 12, 22, 0.99));
  box-shadow: 0 35px 120px rgba(0,0,0,.60), 0 0 70px rgba(48,132,255,.08);
  animation: redeemDialogIn .22s cubic-bezier(.22,1,.36,1) both;
}

.redeem-close {
  position: absolute;
  top: 13px;
  right: 14px;
  z-index: 4;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: rgba(255,255,255,.58);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  transition: color .2s ease, background .2s ease;
}

.redeem-close:hover {
  color: #fff;
  background: rgba(255,255,255,.06);
}

.redeem-head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px 54px 22px 24px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.redeem-head img {
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  object-fit: cover;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 12px;
  background: #07101d;
}

.redeem-head h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.3px;
}

.redeem-cost {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #80c3ff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.redeem-coin {
  width: 14px;
  height: 14px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: #80c3ff;
  color: #07101d;
  font-size: 6px;
  box-shadow: 0 0 14px rgba(87,171,255,.36);
}

.redeem-balance-box {
  padding: 17px 24px 18px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.redeem-balance-box > div {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  font-weight: 600;
}

.redeem-balance-box strong {
  color: rgba(255,255,255,.88);
  font-size: 12px;
  font-weight: 900;
}

.redeem-balance-box .redeem-balance-after {
  margin-top: 5px;
  padding-top: 8px;
}

.redeem-balance-box .redeem-balance-after strong {
  color: #80c3ff;
}

.redeem-form {
  padding: 22px 24px 24px;
}

.redeem-field-label {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
  color: rgba(255,255,255,.76);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .7px;
}

.redeem-field-label small {
  color: rgba(255,255,255,.38);
  font-size: 8px;
  font-weight: 800;
}

.redeem-label-icon {
  color: #80c3ff;
  font-size: 12px;
}

.redeem-input-wrap {
  padding: 3px;
  border: 1px solid rgba(113,183,255,.58);
  border-radius: 12px;
  background: rgba(83,157,255,.07);
  box-shadow: 0 0 0 1px rgba(92,172,255,.08);
  transition: border-color .2s ease, box-shadow .2s ease;
}

.redeem-input-wrap:focus-within {
  border-color: #8dcbff;
  box-shadow: 0 0 0 2px rgba(100,181,255,.18), 0 0 24px rgba(59,149,255,.09);
}

.redeem-input-wrap.invalid {
  border-color: rgba(255, 96, 115, .82);
  box-shadow: 0 0 0 2px rgba(255, 96, 115, .10);
}

.redeem-input-wrap input {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  border: 0;
  outline: 0;
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: #fff;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
}

.redeem-input-wrap input::placeholder {
  color: rgba(255,255,255,.32);
}

.redeem-help {
  margin-top: 8px;
  color: rgba(255,255,255,.38);
  font-size: 9px;
  line-height: 1.55;
}

.redeem-field-error {
  margin-top: 7px;
  color: #ff8291;
  font-size: 9px;
  font-weight: 700;
}

.redeem-partner-group {
  margin-top: 20px;
}

.redeem-partner-group[hidden] {
  display: none !important;
}

.redeem-partners {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.redeem-partners label {
  position: relative;
}

.redeem-partners input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.redeem-partners span {
  min-height: 34px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 9px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.72);
  cursor: pointer;
  font-size: 9px;
  font-weight: 900;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.redeem-partners input:checked + span {
  border-color: rgba(128,195,255,.82);
  background: rgba(96,174,255,.14);
  color: #fff;
  box-shadow: 0 0 20px rgba(65,155,255,.08);
}

.redeem-form-status {
  min-height: 18px;
  margin-top: 16px;
  color: rgba(255,255,255,.44);
  font-size: 9px;
  font-weight: 700;
  line-height: 1.4;
}

.redeem-form-status.error {
  color: #ff8291;
}

.redeem-form-status.success {
  color: #80c3ff;
}

.redeem-confirm {
  width: 100%;
  height: 48px;
  margin-top: 4px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff 0%, #e4f1ff 100%);
  color: #07101d;
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .5px;
  box-shadow: 0 10px 30px rgba(70,154,255,.12);
  transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

.redeem-confirm:hover:not(:disabled) {
  transform: translateY(-1px);
}

.redeem-confirm:disabled {
  cursor: not-allowed;
  color: rgba(255,255,255,.34);
  background: rgba(107,113,124,.28);
  box-shadow: none;
  transform: none;
}

@keyframes redeemFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes redeemDialogIn {
  from { opacity: 0; transform: translateY(10px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 700px) {
  .store-category-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .store-categories {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  .store-category {
    flex: 0 0 auto;
  }

  .store-page .reward-card-image .reward-redeem {
    min-width: 0;
    width: 100%;
  }

  .redeem-modal {
    padding: 10px;
    align-items: flex-end;
  }

  .redeem-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    border-radius: 18px 18px 12px 12px;
  }

  .redeem-head,
  .redeem-balance-box,
  .redeem-form {
    padding-left: 18px;
    padding-right: 18px;
  }

  .redeem-head img {
    width: 70px;
    height: 70px;
    flex-basis: 70px;
  }
}

.store-page .reward-card-image .reward-redeem.is-insufficient {
  min-width: 174px;
  font-size: 7px;
  letter-spacing: .6px;
}

/* ===================================================== */
/* REDEEM — TELEGRAM + DISCORD                           */
/* ===================================================== */
.redeem-field-label-secondary{
  margin-top:18px;
}

.redeem-label-icon-discord{
  width:16px;
  height:16px;
  display:inline-grid;
  place-items:center;
  border-radius:5px;
  background:rgba(88,101,242,.13);
  color:#9aa7ff;
  font-size:10px;
  font-weight:950;
}

.redeem-help-contacts{
  margin-top:14px;
  padding:11px 12px;
  border:1px solid rgba(111,188,255,.11);
  border-radius:10px;
  background:rgba(90,168,255,.045);
  line-height:1.6;
}

/* ===================================================== */
/* STORE — AÇÕES DA CONTA / MEUS RESGATES                */
/* ===================================================== */
.store-account-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

.store-redemptions-button,
.store-logout{
  min-width:110px;
  height:42px;
  padding:0 15px;
  border-radius:8px;
  cursor:pointer;
  font-size:14px;
  font-weight:900;
  letter-spacing:.8px;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}

.store-redemptions-button{
  border:1px solid rgba(101,181,255,.30);
  background:rgba(82,161,255,.10);
  color:#9dd4ff;
}

.store-redemptions-button:hover{
  transform:translateY(-1px);
  border-color:rgba(123,197,255,.50);
  background:rgba(82,161,255,.16);
  color:#fff;
}

@media (max-width:900px){
  .store-account-actions{width:100%;}
  .store-redemptions-button,.store-logout{flex:1;width:auto;}
}

/* ===================================================== */
/* MEUS RESGATES — MODAL                                 */
/* ===================================================== */
body.redemptions-modal-open,
body.notifications-modal-open{
  overflow:hidden;
}

.redemptions-modal{
  position:fixed;
  inset:0;
  z-index:13000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.redemptions-modal.open{display:flex;}

.redemptions-modal-backdrop,
.notifications-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,4,10,.80);
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
}

.redemptions-dialog{
  position:relative;
  z-index:2;
  width:min(720px,100%);
  max-height:min(780px,calc(100vh - 36px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(94,174,255,.28);
  border-radius:18px;
  background:radial-gradient(circle at 90% 0%,rgba(60,148,255,.10),transparent 32%),linear-gradient(165deg,rgba(11,20,34,.995),rgba(6,11,20,.995));
  box-shadow:0 36px 120px rgba(0,0,0,.62),0 0 60px rgba(48,132,255,.07);
  animation:redeemDialogIn .22s cubic-bezier(.22,1,.36,1) both;
}

.redemptions-close,
.notifications-close{
  position:absolute;
  top:14px;
  right:14px;
  z-index:4;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:transparent;
  color:rgba(255,255,255,.58);
  cursor:pointer;
  font-size:24px;
}

.redemptions-close:hover,
.notifications-close:hover{
  color:#fff;
  background:rgba(255,255,255,.06);
}

.redemptions-head{
  padding:27px 58px 22px 26px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.redemptions-head>span,
.notifications-dialog-head>span{
  color:#72bfff;
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
}

.redemptions-head h2,
.notifications-dialog-head h2{
  margin:8px 0 8px;
  color:#fff;
  font-size:32px;
  font-weight:950;
  letter-spacing:-.8px;
}

.redemptions-head p{
  color:rgba(255,255,255,.42);
  font-size:9px;
  line-height:1.55;
}

.redemptions-list{
  overflow-y:auto;
  padding:14px;
  display:grid;
  gap:10px;
}

.redemption-history-item{
  padding:17px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:13px;
  background:rgba(255,255,255,.025);
}

.redemption-history-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.redemption-history-kicker{
  display:block;
  margin-bottom:5px;
  color:rgba(118,195,255,.65);
  font-size:7px;
  font-weight:900;
  letter-spacing:1.2px;
}

.redemption-history-item h3{
  margin:0;
  color:#fff;
  font-size:13px;
  font-weight:900;
}

.redemption-status{
  flex:0 0 auto;
  min-height:25px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  font-size:7px;
  font-weight:950;
  letter-spacing:.55px;
  text-transform:uppercase;
}
.redemption-status.pending{color:#ffd36d;border-color:rgba(255,202,88,.25);background:rgba(255,190,58,.07);}
.redemption-status.contacting{color:#9fd7ff;border-color:rgba(97,185,255,.27);background:rgba(67,157,255,.07);}
.redemption-status.processing{color:#b99cff;border-color:rgba(154,116,255,.28);background:rgba(139,89,255,.08);}
.redemption-status.completed{color:#7ee8ad;border-color:rgba(75,219,137,.25);background:rgba(52,190,116,.08);}
.redemption-status.cancelled{color:#ff8e9b;border-color:rgba(255,95,117,.25);background:rgba(255,70,93,.07);}

.redemption-history-meta,
.redemption-history-contacts{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 18px;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.06);
  color:rgba(255,255,255,.42);
  font-size:8px;
}

.redemption-history-meta b{color:#8dcbff;}
.redemption-history-contacts{margin-top:9px;padding-top:0;border-top:0;}
.redemption-history-contacts b{color:rgba(255,255,255,.74);}

.redemptions-loading,
.redemptions-empty{
  min-height:200px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:rgba(255,255,255,.40);
  font-size:10px;
}
.redemptions-loading.error{color:#ff8e9b;}
.redemptions-empty span{font-size:28px;margin-bottom:12px;}
.redemptions-empty strong{color:#fff;font-size:10px;}
.redemptions-empty p{max-width:340px;margin-top:7px;font-size:9px;line-height:1.55;}

/* ===================================================== */
/* HEADER — CENTRO DE NOTIFICAÇÕES                       */
/* ===================================================== */
.header-twitch{
  display:flex;
  align-items:center;
  gap:8px;
}

.header-notifications{
  position:relative;
  flex:0 0 auto;
}

.header-notifications[hidden]{display:none!important;}

.notification-bell{
  position:relative;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.10);
  border-radius:10px;
  background:rgba(10,15,26,.82);
  color:rgba(255,255,255,.74);
  cursor:pointer;
  transition:.2s ease;
}

.notification-bell:hover,
.notification-bell[aria-expanded="true"]{
  color:#fff;
  border-color:rgba(113,188,255,.32);
  background:rgba(69,149,255,.10);
}

.notification-bell svg{width:18px!important;height:18px!important;}

.notification-badge{
  position:absolute;
  top:-6px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border:2px solid #06101b;
  border-radius:999px;
  background:#58c6ff;
  color:#02101a;
  font-size:8px;
  font-weight:950;
  line-height:1;
  box-shadow:0 0 13px rgba(70,190,255,.65);
}
.notification-badge[hidden]{display:none!important;}

.notification-popover{
  position:absolute;
  top:48px;
  right:0;
  width:344px;
  overflow:hidden;
  border:1px solid rgba(88,198,255,.34);
  border-radius:14px;
  background:linear-gradient(165deg,rgba(9,24,39,.995),rgba(5,12,22,.995));
  box-shadow:0 24px 70px rgba(0,0,0,.56),0 0 38px rgba(70,190,255,.09);
}
.notification-popover[hidden]{display:none!important;}

.notification-popover-head{
  min-height:52px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(88,198,255,.12);
}
.notification-popover-head strong{color:#fff;font-size:17px;font-weight:900;}
.notification-popover-head button,
.notifications-dialog-head button{
  border:0;
  background:transparent;
  color:#58c6ff;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
}

.notification-list{
  max-height:324px;
  overflow-y:auto;
}

.notification-item{
  position:relative;
  min-height:96px;
  padding:16px 40px 16px 16px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  border-bottom:1px solid rgba(255,255,255,.055);
  background:rgba(255,255,255,.012);
}
.notification-item.unread{background:rgba(88,198,255,.075);}
.notification-item:last-child{border-bottom:0;}

.notification-item-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.035);
  font-size:20px;
}
.notification-item.points .notification-item-icon{background:rgba(88,198,255,.07);}
.notification-item.redemption .notification-item-icon{background:rgba(98,179,255,.07);}
.notification-item.update .notification-item-icon{background:rgba(88,198,255,.08);color:#7fd5ff;font-weight:950;}
.notification-item-icon img{width:28px!important;height:28px!important;object-fit:contain;filter:drop-shadow(0 0 5px rgba(91,191,255,.28));}
.notification-item-icon svg{width:24px!important;height:24px!important;display:block;color:#79d2ff;filter:drop-shadow(0 0 6px rgba(91,191,255,.32));}
.notification-item-icon-text{display:inline-flex;align-items:center;justify-content:center;font-size:16px;line-height:1;font-weight:900;color:#79d2ff;letter-spacing:-.5px;text-shadow:0 0 8px rgba(91,191,255,.28);}
.notification-live-symbol{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;}
.notification-live-symbol>span{width:11px;height:11px;border-radius:50%;background:#ff3b3b;box-shadow:0 0 0 4px rgba(255,59,59,.12),0 0 12px rgba(255,59,59,.58);animation:notificationLivePulse 1.15s ease-in-out infinite;}
@keyframes notificationLivePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.28;transform:scale(.72)}}

.notification-item-copy{min-width:0;}
.notification-item-copy strong{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:900;
  line-height:1.28;
}
.notification-item-copy p{
  margin-top:6px;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.48;
}
.notification-item-copy span{display:block;margin-top:6px;color:rgba(255,255,255,.34);font-size:10px;font-weight:700;}
.notification-unread-dot{
  position:absolute;
  right:14px;
  top:50%;
  width:9px;
  height:9px;
  transform:translateY(-50%);
  border-radius:50%;
  background:#58c6ff;
  box-shadow:0 0 12px rgba(70,190,255,.65);
}

.notification-footer-button{
  width:100%;
  height:50px;
  border:0;
  border-top:1px solid rgba(88,198,255,.12);
  background:rgba(88,198,255,.055);
  color:#58c6ff;
  cursor:pointer;
  font-size:12px;
  font-weight:900;
}
.notification-footer-button:hover{background:rgba(88,198,255,.11);}
.notification-empty{padding:30px 16px;text-align:center;color:rgba(255,255,255,.35);font-size:14px;}
.notification-empty.large{padding:80px 20px;}

/* ===================================================== */
/* TODAS AS NOTIFICAÇÕES — MODAL                         */
/* ===================================================== */
.notifications-modal{
  position:fixed;
  inset:0;
  z-index:16000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.notifications-modal.open{display:flex;}
.notifications-dialog{
  position:relative;
  z-index:2;
  width:min(680px,100%);
  max-height:min(800px,calc(100vh - 36px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(111,177,255,.25);
  border-radius:18px;
  background:linear-gradient(165deg,rgba(9,24,39,.995),rgba(5,12,22,.995));
  box-shadow:0 35px 120px rgba(0,0,0,.65),0 0 50px rgba(70,190,255,.08);
}
.notifications-dialog-head{
  position:relative;
  padding:28px 56px 24px 24px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.notifications-dialog-head button{
  position:absolute;
  right:56px;
  bottom:23px;
}
.notification-all-list{
  overflow-y:auto;
  padding:10px;
}
.notification-all-list .notification-item{
  min-height:104px;
  margin-bottom:7px;
  border:1px solid rgba(255,255,255,.06);
  border-radius:11px;
}
.notification-all-list .notification-item-copy p{-webkit-line-clamp:3;}


/* NOTIFICAÇÕES — tipografia maior para melhor leitura */
.notification-popover-head{min-height:58px;padding:0 16px;}
.notification-item{min-height:84px;padding:14px 38px 14px 14px;grid-template-columns:40px minmax(0,1fr);gap:12px;}
.notification-item-icon{width:38px;height:38px;font-size:18px;}
.notification-item-icon img{width:24px!important;height:24px!important;}
.notification-item-icon svg{width:22px!important;height:22px!important;}
.notification-item-icon-text{font-size:15px;}
.notification-all-list .notification-item{min-height:92px;padding:16px 42px 16px 16px;}
.notification-all-list .notification-item-copy strong{font-size:14px;}
.notification-all-list .notification-item-copy p{font-size:11px;line-height:1.55;}
.notification-all-list .notification-item-copy span{font-size:9px;}
.notifications-dialog-head>span{font-size:11px;}
.notifications-dialog-head h2{font-size:34px;}
.notifications-dialog-head button{font-size:10px;}

/* ===================================================== */
/* TOASTS                                                */
/* ===================================================== */
.site-toast-stack{
  position:fixed;
  z-index:18000;
  right:20px;
  top:88px;
  width:min(360px,calc(100vw - 28px));
  display:grid;
  gap:9px;
  pointer-events:none;
}
.site-toast{
  padding:14px;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:11px;
  border:1px solid rgba(101,184,255,.26);
  border-radius:12px;
  background:rgba(9,17,29,.97);
  box-shadow:0 18px 55px rgba(0,0,0,.50);
  opacity:0;
  transform:translateY(-8px) scale(.98);
  transition:.24s ease;
}
.site-toast.show{opacity:1;transform:translateY(0) scale(1);}
.site-toast-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(72,182,123,.10);
  color:#7ee8ad;
  font-weight:950;
}
.site-toast strong{display:block;color:#fff;font-size:10px;font-weight:900;}
.site-toast p{margin-top:4px;color:rgba(255,255,255,.48);font-size:8px;line-height:1.5;}

@media(max-width:700px){
  .redemptions-modal,.notifications-modal{padding:10px;align-items:flex-end;}
  .redemptions-dialog,.notifications-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:18px 18px 12px 12px;}
  .redemption-history-top{gap:9px;}
  .redemption-history-item h3{font-size:11px;}
  .notifications-dialog-head button{position:static;margin-top:8px;padding:0;font-size:12px;}
  .notification-popover{position:fixed;top:72px;right:10px;left:10px;width:auto;}
  .site-toast-stack{right:10px;top:80px;width:calc(100vw - 20px);}
}


/* ===================================================== */
/* HEADER — CONTA + CORVO POINTS, VERSÃO MINIMALISTA     */
/* ===================================================== */
.header-twitch-user,
.header-twitch-user:not([hidden]){
  min-width:0 !important;
  max-width:none !important;
  height:38px !important;
  padding:2px 4px !important;
  gap:8px !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  box-shadow:none !important;
}
.header-twitch-user:hover{
  border:0 !important;
  background:rgba(88,198,255,.06) !important;
  box-shadow:none !important;
}
.header-twitch-user .header-user-avatar{
  width:32px !important;
  height:32px !important;
  min-width:32px !important;
  max-width:32px !important;
  min-height:32px !important;
  max-height:32px !important;
  flex:0 0 32px !important;
  border:0 !important;
  border-radius:9px !important;
  box-shadow:none !important;
}
.header-points-compact{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:950 !important;
  letter-spacing:.25px !important;
  line-height:1 !important;
}
.header-points-coin{
  width:19px !important;
  height:19px !important;
  max-width:19px !important;
  max-height:19px !important;
  flex:0 0 19px !important;
  object-fit:contain !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 5px rgba(88,198,255,.25));
}

/* ===================================================== */
/* DAILY SLOT — BADGE AZUL QUANDO HÁ JOGADA DISPONÍVEL   */
/* ===================================================== */
.daily-slot-mini{position:relative !important;}
.daily-slot-badge{
  position:absolute;
  top:-5px;
  right:-5px;
  width:18px;
  height:18px;
  display:none;
  place-items:center;
  border:2px solid #06101b;
  border-radius:50%;
  background:#58c6ff;
  color:#02101a;
  font-size:8px;
  font-weight:950;
  line-height:1;
  box-shadow:0 0 13px rgba(70,190,255,.65);
  z-index:5;
}
.daily-slot-badge.is-visible{display:grid !important;}
.daily-slot-mini.available{
  border-color:rgba(88,198,255,.48) !important;
  box-shadow:0 0 24px rgba(70,190,255,.12), inset 0 0 18px rgba(70,190,255,.04) !important;
}

/* =========================================================
   MINI-JOGOS / BLACKJACK — TEMA AZUL GONCALOTSILVA
   ========================================================= */
.minigames-page,
.blackjack-page {
  background-color: #020711;
}

.minigames-page nav a.active,
.blackjack-page nav a.active {
  color: #fff;
  text-shadow: 0 0 14px rgba(73, 183, 255, .7);
}
.minigames-page nav a.active::after,
.blackjack-page nav a.active::after { width: 100%; }

.minigames-main {
  width: min(1240px, 90%);
  margin: 0 auto;
  padding: 145px 0 90px;
  position: relative;
  z-index: 2;
}
.minigames-hero { text-align: center; margin-bottom: 48px; }
.minigames-eyebrow,
.blackjack-eyebrow {
  display: inline-flex;
  padding: 8px 14px;
  border: 1px solid rgba(77, 185, 255, .5);
  border-radius: 999px;
  color: #75c9ff;
  background: rgba(35, 135, 200, .08);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.8px;
}
.minigames-hero h1 {
  margin-top: 18px;
  font-size: clamp(38px, 5vw, 66px);
  line-height: .98;
  letter-spacing: -2.5px;
  font-weight: 900;
}
.minigames-hero p { margin-top: 16px; color: #93a9bf; font-size: 15px; }
.minigames-safety-note {
  width: fit-content;
  max-width: 690px;
  margin: 22px auto 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  border: 1px solid rgba(77, 185, 255, .18);
  border-radius: 14px;
  background: rgba(8, 24, 40, .72);
  color: #83a5bf;
}
.minigames-safety-note span { color: #65c7ff; font-weight: 900; }
.minigames-safety-note p { margin: 0; font-size: 12px; }

.minigame-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.minigame-card {
  overflow: hidden;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(79, 177, 237, .2);
  background: linear-gradient(180deg, rgba(9, 25, 42, .96), rgba(4, 13, 25, .98));
  box-shadow: 0 25px 60px rgba(0,0,0,.34);
}
.minigame-card-visual {
  height: 250px;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(79, 177, 237, .14);
  background:
    radial-gradient(circle at 50% 24%, rgba(68, 179, 255, .18), transparent 34%),
    linear-gradient(145deg, #071526, #03101d 70%);
}
.minigame-card-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(0,0,0,.3));
  pointer-events: none;
}
.minigame-banner-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.minigame-live-pill,
.minigame-soon-pill {
  position: absolute;
  right: 15px;
  top: 15px;
  z-index: 4;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1px;
}
.minigame-live-pill { color: #a9e3ff; border: 1px solid rgba(70, 195, 255, .38); background: rgba(31, 141, 206, .15); }
.minigame-soon-pill { color: #788899; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.08); }
.blackjack-visual { display: flex; align-items: center; justify-content: center; }
.bj-card-preview {
  width: 112px; height: 160px; position: absolute; border-radius: 12px;
  display: flex; flex-direction: column; padding: 14px;
  background: #f7fbff; color: #09111b; border: 1px solid #fff;
  box-shadow: 0 20px 45px rgba(0,0,0,.48), 0 0 30px rgba(82,190,255,.18);
  font-size: 30px; font-weight: 900;
}
.bj-card-preview b { font-size: 38px; margin: auto; }
.bj-card-preview-one { transform: rotate(-11deg) translateX(-40px); }
.bj-card-preview-two { transform: rotate(9deg) translateX(45px); color: #d74b59; }
.crash-line {
  position: absolute; width: 270px; height: 130px; left: 50%; bottom: 28px;
  transform: translateX(-50%) rotate(-3deg); border-top: 4px solid #62caff; border-radius: 50% 60% 0 0;
  box-shadow: 0 -5px 28px rgba(81, 194, 255, .42);
}
.crash-rocket { position: absolute; left: 66%; top: 28%; font-size: 54px; transform: rotate(-42deg); filter: drop-shadow(0 0 18px rgba(75,190,255,.45)); }
.mines-visual { display: grid; place-items: center; }
.mines-preview-grid { width: 205px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mines-preview-grid i { aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(105,190,245,.16); border-radius: 10px; background: #0d2135; color: #5fc6ff; font-style: normal; font-size: 24px; box-shadow: inset 0 0 20px rgba(75,170,230,.03); }
.mines-preview-grid .gem { background: rgba(50, 168, 232, .15); text-shadow: 0 0 14px #49c3ff; }
.mines-preview-grid .mine { color: #8193a5; }
.minigame-card-content { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.minigame-kicker { color: #6fc8ff; font-size: 9px; font-weight: 900; letter-spacing: 1.7px; }
.minigame-card h2 { margin-top: 9px; font-size: 25px; font-weight: 900; }
.minigame-card p { min-height: 63px; margin-top: 10px; margin-bottom: 18px; color: #91a7bd; font-size: 13px; line-height: 1.62; }
.minigame-card p + .minigame-play-btn { margin-top: auto; }
.minigame-play-btn {
  width: 100%; min-height: 48px; margin-top: auto; display: flex; align-items: center; justify-content: center;
  border-radius: 11px; border: 1px solid rgba(93, 196, 255, .28); background: linear-gradient(180deg, #eaf7ff, #d6efff);
  color: #06101a; font-size: 11px; font-weight: 900; letter-spacing: 1px; cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.minigame-play-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(63, 181, 255, .18); }
.minigame-play-btn:disabled { background: rgba(255,255,255,.05); color: #596b7d; border-color: rgba(255,255,255,.06); cursor: default; }

/* BLACKJACK */
.blackjack-main { width: min(1500px, 96%); margin: 0 auto; padding: 112px 0 50px; position: relative; z-index: 2; }
.blackjack-titlebar { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 0 2px; }
.blackjack-back { display: block; width: fit-content; margin-bottom: 13px; color: #6f8ca5; font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.blackjack-titlebar h1 { margin-top: 8px; font-size: 38px; line-height: 1; font-weight: 900; letter-spacing: -1.5px; }
.blackjack-wallet {
  min-width: 190px;
  padding: 11px 15px;
  border-radius: 14px;
  border: 1px solid rgba(80, 187, 250, .18);
  background: rgba(6, 20, 34, .72);
  text-align: right;
}
.blackjack-wallet > span {
  display: block;
  color: #6b9ab8;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.4px;
}
.blackjack-wallet > div {
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.blackjack-wallet strong {
  color: #fff;
  font-size: 25px;
  line-height: 1;
  font-weight: 900;
}
.blackjack-wallet img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.blackjack-shell {
  min-height: 720px; display: grid; grid-template-columns: 300px minmax(520px, 1fr) 285px;
  border: 1px solid rgba(75, 172, 230, .18); border-radius: 20px; overflow: hidden;
  background: rgba(5, 15, 27, .9); box-shadow: 0 30px 80px rgba(0,0,0,.38);
}
.blackjack-controls,
.blackjack-history-panel { padding: 24px; background: linear-gradient(180deg, rgba(11,28,46,.94), rgba(6,18,31,.96)); }
.blackjack-controls { border-right: 1px solid rgba(100, 190, 245, .12); }
.blackjack-history-panel { border-left: 1px solid rgba(100, 190, 245, .12); }
.bj-control-block { padding: 16px; border-radius: 14px; border: 1px solid rgba(106, 190, 240, .12); background: rgba(255,255,255,.025); }
.bj-control-label { color: #6f91aa; font-size: 9px; font-weight: 900; letter-spacing: 1px; }
.bj-bet-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 12px; }
.bj-bet-row button,
.bj-bet-input-wrap button,
.bj-action-grid button {
  min-height: 40px; border-radius: 10px; border: 1px solid rgba(111, 194, 244, .13); background: #102438; color: #d9eafa; font-weight: 900; cursor: pointer;
}
.bj-bet-row button:hover:not(:disabled), .bj-bet-input-wrap button:hover:not(:disabled), .bj-action-grid button:hover:not(:disabled) { border-color: rgba(89, 192, 252, .45); background: #14304a; }
.bj-bet-row button:disabled, .bj-bet-input-wrap button:disabled, .bj-action-grid button:disabled { opacity: .35; cursor: default; }
.bj-bet-input-wrap { display: grid; grid-template-columns: 44px 1fr 54px; gap: 7px; margin-top: 8px; }
.bj-bet-input-wrap input { width: 100%; border: 1px solid rgba(111,194,244,.15); border-radius: 10px; background: #081827; color: #fff; text-align: center; font-size: 14px; font-weight: 900; outline: none; }
.bj-bet-input-wrap input:focus { border-color: #50bfff; box-shadow: 0 0 0 3px rgba(68,182,246,.08); }
.bj-control-help { margin-top: 9px; color: #526f85; font-size: 9px; line-height: 1.45; }
.bj-primary-action { width: 100%; min-height: 50px; margin-top: 14px; border: 0; border-radius: 11px; background: linear-gradient(180deg, #dff4ff, #c5eaff); color: #06101b; font-size: 11px; font-weight: 900; letter-spacing: .8px; cursor: pointer; }
.bj-primary-action:disabled { opacity: .35; cursor: default; }
.bj-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.bj-action-grid #doubleBtn { grid-column: 1 / -1; }
.bj-message { min-height: 76px; margin-top: 14px; padding: 14px; border-radius: 12px; border: 1px solid rgba(108, 189, 239, .12); background: rgba(4,14,25,.55); color: #8ba6ba; font-size: 11px; line-height: 1.55; }
.bj-message.is-win { color: #8fe1b1; border-color: rgba(76, 211, 133, .22); }
.bj-message.is-loss { color: #ef9eaa; border-color: rgba(232, 89, 113, .2); }
.bj-message.is-push { color: #b8c7d4; }
.bj-reset-chips { width: 100%; margin-top: 10px; border: 0; background: transparent; color: #4f7895; font-size: 8px; font-weight: 900; letter-spacing: .7px; cursor: pointer; padding: 8px; }
.bj-rules-mini { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.06); }
.bj-rules-mini strong { color: #6ea9cd; font-size: 9px; letter-spacing: 1px; }
.bj-rules-mini p { margin-top: 7px; color: #506b80; font-size: 9px; line-height: 1.55; }

.blackjack-table {
  position: relative;
  min-height: 720px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 52px 40px 42px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(55, 168, 214, .16), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(48, 145, 201, .18), transparent 42%),
    linear-gradient(180deg, #1b5d3f 0%, #13603e 22%, #115436 54%, #0d3426 100%);
}
.blackjack-table::before {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  top: 22px;
  bottom: 16px;
  border: 2px solid rgba(235, 215, 154, .38);
  border-radius: 46% 46% 20px 20px / 30% 30% 20px 20px;
  pointer-events: none;
}
.blackjack-table::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .12;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.028) 1px, transparent 1px);
  background-size: 36px 36px;
}
.bj-table-rail {
  position: absolute;
  inset: 0;
  border-radius: 0 0 22px 22px;
  pointer-events: none;
}
.bj-table-rail::before {
  content: "";
  position: absolute;
  left: -5%;
  right: -5%;
  top: -17%;
  height: 47%;
  border-radius: 0 0 52% 52% / 0 0 100% 100%;
  background: linear-gradient(180deg, #80522f, #57341f 38%, #382219 100%);
  box-shadow: inset 0 -10px 18px rgba(0,0,0,.35), 0 26px 40px rgba(0,0,0,.28);
}
.bj-table-rail::after {
  content: "";
  position: absolute;
  left: 3%;
  right: 3%;
  top: 2.5%;
  height: 12%;
  border-radius: 0 0 999px 999px / 0 0 100% 100%;
  background: linear-gradient(180deg, #2e261f, #191513);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -8px 12px rgba(0,0,0,.34);
}
.bj-table-glow { position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 120px rgba(0,0,0,.24); }
.bj-chip-rack {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(11,15,18,.68);
  border: 1px solid rgba(255,255,255,.08);
  z-index: 1;
}
.bj-chip-rack span { width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 2px rgba(255,255,255,.16), 0 3px 6px rgba(0,0,0,.2); }
.bj-chip-rack span:nth-child(1){background:#c63a45;} .bj-chip-rack span:nth-child(2){background:#2f9d5c;} .bj-chip-rack span:nth-child(3){background:#101418;} .bj-chip-rack span:nth-child(4){background:#7147b6;} .bj-chip-rack span:nth-child(5){background:#f2f2f2;} .bj-chip-rack span:nth-child(6){background:#c63a45;}
.bj-card-shoe {
  position: absolute;
  right: 56px;
  top: 44px;
  width: 84px;
  height: 108px;
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(209,221,226,.95), rgba(116,134,144,.95));
  transform: rotate(14deg);
  box-shadow: 0 12px 24px rgba(0,0,0,.28);
  z-index: 1;
}
.bj-card-shoe::before {
  content: "";
  position: absolute;
  inset: 8px 8px 28px 8px;
  border-radius: 6px;
  background: repeating-linear-gradient(180deg, #f6f7f8 0 3px, #d9dde1 3px 4px);
}
.bj-card-shoe::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 8px;
  height: 18px;
  border-radius: 6px;
  background: linear-gradient(145deg, #5cb3df, #2e678d);
}
.bj-sidebet {
  position: absolute;
  top: 184px;
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 2px solid rgba(235, 215, 154, .55);
  border-radius: 50%;
  color: rgba(236, 218, 156, .92);
  background: rgba(0,0,0,.08);
  z-index: 1;
}
.bj-sidebet-left { left: 44px; }
.bj-sidebet-right { right: 44px; }
.bj-sidebet small { display:block; font-size: 8px; line-height:1.2; letter-spacing:.9px; }
.bj-sidebet strong { display:block; font-size: 18px; line-height:1; margin-top:2px; }
.bj-pays-text {
  position: absolute;
  left: 50%;
  top: 170px;
  transform: translateX(-50%);
  width: min(78%, 720px);
  text-align: center;
  color: rgba(233, 213, 151, .88);
  z-index: 1;
  text-transform: uppercase;
}
.bj-pays-text strong,
.bj-pays-text em {
  display: block;
  font-style: normal;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: 1.5px;
}
.bj-pays-text strong { font-size: clamp(18px, 2vw, 24px); }
.bj-pays-text span { display:block; margin-top: 6px; color: rgba(237,224,177,.82); font-family: Georgia, 'Times New Roman', serif; font-size: clamp(12px, 1.1vw, 16px); text-transform:none; }
.bj-pays-text em { margin-top: 8px; font-size: clamp(16px, 1.6vw, 22px); }
.bj-bet-spots {
  position: absolute;
  left: 50%;
  bottom: 42px;
  transform: translateX(-50%);
  width: min(76%, 760px);
  height: 190px;
  pointer-events: none;
  z-index: 1;
}
.bj-bet-spot {
  position: absolute;
  bottom: 8px;
  width: 132px;
  height: 132px;
  border: 2px solid rgba(235, 215, 154, .42);
  border-radius: 50%;
  box-shadow: inset 0 0 0 12px rgba(16,56,39,.2);
}
.bj-bet-spot::before,
.bj-bet-spot::after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(235, 215, 154, .18);
  border-radius: 50%;
}
.bj-bet-spot::after { inset: 24px; }
.bj-bet-spot span {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1px;
  color: rgba(235, 215, 154, .8);
}
.bj-bet-spot.left { left: 6%; bottom: 32px; }
.bj-bet-spot.center { left: 50%; transform: translateX(-50%); width: 170px; height: 170px; bottom: 0; }
.bj-bet-spot.right { right: 6%; bottom: 32px; }
.bj-dealer-zone, .bj-player-zone { position: relative; z-index: 2; min-height: 225px; display: flex; flex-direction: column; align-items: center; }
.bj-dealer-zone { padding-top: 120px; }
.bj-player-zone { padding-bottom: 105px; }
.bj-zone-heading { display: inline-flex; gap: 10px; align-items: center; color: #76a5bf; font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.bj-zone-heading b { min-width: 35px; padding: 5px 8px; border-radius: 999px; background: rgba(90,184,235,.1); color: #fff; text-align: center; font-size: 12px; }
.player-heading { order: 2; margin-top: 14px; }
.bj-hand { min-height: 155px; margin-top: 18px; display: flex; justify-content: center; align-items: center; gap: 10px; }
.player-zone .bj-hand { margin-top: 0; }
.playing-card {
  position: relative; width: 102px; height: 146px; flex: 0 0 auto; padding: 10px; border-radius: 10px;
  background: linear-gradient(145deg, #fff, #e7f0f7); color: #07111d; border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 14px 28px rgba(0,0,0,.34); animation: bjCardIn .26s ease both;
}
@keyframes bjCardIn { from { opacity: 0; transform: translateY(-12px) scale(.94); } to { opacity: 1; transform: none; } }
.playing-card.is-red { color: #d44359; }
.card-rank { display: block; font-size: 22px; font-weight: 900; line-height: 1; }
.card-suit { display: block; margin-top: 2px; font-size: 20px; line-height: 1; }
.card-suit-big { position: absolute; inset: 0; display: grid; place-items: center; font-size: 54px; opacity: .92; }
.card-back { display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #0b2a44, #061625); border-color: rgba(101,195,249,.42); }
.card-back::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(113,203,255,.35); border-radius: 7px; background: repeating-linear-gradient(45deg, rgba(83,184,242,.07) 0 7px, transparent 7px 14px); }
.card-back-pattern { position: relative; z-index: 2; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(116,203,253,.42); border-radius: 50%; color: #69c5fb; font-size: 25px; font-weight: 900; text-shadow: 0 0 14px rgba(80,190,255,.7); }
.bj-center-mark { position: relative; z-index: 2; align-self: center; text-align: center; color: rgba(255,255,255,.10); text-transform: uppercase; margin-top: 22px; }
.bj-center-mark span { display: block; font-size: 9px; font-weight: 900; letter-spacing: 3px; }
.bj-center-mark strong { display: block; margin-top: 3px; font-size: clamp(26px, 3vw, 44px); letter-spacing: -1px; }
.bj-center-mark small { display: inline-block; margin-top: 7px; padding: 6px 9px; border: 1px solid rgba(112,191,233,.13); border-radius: 999px; font-size: 7px; letter-spacing: 1px; }

.bj-history-head { display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 15px; border-bottom: 1px solid rgba(255,255,255,.06); }
.bj-history-head span { display: block; color: #52758d; font-size: 8px; font-weight: 900; letter-spacing: 1.2px; }
.bj-history-head strong { display: block; margin-top: 4px; font-size: 13px; }
.bj-history-head button { border: 0; background: transparent; color: #496980; font-size: 22px; cursor: pointer; }
.bj-history-list { margin-top: 12px; display: grid; gap: 7px; max-height: 500px; overflow: auto; padding-right: 3px; }
.bj-history-empty { padding: 20px 0; color: #4e6b80; font-size: 10px; text-align: center; }
.bj-history-item { display: flex; justify-content: space-between; gap: 10px; padding: 11px; border-radius: 10px; background: rgba(255,255,255,.027); border: 1px solid rgba(255,255,255,.045); }
.bj-history-item > div { display: flex; flex-direction: column; }
.bj-history-item > div:last-child { align-items: flex-end; }
.bj-history-item strong { font-size: 9px; }
.bj-history-item span, .bj-history-item small { margin-top: 4px; color: #526d82; font-size: 8px; }
.bj-history-item b { margin-top: 4px; font-size: 10px; }
.bj-history-item.win b { color: #59d68d; }
.bj-history-item.loss b { color: #e4687c; }
.bj-history-item.push b { color: #8ea5b7; }
.bj-practice-disclaimer { display: flex; gap: 8px; margin-top: 18px; padding: 12px; border-radius: 11px; background: rgba(53, 155, 214, .055); border: 1px solid rgba(77, 184, 246, .1); color: #55758d; }
.bj-practice-disclaimer span { color: #5fc5ff; font-weight: 900; }
.bj-practice-disclaimer p { font-size: 8px; line-height: 1.55; }

@media (max-width: 1180px) {
  .blackjack-shell { grid-template-columns: 270px 1fr; }
  .blackjack-history-panel { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(100,190,245,.12); }
  .bj-history-list { grid-template-columns: repeat(3, 1fr); max-height: none; }
}
@media (max-width: 900px) {
  .minigame-grid { grid-template-columns: 1fr; }
  .minigame-card-visual { height: 220px; }
  .blackjack-titlebar { align-items: stretch; flex-direction: column; }
  .blackjack-wallet { text-align: left; min-width: 0; }
  .blackjack-wallet > div { justify-content: flex-start; }
  .blackjack-shell { grid-template-columns: 1fr; }
  .blackjack-controls { border-right: 0; border-bottom: 1px solid rgba(100,190,245,.12); }
  .blackjack-table { min-height: 660px; }
  .bj-history-list { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .minigames-main { padding-top: 110px; }
  .blackjack-main { width: 94%; padding-top: 100px; }
  .blackjack-table { padding: 38px 12px 30px; min-height: 610px; }
  .playing-card { width: 78px; height: 112px; padding: 8px; }
  .card-rank { font-size: 17px; }
  .card-suit { font-size: 16px; }
  .card-suit-big { font-size: 38px; }
  .bj-hand { gap: 6px; flex-wrap: wrap; min-height: 130px; }
}

@media (max-width: 1180px) {
  .bj-card-shoe { right: 30px; top: 58px; width: 74px; height: 96px; }
  .bj-sidebet { top: 198px; width: 72px; height: 72px; }
  .bj-sidebet-left { left: 24px; }
  .bj-sidebet-right { right: 24px; }
  .bj-pays-text { width: min(82%, 640px); top: 184px; }
  .bj-bet-spots { width: min(82%, 640px); }
  .bj-bet-spot { width: 114px; height: 114px; }
  .bj-bet-spot.center { width: 150px; height: 150px; }
}

@media (max-width: 900px) {
  .bj-dealer-zone { padding-top: 110px; }
  .bj-player-zone { padding-bottom: 92px; }
  .bj-sidebet, .bj-card-shoe, .bj-chip-rack { display: none; }
  .bj-pays-text { top: 154px; width: 86%; }
  .bj-bet-spots { width: 88%; height: 156px; }
  .bj-bet-spot { width: 92px; height: 92px; }
  .bj-bet-spot.center { width: 124px; height: 124px; }
}

@media (max-width: 680px) {
  .bj-dealer-zone { padding-top: 88px; }
  .bj-player-zone { padding-bottom: 78px; }
  .bj-pays-text { top: 118px; width: 90%; }
  .bj-pays-text strong { font-size: 16px; }
  .bj-pays-text span { font-size: 11px; }
  .bj-pays-text em { font-size: 14px; }
  .bj-bet-spots { bottom: 28px; height: 134px; }
  .bj-bet-spot { width: 78px; height: 78px; }
  .bj-bet-spot.center { width: 102px; height: 102px; }
  .bj-bet-spot.left { left: 2%; }
  .bj-bet-spot.right { right: 2%; }
}

/* =========================================================
   MINI-JOGOS / BLACKJACK — POLIMENTO, ANIMAÇÕES E SPLIT
   ========================================================= */

/* Estado dos banners do lado esquerdo */
.minigame-live-pill,
.minigame-soon-pill {
  left: 15px;
  right: auto;
}

/* Ações do Blackjack */
.bj-action-grid {
  grid-template-columns: 1fr 1fr;
}

.bj-action-grid #doubleBtn,
.bj-action-grid #splitBtn {
  grid-column: auto;
}

.bj-action-grid #hitBtn {
  border-color: rgba(52, 211, 118, .42);
  background: linear-gradient(180deg, #1fbd68, #139454);
  color: #fff;
  box-shadow: 0 8px 22px rgba(20, 164, 88, .18);
}

.bj-action-grid #hitBtn:hover:not(:disabled) {
  border-color: rgba(105, 255, 171, .78);
  background: linear-gradient(180deg, #28ce77, #18a960);
  box-shadow: 0 10px 28px rgba(20, 190, 101, .26);
}

.bj-action-grid #standBtn {
  border-color: rgba(242, 91, 107, .42);
  background: linear-gradient(180deg, #df4358, #b72d40);
  color: #fff;
  box-shadow: 0 8px 22px rgba(190, 47, 67, .18);
}

.bj-action-grid #standBtn:hover:not(:disabled) {
  border-color: rgba(255, 132, 145, .78);
  background: linear-gradient(180deg, #ee5266, #c5364a);
  box-shadow: 0 10px 28px rgba(219, 55, 78, .25);
}

.bj-action-grid #doubleBtn {
  background: linear-gradient(180deg, #153d5a, #102b42);
  border-color: rgba(89, 192, 252, .30);
}

.bj-action-grid #splitBtn {
  background: linear-gradient(180deg, #d5a52b, #9a6a10);
  border-color: rgba(255, 218, 105, .62);
  color: #fff8dc;
  box-shadow: 0 8px 22px rgba(194, 137, 20, .20);
}

.bj-action-grid #splitBtn:hover:not(:disabled) {
  background: linear-gradient(180deg, #e7b93b, #ad7915);
  border-color: rgba(255, 232, 145, .86);
  box-shadow: 0 10px 28px rgba(226, 171, 43, .30);
}

.bj-action-grid #hitBtn:disabled,
.bj-action-grid #standBtn:disabled,
.bj-action-grid #doubleBtn:disabled,
.bj-action-grid #splitBtn:disabled {
  opacity: .30;
  filter: saturate(.45);
  box-shadow: none;
}

/* Dealer em ação: brilho subtil para criar suspense */
.blackjack-table.is-dealer-turn .bj-dealer-zone {
  animation: bjDealerPulse 1.15s ease-in-out infinite alternate;
}

.blackjack-table.is-dealer-turn .bj-zone-heading:first-child b {
  color: #87d9ff;
  box-shadow: 0 0 18px rgba(87, 196, 255, .16);
}

@keyframes bjDealerPulse {
  from { filter: drop-shadow(0 0 0 rgba(76, 194, 255, 0)); }
  to { filter: drop-shadow(0 0 15px rgba(76, 194, 255, .12)); }
}

/* Virar a carta escondida do dealer */
.playing-card.card-flip-reveal {
  transform-origin: center;
  animation: bjFlipReveal .68s cubic-bezier(.2,.75,.2,1) both;
}

@keyframes bjFlipReveal {
  0% { opacity: .92; transform: perspective(800px) rotateY(90deg) scale(.96); }
  50% { opacity: 1; transform: perspective(800px) rotateY(-8deg) scale(1.025); }
  100% { opacity: 1; transform: perspective(800px) rotateY(0) scale(1); }
}

/* Cada carta adicional do dealer entra individualmente */
.playing-card.card-dealer-draw {
  animation: bjDealerDraw .52s cubic-bezier(.2,.8,.25,1) both;
}

@keyframes bjDealerDraw {
  0% { opacity: 0; transform: translate(48px, -35px) rotate(8deg) scale(.82); }
  70% { opacity: 1; transform: translate(-3px, 2px) rotate(-1deg) scale(1.025); }
  100% { opacity: 1; transform: none; }
}

/* SPLIT */
.bj-hand.is-split-layout {
  width: 100%;
  max-width: 100%;
  align-items: stretch;
}

.bj-split-hands {
  width: min(100%, 590px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.bj-split-hand {
  position: relative;
  min-width: 0;
  padding: 13px 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(93, 183, 237, .13);
  background: rgba(3, 17, 27, .42);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease, transform .25s ease;
}

.bj-split-hand.is-active {
  border-color: rgba(91, 201, 255, .52);
  background: rgba(10, 42, 62, .62);
  box-shadow: 0 0 0 2px rgba(75, 190, 250, .06), 0 0 28px rgba(60, 180, 245, .12);
  transform: translateY(-3px);
}

.bj-split-hand.is-win,
.bj-split-hand.is-blackjack {
  border-color: rgba(64, 211, 128, .38);
}

.bj-split-hand.is-loss {
  border-color: rgba(232, 86, 108, .30);
}

.bj-split-hand.is-push {
  border-color: rgba(151, 177, 198, .25);
}

.bj-split-hand-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}

.bj-split-hand-head strong {
  color: #85c9ef;
  font-size: 8px;
  letter-spacing: 1.1px;
}

.bj-split-hand-head span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #7b9cb2;
  font-size: 8px;
  font-weight: 900;
}

.bj-split-hand-head img {
  width: 13px;
  height: 13px;
  object-fit: contain;
}

.bj-split-card-row {
  min-height: 116px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.bj-split-card-row .playing-card {
  width: 72px;
  height: 104px;
  padding: 7px;
  border-radius: 8px;
}

.bj-split-card-row .card-rank { font-size: 16px; }
.bj-split-card-row .card-suit { font-size: 15px; }
.bj-split-card-row .card-suit-big { font-size: 36px; }
.bj-split-card-row .card-back-pattern { width: 34px; height: 34px; font-size: 18px; }

.bj-split-hand-score {
  width: fit-content;
  min-width: 30px;
  margin: 9px auto 0;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(91, 190, 243, .09);
  color: #dcefff;
  font-size: 10px;
  font-weight: 900;
}

@media (max-width: 680px) {
  .bj-split-hands { gap: 8px; }
  .bj-split-hand { padding: 9px 6px; }
  .bj-split-card-row { gap: 3px; min-height: 90px; }
  .bj-split-card-row .playing-card { width: 56px; height: 82px; padding: 5px; }
  .bj-split-card-row .card-rank { font-size: 13px; }
  .bj-split-card-row .card-suit { font-size: 12px; }
  .bj-split-card-row .card-suit-big { font-size: 27px; }
}


/* =========================================================
   SOCIAL FOOTER — STORE + MINI-JOGOS
   ========================================================= */
.community-social-footer {
  position: relative;
  width: 100%;
  margin-top: 70px;
  padding: 44px 20px 48px;
  border-top: 1px solid rgba(82, 185, 239, .12);
  background:
    radial-gradient(circle at 50% 0%, rgba(52, 174, 235, .08), transparent 42%),
    rgba(4, 13, 23, .72);
}

.community-social-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  text-align: center;
}

.community-social-inner h2 {
  margin: 0;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 19px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

.community-social-inner p {
  margin: 8px 0 23px;
  color: #9bb4c7;
  font-size: 13px;
  font-weight: 600;
}

.community-social-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.community-social-link {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid rgba(82, 185, 239, .28);
  background: rgba(8, 27, 42, .82);
  color: #65c7f5;
  box-shadow: inset 0 0 18px rgba(74, 188, 244, .035);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
}

.community-social-link svg {
  width: 23px;
  height: 23px;
}

.community-social-link:hover {
  transform: translateY(-3px);
  color: #dff5ff;
  border-color: rgba(93, 203, 255, .72);
  background: rgba(11, 45, 68, .94);
  box-shadow: 0 8px 26px rgba(46, 171, 235, .14), inset 0 0 20px rgba(79, 194, 251, .06);
}

.community-social-link:focus-visible {
  outline: 2px solid #65c7f5;
  outline-offset: 4px;
}

@media (max-width: 720px) {
  .community-social-footer {
    margin-top: 46px;
    padding: 36px 18px 40px;
  }
  .community-social-link { width: 48px; height: 48px; }
  .community-social-link svg { width: 21px; height: 21px; }
}

/* ===================================================== */
/* DAILY SLOT — MESMO TAMANHO VISUAL DO DAILY STREAK     */
/* ===================================================== */
.daily-slot-mini{
  width:94px !important;
  min-width:94px !important;
  height:64px !important;
  padding:7px 10px 6px !important;
  gap:4px !important;
}
.daily-slot-mini-reels{
  width:100% !important;
  gap:5px !important;
}
.daily-slot-mini-reels b{
  height:29px !important;
}
.daily-slot-mini-label{
  font-size:7.5px !important;
  letter-spacing:1.35px !important;
}
/* Reposiciona o Daily Streak para manter o mesmo espaço entre os dois widgets. */
.daily-streak-widget{
  right:126px !important;
}
@media(max-width:650px){
  .daily-streak-widget{right:116px !important;}
}


/* =========================================================
   BETFLOW TRACKER
========================================================= */
.betflow-tracker-page,.betflow-admin-page{background:#020b15;color:#eef7ff;min-height:100vh}.betflow-tracker-main,.betflow-admin-main{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:72px 0 90px}.betflow-tracker-hero{text-align:center;margin-bottom:34px}.betflow-tracker-eyebrow,.betflow-admin-hero>span{display:inline-flex;padding:8px 14px;border:1px solid #1f6f9e;border-radius:999px;color:#68c9ff;font-size:11px;font-weight:900;letter-spacing:1.8px}.betflow-tracker-hero h1,.betflow-admin-hero h1{font-size:clamp(38px,5vw,64px);line-height:.98;margin:20px 0 12px;font-weight:900;letter-spacing:-2px}.betflow-tracker-hero h1 span{color:#54c8ff}.betflow-tracker-hero p,.betflow-admin-hero p{color:#91a8ba;font-size:15px}.betflow-coldbet-banner{position:relative;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:24px 28px;margin:0 0 28px;border:1px solid #6a5a17;border-radius:18px;background:linear-gradient(135deg,rgba(20,28,34,.95),rgba(25,22,5,.96));box-shadow:0 18px 60px rgba(0,0,0,.24),inset 0 0 35px rgba(246,198,27,.04)}.betflow-coldbet-kicker{display:block;color:#f4ca38;font-size:10px;font-weight:900;letter-spacing:1.5px;margin-bottom:6px}.betflow-coldbet-copy strong{font-size:17px}.betflow-coldbet-copy strong b{color:#f7d53e}.betflow-coldbet-copy p{margin:6px 0 0;color:#93a0aa;font-size:13px}.betflow-coldbet-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 21px;border-radius:12px;background:#f6c61b;color:#0c1118;font-size:12px;font-weight:900;text-decoration:none;box-shadow:0 8px 24px rgba(246,198,27,.16)}.betflow-18{position:absolute;right:28px;bottom:7px;color:#7b8084;font-size:8px;font-weight:700}.betflow-sport-tabs{display:flex;align-items:center;gap:10px;margin-bottom:20px}.betflow-sport-tab,.betflow-admin-link{border:1px solid #173a52;background:#071522;color:#8ca8bc;border-radius:12px;padding:13px 18px;font:800 12px Montserrat,sans-serif;cursor:pointer;text-decoration:none}.betflow-sport-tab.active{background:#0c2d42;color:#71d1ff;border-color:#2b8fc3;box-shadow:0 0 28px rgba(71,189,244,.08)}.betflow-admin-link{margin-left:auto;color:#57c7ff}.betflow-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.betflow-stat-card{padding:22px;border:1px solid #173044;border-radius:16px;background:#07131f}.betflow-stat-card>span{display:block;color:#6f91a8;font-size:9px;font-weight:900;letter-spacing:1.3px}.betflow-stat-card strong{display:block;margin:7px 0 3px;font-size:29px;font-weight:900}.betflow-stat-card small{color:#526b7e;font-size:9px}.betflow-stat-card.won strong,.betflow-stat-card.profit strong{color:#24d982}.betflow-stat-card.lost strong,.betflow-stat-card strong.negative{color:#ff5363}.betflow-filter-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.betflow-status-tabs{display:flex;padding:4px;border:1px solid #173044;border-radius:12px;background:#06111b;overflow:auto}.betflow-status-tabs button{border:0;background:transparent;color:#738da0;font:800 10px Montserrat,sans-serif;padding:10px 14px;border-radius:8px;cursor:pointer;white-space:nowrap}.betflow-status-tabs button.active{background:#0d2c40;color:#67ceff}.betflow-month-filter{display:flex;align-items:center;gap:10px;color:#668398;font-size:9px;font-weight:900;letter-spacing:1px}.betflow-month-filter select{background:#071522;color:#eaf6ff;border:1px solid #173a52;border-radius:10px;padding:11px 34px 11px 13px;font:800 10px Montserrat,sans-serif}.betflow-bets-list{display:grid;gap:16px}.betflow-bet-card{display:grid;grid-template-columns:minmax(0,1fr) 280px;border:1px solid #173044;border-radius:18px;background:#07131f;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.18)}.betflow-bet-card.status-won{border-color:rgba(36,217,130,.32)}.betflow-bet-card.status-lost{border-color:rgba(255,83,99,.28)}.betflow-bet-main{padding:24px}.betflow-bet-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #14293a;padding-bottom:18px}.betflow-bet-head>div{display:grid;gap:5px}.betflow-bet-source{color:#57caff;font-size:9px;font-weight:900;letter-spacing:1.3px}.betflow-bet-head strong{font-size:14px}.betflow-bet-head small{color:#718b9e;font-size:9px}.betflow-result-pill{height:max-content;padding:8px 10px;border-radius:8px;font-size:9px;font-weight:900}.betflow-result-pill.pending{background:rgba(242,191,35,.12);color:#ffd857}.betflow-result-pill.won{background:rgba(36,217,130,.12);color:#31e28d}.betflow-result-pill.lost{background:rgba(255,83,99,.12);color:#ff6a79}.betflow-result-pill.void{background:rgba(125,149,165,.12);color:#a8bdca}.betflow-bet-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.betflow-bet-summary>div{padding:12px 14px;border:1px solid #142d40;border-radius:11px;background:#091927}.betflow-bet-summary span{display:block;color:#637f93;font-size:8px;font-weight:900;letter-spacing:1px}.betflow-bet-summary strong{display:block;margin-top:5px;font-size:16px}.betflow-bet-summary strong.positive{color:#27df88}.betflow-bet-summary strong.negative{color:#ff5b6b}.betflow-events{display:grid;gap:10px}.betflow-event-row{display:flex;justify-content:space-between;gap:16px;padding:15px;border-left:2px solid #4fcaff;background:#081725;border-radius:0 10px 10px 0}.betflow-event-copy span{display:block;color:#4ebef5;font-size:8px;font-weight:900;text-transform:uppercase;margin-bottom:5px}.betflow-event-copy strong{display:block;font-size:13px}.betflow-event-copy p{margin:4px 0 0;color:#a0b1be;font-size:11px}.betflow-event-odd{text-align:right;min-width:60px}.betflow-event-odd small{display:block;color:#627d90;font-size:8px;font-weight:800}.betflow-event-odd b{color:#61ceff;font-size:15px}.betflow-bet-note{color:#9eb0bc;font-size:11px;margin:14px 0 0}.betflow-coldbet-proof{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid #14293a}.betflow-coldbet-proof span{font-size:9px;color:#93a7b5;font-weight:800}.betflow-coldbet-proof b{color:#f6ce32}.betflow-coldbet-proof a{color:#f7d43c;font-size:9px;font-weight:900;text-decoration:none}.betflow-bet-media{border-left:1px solid #14293a;background:#050e16;display:flex;min-height:100%}.betflow-ticket-preview{position:relative;width:100%;border:0;background:#050e16;padding:0;cursor:pointer;overflow:hidden}.betflow-ticket-preview img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;opacity:.9}.betflow-ticket-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,9,15,.92))}.betflow-ticket-preview span{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;padding:11px;border:1px solid #2b6488;border-radius:9px;background:rgba(5,17,27,.84);color:#6ed2ff;font:900 9px Montserrat,sans-serif}.betflow-ticket-empty{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#7b98aa;font-size:9px;font-weight:900;letter-spacing:1px}.betflow-ticket-empty img{width:110px;opacity:.8}.betflow-empty,.betflow-loading{padding:60px 20px;text-align:center;border:1px dashed #173a52;border-radius:16px;color:#708c9f}.betflow-empty span{display:block;font-size:32px;margin-bottom:12px}.betflow-empty strong{display:block;color:#dfefff}.betflow-empty p{font-size:11px}.betflow-image-modal{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:28px}.betflow-image-modal.open{display:flex}.betflow-image-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,7,13,.88);backdrop-filter:blur(8px)}.betflow-image-modal-dialog{position:relative;z-index:1;max-width:min(760px,92vw);max-height:88vh}.betflow-image-modal-dialog img{max-width:100%;max-height:88vh;border-radius:16px;border:1px solid #235474;display:block}.betflow-image-close{position:absolute;right:-14px;top:-14px;width:36px;height:36px;border-radius:50%;border:1px solid #34546a;background:#071522;color:#fff;font-size:23px;cursor:pointer;z-index:2}

/* BETFLOW ADMIN */
.betflow-admin-main{padding-top:64px}.betflow-admin-hero{margin-bottom:25px}.betflow-admin-hero h1{font-size:42px;margin:12px 0 7px}.betflow-admin-guard{padding:22px;border:1px solid #20445d;border-radius:14px;background:#071522;color:#9eb2c0}.betflow-admin-guard a{color:#55c9ff}.betflow-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}.betflow-admin-form,.betflow-admin-info,.betflow-admin-history{border:1px solid #17364c;border-radius:18px;background:#07131f;padding:22px}.betflow-admin-section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.betflow-admin-section-title span{color:#57c8ff;font-size:9px;font-weight:900;letter-spacing:1.4px}.betflow-admin-section-title strong{font-size:17px}.betflow-form-grid{display:grid;gap:11px;margin-bottom:11px}.betflow-form-grid.four{grid-template-columns:repeat(4,1fr)}.betflow-admin-form label{display:grid;gap:6px;color:#69879b;font-size:8px;font-weight:900;letter-spacing:.8px}.betflow-admin-form input,.betflow-admin-form select,.betflow-admin-form textarea{width:100%;box-sizing:border-box;border:1px solid #1b3c53;border-radius:10px;background:#091927;color:#eaf6ff;padding:11px 12px;font:700 11px Montserrat,sans-serif;outline:none}.betflow-admin-form input:focus,.betflow-admin-form select:focus,.betflow-admin-form textarea:focus{border-color:#4ebef5}.betflow-events-editor{margin:18px 0}.betflow-events-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px}.betflow-events-editor-head button{border:1px solid #1c6388;background:#0b2b3f;color:#65ceff;border-radius:8px;padding:8px 10px;font:900 8px Montserrat,sans-serif;cursor:pointer}.betflow-admin-event-row{display:grid;grid-template-columns:1.1fr 1.5fr 1.5fr .55fr 34px;gap:8px;align-items:end;margin-bottom:8px;padding:10px;border:1px solid #142f42;border-radius:12px;background:#081725}.betflow-remove-event{height:36px;border:1px solid #542a35;border-radius:8px;background:#24131a;color:#ff6676;font-size:19px;cursor:pointer}.betflow-upload-field{margin-top:13px}.betflow-upload-field span{font-size:8px;color:#577183}.betflow-upload-preview{margin-top:10px;width:180px}.betflow-upload-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:10px;border:1px solid #20445d}.betflow-admin-form-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding-top:16px;border-top:1px solid #142c3e}.betflow-admin-form-foot span{color:#7892a3;font-size:9px}.betflow-admin-form-foot b{color:#f6d23e}.betflow-admin-form-foot button{border:0;border-radius:10px;padding:14px 18px;background:#58caff;color:#02111c;font:900 10px Montserrat,sans-serif;cursor:pointer}.betflow-admin-form-foot button:disabled{opacity:.55}.betflow-admin-message{min-height:16px;margin-top:10px;font-size:10px;font-weight:800}.betflow-admin-message.success{color:#2dde8a}.betflow-admin-message.error{color:#ff6271}.betflow-admin-info>span{color:#57caff;font-size:9px;font-weight:900;letter-spacing:1.2px}.betflow-admin-info ol{padding-left:19px;color:#dce9f1;font-size:11px;line-height:2}.betflow-admin-info p{color:#7891a1;font-size:10px;line-height:1.7}.betflow-admin-history{margin-top:18px}.betflow-admin-bet-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px;border:1px solid #143247;border-radius:12px;margin-bottom:8px;background:#081725}.betflow-admin-bet-row>div:first-child{display:grid;gap:4px}.betflow-admin-bet-row span,.betflow-admin-bet-row small{color:#718c9e;font-size:8px}.betflow-admin-bet-row strong{font-size:11px}.betflow-admin-status-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.betflow-admin-status-actions button{border:1px solid #23475e;background:#0a1c29;color:#93acbd;border-radius:7px;padding:8px 9px;font:900 7px Montserrat,sans-serif;cursor:pointer}.betflow-admin-status-actions button.won{color:#2ee28f}.betflow-admin-status-actions button.lost,.betflow-admin-status-actions button.delete{color:#ff6978}.betflow-admin-empty{color:#70899a;font-size:10px;padding:20px;text-align:center}
@media(max-width:900px){.betflow-stat-grid{grid-template-columns:repeat(2,1fr)}.betflow-bet-card{grid-template-columns:1fr}.betflow-bet-media{border-left:0;border-top:1px solid #14293a;min-height:260px}.betflow-admin-layout{grid-template-columns:1fr}.betflow-form-grid.four{grid-template-columns:repeat(2,1fr)}.betflow-admin-event-row{grid-template-columns:1fr 1fr}.betflow-remove-event{grid-column:2}}@media(max-width:640px){.betflow-tracker-main,.betflow-admin-main{width:min(100% - 24px,1180px);padding-top:42px}.betflow-coldbet-banner{grid-template-columns:1fr;padding:20px}.betflow-18{position:static}.betflow-sport-tabs{flex-wrap:wrap}.betflow-admin-link{margin-left:0}.betflow-stat-grid{grid-template-columns:1fr 1fr}.betflow-filter-row{align-items:stretch;flex-direction:column}.betflow-bet-head{flex-direction:column}.betflow-bet-summary{grid-template-columns:1fr}.betflow-coldbet-proof{align-items:flex-start;flex-direction:column}.betflow-form-grid.four,.betflow-admin-event-row{grid-template-columns:1fr}.betflow-remove-event{grid-column:auto}.betflow-admin-form-foot,.betflow-admin-bet-row{align-items:stretch;flex-direction:column}.betflow-admin-status-actions{justify-content:flex-start}}


/* ========================= */
/* BETFLOW EUR + PROMO + SPORT ICONS */
/* ========================= */
.betflow-coldbet-banner{grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:26px 28px 28px}
.betflow-coldbet-copy p b{color:#f7d53e;font-weight:900}
.betflow-coldbet-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:255px}
.betflow-coldbet-actions small{color:#9b9372;font-size:9px;text-align:center;font-weight:700}
.betflow-coldbet-actions small b{color:#f7d53e}
.betflow-promo-highlight{display:flex;align-items:center;gap:12px;margin-top:15px;padding:10px 12px;border:1px solid rgba(246,198,27,.45);border-radius:11px;background:rgba(246,198,27,.075);width:max-content;max-width:100%}
.betflow-promo-highlight>span{color:#a59b72;font-size:8px;font-weight:900;letter-spacing:1px}
.betflow-promo-highlight>strong{color:#ffd52f;font-size:18px;font-weight:1000;letter-spacing:1.8px;text-shadow:0 0 18px rgba(246,198,27,.2)}
.betflow-promo-highlight>button{border:1px solid rgba(246,198,27,.32);background:#f6c61b;color:#0b1117;padding:8px 10px;border-radius:8px;font:900 8px Montserrat,sans-serif;cursor:pointer;white-space:nowrap}
.betflow-promo-highlight>button:hover{filter:brightness(1.08)}
.betflow-sport-tab{display:inline-flex;align-items:center;gap:9px}
.betflow-sport-ball{width:21px;height:21px;display:inline-block;vertical-align:middle;object-fit:contain;flex:0 0 auto}
.betflow-bet-source{display:flex;align-items:center;gap:7px}
.betflow-bet-source .betflow-sport-ball{width:18px;height:18px}
.betflow-empty-sport-icon{display:flex!important;justify-content:center;align-items:center}
.betflow-empty-sport-icon .betflow-sport-ball{width:40px;height:40px}
.betflow-bet-summary.betflow-bet-summary-eur{grid-template-columns:repeat(4,minmax(0,1fr))}
.betflow-bet-summary.betflow-bet-summary-eur strong{font-size:14px;white-space:nowrap}
.betflow-coldbet-proof>div{display:flex;flex-direction:column;gap:5px}
.betflow-coldbet-proof>div small{color:#8298a8;font-size:8px;font-weight:800;letter-spacing:.3px}
.betflow-coldbet-proof>div small b{color:#f7d43c;font-size:10px;letter-spacing:.9px}
.betflow-admin-sport-label{display:flex!important;align-items:center;gap:7px}
.betflow-admin-sport-label .betflow-sport-ball{width:18px;height:18px}
.betflow-admin-form input[readonly]{color:#55ccff;background:#071a28;border-color:#20506d;font-weight:900}
@media(max-width:900px){.betflow-coldbet-banner{grid-template-columns:1fr}.betflow-coldbet-actions{min-width:0}.betflow-bet-summary.betflow-bet-summary-eur{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.betflow-promo-highlight{align-items:flex-start;flex-direction:column;width:100%}.betflow-promo-highlight>button{width:100%}.betflow-bet-summary.betflow-bet-summary-eur{grid-template-columns:1fr}}

/* ========================= */
/* CORVO REWARDS HERO + HOW IT WORKS */
/* ========================= */
.corvo-rewards-hero{
  position:relative;
  min-height:720px;
  padding:128px 6% 76px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid rgba(83,199,255,.13);
  background:
    radial-gradient(circle at 70% 36%,rgba(33,184,255,.22),transparent 28%),
    radial-gradient(circle at 86% 56%,rgba(35,107,255,.14),transparent 24%),
    linear-gradient(112deg,rgba(2,8,18,.99) 0%,rgba(2,9,18,.96) 45%,rgba(2,12,24,.82) 100%);
}
.corvo-rewards-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:82px 82px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.55),transparent)}
.corvo-rewards-hero:after{content:"";position:absolute;width:720px;height:720px;right:-140px;top:20px;border:1px solid rgba(79,194,255,.08);border-radius:50%;box-shadow:0 0 120px rgba(46,167,255,.06) inset;pointer-events:none}
.corvo-rewards-hero-inner{position:relative;z-index:2;width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:44px;align-items:center}
.corvo-rewards-copy{padding-left:4px}
.corvo-rewards-badge{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid rgba(92,203,255,.28);border-radius:999px;background:rgba(18,111,165,.12);color:#68d1ff;font-size:9px;font-weight:900;letter-spacing:1.2px;margin-bottom:25px}
.corvo-rewards-copy h1{font-size:clamp(48px,5.1vw,82px);line-height:.94;letter-spacing:-4px;font-weight:900;max-width:720px;text-shadow:0 4px 28px rgba(0,0,0,.42)}
.corvo-rewards-copy h1 span{color:#5acbff;text-shadow:0 0 30px rgba(48,181,255,.16)}
.corvo-rewards-copy>p{max-width:610px;margin-top:24px;color:#9db2c5;font-size:14px;line-height:1.75}
.corvo-rewards-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.corvo-rewards-actions a{min-height:50px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:10px;font-weight:900;letter-spacing:.5px;transition:.25s ease}
.corvo-rewards-primary{gap:18px;background:#5dccff;color:#03111a;box-shadow:0 12px 32px rgba(63,190,255,.18)}
.corvo-rewards-primary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.corvo-rewards-secondary{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);color:#fff}
.corvo-rewards-secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(95,202,255,.35)}
.corvo-rewards-features{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#7893a8;font-size:8px;font-weight:800;letter-spacing:.8px}
.corvo-rewards-features span:First-letter{color:#5bceff}
.corvo-rewards-showcase{position:relative;min-height:535px;isolation:isolate}
.corvo-rewards-glow{position:absolute;left:10%;right:0;bottom:9%;height:62%;background:radial-gradient(ellipse at center,rgba(54,189,255,.28),rgba(10,88,168,.10) 42%,transparent 72%);filter:blur(20px);z-index:-3}
.reward-podium{position:absolute;border-radius:50%;background:linear-gradient(180deg,#0d263a,#06111d 48%,#020711);border:2px solid rgba(84,198,255,.46);box-shadow:0 0 0 7px rgba(53,162,223,.05),0 0 42px rgba(45,184,255,.23),inset 0 10px 22px rgba(91,205,255,.11);transform:perspective(520px) rotateX(67deg)}
.reward-podium span{position:absolute;inset:12%;border:1px solid rgba(91,207,255,.22);border-radius:50%;box-shadow:0 0 23px rgba(63,191,255,.14) inset}
.reward-podium-main{width:355px;height:150px;right:16%;bottom:31px;z-index:1}
.reward-podium-left{width:205px;height:94px;left:1%;bottom:118px;z-index:0}
.reward-podium-right{width:188px;height:86px;right:-2%;bottom:129px;z-index:0}
.reward-podium-back{width:170px;height:78px;left:41%;top:115px;z-index:-1}
.reward-showcase-item{position:absolute;display:block;object-fit:contain;filter:drop-shadow(0 24px 24px rgba(0,0,0,.55)) drop-shadow(0 0 22px rgba(64,188,255,.12));z-index:3;animation:rewardFloat 5.4s ease-in-out infinite}
.reward-showcase-iphone{width:205px;height:265px;left:4%;bottom:112px}
.reward-showcase-ps5{width:190px;height:260px;right:-1%;bottom:121px;animation-delay:-1.4s}
.reward-showcase-shirt{width:250px;height:290px;left:37%;bottom:113px;z-index:4;animation-delay:-2.4s}
.reward-showcase-wheel{width:135px;height:135px;left:47%;top:66px;animation-delay:-.8s}
.reward-showcase-coin{position:absolute;width:92px;height:92px;right:22%;top:36px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(81,199,255,.42));animation:coinDrift 5.8s ease-in-out infinite}
@keyframes rewardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes coinDrift{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-16px) rotate(7deg)}}

.how-points-page{background-color:#05091a;background-image:radial-gradient(circle at 50% 10%,rgba(42,158,255,.12),transparent 30%),url("assets/images/background-site.png")}
.how-points-main{position:relative;padding:132px 6% 84px;min-height:100vh;overflow:hidden}
.how-points-main:before,.how-points-main:after{position:absolute;top:150px;color:rgba(89,187,255,.025);font-size:150px;font-weight:900;writing-mode:vertical-rl;letter-spacing:-8px;pointer-events:none}
.how-points-main:before{content:"GONCALOTSILVA";left:-35px;transform:rotate(180deg)}
.how-points-main:after{content:"REWARDS";right:-22px}
.how-points-intro{position:relative;z-index:2;text-align:center;max-width:880px;margin:0 auto 65px}
.how-points-pill{display:inline-flex;padding:8px 15px;border:1px solid #4bc7ff;border-radius:999px;color:#63d0ff;font-size:9px;font-weight:900;letter-spacing:1.1px;background:rgba(65,190,255,.06)}
.how-points-intro h1{margin-top:24px;font-size:clamp(50px,5.7vw,82px);line-height:.9;letter-spacing:-4px;font-weight:900}
.how-points-intro h1 span{color:#5bcaff}
.how-points-intro p{max-width:660px;margin:24px auto 0;color:#9bb0c8;font-size:14px;line-height:1.7}
.how-points-line{width:74px;height:3px;border-radius:999px;margin:35px auto 0;background:linear-gradient(90deg,transparent,#5fd1ff,transparent);box-shadow:0 0 18px rgba(72,196,255,.45)}
.how-points-grid{position:relative;z-index:2;width:min(1280px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.how-points-card{position:relative;min-height:570px;padding:31px 30px 28px;border:1px solid rgba(83,196,255,.21);border-radius:20px;background:linear-gradient(180deg,rgba(10,28,46,.72),rgba(5,13,26,.90));overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.22)}
.how-points-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48%;background:radial-gradient(circle at 50% 70%,rgba(56,185,255,.10),transparent 64%);pointer-events:none}
.how-points-number{font-size:49px;line-height:1;color:transparent;-webkit-text-stroke:2px #5acbff;font-weight:900;letter-spacing:-3px;margin-bottom:25px}
.how-points-card h2{position:relative;z-index:2;font-size:20px;line-height:1.15;letter-spacing:-1px;font-weight:900}
.how-points-card>p{position:relative;z-index:2;margin-top:14px;color:#91a8bc;font-size:11px;line-height:1.7;min-height:58px}
.how-points-visual{position:relative;z-index:2;height:270px;margin-top:18px;display:flex;align-items:center;justify-content:center}
.how-points-visual-twitch img:first-of-type{width:118px;height:118px;object-fit:contain;border-radius:26px;filter:drop-shadow(0 0 32px rgba(93,201,255,.18))}
.how-points-orbit{position:absolute;width:205px;height:205px;border:1px solid rgba(87,201,255,.18);border-radius:50%;box-shadow:0 0 42px rgba(66,189,255,.08) inset}
.how-points-mini-coin{position:absolute!important;width:54px!important;height:54px!important;right:25%;bottom:23%;filter:drop-shadow(0 0 18px rgba(79,204,255,.42))}
.how-points-visual-live{flex-direction:column;gap:10px}
.how-points-visual-live img{width:110px;height:110px;object-fit:contain;z-index:2;filter:drop-shadow(0 0 28px rgba(83,197,255,.35))}
.how-points-visual-live span{font-size:11px;font-weight:900;letter-spacing:1.4px;color:#67d2ff}
.live-pulse-ring{position:absolute;border:1px solid rgba(76,201,255,.24);border-radius:50%;animation:livePulse 2.7s ease-out infinite}
.live-pulse-one{width:150px;height:150px}.live-pulse-two{width:215px;height:215px;animation-delay:-1.3s}
@keyframes livePulse{0%{transform:scale(.72);opacity:.12}50%{opacity:.5}100%{transform:scale(1.08);opacity:.04}}
.how-points-visual-rewards img{position:absolute;object-fit:contain;border-radius:50%;filter:drop-shadow(0 12px 18px rgba(0,0,0,.42)) drop-shadow(0 0 15px rgba(71,192,255,.12));border:2px solid rgba(81,200,255,.35);background:#06131f}
.how-reward-a{width:98px;height:98px;left:13%;top:80px}.how-reward-b{width:78px;height:78px;right:16%;top:50px}.how-reward-c{width:87px;height:87px;left:39%;top:13px}.how-reward-d{width:72px;height:72px;left:42%;bottom:18px}
.how-points-tag{position:absolute;z-index:3;left:30px;bottom:28px;padding:9px 13px;border:1px solid rgba(81,198,255,.42);border-radius:999px;color:#6dd4ff;background:rgba(35,128,181,.08);font-size:8px;font-weight:900;letter-spacing:.6px}
.how-points-cta{position:relative;z-index:2;width:min(1280px,100%);margin:28px auto 0;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:22px;border:1px solid rgba(84,198,255,.20);border-radius:18px;background:rgba(6,21,35,.78)}
.how-points-cta span{color:#5fcfff;font-size:8px;font-weight:900;letter-spacing:1.1px}.how-points-cta h2{margin-top:5px;font-size:18px}.how-points-cta>a{padding:14px 20px;border-radius:10px;background:#5dccff;color:#03111a;font-size:9px;font-weight:900}

@media(max-width:1050px){.corvo-rewards-hero-inner{grid-template-columns:1fr}.corvo-rewards-showcase{min-height:460px;max-width:720px;width:100%;margin:0 auto}.corvo-rewards-copy{text-align:center}.corvo-rewards-copy>p{margin-left:auto;margin-right:auto}.corvo-rewards-actions,.corvo-rewards-features{justify-content:center}.how-points-grid{grid-template-columns:1fr}.how-points-card{min-height:520px}.how-points-visual{height:230px}}
@media(max-width:700px){.corvo-rewards-hero{padding:112px 22px 55px;min-height:auto}.corvo-rewards-copy h1{font-size:47px;letter-spacing:-2.8px}.corvo-rewards-showcase{min-height:390px;transform:scale(.88);transform-origin:center top;margin-bottom:-40px}.corvo-rewards-features{gap:12px}.reward-showcase-iphone{left:-2%}.reward-showcase-ps5{right:-5%}.reward-showcase-shirt{left:31%}.how-points-main{padding:115px 18px 60px}.how-points-intro h1{font-size:48px;letter-spacing:-2.5px}.how-points-card{padding:26px 22px}.how-points-tag{left:22px}.how-points-cta{align-items:flex-start;flex-direction:column}.how-points-cta>a{width:100%;text-align:center}.how-points-main:before,.how-points-main:after{display:none}}


/* STORE REWARDS INTRO — integrated in the original Store hero */
.store-page-hero.store-rewards-intro {
  min-height: 430px;
  padding: 104px 8% 62px;
  align-items: center;
  background: transparent;
}

.store-page-hero.store-rewards-intro::before {
  background:
    radial-gradient(circle at 14% 48%, rgba(145,70,255,0.22), transparent 30%),
    radial-gradient(circle at 58% 30%, rgba(99,45,185,0.08), transparent 34%),
    linear-gradient(180deg, rgba(145,70,255,0.055), transparent 76%);
}

.store-rewards-intro-copy {
  position: relative;
  z-index: 2;
  width: min(760px, 100%);
}

.store-rewards-intro-title {
  margin: 0;
  max-width: 760px;
  color: #fff;
  font-size: clamp(48px, 5.4vw, 78px) !important;
  line-height: .92 !important;
  font-weight: 900;
  letter-spacing: -3.7px !important;
  text-shadow: 0 0 34px rgba(145,70,255,.12) !important;
}

.store-rewards-intro-title span {
  color: #b88cff;
  text-shadow: 0 0 28px rgba(145,70,255,.18);
}

.store-rewards-intro-text {
  max-width: 620px;
  margin-top: 22px !important;
  color: rgba(255,255,255,.56) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.7;
  letter-spacing: 0 !important;
}

.store-rewards-intro-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.store-rewards-intro-actions a {
  min-height: 48px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .45px;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, filter .2s ease;
}

.store-rewards-twitch {
  gap: 18px;
  background: linear-gradient(135deg, #a46cff, #9146ff);
  color: #fff;
  box-shadow: 0 12px 30px rgba(145,70,255,.17);
}

.store-rewards-twitch:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.store-rewards-twitch[hidden] {
  display: none !important;
}

.store-rewards-how {
  border: 1px solid rgba(184,140,255,.24);
  background: rgba(145,70,255,.055);
  color: #fff;
}

.store-rewards-how:hover {
  transform: translateY(-2px);
  border-color: rgba(184,140,255,.5);
  background: rgba(145,70,255,.11);
}

.store-rewards-intro-features {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin-top: 26px;
  color: rgba(255,255,255,.34);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .8px;
}

.store-rewards-intro-features span::first-letter {
  color: #b88cff;
}

@media (max-width: 700px) {
  .store-page-hero.store-rewards-intro {
    min-height: 0;
    padding: 108px 22px 54px;
  }
  .store-rewards-intro-title {
    font-size: 46px !important;
    letter-spacing: -2.5px !important;
  }
  .store-rewards-intro-text {
    font-size: 12px !important;
  }
  .store-rewards-intro-actions a {
    min-height: 46px;
  }
  .store-rewards-intro-features {
    gap: 12px;
  }
}


/* =====================================================
   STORE — HERO/CONTA FINAL
   ===================================================== */
/* A barra de conta aparece apenas depois de a Twitch estar ligada. */
.store-page .store-account[hidden],
.store-page .store-account-guest[hidden] {
  display: none !important;
}

/* Transição roxa muito mais suave entre a introdução e a Store. */
.store-page-main {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(ellipse 75% 520px at 13% 24%, rgba(145,70,255,.105) 0%, rgba(145,70,255,.045) 36%, rgba(145,70,255,.012) 62%, transparent 82%),
    linear-gradient(180deg, rgba(34,18,72,.035) 0%, rgba(55,27,103,.045) 34%, rgba(34,17,70,.028) 52%, transparent 70%);
}

.store-page-hero.store-rewards-intro {
  background: transparent !important;
}

.store-page-hero.store-rewards-intro::before {
  inset: 0 0 -150px 0;
  background:
    radial-gradient(ellipse 64% 470px at 12% 45%, rgba(145,70,255,.14) 0%, rgba(145,70,255,.055) 42%, rgba(145,70,255,.016) 67%, transparent 86%),
    linear-gradient(180deg, rgba(145,70,255,.026) 0%, rgba(145,70,255,.018) 55%, transparent 100%);
  filter: blur(.15px);
}

.store-page .store-section {
  position: relative;
  background: linear-gradient(180deg, rgba(145,70,255,.012) 0%, transparent 180px) !important;
}

.store-page .store-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -120px;
  height: 260px;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, rgba(64,32,118,.018) 42%, rgba(82,39,148,.022) 62%, transparent 100%);
  filter: blur(24px);
  opacity: .75;
}

/* AJUSTES STORE / COMO FUNCIONA — 19-08-2026 */
.store-rewards-intro .store-page-eyebrow {
  margin-bottom: 22px;
  transform: translateY(-12px);
}

/* O primeiro passo fica apenas com o símbolo Twitch, sem moeda solta. */
.how-points-mini-coin { display: none !important; }

/* No terceiro passo usamos uma única imagem real dos prémios. */
.how-points-visual-rewards {
  padding: 8px 0 4px;
}
.how-points-visual-rewards .how-rewards-main-image {
  position: relative !important;
  inset: auto !important;
  width: min(290px, 92%) !important;
  height: 255px !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: 0 18px 34px rgba(0,0,0,.18), 0 0 28px rgba(71,192,255,.10) !important;
  filter: none !important;
}

@media (max-width: 700px) {
  .store-rewards-intro .store-page-eyebrow {
    transform: translateY(-7px);
    margin-bottom: 18px;
  }
  .how-points-visual-rewards .how-rewards-main-image {
    height: 220px !important;
  }
}

/* =========================================================
   AJUSTE VISUAL FINAL — STORE ROXO CONTÍNUO + ESPAÇO BETFLOW
   ========================================================= */
/* Uma única camada de roxo para toda a Store. Assim não existe
   mudança de tom entre o hero, a conta e a grelha de prémios. */
body.store-page {
  background-color: #020711;
  background-image:
    radial-gradient(ellipse 92% 920px at 12% 31%, rgba(111, 56, 193, .095) 0%, rgba(78, 38, 142, .052) 35%, rgba(47, 24, 91, .022) 60%, transparent 82%),
    linear-gradient(180deg, rgba(17, 10, 40, .18) 0%, rgba(15, 8, 35, .10) 46%, rgba(8, 5, 22, .035) 75%, transparent 100%),
    linear-gradient(rgba(1,6,15,.25), rgba(1,6,15,.45)),
    url("assets/images/background-site.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-position: center top, center top, center center, center center;
  background-size: 100% 100%, 100% 100%, cover, cover;
  background-attachment: fixed, fixed, fixed, fixed;
}

/* Remove gradientes locais que criavam a "linha"/mudança de roxo. */
.store-page .store-page-main,
.store-page .store-page-hero.store-rewards-intro,
.store-page .store-section {
  background: transparent !important;
}

.store-page .store-page-hero.store-rewards-intro::before,
.store-page .store-section::before {
  content: none !important;
  display: none !important;
}

/* Mantém apenas um glow muito subtil dentro da conta, sem alterar
   a cor geral do fundo da página. */
.store-page .store-account {
  background:
    radial-gradient(circle at 8% 50%, rgba(145,70,255,.055), transparent 31%),
    linear-gradient(135deg, rgba(5,12,22,.78), rgba(2,8,15,.68));
}

/* O conteúdo BETFLOW deixa de começar colado à barra fixa. */
.betflow-tracker-main {
  padding-top: 126px !important;
}

@media (max-width: 850px) {
  body.store-page {
    background-attachment: scroll, scroll, scroll, scroll;
  }
}

@media (max-width: 640px) {
  .betflow-tracker-main {
    padding-top: 104px !important;
  }
}


/* BETFLOW — ColdBet em verde + acessos rápidos aos grupos */
.betflow-coldbet-banner{
  border-color:rgba(70, 220, 105, .58)!important;
  background:linear-gradient(135deg,rgba(7,24,20,.98),rgba(5,35,19,.98))!important;
  box-shadow:0 18px 60px rgba(0,0,0,.24),inset 0 0 42px rgba(53,221,99,.07),0 0 36px rgba(36,210,87,.035)!important;
}
.betflow-coldbet-kicker,
.betflow-coldbet-copy strong b,
.betflow-coldbet-copy p b,
.betflow-coldbet-actions small b{
  color:#54e67d!important;
}
.betflow-coldbet-actions small{color:#779b82!important}
.betflow-coldbet-cta{
  background:linear-gradient(135deg,#63ef86,#35d968)!important;
  color:#03120a!important;
  box-shadow:0 9px 28px rgba(53,217,104,.20)!important;
}
.betflow-coldbet-cta:hover{filter:brightness(1.06)}
.betflow-promo-highlight{
  border-color:rgba(73,224,111,.48)!important;
  background:rgba(53,217,104,.075)!important;
}
.betflow-promo-highlight>span{color:#7da387!important}
.betflow-promo-highlight>strong{
  color:#61ef86!important;
  text-shadow:0 0 18px rgba(53,217,104,.22)!important;
}
.betflow-promo-highlight>button{
  border-color:rgba(73,224,111,.34)!important;
  background:#4ee176!important;
  color:#03120a!important;
}
.betflow-18{color:#708478!important}
.betflow-coldbet-proof b,.betflow-coldbet-proof>div small b{color:#55e67c!important}
.betflow-coldbet-proof a{color:#58e980!important}

.betflow-community-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin:-4px 0 24px;
  padding:17px 18px;
  border:1px solid rgba(47,143,192,.28);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(7,20,31,.92),rgba(5,16,25,.92));
}
.betflow-community-copy{display:flex;flex-direction:column;gap:4px;min-width:230px}
.betflow-community-copy>span{color:#56c9ff;font-size:8px;font-weight:900;letter-spacing:1.45px}
.betflow-community-copy>strong{color:#eaf6ff;font-size:11px;font-weight:900;letter-spacing:.15px}
.betflow-community-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.betflow-community-button{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(75,201,255,.36);
  border-radius:10px;
  background:#081b2a;
  color:#dff5ff;
  text-decoration:none;
  font:900 9px Montserrat,sans-serif;
  letter-spacing:.15px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.betflow-community-button img{width:22px;height:22px;object-fit:contain;display:block}
.betflow-community-button:hover{
  transform:translateY(-1px);
  border-color:#4ecbff;
  background:#0b2538;
  box-shadow:0 8px 24px rgba(50,180,235,.10);
}
@media(max-width:900px){
  .betflow-community-links{align-items:flex-start;flex-direction:column}
  .betflow-community-actions{width:100%;justify-content:flex-start}
}
@media(max-width:560px){
  .betflow-community-actions{display:grid;grid-template-columns:1fr;width:100%}
  .betflow-community-button{justify-content:center}
}

/* =========================
   STORE ADMIN / STOCK
   ========================= */
.store-category-heading-actions{display:flex;align-items:center;gap:14px}.store-admin-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border:1px solid rgba(83,193,255,.45);border-radius:10px;color:#62caff;background:rgba(12,40,59,.72);font-size:9px;font-weight:900;letter-spacing:.7px;text-decoration:none;transition:.2s ease}.store-admin-link:hover{border-color:#65ceff;background:#0c2c41;transform:translateY(-1px)}
.reward-media{position:relative}.reward-stock-badge{position:absolute;left:14px;top:14px;z-index:3;padding:8px 11px;border-radius:999px;background:rgba(16,22,29,.92);border:1px solid rgba(255,92,110,.5);color:#ff6576;font:900 9px Montserrat,sans-serif;letter-spacing:.8px;box-shadow:0 8px 30px rgba(0,0,0,.28)}.reward-card.is-out-of-stock .reward-media img{filter:grayscale(.6) brightness(.58);opacity:.7}.reward-redeem.is-out-of-stock{background:#151b23!important;color:#697786!important;border-color:#26313e!important;cursor:not-allowed!important;box-shadow:none!important}
.store-admin-page{background:#030b14;color:#eef7ff;min-height:100vh}.store-admin-main{position:relative;z-index:2;width:min(1220px,calc(100% - 40px));margin:0 auto;padding:88px 0 100px}.store-admin-hero{position:relative;margin-bottom:28px}.store-admin-hero>span{display:inline-flex;padding:8px 14px;border:1px solid #23577a;border-radius:999px;color:#5bcaff;font-size:10px;font-weight:900;letter-spacing:1.6px}.store-admin-hero h1{font-size:clamp(38px,5vw,58px);line-height:1;margin:16px 0 10px;font-weight:900;letter-spacing:-2px}.store-admin-hero p{color:#8da6b8;font-size:14px}.store-admin-back{position:absolute;right:0;top:8px;border:1px solid #1a4561;border-radius:10px;padding:11px 14px;color:#65ccff;background:#071522;text-decoration:none;font-size:9px;font-weight:900}.store-admin-guard{padding:22px;border:1px solid #20445d;border-radius:14px;background:#071522;color:#9eb2c0}.store-admin-guard a{color:#55c9ff}.store-admin-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:18px 20px;margin-bottom:14px;border:1px solid #17364c;border-radius:16px;background:#07131f}.store-admin-toolbar>div{display:grid;gap:5px}.store-admin-toolbar span{color:#5ccaff;font-size:9px;font-weight:900;letter-spacing:1.3px}.store-admin-toolbar strong{font-size:18px}.store-admin-toolbar p{margin:0;color:#6f899b;font-size:10px}.store-admin-message{min-height:22px;margin:0 0 10px;font-size:10px;font-weight:800}.store-admin-message.success{color:#2be08b}.store-admin-message.error{color:#ff6271}.store-admin-products{display:grid;gap:10px}.store-admin-product{display:grid;grid-template-columns:84px minmax(240px,1fr) 210px 180px 110px;gap:16px;align-items:center;padding:14px;border:1px solid #17354a;border-radius:16px;background:linear-gradient(135deg,#07131f,#06111b);transition:.2s ease}.store-admin-product.is-out{border-color:rgba(255,91,107,.25);opacity:.82}.store-admin-product-media{width:84px;height:68px;border-radius:11px;overflow:hidden;background:#030a10;border:1px solid #173044}.store-admin-product-media img{width:100%;height:100%;object-fit:cover;display:block}.store-admin-product-info{display:grid;gap:4px}.store-admin-product-info span{color:#5bc9ff;font-size:8px;font-weight:900;letter-spacing:1px}.store-admin-product-info strong{font-size:13px}.store-admin-product-info small{color:#597589;font-size:8px}.store-admin-cost-field,.store-admin-stock-field{display:grid;gap:6px}.store-admin-cost-field>span,.store-admin-stock-field>span{color:#68879b;font-size:8px;font-weight:900;letter-spacing:.8px}.store-admin-cost-field input{width:100%;box-sizing:border-box;border:1px solid #1d4159;border-radius:10px;background:#091927;color:#f1f8fc;padding:11px 12px;font:800 12px Montserrat,sans-serif;outline:none}.store-admin-cost-field input:focus{border-color:#56caff}.store-admin-cost-field small{color:#5e7b8e;font-size:8px}.store-admin-stock-field{grid-template-columns:auto 1fr;align-items:center}.store-admin-stock-field>span{grid-column:1/-1}.store-admin-switch{position:relative;width:48px;height:26px}.store-admin-switch input{position:absolute;opacity:0;pointer-events:none}.store-admin-switch>span{position:absolute;inset:0;border-radius:999px;background:#25303b;border:1px solid #344250;cursor:pointer;transition:.2s}.store-admin-switch>span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#83909a;transition:.2s}.store-admin-switch input:checked+span{background:rgba(31,194,119,.2);border-color:#2bd284}.store-admin-switch input:checked+span:after{transform:translateX(22px);background:#2ee293}.store-admin-stock-state{font-size:9px;color:#2de08d}.store-admin-stock-state.out{color:#ff6172}.store-admin-save{height:42px;border:0;border-radius:10px;background:#58caff;color:#03111c;font:900 9px Montserrat,sans-serif;cursor:pointer}.store-admin-save:hover{filter:brightness(1.08)}.store-admin-save:disabled{opacity:.55}
@media(max-width:950px){.store-admin-product{grid-template-columns:70px 1fr 180px}.store-admin-stock-field,.store-admin-save{grid-column:auto}.store-admin-product-media{width:70px}.store-admin-toolbar{align-items:flex-start;flex-direction:column}.store-admin-back{position:static;display:inline-flex;margin-top:12px}.store-category-heading-actions{align-items:flex-end;flex-direction:column}}
@media(max-width:680px){.store-admin-main{width:min(100% - 24px,1220px);padding-top:62px}.store-admin-product{grid-template-columns:64px 1fr}.store-admin-cost-field,.store-admin-stock-field,.store-admin-save{grid-column:1/-1}.store-admin-product-media{width:64px;height:58px}.store-admin-save{width:100%}.store-category-heading-actions{align-items:flex-start}}

.store-admin-link[hidden]{display:none!important}

/* =========================
   SUPORTE FLUTUANTE
   ========================= */
.site-support-widget{
  position:fixed;
  left:22px;
  bottom:22px;
  z-index:9998;
  font-family:Montserrat,Arial,sans-serif;
}
.site-support-trigger{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(83,201,255,.48);
  border-radius:15px;
  background:linear-gradient(145deg,rgba(7,25,39,.96),rgba(5,15,25,.98));
  color:#61ccff;
  cursor:pointer;
  box-shadow:0 10px 34px rgba(0,0,0,.34),0 0 22px rgba(61,190,255,.10);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.site-support-trigger:hover,
.site-support-widget.is-open .site-support-trigger{
  transform:translateY(-2px);
  border-color:#67d0ff;
  background:linear-gradient(145deg,#0a2b41,#061923);
  box-shadow:0 12px 36px rgba(0,0,0,.4),0 0 28px rgba(75,199,255,.18);
}
.site-support-trigger svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-support-panel{
  position:absolute;
  left:0;
  bottom:62px;
  width:min(410px,calc(100vw - 32px));
  padding:23px;
  border:1px solid rgba(79,194,250,.34);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(7,22,35,.985),rgba(5,14,24,.99));
  box-shadow:0 22px 65px rgba(0,0,0,.52),0 0 44px rgba(44,169,229,.08);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px) scale(.985);
  transform-origin:left bottom;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.site-support-widget.is-open .site-support-panel{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.site-support-close{
  position:absolute;
  top:13px;
  right:15px;
  width:30px;
  height:30px;
  border:0;
  background:transparent;
  color:#8298a8;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  transition:color .15s ease,transform .15s ease;
}
.site-support-close:hover{color:#e8f6ff;transform:rotate(4deg)}
.site-support-heading{padding:0 38px 17px 0}
.site-support-heading>span{display:block;margin-bottom:7px;color:#58c9ff;font-size:8px;font-weight:900;letter-spacing:1.5px}
.site-support-heading h2{margin:0 0 5px;color:#f4f9fc;font-size:21px;line-height:1.05;font-weight:900;letter-spacing:-.5px}
.site-support-heading p{margin:0;color:#8ba1b1;font-size:11px;line-height:1.45}
.site-support-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 20px;
  align-items:center;
  gap:13px;
  min-height:68px;
  padding:12px 13px;
  margin-top:10px;
  border:1px solid rgba(75,181,231,.20);
  border-radius:13px;
  background:rgba(12,34,51,.72);
  color:inherit;
  text-decoration:none;
  transition:transform .17s ease,border-color .17s ease,background .17s ease,box-shadow .17s ease;
}
.site-support-card:hover{
  transform:translateY(-1px);
  border-color:rgba(87,204,255,.52);
  background:rgba(13,43,64,.88);
  box-shadow:0 9px 26px rgba(0,0,0,.18);
}
.site-support-card-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(85,202,255,.30);
  border-radius:11px;
  background:rgba(27,119,166,.12);
  color:#5ed0ff;
}
.site-support-card-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-support-card-copy{display:flex;flex-direction:column;min-width:0}
.site-support-card-copy small{margin-bottom:3px;color:#718b9d;font-size:8px;font-style:normal;font-weight:900;letter-spacing:.75px}
.site-support-card-copy strong{overflow-wrap:anywhere;color:#edf8ff;font-size:11px;line-height:1.25;font-weight:900}
.site-support-card-copy em{margin-top:3px;color:#6e8798;font-size:8px;line-height:1.3;font-style:normal;font-weight:600}
.site-support-arrow{color:#53caff;font-size:14px;font-weight:900;opacity:.75}
@media(max-width:600px){
  .site-support-widget{left:14px;bottom:14px}
  .site-support-trigger{width:44px;height:44px;border-radius:13px}
  .site-support-panel{bottom:56px;padding:19px;width:min(370px,calc(100vw - 28px))}
  .site-support-heading h2{font-size:19px}
  .site-support-card{grid-template-columns:38px minmax(0,1fr) 16px;gap:10px}
  .site-support-card-icon{width:36px;height:36px}
}

/* =========================================================
   COMO FUNCIONA — VISUAIS PASSO 02 / 03
   ========================================================= */
/* Passo 02: usa a moeda oficial da Daily. */
.how-points-visual-live img {
  width: 124px;
  height: 124px;
  object-fit: contain;
  z-index: 2;
  border-radius: 50%;
  filter: drop-shadow(0 0 28px rgba(83,197,255,.38));
}

/* Passo 03: composição de prémios em órbita, inspirada no exemplo. */
.how-points-visual-rewards {
  position: relative;
  height: 285px;
  padding: 0;
  overflow: visible;
}
.how-rewards-network {
  position: relative;
  width: 310px;
  height: 270px;
  margin: 0 auto;
  isolation: isolate;
}
.how-rewards-network::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 24px;
  width: 220px;
  height: 220px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(81,201,255,.13) 0%, rgba(25,123,184,.055) 44%, transparent 70%);
  filter: blur(2px);
  z-index: -2;
}
.how-rewards-node {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  background: #061421;
  border: 2px solid rgba(90,203,255,.62);
  box-shadow:
    0 0 0 5px rgba(75,190,255,.055),
    0 0 24px rgba(62,190,255,.20),
    inset 0 0 18px rgba(75,195,255,.08);
  animation: howRewardFloat 4.8s ease-in-out infinite;
  z-index: 3;
}
.how-rewards-node img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
.how-rewards-node-iphone { width: 82px; height: 82px; left: 22px; top: 64px; animation-delay: -.7s; }
.how-rewards-node-shirt { width: 74px; height: 74px; right: 24px; top: 55px; animation-delay: -2.1s; }
.how-rewards-node-vip { width: 62px; height: 62px; left: 72px; top: 10px; animation-delay: -1.4s; }
.how-rewards-node-wheel { width: 54px; height: 54px; right: 82px; top: 7px; animation-delay: -3s; }
.how-rewards-node-jerseys {
  width: 92px;
  height: 92px;
  left: 50%;
  top: 118px;
  transform: translateX(-50%);
  animation: howRewardFloatCenter 5.2s ease-in-out infinite;
  border-color: rgba(111,216,255,.78);
  box-shadow: 0 0 0 6px rgba(75,190,255,.06), 0 0 30px rgba(71,196,255,.28);
}
.how-rewards-arc {
  position: absolute;
  left: 50%;
  bottom: 4px;
  transform: translateX(-50%);
  border: 1px solid rgba(84,199,255,.20);
  border-bottom: 0;
  border-radius: 50% 50% 0 0;
  z-index: 0;
}
.how-rewards-arc-a { width: 280px; height: 88px; }
.how-rewards-arc-b { width: 210px; height: 64px; bottom: 4px; opacity: .62; }
.how-rewards-dot {
  position: absolute;
  bottom: 79px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #59cbff;
  box-shadow: 0 0 12px rgba(89,203,255,.68);
  z-index: 2;
}
.how-rewards-dot-a { left: 21px; }
.how-rewards-dot-b { left: 151px; bottom: 67px; }
.how-rewards-dot-c { right: 21px; }
@keyframes howRewardFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes howRewardFloatCenter {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-8px); }
}

@media (max-width: 1050px) {
  .how-points-visual-rewards { height: 270px; }
}
@media (max-width: 700px) {
  .how-rewards-network { transform: scale(.9); transform-origin: center top; }
  .how-points-visual-live img { width: 112px; height: 112px; }
}

/* Passo 03: VIP e camisolas usam as imagens originais, sem miniaturas especiais. */
.how-rewards-node-vip img,
.how-rewards-node-jerseys img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
.how-rewards-node-vip {
  width: 62px;
  height: 62px;
}
.how-rewards-node-jerseys {
  width: 92px;
  height: 92px;
  top: 118px;
}

/* MINI-JOGOS: 4 cartões + correção das miniaturas de rewards */
@media (min-width: 1180px) {
  .minigame-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .minigame-card-visual { height: 220px; }
  .minigame-card-content { padding: 21px; }
}


/* =========================================================
   BETFLOW — COMUNIDADE TELEGRAM COM MAIS DESTAQUE (AZUL)
   ========================================================= */
.betflow-community-links{
  position:relative;
  overflow:hidden;
  margin:8px 0 30px !important;
  padding:22px 24px !important;
  border:1px solid rgba(70,190,255,.52) !important;
  background:
    radial-gradient(circle at 18% 50%, rgba(45,169,232,.14), transparent 34%),
    linear-gradient(135deg, rgba(9,36,55,.97), rgba(6,23,37,.97)) !important;
  box-shadow:
    0 12px 34px rgba(21,137,198,.10),
    inset 0 0 28px rgba(67,188,247,.035) !important;
}
.betflow-community-links::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(180deg,#68d4ff,#248fd0);
  box-shadow:0 0 16px rgba(85,203,255,.42);
}
.betflow-community-copy{
  gap:6px !important;
}
.betflow-community-copy>span{
  color:#69d2ff !important;
  font-size:9px !important;
  letter-spacing:1.7px !important;
}
.betflow-community-copy>strong{
  color:#f4fbff !important;
  font-size:13px !important;
  letter-spacing:.12px !important;
}
.betflow-community-button{
  min-height:46px !important;
  padding:0 18px !important;
  border-color:rgba(83,199,255,.48) !important;
  background:linear-gradient(180deg,rgba(11,48,72,.98),rgba(8,35,54,.98)) !important;
  color:#e9f8ff !important;
  box-shadow:inset 0 0 18px rgba(84,196,249,.035) !important;
}
.betflow-community-button:hover{
  transform:translateY(-2px) !important;
  border-color:#69d2ff !important;
  background:linear-gradient(180deg,#103d5c,#0b2d45) !important;
  box-shadow:0 9px 25px rgba(49,177,239,.16), inset 0 0 18px rgba(91,205,255,.05) !important;
}


/* === GHOST PATCH: blackjack/store improvements === */
.bj-sidebet,
.bj-pays-text,
.bj-bet-spot.left,
.bj-bet-spot.right {
  display: none !important;
}

.bj-bet-spots {
  width: 210px;
  height: 185px;
  bottom: 34px;
}

.bj-bet-spot.center {
  width: 170px;
  height: 170px;
  left: 50%;
  right: auto;
  bottom: 0;
  transform: translateX(-50%);
}

.bj-dealer-zone { padding-top: 58px; }
.bj-player-zone { padding-bottom: 92px; }

.bj-zone-heading {
  gap: 12px;
  padding: 10px 16px;
  border: 1px solid rgba(110, 210, 255, .20);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(7, 26, 44, .72), rgba(5, 17, 28, .84));
  color: #9fdcff;
  font-size: 11px;
  letter-spacing: 1.8px;
  box-shadow: 0 10px 28px rgba(0,0,0,.22), 0 0 18px rgba(71, 179, 255, .08);
}
.bj-zone-heading span { color: #79cfff; }
.bj-zone-heading b {
  min-width: 48px;
  padding: 8px 12px;
  background: linear-gradient(180deg, rgba(79, 190, 255, .22), rgba(44, 129, 191, .10));
  border: 1px solid rgba(112, 213, 255, .36);
  color: #ffffff;
  font-size: 18px;
  font-weight: 900;
  box-shadow: inset 0 0 18px rgba(86, 193, 255, .08);
}
.player-heading { margin-top: 18px; }
.bj-hand { margin-top: 16px; }
.bj-center-mark small { display: none; }

@media (max-width: 900px) {
  .bj-bet-spots { width: 180px; height: 150px; bottom: 26px; }
  .bj-bet-spot.center { width: 132px; height: 132px; }
  .bj-zone-heading b { font-size: 16px; }
  .bj-dealer-zone { padding-top: 42px; }
  .bj-player-zone { padding-bottom: 78px; }
}

@media (max-width: 680px) {
  .bj-bet-spots { width: 148px; height: 122px; }
  .bj-bet-spot.center { width: 104px; height: 104px; }
  .bj-zone-heading { font-size: 10px; padding: 9px 12px; }
  .bj-zone-heading b { min-width: 42px; padding: 7px 10px; font-size: 15px; }
}

.daily-streak-symbol {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 19px;
  font-weight: 950;
  text-shadow: 0 0 16px rgba(90, 198, 255, .18);
}
.daily-streak-symbol-seven { color: #dff5ff; }
.daily-streak-symbol-snow { color: #b8ecff; }
.daily-streak-symbol-crown { color: #f0d8ff; }
.daily-streak-symbol-diamond { color: #9fd7ff; }
.daily-streak-symbol-jackpot { color: #ffffff; font-size: 16px; letter-spacing: .4px; }
.daily-streak-day.rarity-common .daily-streak-day-circle { border-color: rgba(113,195,255,.22); }
.daily-streak-day.rarity-rare .daily-streak-day-circle { border-color: rgba(123,218,255,.30); box-shadow: 0 0 14px rgba(62,174,240,.10); }
.daily-streak-day.rarity-epic .daily-streak-day-circle { border-color: rgba(193,146,255,.35); box-shadow: 0 0 16px rgba(145,89,255,.14); }
.daily-streak-day.rarity-legendary .daily-streak-day-circle { border-color: rgba(108,213,255,.45); box-shadow: 0 0 18px rgba(58,185,255,.18); }
.daily-streak-day.rarity-jackpot .daily-streak-day-circle { border-color: rgba(255,255,255,.45); box-shadow: 0 0 22px rgba(85,191,255,.24); background: radial-gradient(circle at 50% 40%, rgba(71,163,227,.36), rgba(9,26,42,.92)); }

/* =========================================================
   BLACKJACK — MESA SIMPLIFICADA + SCORES EM DESTAQUE
   ========================================================= */
.blackjack-table .bj-sidebet,
.blackjack-table .bj-pays-text,
.blackjack-table .bj-bet-spot.left,
.blackjack-table .bj-bet-spot.right{
  display:none!important;
}

.blackjack-table .bj-bet-spots-single{
  width:220px;
  height:170px;
  bottom:26px;
  z-index:1;
}
.blackjack-table .bj-bet-spots-single .bj-bet-spot.center{
  left:50%;
  bottom:0;
  width:154px;
  height:154px;
  transform:translateX(-50%);
  border-color:rgba(104,203,255,.42);
  box-shadow:inset 0 0 0 12px rgba(13,56,71,.18),0 0 28px rgba(61,181,242,.08);
}
.blackjack-table .bj-bet-spots-single .bj-bet-spot.center span{
  color:rgba(154,220,255,.88);
}

.blackjack-table .bj-dealer-zone{
  padding-top:92px;
}
.blackjack-table .bj-player-zone{
  padding-bottom:92px;
}

.blackjack-table .bj-zone-heading{
  position:relative;
  z-index:8;
  gap:9px;
  padding:7px 9px 7px 13px;
  border:1px solid rgba(94,196,252,.34);
  border-radius:999px;
  background:rgba(4,20,31,.90);
  box-shadow:0 10px 26px rgba(0,0,0,.24),0 0 22px rgba(69,187,245,.10);
  color:#a8dfff;
  font-size:10px;
  letter-spacing:1.3px;
  backdrop-filter:blur(8px);
}
.blackjack-table .bj-zone-heading span{
  color:#8ed4fb;
  font-size:10px;
  font-weight:950;
}
.blackjack-table .bj-zone-heading b{
  min-width:42px;
  padding:7px 10px;
  border:1px solid rgba(112,205,255,.24);
  background:linear-gradient(180deg,rgba(84,197,255,.22),rgba(30,116,160,.16));
  color:#fff;
  font-size:17px;
  line-height:1;
  text-shadow:0 0 12px rgba(108,210,255,.46);
  box-shadow:inset 0 0 14px rgba(88,196,255,.05);
}
.blackjack-table .player-heading{
  margin-top:16px;
}
.blackjack-table .player-heading span::after{
  content:" / PLAYER";
  opacity:.58;
  font-size:8px;
}

/* Carta do jogador entra da zona do shoe e assenta com suavidade */
.playing-card.card-player-draw{
  transform-origin:center;
  animation:bjPlayerDeal .72s cubic-bezier(.18,.8,.22,1) both;
}
@keyframes bjPlayerDeal{
  0%{opacity:0;transform:translate(135px,-80px) rotate(13deg) scale(.68);filter:blur(2px)}
  62%{opacity:1;transform:translate(-6px,4px) rotate(-1.5deg) scale(1.035);filter:blur(0)}
  82%{transform:translate(2px,-1px) rotate(.5deg) scale(.995)}
  100%{opacity:1;transform:none}
}

.blackjack-table .bj-zone-heading.score-pulse b,
.blackjack-table .bj-zone-heading:has(b.score-pulse) b,
#playerScore.score-pulse,
#dealerScore.score-pulse{
  animation:bjScorePulse .42s ease both;
}
@keyframes bjScorePulse{
  0%{transform:scale(.86);color:#6bd0ff}
  55%{transform:scale(1.18);color:#fff;box-shadow:0 0 24px rgba(91,203,255,.34)}
  100%{transform:scale(1)}
}

/* DAILY STREAK — símbolos da slot por raridade */
.daily-streak-day-circle{
  overflow:hidden;
}
.streak-slot-symbol,
.streak-slot-symbol-img{
  position:relative;
  z-index:2;
}
.streak-slot-symbol{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#89d8ff;
  font-size:16px;
  font-weight:950;
  line-height:1;
  text-shadow:0 0 11px rgba(78,195,255,.34);
}
.streak-slot-symbol-img{
  width:23px!important;
  height:23px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 6px rgba(65,190,255,.28));
}
.streak-rarity-3 .streak-slot-symbol{color:#d6eeff;font-size:17px}
.streak-rarity-4 .streak-slot-symbol{color:#82d9ff;font-size:14px}
.streak-rarity-5 .streak-slot-symbol{color:#b79cff;font-size:17px;text-shadow:0 0 12px rgba(157,114,255,.36)}
.streak-rarity-6 .streak-slot-symbol{color:#f1c86e;text-shadow:0 0 12px rgba(241,190,72,.38)}
.streak-slot-symbol-gs{font-size:10px!important;letter-spacing:-.5px}
.streak-rarity-7{
  border-color:rgba(255,204,86,.55)!important;
  box-shadow:0 0 18px rgba(255,184,55,.14),inset 0 0 16px rgba(255,203,87,.07)!important;
}
.streak-slot-symbol-jackpot{
  color:#ffd36f!important;
  font-size:19px!important;
  text-shadow:0 0 13px rgba(255,194,62,.55)!important;
}

@media (max-width:900px){
  .blackjack-table .bj-dealer-zone{padding-top:78px}
  .blackjack-table .bj-player-zone{padding-bottom:78px}
  .blackjack-table .bj-bet-spots-single{height:140px;bottom:20px}
  .blackjack-table .bj-bet-spots-single .bj-bet-spot.center{width:120px;height:120px}
}

/* =========================================================
   BLACKJACK — SCORE LIMPO + CARTAS MAIS SMOOTH
   ========================================================= */
/* As cartas antigas deixam de repetir a animação sempre que o DOM é atualizado. */
.playing-card{
  animation:none;
}

.blackjack-table .bj-bet-spots,
.blackjack-table .bj-bet-spots-single{
  display:none!important;
}

.blackjack-table .bj-dealer-zone{
  padding-top:64px;
}
.blackjack-table .bj-player-zone{
  padding-bottom:42px;
}
.blackjack-table .bj-zone-heading{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  color:#d8f3ff;
}
.blackjack-table .bj-zone-heading span{
  padding:6px 9px;
  border:1px solid rgba(104,199,244,.20);
  border-radius:8px;
  background:rgba(4,20,31,.58);
  color:#8fd8fb;
  font-size:9px;
  font-weight:950;
  letter-spacing:1.45px;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.blackjack-table .bj-zone-heading b{
  min-width:42px;
  height:34px;
  padding:0 10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(125,220,255,.52);
  border-radius:10px;
  background:linear-gradient(180deg,#65d2ff,#39aee7);
  color:#04131d;
  font-size:18px;
  font-weight:950;
  line-height:1;
  text-shadow:none;
  box-shadow:0 7px 18px rgba(38,156,215,.18), inset 0 1px 0 rgba(255,255,255,.28);
}
.blackjack-table .player-heading{
  margin-top:13px;
}
.blackjack-table .player-heading span::after{
  content:"";
}
.blackjack-table .bj-hand{
  margin-top:13px;
}
.blackjack-table .bj-center-mark{
  opacity:.72;
}

/* Só a carta nova recebe animação; as já distribuídas ficam estáveis. */
.playing-card.card-player-draw{
  z-index:3;
  will-change:transform,opacity,filter;
  animation:bjPlayerDealSmooth .82s cubic-bezier(.16,.84,.24,1) both;
}
@keyframes bjPlayerDealSmooth{
  0%{opacity:0;transform:translate(125px,-72px) rotate(10deg) scale(.76);filter:blur(2.2px)}
  48%{opacity:1;transform:translate(-8px,3px) rotate(-1.2deg) scale(1.025);filter:blur(0)}
  72%{transform:translate(3px,-1px) rotate(.35deg) scale(.995)}
  100%{opacity:1;transform:translate(0,0) rotate(0) scale(1);filter:blur(0)}
}
.playing-card.card-dealer-draw{
  will-change:transform,opacity;
}
#playerScore.score-pulse,
#dealerScore.score-pulse{
  animation:bjScoreCleanPulse .44s ease both;
}
@keyframes bjScoreCleanPulse{
  0%{transform:scale(.86)}
  55%{transform:scale(1.12);box-shadow:0 0 24px rgba(79,200,255,.32),inset 0 1px 0 rgba(255,255,255,.28)}
  100%{transform:scale(1)}
}

@media(max-width:900px){
  .blackjack-table .bj-dealer-zone{padding-top:58px}
  .blackjack-table .bj-player-zone{padding-bottom:38px}
}

/* =========================================================
   MINAS — JOGO COMPLETO
   ========================================================= */
.mines-page{
  background:#020a13;
  color:#fff;
}
.mines-main{
  width:min(1520px,94%);
  margin:0 auto;
  padding:112px 0 70px;
}
.mines-titlebar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.mines-titlebar h1{
  margin-top:4px;
  color:#fff;
  font-size:clamp(36px,4vw,58px);
  line-height:.95;
  font-weight:950;
  letter-spacing:-2px;
}
.mines-shell{
  min-height:720px;
  display:grid;
  grid-template-columns:300px minmax(520px,1fr) 285px;
  overflow:hidden;
  border:1px solid rgba(75,172,230,.18);
  border-radius:20px;
  background:rgba(5,15,27,.92);
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.mines-controls{
  padding:24px;
  border-right:1px solid rgba(100,190,245,.12);
  background:linear-gradient(180deg,rgba(11,28,46,.96),rgba(6,18,31,.98));
}
.mines-bet-row button{
  min-height:40px;
  border-radius:10px;
  border:1px solid rgba(111,194,244,.13);
  background:#102438;
  color:#d9eafa;
  font-weight:900;
  cursor:pointer;
}
.mines-bet-row button:hover:not(:disabled){
  border-color:rgba(89,192,252,.45);
  background:#14304a;
}
.mines-bet-row button:disabled{opacity:.35;cursor:default}
.mines-config-card{
  margin-top:14px;
  padding:14px 15px;
  border:1px solid rgba(87,190,243,.13);
  border-radius:12px;
  background:rgba(3,16,27,.56);
}
.mines-select-card{display:grid;gap:12px}
.mines-select-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.mines-config-card span{
  color:#6d93ab;
  font-size:9px;
  font-weight:900;
  letter-spacing:1px;
}
.mines-config-card strong{
  color:#63cfff;
  font-size:28px;
  font-weight:950;
  line-height:1;
}
.mines-config-card small{
  color:#547084;
  font-size:9px;
  line-height:1.45;
}
.mines-select-wrap{display:block;position:relative}
.mines-select-wrap::after{
  content:"▾";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  color:#78b8dc;
  font-size:12px;
  pointer-events:none;
}
#minesMineCount{
  width:100%;
  min-height:48px;
  padding:0 40px 0 14px;
  border:1px solid rgba(103,188,238,.14);
  border-radius:12px;
  background:linear-gradient(145deg,#112638,#0b1d2d);
  color:#eff8ff;
  font-size:22px;
  font-weight:900;
  appearance:none;
  outline:none;
  cursor:pointer;
}
#minesMineCount:disabled{opacity:.5;cursor:default}
#minesMineCount:focus{border-color:rgba(91,205,255,.42);box-shadow:0 0 0 3px rgba(85,190,243,.10)}
.mines-round-card{
  margin-top:14px;
  padding:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  border:1px solid rgba(85,190,243,.14);
  border-radius:12px;
  background:rgba(3,17,28,.64);
}
.mines-round-card>div{
  min-height:62px;
  padding:10px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(255,255,255,.045);
  border-radius:9px;
  background:rgba(255,255,255,.018);
}
.mines-round-card span{
  color:#53778e;
  font-size:7px;
  font-weight:900;
  letter-spacing:.8px;
}
.mines-round-card strong{
  margin-top:5px;
  color:#f4fbff;
  font-size:15px;
  font-weight:950;
}
.mines-round-card>div:first-child strong{color:#64d5ff;font-size:20px}
.mines-cashout{
  width:100%;
  min-height:52px;
  margin-top:12px;
  border:1px solid rgba(76,226,143,.45);
  border-radius:11px;
  background:linear-gradient(180deg,#28c873,#17a95d);
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.6px;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(23,177,95,.18);
}
.mines-cashout:hover:not(:disabled){
  transform:translateY(-1px);
  background:linear-gradient(180deg,#31d67f,#1bb769);
}
.mines-cashout:disabled{opacity:.35;cursor:default;box-shadow:none}

.mines-game-area{
  position:relative;
  min-height:720px;
  overflow:hidden;
  padding:34px 42px 38px;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at 50% 48%,rgba(25,131,189,.18),transparent 38%),
    radial-gradient(circle at 50% 90%,rgba(68,200,255,.08),transparent 42%),
    linear-gradient(145deg,#061721,#04111a 54%,#061824);
}
.mines-game-area::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.20;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:36px 36px;
}
.mines-game-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 130px rgba(0,0,0,.34);
}
.mines-board-head{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:28px;
}
.mines-board-head>div:first-child span{
  display:block;
  color:#5d839b;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.2px;
}
.mines-board-head>div:first-child strong{
  display:block;
  margin-top:5px;
  color:#e9f8ff;
  font-size:30px;
  font-weight:950;
  text-shadow:0 0 18px rgba(66,190,252,.18);
}
.mines-live-pill{
  padding:7px 11px;
  border:1px solid rgba(100,190,240,.18);
  border-radius:999px;
  background:rgba(8,29,43,.75);
  color:#62879d;
  font-size:8px;
  font-weight:950;
  letter-spacing:1px;
}
.mines-live-pill.is-live{
  border-color:rgba(50,210,125,.30);
  background:rgba(30,170,91,.10);
  color:#62dc98;
  box-shadow:0 0 18px rgba(46,201,113,.08);
}
.mines-board{
  position:relative;
  z-index:2;
  width:min(690px,100%);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
.mines-tile{
  position:relative;
  aspect-ratio:1/1;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(103,188,238,.14);
  border-radius:14px;
  background:linear-gradient(145deg,#112638,#0b1d2d);
  color:#57778c;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.mines-tile:not(:disabled):hover{
  transform:translateY(-3px);
  border-color:rgba(91,205,255,.42);
  background:linear-gradient(145deg,#163049,#0d2437);
  box-shadow:0 14px 28px rgba(0,0,0,.24),0 0 18px rgba(65,187,245,.08);
}
.mines-tile-question{
  font-size:20px;
  font-weight:900;
  opacity:.42;
}
.mines-tile.is-opening{
  animation:minesTilePress .28s ease both;
}
@keyframes minesTilePress{
  0%{transform:scale(1)}
  50%{transform:scale(.91)}
  100%{transform:scale(.98)}
}
.mines-tile.is-safe{
  border-color:rgba(82,209,255,.40);
  background:radial-gradient(circle at 50% 45%,rgba(66,200,255,.20),rgba(7,27,42,.94));
  box-shadow:0 0 22px rgba(55,190,248,.11),inset 0 0 24px rgba(59,197,255,.08);
}
.mines-tile.is-mine{
  border-color:rgba(236,77,100,.42);
  background:radial-gradient(circle at 50% 45%,rgba(226,55,82,.18),rgba(35,9,18,.95));
}
.mines-tile.is-hit{
  animation:minesMineHit .58s cubic-bezier(.2,.8,.2,1) both;
  box-shadow:0 0 34px rgba(231,65,91,.26),inset 0 0 28px rgba(235,61,89,.12);
}
@keyframes minesMineHit{
  0%{transform:scale(.85);filter:brightness(1)}
  45%{transform:scale(1.08);filter:brightness(1.5)}
  100%{transform:scale(1);filter:brightness(1)}
}
.mines-tile.is-new-reveal.is-safe{
  animation:minesSafeReveal .54s cubic-bezier(.18,.84,.24,1) both;
}
@keyframes minesSafeReveal{
  0%{opacity:.28;transform:perspective(500px) rotateY(72deg) scale(.86)}
  70%{opacity:1;transform:perspective(500px) rotateY(-5deg) scale(1.04)}
  100%{opacity:1;transform:none}
}
.mines-tile-gem{
  color:#79ddff;
  font-size:34px;
  text-shadow:0 0 18px rgba(91,210,255,.62);
}
.mines-tile-bomb{
  color:#ff6d82;
  font-size:35px;
  text-shadow:0 0 18px rgba(244,78,103,.56);
}
.mines-board-footer{
  position:relative;
  z-index:2;
  margin-top:28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:#5d7e93;
  font-size:9px;
}
.mines-board-footer span{font-weight:850;color:#7798ad}
.mines-board-footer small{font-size:8px;color:#466376}
.mines-history-panel{min-width:0}

@media(max-width:1180px){
  .mines-shell{grid-template-columns:270px 1fr}
  .mines-history-panel{grid-column:1/-1;border-left:0;border-top:1px solid rgba(100,190,245,.12)}
  .mines-history-panel .bj-history-list{grid-template-columns:repeat(3,1fr);max-height:none}
}
@media(max-width:900px){
  .mines-titlebar{align-items:stretch;flex-direction:column}
  .mines-shell{grid-template-columns:1fr}
  .mines-controls{border-right:0;border-bottom:1px solid rgba(100,190,245,.12)}
  .mines-game-area{min-height:650px;padding:28px 24px}
  .mines-board{gap:9px}
  .mines-history-panel .bj-history-list{grid-template-columns:1fr}
}
@media(max-width:600px){
  .mines-main{width:94%;padding-top:100px}
  .mines-game-area{min-height:560px;padding:24px 13px 28px}
  .mines-board{gap:7px}
  .mines-tile{border-radius:10px}
  .mines-tile-gem,.mines-tile-bomb{font-size:25px}
  .mines-board-footer{align-items:flex-start;flex-direction:column}
}


/* CRASH GLOBAL STYLES */
.crash-page{
  background:#020a13;
  color:#fff;
}
.crash-main{
  width:min(1540px,95%);
  margin:0 auto;
  padding:112px 0 72px;
}
.crash-titlebar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.crash-titlebar h1{
  margin:4px 0 0;
  color:#fff;
  font-size:clamp(36px,4vw,58px);
  line-height:.95;
  font-weight:950;
  letter-spacing:-2px;
}
.crash-titlebar p{
  margin:10px 0 0;
  color:#6f8ba0;
  font-size:11px;
  font-weight:700;
}
.crash-shell{
  min-height:720px;
  display:grid;
  grid-template-columns:330px minmax(640px,1fr);
  overflow:hidden;
  border:1px solid rgba(75,172,230,.18);
  border-radius:20px;
  background:rgba(5,15,27,.94);
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.crash-left-panel{
  display:flex;
  flex-direction:column;
  padding:20px;
  border-right:1px solid rgba(100,190,245,.12);
  background:linear-gradient(180deg,rgba(15,31,49,.98),rgba(8,20,35,.99));
}
.crash-bet-card{
  padding:16px;
  border:1px solid rgba(106,190,239,.14);
  border-radius:14px;
  background:rgba(255,255,255,.018);
}
.crash-bet-status{
  min-height:67px;
  padding:13px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(102,191,244,.18);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(18,39,60,.86),rgba(10,27,44,.9));
}
.crash-bet-status span{
  color:#64caff;
  font-size:8px;
  font-weight:950;
  letter-spacing:1px;
}
.crash-bet-status b{
  margin-top:6px;
  color:#d9e8f3;
  font-size:11px;
  line-height:1.4;
}
.crash-bet-controls{margin-top:14px}
.crash-bet-row button{
  min-height:38px;
  border-radius:9px;
  border:1px solid rgba(111,194,244,.13);
  background:#102438;
  color:#d9eafa;
  font-weight:900;
  cursor:pointer;
}
.crash-bet-row button:hover:not(:disabled){
  border-color:rgba(89,192,252,.45);
  background:#15324a;
}
.crash-bet-row button:disabled{opacity:.34;cursor:default}
.crash-place-bet,
.crash-cashout{
  width:100%;
  min-height:52px;
  margin-top:12px;
  border-radius:11px;
  font:950 11px Montserrat,sans-serif;
  letter-spacing:.45px;
  cursor:pointer;
  transition:.18s ease;
}
.crash-place-bet{
  border:1px solid rgba(91,201,255,.38);
  background:linear-gradient(180deg,#d9f1ff,#bfe6fb);
  color:#07131f;
  box-shadow:0 10px 25px rgba(77,190,247,.12);
}
.crash-place-bet:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}
.crash-place-bet:disabled{opacity:.35;cursor:default;box-shadow:none}
.crash-cashout{
  border:1px solid rgba(70,225,139,.52);
  background:linear-gradient(180deg,#2bd17b,#17a95e);
  color:#fff;
  box-shadow:0 12px 30px rgba(26,190,104,.22),0 0 26px rgba(42,208,122,.08);
}
.crash-cashout:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}
.crash-cashout:disabled{opacity:.45;cursor:default}
.crash-own-bet{
  margin-top:11px;
  padding:11px 12px;
  display:grid;
  gap:5px;
  border:1px solid rgba(90,190,244,.14);
  border-radius:10px;
  background:rgba(9,29,45,.68);
}
.crash-own-bet span{
  color:#5c8299;
  font-size:7px;
  font-weight:950;
  letter-spacing:1px;
}
.crash-own-bet strong{font-size:10px;color:#dcecf6}
.crash-message{min-height:52px;margin-top:11px}
.crash-players-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin:18px 2px 10px;
}
.crash-players-head span{
  color:#5c7890;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}
.crash-players-head strong{
  color:#dceaf4;
  font-size:9px;
}
.crash-players-head b{color:#63cfff}
.crash-player-list{
  min-height:180px;
  max-height:360px;
  overflow:auto;
  padding-right:4px;
  display:grid;
  align-content:start;
  gap:7px;
}
.crash-player-empty{
  min-height:140px;
  display:grid;
  place-items:center;
  text-align:center;
  padding:20px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  color:#607789;
  font-size:10px;
}
.crash-player-row{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:10px;
  background:rgba(255,255,255,.025);
  transition:.2s ease;
}
.crash-player-row.is-cashed{
  border-color:rgba(46,214,125,.22);
  background:rgba(33,177,97,.055);
}
.crash-player-row.is-lost{
  border-color:rgba(241,84,106,.16);
  background:rgba(198,52,72,.04);
}
.crash-player-identity{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.crash-player-identity img,
.crash-player-avatar-fallback{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:50%;
  object-fit:cover;
  display:grid;
  place-items:center;
  background:#10283c;
  border:1px solid rgba(92,198,252,.19);
  color:#66ceff;
  font-size:10px;
  font-weight:950;
}
.crash-player-identity strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#e6f1f8;
  font-size:10px;
}
.crash-player-result{
  flex:0 0 auto;
  display:grid;
  justify-items:end;
  gap:3px;
}
.crash-player-result span{color:#758a9a;font-size:8px}
.crash-player-result b{color:#6b8ba0;font-size:8px}
.crash-player-row.is-cashed .crash-player-result b{color:#37db89}
.crash-player-row.is-lost .crash-player-result b{color:#ff6c7d}

.crash-stage{
  position:relative;
  min-height:720px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:
    radial-gradient(circle at 69% 29%,rgba(54,119,191,.18),transparent 31%),
    radial-gradient(circle at 48% 54%,rgba(21,93,151,.11),transparent 40%),
    linear-gradient(145deg,#071321,#071524 44%,#081928 100%);
}
.crash-stage::before,
.crash-stage::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.crash-stage::before{
  opacity:.55;
  background-image:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.72) 0 1px,transparent 1.8px),
    radial-gradient(circle at 17% 62%,rgba(164,210,255,.65) 0 1px,transparent 2px),
    radial-gradient(circle at 28% 33%,rgba(255,255,255,.54) 0 1px,transparent 2px),
    radial-gradient(circle at 42% 14%,rgba(136,197,255,.62) 0 1.2px,transparent 2px),
    radial-gradient(circle at 55% 73%,rgba(255,255,255,.5) 0 1px,transparent 2px),
    radial-gradient(circle at 68% 45%,rgba(154,209,255,.7) 0 1px,transparent 2px),
    radial-gradient(circle at 79% 17%,rgba(255,255,255,.65) 0 1px,transparent 2px),
    radial-gradient(circle at 89% 64%,rgba(146,206,255,.62) 0 1px,transparent 2px);
  background-size:260px 240px,310px 270px,230px 250px,290px 280px,270px 240px,340px 310px,250px 260px,300px 290px;
}
.crash-stage::after{
  background:linear-gradient(180deg,transparent 70%,rgba(2,9,16,.70));
}
.crash-space-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 150px rgba(0,0,0,.34);
}
.crash-history-strip{
  position:relative;
  z-index:4;
  min-height:55px;
  padding:14px 18px 8px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  overflow:hidden;
}
.crash-history-pill{
  flex:0 0 auto;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(120,152,175,.16);
  background:rgba(15,31,48,.74);
  color:#8fa4b4;
  font-size:8px;
  font-weight:900;
  box-shadow:0 5px 16px rgba(0,0,0,.14);
}
.crash-history-pill.is-mid{
  color:#47e399;
  border-color:rgba(49,215,134,.30);
  background:rgba(23,116,71,.22);
}
.crash-history-pill.is-high{
  color:#8ef8c0;
  border-color:rgba(51,231,144,.44);
  background:rgba(19,137,78,.28);
  box-shadow:0 0 18px rgba(34,218,126,.08);
}
.crash-history-empty{color:#536b7d;font-size:8px;font-weight:800}
.crash-stage-center{
  position:relative;
  z-index:2;
  flex:1;
  min-height:600px;
  overflow:hidden;
}
.crash-stage-center::after{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:-105px;
  height:250px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(51,94,132,.42),rgba(10,30,47,.95) 58%,#06111c 72%);
  box-shadow:0 -14px 70px rgba(54,135,191,.12);
  z-index:0;
}
.crash-chart{
  position:absolute;
  inset:12% 3% 4% 2%;
  width:95%;
  height:84%;
  z-index:1;
  overflow:visible;
}
.crash-chart-grid{
  fill:none;
  stroke:rgba(117,169,202,.055);
  stroke-width:1;
}
.crash-chart-path-glow{
  fill:none;
  stroke:rgba(80,199,255,.25);
  stroke-width:13;
  stroke-linecap:round;
  filter:blur(7px);
}
.crash-chart-path{
  fill:none;
  stroke:url(#crashLineGradient);
  stroke-width:3.4;
  stroke-linecap:round;
  filter:url(#crashGlow);
}
.crash-axis-labels{
  position:absolute;
  left:4%;
  top:11%;
  bottom:5%;
  width:45px;
  z-index:2;
  pointer-events:none;
}
.crash-axis-labels span{
  position:absolute;
  left:0;
  color:#5f7a8f;
  font-size:8px;
  font-weight:800;
}
.crash-multiplier{
  position:absolute;
  left:50%;
  top:47%;
  transform:translate(-50%,-50%);
  z-index:5;
  color:#cfe4f5;
  font-size:clamp(48px,6vw,86px);
  line-height:1;
  font-weight:950;
  letter-spacing:-3px;
  text-shadow:0 10px 35px rgba(0,0,0,.35),0 0 28px rgba(104,199,255,.08);
  opacity:.12;
  transition:color .2s ease,opacity .2s ease,text-shadow .2s ease;
}
.crash-multiplier.is-running{
  opacity:1;
  color:#e6f5ff;
  text-shadow:0 12px 38px rgba(0,0,0,.42),0 0 26px rgba(109,210,255,.13);
}
.crash-multiplier.is-crashed{
  opacity:1;
  color:#ff6578;
  text-shadow:0 12px 38px rgba(0,0,0,.42),0 0 28px rgba(255,74,105,.15);
}
.crash-wait-card{
  position:absolute;
  left:50%;
  top:47%;
  transform:translate(-50%,-50%);
  z-index:6;
  min-width:250px;
  padding:19px 24px;
  text-align:center;
  border:1px solid rgba(91,181,237,.14);
  border-radius:14px;
  background:rgba(15,31,50,.83);
  backdrop-filter:blur(8px);
  box-shadow:0 15px 44px rgba(0,0,0,.26);
}
.crash-wait-card[hidden]{display:none!important}
.crash-wait-card span{
  display:block;
  color:#6e8ba0;
  font-size:9px;
  font-weight:950;
  letter-spacing:.7px;
}
.crash-wait-card strong{
  display:block;
  margin-top:6px;
  color:#e7f6ff;
  font-size:27px;
  font-weight:950;
}
.crash-wait-card small{
  display:block;
  margin-top:6px;
  color:#7890a2;
  font-size:9px;
}
.crash-rocket{
  position:absolute;
  left:7%;
  top:87%;
  z-index:4;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%) rotate(35deg);
  transform-origin:center;
  transition:left .08s linear,top .08s linear;
}
.crash-rocket[hidden]{display:none!important}
.crash-rocket-body{
  position:relative;
  z-index:2;
  font-size:42px;
  filter:drop-shadow(0 0 10px rgba(255,192,83,.28));
}
.crash-rocket i{
  position:absolute;
  right:34px;
  top:50%;
  width:42px;
  height:11px;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,rgba(91,203,255,.22),rgba(255,187,69,.88));
  filter:blur(2px);
  z-index:1;
}
.crash-stage-footer{
  position:relative;
  z-index:4;
  min-height:55px;
  padding:12px 20px 15px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border-top:1px solid rgba(95,185,238,.07);
  color:#527083;
}
.crash-stage-footer span{font-size:8px;font-weight:950;letter-spacing:.7px}
.crash-stage-footer small{font-size:8px}
.crash-stage.is-phase-change .crash-multiplier,
.crash-stage.is-phase-change .crash-wait-card{animation:crashPhasePop .42s ease both}
@keyframes crashPhasePop{
  0%{transform:translate(-50%,-50%) scale(.96);filter:brightness(1.45)}
  100%{transform:translate(-50%,-50%) scale(1);filter:none}
}

@media (max-width:1050px){
  .crash-shell{grid-template-columns:290px minmax(0,1fr)}
  .crash-main{width:96%}
  .crash-history-strip{justify-content:flex-start}
}
@media (max-width:820px){
  .crash-titlebar{align-items:stretch;flex-direction:column}
  .crash-shell{grid-template-columns:1fr}
  .crash-left-panel{border-right:0;border-bottom:1px solid rgba(100,190,245,.12)}
  .crash-player-list{max-height:220px}
  .crash-stage{min-height:650px}
  .crash-stage-center{min-height:540px}
}
@media (max-width:560px){
  .crash-main{width:94%;padding-top:100px}
  .crash-left-panel{padding:14px}
  .crash-history-strip{padding-inline:12px}
  .crash-stage-center{min-height:480px}
  .crash-wait-card{min-width:210px;padding:16px}
  .crash-rocket-body{font-size:34px}
  .crash-stage-footer{align-items:flex-start;flex-direction:column}
}


/* FIX FINAL: MINAS + CRASH */
.mines-tile{display:grid;place-items:center;text-align:center}
.mines-tile-question,.mines-tile-gem,.mines-tile-bomb{line-height:1}
.mines-tile-gem{font-size:30px}
.mines-tile-bomb{font-size:30px}
#minesMineCount option{background:#101d2e;color:#f1f8ff;font-weight:800}
#minesMineCount option:checked{background:#1677d2;color:#fff}

.crash-stage{
  background:
    radial-gradient(circle at 76% 22%,rgba(185,214,255,.10),transparent 20%),
    radial-gradient(circle at 54% 53%,rgba(36,120,190,.16),transparent 38%),
    linear-gradient(155deg,#030914 0%,#071827 52%,#082033 100%);
}
.crash-stage-center::before{
  content:"";
  position:absolute;
  right:7%;
  top:10%;
  width:150px;
  height:150px;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 35%,#f8fbff 0 10%,#dfeafa 28%,#b8cee8 55%,#829dbb 76%,rgba(91,116,145,.25) 83%,transparent 100%);
  box-shadow:0 0 34px rgba(200,225,255,.14),0 0 100px rgba(102,151,220,.14);
  opacity:.92;
  z-index:0;
}
.crash-explosion{
  position:absolute;
  width:22px;height:22px;border-radius:50%;
  opacity:0;pointer-events:none;z-index:8;
  transform:translate(-50%,-50%) scale(.15);
  background:radial-gradient(circle,#fff 0%,#ffe59b 18%,#ff9b42 42%,#ff5b3e 60%,rgba(255,91,62,0) 75%);
  box-shadow:0 0 24px rgba(255,176,87,.6),0 0 58px rgba(255,98,58,.4);
}
.crash-explosion::before,.crash-explosion::after{
  content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;
  border:2px solid rgba(255,205,124,.55);transform:translate(-50%,-50%) scale(.2);
}
.crash-explosion::after{border-color:rgba(255,106,70,.42)}
.crash-explosion.is-active{animation:crashBoom .88s cubic-bezier(.2,.85,.22,1) both}
.crash-explosion.is-active::before{animation:crashBoomRing .88s ease-out both}
.crash-explosion.is-active::after{animation:crashBoomRing2 .88s ease-out both}
.crash-rocket.is-blast{opacity:0;transition:opacity .08s linear}
@keyframes crashBoom{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}
  18%{opacity:1;transform:translate(-50%,-50%) scale(2)}
  55%{opacity:1;transform:translate(-50%,-50%) scale(4)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(5.6)}
}
@keyframes crashBoomRing{0%{opacity:.9;transform:translate(-50%,-50%) scale(.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(7)}}
@keyframes crashBoomRing2{0%{opacity:.8;transform:translate(-50%,-50%) scale(.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(5.7)}}


/* STORE ADMIN - RESGATES */
.store-admin-tabs{display:flex;gap:8px;margin:0 0 16px;padding:5px;width:max-content;max-width:100%;border:1px solid #17364c;border-radius:13px;background:#06121e}
.store-admin-tab{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:9px;background:transparent;color:#708a9d;font:900 9px Montserrat,sans-serif;letter-spacing:.75px;cursor:pointer;transition:.18s ease}
.store-admin-tab:hover{color:#ddecf6;background:rgba(76,188,248,.06)}
.store-admin-tab.is-active{color:#07131d;background:#61ccff;box-shadow:0 7px 20px rgba(59,180,240,.12)}
.store-admin-tab>span{min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;border-radius:999px;background:#ff6271;color:#fff;font-size:8px}
.store-admin-tab.is-active>span{background:#0b2637;color:#6dd6ff}
.store-admin-panel[hidden]{display:none!important}
.store-admin-redemption-toolbar{align-items:center}
.store-admin-redemption-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.store-admin-redemption-tools input,.store-admin-redemption-tools select{height:40px;border:1px solid #1c4058;border-radius:10px;background:#081927;color:#eaf5fb;font:800 9px Montserrat,sans-serif;outline:none}
.store-admin-redemption-tools input{width:min(360px,55vw);padding:0 13px}
.store-admin-redemption-tools select{padding:0 34px 0 12px;cursor:pointer}
.store-admin-redemption-tools input:focus,.store-admin-redemption-tools select:focus{border-color:#55c9ff;box-shadow:0 0 0 3px rgba(83,199,255,.08)}
.store-admin-redemptions{display:grid;gap:12px}
.store-admin-redemption{overflow:hidden;border:1px solid #17364b;border-radius:16px;background:linear-gradient(145deg,#071521,#06111b);box-shadow:0 12px 35px rgba(0,0,0,.12)}
.store-admin-redemption-top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 17px;border-bottom:1px solid rgba(91,192,245,.09);background:rgba(74,181,239,.025)}
.store-admin-redemption-user{display:flex;align-items:center;gap:11px;min-width:0}
.store-admin-redemption-avatar{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border:1px solid #235878;border-radius:11px;background:#0b273a;color:#66d0ff;font-size:16px;font-weight:950}
.store-admin-redemption-user>div:last-child,.store-admin-redemption-date{display:grid;gap:3px}
.store-admin-redemption-user span,.store-admin-redemption-date span,.store-admin-redemption-body span{color:#5f8298;font-size:7px;font-weight:950;letter-spacing:.9px}
.store-admin-redemption-user strong{font-size:13px;color:#eef8fd}
.store-admin-redemption-user small,.store-admin-redemption-date small{color:#587487;font-size:8px}
.store-admin-redemption-date{text-align:right;justify-items:end}
.store-admin-redemption-date strong{font-size:10px;color:#a9bdca}
.store-admin-redemption-body{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(160px,.8fr) minmax(160px,.8fr) 190px;gap:12px;align-items:center;padding:14px 17px}
.store-admin-redemption-reward{display:flex;align-items:center;gap:11px;min-width:0}
.store-admin-redemption-reward img{width:70px;height:54px;flex:0 0 70px;object-fit:cover;border:1px solid #183a50;border-radius:9px;background:#02080d}
.store-admin-redemption-reward>div{display:grid;gap:4px;min-width:0}
.store-admin-redemption-reward strong{overflow:hidden;text-overflow:ellipsis;color:#edf7fc;font-size:11px;white-space:nowrap}
.store-admin-redemption-reward small{color:#63caff;font-size:9px;font-weight:900}
.store-admin-redemption-contact{display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center;min-width:0}
.store-admin-redemption-contact>span{grid-column:1/-1}
.store-admin-redemption-contact strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbeaf3;font-size:10px}
.store-admin-redemption-contact button{padding:6px 8px;border:1px solid #24516c;border-radius:7px;background:#0a2030;color:#61caff;font:900 7px Montserrat,sans-serif;cursor:pointer}
.store-admin-redemption-contact button:hover{border-color:#55c9ff;background:#0d2a3e}
.store-admin-redemption-status{display:grid;gap:6px}
.store-admin-redemption-status select{width:100%;height:38px;padding:0 9px;border:1px solid #21465e;border-radius:9px;background:#081927;color:#edf7fc;font:850 8px Montserrat,sans-serif;outline:none;cursor:pointer}
.store-admin-redemption-status small{font-size:8px;font-weight:950;letter-spacing:.55px}.store-admin-redemption-status small.status-pending{color:#f7c858}.store-admin-redemption-status small.status-contacting{color:#60cfff}.store-admin-redemption-status small.status-processing{color:#b38cff}.store-admin-redemption-status small.status-completed{color:#35dd8a}.store-admin-redemption-status small.status-cancelled{color:#ff6575}
.store-admin-redemption-empty{padding:42px 20px;text-align:center;border:1px dashed #18394e;border-radius:15px;color:#6f899a;background:#06121d;font-size:10px}
@media(max-width:980px){.store-admin-redemption-body{grid-template-columns:1fr 1fr}.store-admin-redemption-reward{grid-column:1/-1}.store-admin-redemption-toolbar{align-items:flex-start}.store-admin-redemption-tools{justify-content:flex-start;width:100%}}
@media(max-width:640px){.store-admin-tabs{width:100%}.store-admin-tab{flex:1;justify-content:center}.store-admin-redemption-top{align-items:flex-start;flex-direction:column}.store-admin-redemption-date{text-align:left;justify-items:start}.store-admin-redemption-body{grid-template-columns:1fr}.store-admin-redemption-reward{grid-column:auto}.store-admin-redemption-tools{display:grid;grid-template-columns:1fr;width:100%}.store-admin-redemption-tools input{width:100%}}

/* =========================================================
   REPORTAR ERRO — BLOCO + MODAL
   ========================================================= */
.bug-report-banner{
  width:100%;
  padding:0 20px 28px;
  background:rgba(4,13,23,.72);
}
.bug-report-banner-inner{
  width:min(1180px,100%);
  margin:0 auto;
  min-height:86px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  padding:17px 20px;
  border:1px solid rgba(86,191,245,.25);
  border-radius:16px;
  background:
    linear-gradient(90deg,rgba(74,181,239,.08),rgba(106,112,255,.055) 52%,rgba(20,53,77,.10)),
    rgba(6,21,34,.92);
  box-shadow:0 12px 38px rgba(0,0,0,.18),inset 0 0 30px rgba(80,188,244,.02);
}
.bug-report-banner-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:12px;
  border:1px solid rgba(91,202,255,.28);
  background:rgba(29,117,167,.14);
  color:#61ccff;
  font-size:19px;
  box-shadow:0 0 20px rgba(75,190,245,.06);
}
.bug-report-banner-copy{display:grid;gap:4px;min-width:0}
.bug-report-banner-copy strong{color:#f4fbff;font-size:15px;font-weight:900}
.bug-report-banner-copy span{color:#91aabd;font-size:11px;font-weight:650;line-height:1.45}
.bug-report-banner-copy b{color:#6bd2ff;font-weight:900}
.bug-report-open-btn{
  min-width:150px;
  height:44px;
  padding:0 18px;
  border:1px solid rgba(96,198,252,.42);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(29,96,136,.90),rgba(17,65,95,.96));
  color:#eaf8ff;
  font:900 10px Montserrat,sans-serif;
  letter-spacing:.45px;
  cursor:pointer;
  transition:.2s ease;
}
.bug-report-open-btn:hover{transform:translateY(-1px);border-color:rgba(112,215,255,.72);box-shadow:0 9px 25px rgba(42,155,218,.14)}

body.bug-report-open{overflow:hidden}
.bug-report-modal{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:22px}
.bug-report-modal.is-open{display:flex}
.bug-report-backdrop{position:absolute;inset:0;background:rgba(0,5,11,.78);backdrop-filter:blur(8px)}
.bug-report-dialog{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  max-height:min(760px,90vh);
  overflow:auto;
  padding:24px;
  border:1px solid rgba(91,199,251,.28);
  border-radius:18px;
  background:
    radial-gradient(circle at 15% 0%,rgba(73,181,241,.08),transparent 34%),
    linear-gradient(160deg,#091827,#07121f 54%,#081522);
  box-shadow:0 28px 90px rgba(0,0,0,.52),0 0 45px rgba(59,180,244,.05);
  scrollbar-color:#557993 transparent;
  scrollbar-width:thin;
}
.bug-report-close{
  position:absolute;right:17px;top:15px;
  width:32px;height:32px;
  border:0;background:transparent;color:#8aa2b5;
  font-size:24px;cursor:pointer;
}
.bug-report-head>span{display:block;color:#62caff;font-size:8px;font-weight:950;letter-spacing:1.2px}
.bug-report-head h2{margin:7px 0 5px;color:#fff;font-size:24px;font-weight:950;letter-spacing:-.7px}
.bug-report-head p{margin:0;color:#8fa8ba;font-size:11px;line-height:1.5;font-weight:600}
.bug-report-reward-note{
  margin:18px 0;
  min-height:54px;
  display:flex;align-items:center;gap:10px;
  padding:11px 13px;
  border:1px solid rgba(82,194,248,.26);
  border-radius:11px;
  background:rgba(35,126,174,.09);
  color:#dff5ff;
}
.bug-report-reward-note span{color:#64d2ff;font-size:17px}
.bug-report-reward-note strong{font-size:10px;line-height:1.4}
.bug-report-form{display:grid;gap:8px}
.bug-report-form>label:not(.bug-report-file){margin-top:5px;color:#8da6b8;font-size:9px;font-weight:900;letter-spacing:.25px}
.bug-report-form>label span{font-weight:700;color:#607e94}
.bug-report-form input,
.bug-report-form select,
.bug-report-form textarea{
  width:100%;
  border:1px solid rgba(100,184,231,.16);
  border-radius:10px;
  background:#0b1d2c;
  color:#e9f6ff;
  font:700 11px Montserrat,sans-serif;
  outline:none;
  transition:.18s ease;
}
.bug-report-form input,.bug-report-form select{height:43px;padding:0 12px}
.bug-report-form textarea{min-height:112px;padding:12px;resize:vertical;line-height:1.5}
.bug-report-form input:focus,.bug-report-form select:focus,.bug-report-form textarea:focus{border-color:rgba(89,203,255,.55);box-shadow:0 0 0 3px rgba(67,181,236,.08)}
.bug-report-form input[readonly]{color:#8098aa;background:#091722}
.bug-report-counter,.bug-report-file-help,.bug-report-contact-help{color:#5f7d91;font-size:8px;font-weight:650}
.bug-report-counter.ok{color:#62cfff}
.bug-report-file{
  min-height:43px;
  display:flex;align-items:center;gap:9px;
  padding:0 12px;
  border:1px solid rgba(100,184,231,.16);
  border-radius:10px;
  background:#0b1d2c;
  color:#a9bdca;
  cursor:pointer;
  overflow:hidden;
}
.bug-report-file span{color:#65cfff;font-size:17px}
.bug-report-file strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.bug-report-file input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.bug-report-message{min-height:18px;margin-top:4px;font-size:9px;font-weight:750;line-height:1.4;color:#7f9aae}
.bug-report-message.error{color:#ff8391}
.bug-report-message.success{color:#67d2ff}
.bug-report-submit{
  height:48px;
  margin-top:2px;
  border:1px solid rgba(98,203,255,.46);
  border-radius:11px;
  background:linear-gradient(180deg,#69d1ff,#48b8ee);
  color:#06131e;
  font:950 11px Montserrat,sans-serif;
  letter-spacing:.4px;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(63,181,237,.14);
}
.bug-report-submit:disabled{opacity:.45;cursor:default}

/* ADMIN — REPORTES DE ERRO */
.store-admin-error-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.store-admin-error-tools input,.store-admin-error-tools select{
  min-height:40px;padding:0 12px;border:1px solid rgba(95,185,238,.16);border-radius:9px;background:#0a1a28;color:#dceaf4;font:800 9px Montserrat,sans-serif;outline:none
}
.store-admin-error-tools input{width:min(360px,70vw)}
.store-admin-error-reports{display:grid;gap:12px;margin-top:14px}
.store-admin-error-card{padding:16px;border:1px solid rgba(94,186,238,.14);border-radius:13px;background:rgba(7,23,36,.82)}
.store-admin-error-card.is-validated{border-color:rgba(90,204,255,.28);box-shadow:inset 3px 0 0 #5ccaff}
.store-admin-error-card.is-rejected{opacity:.68}
.store-admin-error-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.store-admin-error-user{display:grid;gap:3px}.store-admin-error-user span,.store-admin-error-meta span{color:#5f8399;font-size:7px;font-weight:950;letter-spacing:.8px}.store-admin-error-user strong{color:#eef8ff;font-size:12px}.store-admin-error-user small{color:#6f8797;font-size:8px}
.store-admin-error-meta{text-align:right;display:grid;gap:3px}.store-admin-error-meta strong{color:#cfe9f6;font-size:9px}.store-admin-error-meta small{color:#5e798c;font-size:8px}
.store-admin-error-body{display:grid;grid-template-columns:1fr 180px;gap:14px}
.store-admin-error-copy{display:grid;gap:7px}.store-admin-error-type{width:max-content;padding:5px 8px;border:1px solid rgba(89,196,251,.18);border-radius:999px;color:#64cfff;font-size:7px;font-weight:950;letter-spacing:.7px}.store-admin-error-copy p{margin:0;color:#a6bac7;font-size:10px;line-height:1.55;white-space:pre-wrap}.store-admin-error-page{color:#5f7b8f;font-size:8px;word-break:break-all}.store-admin-error-contact{display:flex;gap:12px;flex-wrap:wrap;color:#6e899b;font-size:8px}.store-admin-error-contact b{color:#cfe4f0}
.store-admin-error-side{display:grid;align-content:start;gap:8px}.store-admin-error-shot{display:block;border:1px solid rgba(91,190,244,.14);border-radius:9px;overflow:hidden;background:#06121e}.store-admin-error-shot img{display:block;width:100%;height:110px;object-fit:cover}.store-admin-error-side select{height:39px;padding:0 10px;border:1px solid rgba(91,190,244,.15);border-radius:9px;background:#0a1b2a;color:#e7f3fa;font:850 8px Montserrat,sans-serif}.store-admin-error-reward{color:#68ccfa;font-size:8px;font-weight:900}
.store-admin-error-empty{padding:30px;text-align:center;border:1px dashed rgba(91,190,244,.14);border-radius:12px;color:#607e91;font-size:10px}

@media(max-width:720px){
  .bug-report-banner{padding:0 14px 22px}
  .bug-report-banner-inner{grid-template-columns:auto 1fr;padding:15px}
  .bug-report-open-btn{grid-column:1/-1;width:100%}
  .bug-report-dialog{padding:20px 16px}
  .store-admin-error-body{grid-template-columns:1fr}
  .store-admin-error-meta{text-align:left}
  .store-admin-error-top{flex-direction:column}
}


/* COMO FUNCIONA — TABELA DE PONTOS */
.points-earn-section{
  position:relative;
  z-index:2;
  width:min(1280px,100%);
  margin:34px auto 0;
  padding:34px;
  border:1px solid rgba(85,198,255,.20);
  border-radius:20px;
  background:
    radial-gradient(circle at 12% 0%,rgba(75,197,255,.09),transparent 30%),
    linear-gradient(180deg,rgba(9,27,44,.82),rgba(5,14,27,.94));
  box-shadow:0 28px 70px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.02);
}
.points-earn-head{max-width:700px;margin-bottom:25px}
.points-earn-eyebrow{
  display:inline-block;
  margin-bottom:8px;
  color:#63d0ff;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.4px;
}
.points-earn-head h2{
  margin:0;
  color:#fff;
  font-size:clamp(29px,3.2vw,44px);
  line-height:1;
  font-weight:950;
  letter-spacing:-2px;
}
.points-earn-head p{
  margin:12px 0 0;
  color:#8199ad;
  font-size:11px;
  line-height:1.65;
}
.points-earn-table-wrap{
  overflow:hidden;
  border:1px solid rgba(99,194,246,.13);
  border-radius:15px;
  background:rgba(3,15,27,.55);
}
.points-earn-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.points-earn-table th{
  padding:13px 18px;
  text-align:left;
  color:#61859c;
  background:rgba(63,164,222,.045);
  border-bottom:1px solid rgba(96,190,242,.12);
  font-size:8px;
  font-weight:950;
  letter-spacing:1.15px;
}
.points-earn-table th:nth-child(1){width:52%}
.points-earn-table th:nth-child(2){width:22%}
.points-earn-table th:nth-child(3){width:26%}
.points-earn-table td{
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.045);
  vertical-align:middle;
}
.points-earn-table tbody tr:last-child td{border-bottom:0}
.points-earn-table tbody tr{transition:background .18s ease}
.points-earn-table tbody tr:hover{background:rgba(76,193,249,.035)}
.points-earn-activity{display:flex;align-items:center;gap:13px;min-width:0}
.points-earn-icon{
  width:39px;
  height:39px;
  flex:0 0 39px;
  display:grid;
  place-items:center;
  border:1px solid rgba(92,202,255,.25);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(37,126,178,.17),rgba(10,40,62,.32));
  color:#67d3ff;
  font-size:15px;
  font-weight:950;
  box-shadow:0 0 20px rgba(65,190,246,.05);
}
.points-earn-activity strong{
  display:block;
  color:#edf8ff;
  font-size:11px;
  font-weight:900;
}
.points-earn-activity small{
  display:block;
  margin-top:4px;
  color:#69879a;
  font-size:9px;
  line-height:1.45;
}
.points-earn-value{
  display:block;
  color:#67d3ff;
  font-size:20px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.8px;
}
.points-earn-value.is-variable{font-size:12px;letter-spacing:.2px}
.points-earn-unit{
  display:block;
  margin-top:5px;
  color:#52748a;
  font-size:7px;
  font-weight:900;
  letter-spacing:.8px;
}
.points-earn-limit{
  display:inline-flex;
  padding:7px 10px;
  border:1px solid rgba(90,190,242,.13);
  border-radius:999px;
  background:rgba(48,135,184,.06);
  color:#819daf;
  font-size:7px;
  font-weight:900;
  letter-spacing:.55px;
  white-space:nowrap;
}
.points-earn-limit.is-once{
  color:#71d8ff;
  border-color:rgba(98,205,255,.30);
  background:rgba(51,160,216,.10);
}
.points-earn-note{
  margin-top:17px;
  padding:13px 15px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid rgba(86,198,251,.12);
  border-radius:12px;
  background:rgba(35,119,164,.055);
}
.points-earn-note>span{color:#62d0ff;font-size:15px;line-height:1}
.points-earn-note p{margin:0;color:#7792a5;font-size:9px;line-height:1.55}
.points-earn-note strong{color:#bfeaff}

@media(max-width:760px){
  .points-earn-section{padding:24px 16px;margin-top:24px}
  .points-earn-table-wrap{overflow-x:auto}
  .points-earn-table{min-width:720px}
  .points-earn-head h2{letter-spacing:-1.4px}
}

/* STORE ADMIN - PONTOS TWITCH */
.store-admin-points-frame-shell{
  width:100%;
  margin-top:18px;
  border:1px solid rgba(88,168,255,.16);
  border-radius:22px;
  overflow:hidden;
  background:rgba(3,13,29,.5);
}
.store-admin-points-frame-shell iframe{
  display:block;
  width:100%;
  height:1500px;
  border:0;
  background:transparent;
}
@media(max-width:760px){
  .store-admin-points-frame-shell{border-radius:16px}
  .store-admin-points-frame-shell iframe{height:1800px}
}

/* ===================================================== */
/* AJUSTE FINAL 19-08-2026 — HEADER POINTS + DAILY SLOT  */
/* ===================================================== */

/* Pontos no topo: mais legíveis sem alterar o layout do header */
.header-twitch-user,
.header-twitch-user:not([hidden]) {
  height: 44px !important;
  padding: 3px 7px !important;
  gap: 10px !important;
}

.header-twitch-user .header-user-avatar {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  flex: 0 0 36px !important;
}

.header-points-compact {
  gap: 7px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  letter-spacing: .2px !important;
  text-shadow: 0 0 10px rgba(255,255,255,.12) !important;
}

.header-points-coin {
  width: 23px !important;
  height: 23px !important;
  max-width: 23px !important;
  max-height: 23px !important;
  flex: 0 0 23px !important;
}

/* Daily Slot: tamanho mais contido e sempre dentro da altura do monitor */
.daily-slot-panel.daily-slot-panel-ice {
  width: 660px;
  max-width: calc(100vw - 28px);
  max-height: calc(100vh - 118px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 24px 26px 22px;
  scrollbar-width: thin;
  overscroll-behavior: contain;
}

.daily-slot-close {
  z-index: 100;
  right: 12px;
  top: 12px;
}

.daily-slot-ice-header h3 {
  font-size: 46px;
  margin: 6px 0 9px;
}

.daily-slot-rule {
  min-height: 29px;
  padding: 0 13px;
  font-size: 8px;
}

.daily-slot-machine.daily-slot-machine-ice {
  margin-top: 16px;
  padding: 18px 19px 16px;
}

.daily-slot-reel.daily-slot-reel-ice {
  height: 180px;
}

.daily-slot-symbol .slot-symbol-img {
  width: 105px;
  height: 105px;
}

.daily-slot-symbol .slot-symbol-text {
  min-width: 90px;
  min-height: 90px;
  font-size: 58px;
}

.daily-slot-symbol .slot-symbol-text.gs {
  font-size: 40px;
}

.daily-slot-prizes {
  margin: 11px 0 9px;
  padding: 8px 9px;
}

.daily-slot-win {
  margin: 8px 0 9px;
}

.daily-slot-spin.daily-slot-spin-ice {
  height: 58px;
}

.daily-slot-spin.daily-slot-spin-ice span {
  font-size: 16px;
}

.daily-slot-meta {
  margin-top: 9px;
}

.daily-slot-meta > div {
  padding: 10px 12px;
}

/* Portáteis / monitores com menos altura: comprime a slot para o X ficar sempre visível */
@media (max-height: 820px) {
  .daily-slot-panel.daily-slot-panel-ice {
    width: min(610px, calc(100vw - 24px));
    max-height: calc(100vh - 92px);
    padding: 17px 19px 15px;
  }

  .daily-slot-close {
    width: 29px;
    height: 29px;
    right: 10px;
    top: 10px;
  }

  .daily-slot-ice-header h3 {
    margin: 3px 0 6px;
    font-size: 38px;
  }

  .daily-slot-rule {
    min-height: 25px;
    font-size: 7px;
  }

  .daily-slot-machine.daily-slot-machine-ice {
    margin-top: 10px;
    padding: 13px 14px 11px;
  }

  .daily-slot-screen.daily-slot-screen-ice {
    gap: 9px;
    padding: 10px;
  }

  .daily-slot-reel.daily-slot-reel-ice {
    height: 132px;
  }

  .daily-slot-symbol .slot-symbol-img {
    width: 78px;
    height: 78px;
  }

  .daily-slot-symbol .slot-symbol-text {
    min-width: 70px;
    min-height: 70px;
    font-size: 48px;
  }

  .daily-slot-symbol .slot-symbol-text.gs {
    font-size: 34px;
  }

  .daily-slot-prizes {
    margin: 7px 0 6px;
    padding: 6px 7px;
  }

  .daily-slot-prizes span {
    font-size: 9px;
  }

  .daily-slot-win {
    margin: 5px 0 6px;
  }

  .daily-slot-spin.daily-slot-spin-ice {
    height: 47px;
  }

  .daily-slot-spin.daily-slot-spin-ice span {
    font-size: 14px;
  }

  .daily-slot-meta {
    gap: 7px;
    margin-top: 6px;
  }

  .daily-slot-meta > div {
    padding: 7px 9px;
  }

  .daily-slot-meta strong {
    margin-top: 3px;
    font-size: 12px;
  }

  .daily-slot-message {
    min-height: 12px;
    margin-top: 5px;
    font-size: 8px;
  }

  .daily-slot-paytable-wrap {
    margin: -2px 0 7px;
  }
}

@media (max-height: 680px) {
  .daily-slot-panel.daily-slot-panel-ice {
    width: min(560px, calc(100vw - 22px));
    max-height: calc(100vh - 80px);
    padding: 13px 16px 12px;
  }

  .daily-slot-ice-header h3 {
    font-size: 32px;
  }

  .daily-slot-reel.daily-slot-reel-ice {
    height: 105px;
  }

  .daily-slot-symbol .slot-symbol-img {
    width: 64px;
    height: 64px;
  }

  .daily-slot-symbol .slot-symbol-text {
    min-width: 58px;
    min-height: 58px;
    font-size: 40px;
  }

  .daily-slot-spin.daily-slot-spin-ice {
    height: 42px;
  }
}

/* =========================================================
   PLINKO + SLOT — 20/08/2026
   ========================================================= */
.plinko-page,
.site-slot-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% 18%, rgba(61, 178, 255, .12), transparent 32%),
    linear-gradient(180deg, #071321 0%, #030a12 100%);
  color: #f4f9fd;
}

.plinko-main,
.slot-main {
  width: min(1500px, 96%);
  margin: 0 auto;
  padding: 112px 0 50px;
  position: relative;
  z-index: 2;
}

.plinko-titlebar h1,
.slot-titlebar h1 {
  margin-top: 8px;
  font-size: 38px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -1.5px;
}

.plinko-shell,
.slot-shell {
  display: grid;
  grid-template-columns: minmax(245px, 290px) minmax(520px, 1fr) minmax(240px, 300px);
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(90, 190, 248, .16);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(7, 22, 38, .95), rgba(3, 12, 22, .97));
  box-shadow: 0 28px 70px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.025);
}

.plinko-controls,
.slot-controls,
.plinko-history-panel,
.slot-history-panel {
  padding: 24px;
  background: linear-gradient(180deg, rgba(11,28,46,.94), rgba(6,18,31,.96));
}

.plinko-controls,
.slot-controls { border-right: 1px solid rgba(100,190,245,.12); }
.plinko-history-panel,
.slot-history-panel { border-left: 1px solid rgba(100,190,245,.12); }

.plinko-bet-row button,
.slot-bet-row button {
  min-width: 0;
}

.plinko-drop-btn,
.slot-spin-btn {
  min-height: 54px;
  margin-top: 16px;
  background: linear-gradient(180deg, #e8f7ff, #cdeeff);
  color: #04101a;
  box-shadow: 0 10px 28px rgba(70, 188, 255, .18);
}

.plinko-drop-btn:hover:not(:disabled),
.slot-spin-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.plinko-info-card,
.slot-paytable {
  margin-top: 16px;
  padding: 15px;
  border-radius: 13px;
  border: 1px solid rgba(96, 194, 250, .12);
  background: rgba(8, 24, 39, .66);
}

.plinko-info-card > span,
.slot-paytable-title {
  display: block;
  color: #70cfff;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.plinko-info-card p {
  margin: 9px 0 0;
  color: #7896ad;
  font-size: 11px;
  line-height: 1.55;
}

/* Plinko */
.plinko-stage {
  min-width: 0;
  position: relative;
  padding: 25px 26px 20px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(66, 181, 250, .12), transparent 43%),
    linear-gradient(180deg, #061828, #030d17);
}

.plinko-stage-glow {
  position: absolute;
  width: 520px;
  height: 520px;
  left: 50%;
  top: 48%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(54, 180, 255, .12), transparent 68%);
  pointer-events: none;
}

.plinko-stage-head {
  position: relative;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 42px;
}

.plinko-stage-head > div:first-child { display: grid; gap: 4px; }
.plinko-stage-head span { color: #6d8da3; font-size: 8px; font-weight: 900; letter-spacing: 1.1px; }
.plinko-stage-head strong { color: #eaf8ff; font-size: 21px; font-weight: 900; }

.plinko-board {
  --board-width: 570px;
  position: relative;
  width: min(var(--board-width), 100%);
  height: 530px;
  margin: 4px auto 0;
}

.plinko-pegs { position: absolute; inset: 0; }
.plinko-pegs i {
  position: absolute;
  left: 50%;
  top: 0;
  width: 11px;
  height: 11px;
  transform: translate(calc(-50% + var(--peg-x)), var(--peg-y));
  border-radius: 50%;
  border: 1px solid rgba(209, 242, 255, .85);
  background: #83d9ff;
  box-shadow: 0 0 12px rgba(79, 194, 255, .48), inset 0 0 4px rgba(255,255,255,.8);
}

.plinko-ball {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 28%, #ffffff 0 12%, #83d6ff 28%, #2395d5 70%, #0b5d8e 100%);
  box-shadow: 0 0 20px rgba(76, 196, 255, .72), 0 5px 14px rgba(0,0,0,.4);
  transform: translate(-50%, 0);
}

.plinko-ball.is-bouncing { box-shadow: 0 0 27px rgba(76, 196, 255, .94), 0 7px 17px rgba(0,0,0,.45); }

.plinko-bins {
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: min(100%, 540px);
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 4px;
}

.plinko-bin {
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 7px 7px 10px 10px;
  border: 1px solid rgba(103, 193, 244, .15);
  background: rgba(14, 43, 64, .92);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.plinko-bin strong { font-size: 9px; font-weight: 950; color: #dbeefa; }
.plinko-bin.is-low { background: linear-gradient(180deg, #15384f, #0c293d); }
.plinko-bin.is-even { background: linear-gradient(180deg, #155474, #0b3b56); }
.plinko-bin.is-high { background: linear-gradient(180deg, #1677a5, #0d5073); }
.plinko-bin.is-jackpot { background: linear-gradient(180deg, #e2f5ff, #7ed0fb); }
.plinko-bin.is-jackpot strong { color: #06233a; }
.plinko-bin.is-hit {
  transform: translateY(-8px) scale(1.1);
  filter: brightness(1.2);
  box-shadow: 0 0 28px rgba(92, 207, 255, .72);
}

.plinko-stage-footer {
  position: relative;
  z-index: 2;
  margin-top: 2px;
  text-align: center;
  color: #526f84;
  font-size: 8px;
  font-weight: 800;
}

/* Slot */
.slot-paytable { display: grid; gap: 7px; }
.slot-payrow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 27px;
  padding: 0 8px;
  border-radius: 8px;
  background: rgba(255,255,255,.025);
}
.slot-payrow b { color: #dff4ff; font-size: 13px; letter-spacing: 2px; }
.slot-payrow span { color: #65cfff; font-size: 10px; font-weight: 900; }
.slot-paytable small { margin-top: 4px; color: #607d91; font-size: 8px; line-height: 1.45; }

.slot-machine {
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 47%, rgba(67, 190, 255, .16), transparent 36%),
    linear-gradient(180deg, #061726, #030c15);
}

.slot-machine-glow {
  position: absolute;
  width: 640px;
  height: 640px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(57, 186, 255, .1), transparent 68%);
  pointer-events: none;
}

.slot-machine-top {
  position: relative;
  z-index: 2;
  width: min(650px, 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 0 4px;
}
.slot-machine-top > span { color: #6fcfff; font-size: 10px; font-weight: 950; letter-spacing: 2.5px; }
.slot-machine-top > strong { color: #d9effc; font-size: 12px; font-weight: 950; letter-spacing: .8px; }
.slot-machine-top > strong.is-win { color: #77e7af; text-shadow: 0 0 18px rgba(65,220,146,.32); }

.slot-reels {
  position: relative;
  z-index: 2;
  width: min(650px, 100%);
  min-height: 430px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(102, 199, 255, .24);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(12, 37, 58, .96), rgba(5, 18, 31, .98));
  box-shadow: 0 25px 65px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.035), 0 0 38px rgba(50,170,240,.08);
}

.slot-reel {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  gap: 8px;
  padding: 8px;
  overflow: hidden;
  border: 1px solid rgba(105, 190, 242, .12);
  border-radius: 18px;
  background: linear-gradient(180deg, #081c2e, #061522);
  box-shadow: inset 0 0 35px rgba(0,0,0,.28);
}

.slot-symbol {
  display: grid;
  place-items: center;
  min-height: 112px;
  border-radius: 13px;
  color: #8db3cb;
  background: linear-gradient(180deg, rgba(20, 51, 72, .7), rgba(8, 29, 46, .82));
  border: 1px solid rgba(91, 180, 235, .09);
  font-size: clamp(35px, 5vw, 64px);
  font-weight: 950;
  line-height: 1;
  text-shadow: 0 0 20px rgba(99, 202, 255, .18);
}
.slot-symbol.is-payline {
  color: #effaff;
  border-color: rgba(105, 208, 255, .32);
  background: linear-gradient(180deg, rgba(33, 92, 126, .7), rgba(9, 42, 64, .88));
  box-shadow: inset 0 0 28px rgba(73, 186, 245, .08), 0 0 18px rgba(42, 172, 240, .07);
}
.slot-symbol.is-seven { color: #8fdcff; }
.slot-symbol.is-crown { color: #d2efff; }
.slot-symbol.is-diamond { color: #62cfff; }
.slot-symbol.is-snow { color: #d8f6ff; }
.slot-symbol.is-g { color: #9adfff; font-style: italic; }

.slot-payline {
  position: absolute;
  z-index: 5;
  left: 9px;
  right: 9px;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, transparent, rgba(107, 213, 255, .78) 12%, rgba(107, 213, 255, .78) 88%, transparent);
  box-shadow: 0 0 12px rgba(73, 194, 255, .54);
  pointer-events: none;
}

.slot-reel.is-rolling .slot-symbol { filter: blur(2.2px); transform: translateY(3px); }
.slot-reel.is-stopped { animation: slotStop .28s cubic-bezier(.2,.85,.25,1.2); }
@keyframes slotStop { 0% { transform: translateY(-10px); } 65% { transform: translateY(4px); } 100% { transform: translateY(0); } }

.slot-machine-bottom {
  position: relative;
  z-index: 2;
  width: min(650px, 100%);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}
.slot-machine-bottom > div {
  min-height: 58px;
  display: grid;
  gap: 5px;
  place-content: center;
  text-align: center;
  border-radius: 12px;
  border: 1px solid rgba(90, 188, 245, .12);
  background: rgba(8, 25, 40, .7);
}
.slot-machine-bottom span { color: #67899f; font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.slot-machine-bottom strong { color: #e7f7ff; font-size: 17px; font-weight: 950; }

@media (max-width: 1180px) {
  .plinko-shell,
  .slot-shell { grid-template-columns: 250px minmax(0, 1fr); }
  .plinko-history-panel,
  .slot-history-panel { grid-column: 1 / -1; border-left: 0; border-top: 1px solid rgba(100,190,245,.12); }
  .plinko-history-panel .bj-history-list,
  .slot-history-panel .bj-history-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
}

@media (max-width: 760px) {
  .plinko-main,
  .slot-main { width: min(96%, 680px); padding-top: 96px; }
  .plinko-titlebar,
  .slot-titlebar { align-items: flex-start; }
  .plinko-shell,
  .slot-shell { grid-template-columns: 1fr; }
  .plinko-controls,
  .slot-controls { border-right: 0; border-bottom: 1px solid rgba(100,190,245,.12); }
  .plinko-history-panel,
  .slot-history-panel { grid-column: auto; }
  .plinko-history-panel .bj-history-list,
  .slot-history-panel .bj-history-list { grid-template-columns: 1fr; }
  .plinko-stage { padding-inline: 10px; }
  .plinko-board { transform: scale(.9); transform-origin: top center; margin-bottom: -45px; }
  .slot-machine { padding: 22px 12px; }
  .slot-reels { min-height: 360px; gap: 7px; padding: 10px; border-radius: 18px; }
  .slot-reel { gap: 6px; padding: 6px; }
  .slot-symbol { min-height: 94px; }
}

@media (max-width: 520px) {
  .plinko-titlebar,
  .slot-titlebar { display: grid; gap: 14px; }
  .plinko-titlebar .blackjack-wallet,
  .slot-titlebar .blackjack-wallet { width: 100%; text-align: left; }
  .plinko-board { transform: scale(.72); margin-bottom: -145px; }
  .slot-reels { min-height: 315px; }
  .slot-symbol { min-height: 80px; font-size: 34px; }
}

/* =========================================================
   SLOT PRO 5x3 + BONUS BUY + FREE SPINS — 20/08/2026
   ========================================================= */

.site-slot-page .slot-shell-pro {
  grid-template-columns: minmax(255px, 292px) minmax(640px, 1fr) minmax(235px, 285px);
  min-height: 690px;
}

.site-slot-page .slot-controls {
  position: relative;
  z-index: 4;
}

.site-slot-page .slot-bonus-buy-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(91, 198, 255, .21);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(81, 191, 255, .13), transparent 42%),
    linear-gradient(180deg, rgba(10, 39, 60, .9), rgba(5, 23, 38, .94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

.site-slot-page .slot-bonus-buy-copy > span,
.site-slot-page .slot-bonus-buy-price > span {
  display: block;
  color: #65caff;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.3px;
}

.site-slot-page .slot-bonus-buy-copy > strong {
  display: block;
  margin-top: 4px;
  color: #ecf9ff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .2px;
}

.site-slot-page .slot-bonus-buy-copy p {
  margin: 6px 0 0;
  color: #6889a0;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.45;
}

.site-slot-page .slot-bonus-buy-price {
  min-width: 68px;
  text-align: right;
}

.site-slot-page .slot-bonus-buy-price strong {
  display: block;
  margin-top: 3px;
  color: #f4fbff;
  font-size: 15px;
  font-weight: 950;
}

.site-slot-page .slot-bonus-buy-price small {
  color: #60869e;
  font-size: 6px;
  font-weight: 900;
  letter-spacing: 1px;
}

.site-slot-page .slot-bonus-buy-btn {
  grid-column: 1 / -1;
  min-height: 39px;
  border: 1px solid rgba(102, 207, 255, .34);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(29, 111, 151, .92), rgba(13, 65, 94, .98));
  color: #eefaff;
  cursor: pointer;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .9px;
  box-shadow: 0 8px 24px rgba(28, 153, 220, .12), inset 0 1px 0 rgba(255,255,255,.08);
  transition: transform .18s ease, filter .18s ease, border-color .18s ease;
}

.site-slot-page .slot-bonus-buy-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.12);
  border-color: rgba(125, 220, 255, .62);
}

.site-slot-page .slot-bonus-buy-btn:disabled {
  opacity: .38;
  cursor: not-allowed;
}

.site-slot-page .slot-machine-pro {
  position: relative;
  padding: 24px 22px 22px;
  background:
    radial-gradient(circle at 50% 39%, rgba(48, 177, 249, .15), transparent 39%),
    linear-gradient(180deg, #061726 0%, #030c15 100%);
}

.site-slot-page .slot-machine-particles {
  position: absolute;
  inset: 0;
  opacity: .33;
  pointer-events: none;
  background-image:
    radial-gradient(circle, rgba(138,220,255,.7) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(93,189,255,.55) 0 1px, transparent 1.5px);
  background-size: 93px 93px, 137px 137px;
  background-position: 13px 27px, 51px 4px;
  animation: slotParticles 18s linear infinite;
}

@keyframes slotParticles {
  from { background-position: 13px 27px, 51px 4px; }
  to { background-position: 13px 120px, 51px 141px; }
}

.site-slot-page.slot-bonus-active .slot-machine-pro {
  background:
    radial-gradient(circle at 50% 42%, rgba(74, 197, 255, .23), transparent 42%),
    radial-gradient(circle at 50% 0%, rgba(102, 80, 255, .1), transparent 44%),
    linear-gradient(180deg, #071b2e 0%, #030d18 100%);
}

.site-slot-page.slot-bonus-active .slot-machine-glow {
  opacity: 1;
  animation: slotBonusGlow 2.2s ease-in-out infinite alternate;
}

@keyframes slotBonusGlow {
  from { transform: scale(.92); opacity: .42; }
  to { transform: scale(1.08); opacity: .92; }
}

.site-slot-page .slot-machine-top-pro {
  width: min(780px, 100%);
  margin-bottom: 11px;
}

.site-slot-page .slot-machine-top-pro > div {
  display: grid;
  gap: 3px;
}

.site-slot-page .slot-machine-top-pro > div > span {
  color: #6fcfff;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 2.5px;
}

.site-slot-page .slot-machine-top-pro > div > small {
  color: #56788f;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.6px;
}

.site-slot-page.slot-bonus-active .slot-machine-top-pro > div > small {
  color: #8cdeff;
  text-shadow: 0 0 14px rgba(73, 190, 255, .38);
}

.site-slot-page .slot-feature-bar {
  position: relative;
  z-index: 5;
  width: min(780px, 100%);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 10px;
}

.site-slot-page .slot-feature-bar[hidden] { display: none !important; }

.site-slot-page .slot-feature-bar > div {
  min-height: 48px;
  display: grid;
  place-content: center;
  gap: 3px;
  text-align: center;
  border: 1px solid rgba(91, 203, 255, .22);
  border-radius: 10px;
  background: rgba(10, 39, 61, .82);
  box-shadow: inset 0 0 20px rgba(42, 169, 238, .04);
}

.site-slot-page .slot-feature-bar span {
  color: #6388a0;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1px;
}

.site-slot-page .slot-feature-bar strong {
  color: #effbff;
  font-size: 15px;
  font-weight: 950;
}

.site-slot-page .slot-feature-multiplier strong {
  color: #7bd9ff;
  text-shadow: 0 0 16px rgba(66, 190, 255, .38);
}

.site-slot-page .slot-feature-multiplier strong.is-upgraded {
  animation: slotMultiplierUp .7s cubic-bezier(.18,.8,.24,1.25);
}

@keyframes slotMultiplierUp {
  0% { transform: scale(1); filter: brightness(1); }
  45% { transform: scale(1.42); filter: brightness(1.55); }
  100% { transform: scale(1); filter: brightness(1); }
}

.site-slot-page .slot-reels-pro {
  width: min(780px, 100%);
  min-height: 455px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 13px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(13, 43, 66, .98), rgba(5, 19, 32, .99));
  box-shadow:
    0 28px 70px rgba(0,0,0,.44),
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 0 55px rgba(28, 133, 197, .055),
    0 0 40px rgba(48, 174, 241, .08);
}

.site-slot-page .slot-reels-pro::before,
.site-slot-page .slot-reels-pro::after {
  content: "";
  position: absolute;
  z-index: 8;
  left: 0;
  right: 0;
  height: 42px;
  pointer-events: none;
}

.site-slot-page .slot-reels-pro::before {
  top: 0;
  background: linear-gradient(180deg, rgba(3, 12, 21, .72), transparent);
}

.site-slot-page .slot-reels-pro::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(3, 12, 21, .76), transparent);
}

.site-slot-page .slot-grid-sheen {
  position: absolute;
  z-index: 7;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 35%, rgba(151, 225, 255, .035) 49%, transparent 63%);
  transform: translateX(-70%);
  animation: slotSheen 7s ease-in-out infinite;
}

@keyframes slotSheen {
  0%, 55% { transform: translateX(-75%); }
  82%, 100% { transform: translateX(75%); }
}

.site-slot-page .slot-reels-pro .slot-reel {
  position: relative;
  z-index: 2;
  gap: 7px;
  padding: 7px;
  border-radius: 15px;
  background: linear-gradient(180deg, #081e31, #051522);
  border-color: rgba(100, 196, 247, .11);
  transition: filter .2s ease, box-shadow .2s ease, transform .2s ease;
}

.site-slot-page .slot-reels-pro .slot-symbol {
  position: relative;
  min-height: 132px;
  overflow: hidden;
  border-radius: 11px;
  border: 1px solid rgba(94, 184, 235, .09);
  background:
    radial-gradient(circle at 50% 30%, rgba(61, 159, 215, .10), transparent 56%),
    linear-gradient(180deg, rgba(17, 52, 74, .74), rgba(7, 28, 44, .9));
  color: #a8d9f3;
  font-size: clamp(28px, 3.1vw, 53px);
  transition: opacity .24s ease, filter .24s ease, transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.site-slot-page .slot-symbol-main {
  display: block;
  font-weight: 950;
  line-height: 1;
}

.site-slot-page .slot-symbol-word {
  display: block;
  font-size: clamp(12px, 1.25vw, 19px);
  font-weight: 950;
  font-style: italic;
  letter-spacing: -.4px;
}

.site-slot-page .slot-symbol > small {
  display: block;
  margin-top: 5px;
  color: rgba(190, 230, 250, .48);
  font-size: 5.7px;
  font-weight: 900;
  letter-spacing: .75px;
}

.site-slot-page .slot-symbol.is-g { color: #8ddcff; font-style: italic; }
.site-slot-page .slot-symbol.is-snow { color: #f2fcff; text-shadow: 0 0 18px rgba(170,232,255,.38); }
.site-slot-page .slot-symbol.is-diamond { color: #63cfff; text-shadow: 0 0 18px rgba(66,192,255,.32); }
.site-slot-page .slot-symbol.is-crown { color: #cceeff; text-shadow: 0 0 18px rgba(116,208,255,.25); }
.site-slot-page .slot-symbol.is-seven { color: #7ed7ff; text-shadow: 0 0 20px rgba(70,191,255,.38); }

.site-slot-page .slot-symbol.is-wild {
  color: #d8f6ff;
  border-color: rgba(113, 216, 255, .25);
  background:
    radial-gradient(circle at 50% 45%, rgba(75, 189, 255, .19), transparent 58%),
    linear-gradient(180deg, #0c4260, #09283e);
  box-shadow: inset 0 0 28px rgba(70, 193, 255, .08);
}

.site-slot-page .slot-symbol.is-wild .slot-symbol-word {
  color: #effbff;
  text-shadow: 0 0 15px rgba(103, 211, 255, .42);
}

.site-slot-page .slot-symbol.is-bonus {
  border-color: rgba(119, 218, 255, .34);
  background:
    radial-gradient(circle at 50% 40%, rgba(115, 208, 255, .24), transparent 54%),
    linear-gradient(180deg, #105173, #0a2e48);
  box-shadow: inset 0 0 30px rgba(77, 190, 255, .11), 0 0 18px rgba(49, 170, 235, .05);
}

.site-slot-page .slot-symbol.is-bonus .slot-symbol-word {
  color: #dff7ff;
  text-shadow: 0 0 16px rgba(102, 210, 255, .5);
}

.site-slot-page .slot-reel.is-rolling .slot-symbol {
  filter: blur(3px) brightness(.78);
  transform: translateY(7px) scaleY(1.04);
}

.site-slot-page .slot-reel.is-stopped {
  animation: slotProStop .28s cubic-bezier(.15,.85,.25,1.25);
}

@keyframes slotProStop {
  0% { transform: translateY(-12px); }
  62% { transform: translateY(5px); }
  100% { transform: translateY(0); }
}

.site-slot-page .slot-reels-pro.is-anticipating .slot-reel.is-anticipation {
  box-shadow: 0 0 30px rgba(78, 198, 255, .23), inset 0 0 26px rgba(69, 180, 241, .08);
  animation: slotAnticipation .55s ease-in-out infinite alternate;
}

@keyframes slotAnticipation {
  from { filter: brightness(.9); }
  to { filter: brightness(1.25); }
}

.site-slot-page .slot-reels-pro.has-win .slot-symbol.is-dimmed {
  opacity: .25;
  filter: grayscale(.45) brightness(.55);
}

.site-slot-page .slot-reels-pro.has-win .slot-symbol.is-winning {
  z-index: 5;
  opacity: 1;
  border-color: rgba(126, 224, 255, .72);
  box-shadow: 0 0 25px rgba(72, 196, 255, .28), inset 0 0 24px rgba(91, 205, 255, .10);
  animation: slotWinningCell .8s ease-in-out infinite alternate;
}

@keyframes slotWinningCell {
  from { transform: scale(.97); filter: brightness(1); }
  to { transform: scale(1.035); filter: brightness(1.28); }
}

.site-slot-page .slot-symbol.is-bonus-hit {
  z-index: 6;
  opacity: 1 !important;
  filter: brightness(1.25) !important;
  border-color: rgba(162, 233, 255, .86) !important;
  box-shadow: 0 0 34px rgba(71, 195, 255, .45), inset 0 0 32px rgba(82, 201, 255, .14) !important;
  animation: slotBonusHit .58s ease-in-out infinite alternate;
}

@keyframes slotBonusHit {
  from { transform: scale(.96); }
  to { transform: scale(1.06); }
}

.site-slot-page .slot-machine-bottom-pro {
  width: min(780px, 100%);
  grid-template-columns: repeat(3, 1fr);
  margin-top: 11px;
}

.site-slot-page .slot-win-overlay,
.site-slot-page .slot-bonus-intro {
  position: absolute;
  z-index: 30;
  left: 50%;
  top: 50%;
  width: min(520px, calc(100% - 50px));
  min-height: 190px;
  transform: translate(-50%, -50%);
  display: grid;
  place-content: center;
  gap: 5px;
  text-align: center;
  border: 1px solid rgba(124, 222, 255, .42);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 15%, rgba(85, 202, 255, .18), transparent 47%),
    rgba(3, 17, 28, .95);
  box-shadow: 0 30px 90px rgba(0,0,0,.68), 0 0 50px rgba(58, 184, 248, .16), inset 0 1px 0 rgba(255,255,255,.05);
  backdrop-filter: blur(8px);
  animation: slotOverlayIn .38s cubic-bezier(.16,.8,.25,1.15);
}

.site-slot-page .slot-win-overlay[hidden],
.site-slot-page .slot-bonus-intro[hidden] { display: none !important; }

@keyframes slotOverlayIn {
  from { opacity: 0; transform: translate(-50%, -46%) scale(.84); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.site-slot-page .slot-win-overlay span,
.site-slot-page .slot-bonus-intro > span {
  color: #74d5ff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 2px;
  text-shadow: 0 0 18px rgba(70, 194, 255, .42);
}

.site-slot-page .slot-win-overlay strong {
  color: #f4fcff;
  font-size: clamp(42px, 6vw, 78px);
  font-weight: 950;
  letter-spacing: -3px;
  text-shadow: 0 0 28px rgba(104, 214, 255, .26);
}

.site-slot-page .slot-win-overlay small,
.site-slot-page .slot-bonus-intro small {
  color: #6d91a7;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.3px;
}

.site-slot-page .slot-bonus-intro strong {
  color: #effbff;
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 950;
  letter-spacing: -1.6px;
  text-shadow: 0 0 25px rgba(90, 205, 255, .27);
}

.site-slot-page .slot-paytable {
  margin-top: 14px;
}

.site-slot-page .slot-paytable .slot-payrow b {
  font-size: 10px;
  letter-spacing: .8px;
}

/* Bonus buy modal */
body.slot-modal-open { overflow: hidden; }

.site-slot-page .slot-modal-backdrop {
  position: fixed;
  z-index: 2000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(1, 7, 13, .76);
  backdrop-filter: blur(9px);
}

.site-slot-page .slot-modal-backdrop[hidden] { display: none !important; }

.site-slot-page .slot-bonus-modal {
  position: relative;
  width: min(430px, 100%);
  padding: 28px;
  border: 1px solid rgba(99, 205, 255, .28);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 0%, rgba(70, 191, 255, .15), transparent 43%),
    linear-gradient(180deg, #0a2032, #06131f);
  box-shadow: 0 34px 100px rgba(0,0,0,.7), 0 0 42px rgba(45, 170, 235, .10), inset 0 1px 0 rgba(255,255,255,.04);
  text-align: center;
  animation: slotModalIn .25s ease-out;
}

@keyframes slotModalIn {
  from { opacity: 0; transform: translateY(10px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.site-slot-page .slot-bonus-modal-close {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.025);
  color: #7897aa;
  cursor: pointer;
  font-size: 19px;
}

.site-slot-page .slot-bonus-modal > span {
  color: #67ceff;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: 1.7px;
}

.site-slot-page .slot-bonus-modal h2 {
  margin: 8px 0 0;
  color: #f1fbff;
  font-size: 25px;
  font-weight: 950;
  letter-spacing: -.8px;
}

.site-slot-page .slot-bonus-modal p {
  margin: 10px auto 0;
  max-width: 330px;
  color: #7593a7;
  font-size: 11px;
  line-height: 1.55;
}

.site-slot-page .slot-bonus-modal p strong { color: #dff6ff; }

.site-slot-page .slot-bonus-modal-cost {
  display: grid;
  place-items: center;
  gap: 2px;
  margin: 20px 0;
  padding: 18px;
  border: 1px solid rgba(92, 197, 250, .16);
  border-radius: 14px;
  background: rgba(5, 22, 36, .7);
}

.site-slot-page .slot-bonus-modal-cost small,
.site-slot-page .slot-bonus-modal-cost span {
  color: #66869a;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.3px;
}

.site-slot-page .slot-bonus-modal-cost strong {
  color: #f4fcff;
  font-size: 34px;
  font-weight: 950;
  letter-spacing: -1.2px;
}

.site-slot-page .slot-bonus-modal-actions {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 9px;
}

.site-slot-page .slot-bonus-modal-actions button {
  min-height: 44px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.03);
  color: #819bad;
  cursor: pointer;
  font-family: inherit;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .8px;
}

.site-slot-page .slot-bonus-modal-actions button:last-child {
  border-color: rgba(105, 207, 255, .38);
  background: linear-gradient(180deg, #dff5ff, #bfe8fb);
  color: #06131e;
}

@media (max-width: 1220px) {
  .site-slot-page .slot-shell-pro {
    grid-template-columns: 255px minmax(0, 1fr);
  }

  .site-slot-page .slot-shell-pro .slot-history-panel {
    grid-column: 1 / -1;
  }

  .site-slot-page .slot-reels-pro .slot-symbol {
    min-height: 116px;
  }
}

@media (max-width: 840px) {
  .site-slot-page .slot-shell-pro {
    grid-template-columns: 1fr;
  }

  .site-slot-page .slot-machine-pro {
    padding: 20px 10px;
  }

  .site-slot-page .slot-reels-pro {
    min-height: 375px;
    gap: 5px;
    padding: 8px;
    border-radius: 17px;
  }

  .site-slot-page .slot-reels-pro .slot-reel {
    gap: 4px;
    padding: 4px;
    border-radius: 11px;
  }

  .site-slot-page .slot-reels-pro .slot-symbol {
    min-height: 105px;
    border-radius: 8px;
  }

  .site-slot-page .slot-symbol-word {
    font-size: 11px;
  }

  .site-slot-page .slot-symbol > small {
    font-size: 4.8px;
    letter-spacing: .3px;
  }
}

@media (max-width: 560px) {
  .site-slot-page .slot-reels-pro {
    min-height: 310px;
    gap: 3px;
    padding: 6px;
  }

  .site-slot-page .slot-reels-pro .slot-reel {
    gap: 3px;
    padding: 3px;
  }

  .site-slot-page .slot-reels-pro .slot-symbol {
    min-height: 86px;
    font-size: 27px;
  }

  .site-slot-page .slot-symbol-word {
    font-size: 8px;
    letter-spacing: -.2px;
  }

  .site-slot-page .slot-symbol > small {
    display: none;
  }

  .site-slot-page .slot-feature-bar {
    gap: 5px;
  }

  .site-slot-page .slot-feature-bar strong {
    font-size: 12px;
  }

  .site-slot-page .slot-machine-bottom-pro {
    gap: 5px;
  }

  .site-slot-page .slot-machine-bottom-pro > div {
    min-height: 50px;
  }
}

/* =========================================================
   MINI-JOGOS / SLOT — SYMBOL PNG + CINEMATIC FX
   IMPORTANTE: tudo está scoped a .site-slot-page para NÃO
   alterar a Daily Slot.
   ========================================================= */

.site-slot-page .slot-machine-pro {
  isolation: isolate;
  overflow: hidden;
  border-left: 1px solid rgba(78, 190, 255, .09);
  border-right: 1px solid rgba(78, 190, 255, .09);
}

.site-slot-page .slot-machine-pro::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -35%;
  pointer-events: none;
  background:
    conic-gradient(from 0deg at 50% 50%, transparent 0 21%, rgba(78,196,255,.055) 25%, transparent 31% 55%, rgba(118,105,255,.04) 60%, transparent 67% 100%);
  animation: miniSlotAuroraSpin 18s linear infinite;
}

.site-slot-page .slot-machine-pro::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  mix-blend-mode: screen;
  background:
    linear-gradient(105deg, transparent 0 42%, rgba(170,233,255,.12) 49%, transparent 56%) -100% 0 / 210% 100% no-repeat;
  animation: miniSlotCabinetSweep 5.8s ease-in-out infinite;
}

@keyframes miniSlotAuroraSpin {
  to { transform: rotate(360deg) scale(1.04); }
}

@keyframes miniSlotCabinetSweep {
  0%, 60% { background-position: -120% 0; }
  82%, 100% { background-position: 120% 0; }
}

.site-slot-page .slot-machine-top-pro,
.site-slot-page .slot-feature-bar,
.site-slot-page .slot-reels-pro,
.site-slot-page .slot-machine-bottom-pro,
.site-slot-page .slot-win-overlay,
.site-slot-page .slot-bonus-intro {
  z-index: 10;
}

.site-slot-page .slot-machine-glow {
  z-index: 1;
  width: 780px;
  height: 780px;
  opacity: .72;
  background:
    radial-gradient(circle, rgba(66,194,255,.13) 0 20%, rgba(46,134,238,.07) 35%, transparent 68%);
  animation: miniSlotIdleGlow 3.4s ease-in-out infinite alternate;
}

@keyframes miniSlotIdleGlow {
  from { transform: scale(.9); filter: blur(0); opacity: .42; }
  to { transform: scale(1.06); filter: blur(3px); opacity: .9; }
}

.site-slot-page .slot-machine-particles {
  z-index: 2;
  opacity: .5;
  background-size: 67px 67px, 113px 113px, 173px 173px;
  background-image:
    radial-gradient(circle, rgba(177,235,255,.82) 0 1px, transparent 1.8px),
    radial-gradient(circle, rgba(75,181,255,.64) 0 1.2px, transparent 2px),
    radial-gradient(circle, rgba(119,103,255,.48) 0 1px, transparent 1.8px);
  animation: miniSlotSnowRush 13s linear infinite;
}

@keyframes miniSlotSnowRush {
  from { background-position: 11px -70px, 42px -110px, 5px -150px; }
  to { background-position: 48px 610px, -12px 650px, 74px 710px; }
}

/* ---------- reels ---------- */
.site-slot-page .slot-reels-pro {
  overflow: visible;
  border-color: rgba(91,202,255,.3);
  background:
    radial-gradient(circle at 50% 50%, rgba(27,119,180,.09), transparent 44%),
    linear-gradient(180deg, rgba(9,34,55,.995), rgba(3,14,25,.995));
  box-shadow:
    0 34px 90px rgba(0,0,0,.62),
    0 0 0 1px rgba(84,196,255,.08),
    0 0 48px rgba(34,166,242,.14),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 72px rgba(32,139,206,.085);
  animation: miniSlotFrameBreath 2.8s ease-in-out infinite alternate;
}

@keyframes miniSlotFrameBreath {
  from { box-shadow: 0 34px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(84,196,255,.08), 0 0 34px rgba(34,166,242,.08), inset 0 1px 0 rgba(255,255,255,.06), inset 0 0 72px rgba(32,139,206,.06); }
  to   { box-shadow: 0 34px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(84,196,255,.16), 0 0 58px rgba(34,166,242,.18), inset 0 1px 0 rgba(255,255,255,.07), inset 0 0 80px rgba(32,139,206,.11); }
}

.site-slot-page .slot-reels-pro .slot-reel {
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(12,42,66,.98), rgba(4,19,31,.99));
  box-shadow:
    inset 0 0 24px rgba(0,0,0,.42),
    inset 0 0 0 1px rgba(102,203,255,.035);
}

.site-slot-page .slot-reels-pro .slot-reel::before {
  content: "";
  position: absolute;
  z-index: 10;
  inset: 0;
  pointer-events: none;
  opacity: .25;
  background: linear-gradient(180deg, rgba(255,255,255,.06), transparent 22%, transparent 78%, rgba(0,0,0,.16));
}

.site-slot-page .slot-reels-pro .slot-symbol {
  isolation: isolate;
  display: grid;
  place-items: center;
  overflow: visible;
  background:
    radial-gradient(circle at 50% 45%, rgba(67,178,238,.105), transparent 55%),
    linear-gradient(180deg, rgba(15,49,72,.84), rgba(5,25,41,.94));
  box-shadow:
    inset 0 0 22px rgba(54,169,231,.035),
    inset 0 1px 0 rgba(255,255,255,.025);
}

.site-slot-page .slot-reels-pro .slot-symbol::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 66%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(88,198,255,.13), transparent 68%);
  filter: blur(8px);
  transform: scale(.82);
  opacity: .65;
  animation: miniSlotSymbolAura 2.4s ease-in-out infinite alternate;
}

@keyframes miniSlotSymbolAura {
  from { transform: scale(.75); opacity: .28; }
  to { transform: scale(1.06); opacity: .8; }
}

.site-slot-page .slot-symbol-art {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: grid;
  place-items: center;
  perspective: 700px;
}

.site-slot-page .slot-symbol-img {
  width: min(82%, 104px);
  height: min(82%, 104px);
  object-fit: contain;
  user-select: none;
  pointer-events: none;
  filter:
    drop-shadow(0 10px 10px rgba(0,0,0,.32))
    drop-shadow(0 0 12px rgba(82,198,255,.24));
  transform: translateZ(0) scale(.92);
  transition: filter .22s ease, transform .22s ease, opacity .22s ease;
  animation: miniSlotSymbolFloat 2.5s ease-in-out infinite alternate;
}

.site-slot-page .slot-symbol:nth-child(2n) .slot-symbol-img { animation-delay: -.75s; }
.site-slot-page .slot-symbol:nth-child(3n) .slot-symbol-img { animation-delay: -1.35s; }

@keyframes miniSlotSymbolFloat {
  from { transform: translateY(2px) scale(.91) rotate(-.35deg); }
  to { transform: translateY(-3px) scale(.96) rotate(.35deg); }
}

.site-slot-page .slot-symbol-fallback {
  display: none;
  width: 100%;
  height: 100%;
  place-items: center;
  color: #aee8ff;
  font-size: 34px;
  font-weight: 950;
  text-shadow: 0 0 20px rgba(76,194,255,.44);
}

.site-slot-page .slot-symbol.is-wild .slot-symbol-img {
  width: min(93%, 118px);
  height: min(93%, 118px);
  filter:
    drop-shadow(0 0 10px rgba(117,219,255,.55))
    drop-shadow(0 0 28px rgba(66,172,255,.42));
  animation: miniSlotWildPulse 1.25s ease-in-out infinite alternate;
}

.site-slot-page .slot-symbol.is-wild::before {
  background: radial-gradient(circle, rgba(70,199,255,.34), rgba(82,121,255,.12) 42%, transparent 69%);
  opacity: 1;
}

@keyframes miniSlotWildPulse {
  from { transform: scale(.9) rotate(-1deg); filter: drop-shadow(0 0 10px rgba(117,219,255,.42)) drop-shadow(0 0 22px rgba(66,172,255,.25)); }
  to { transform: scale(1.03) rotate(1deg); filter: drop-shadow(0 0 16px rgba(176,237,255,.86)) drop-shadow(0 0 38px rgba(66,172,255,.65)); }
}

.site-slot-page .slot-symbol.is-bonus .slot-symbol-img {
  width: min(96%, 122px);
  height: min(96%, 122px);
  filter:
    drop-shadow(0 0 13px rgba(143,229,255,.62))
    drop-shadow(0 0 32px rgba(74,150,255,.42));
  animation: miniSlotBonusIdle 1.05s cubic-bezier(.4,0,.2,1) infinite alternate;
}

.site-slot-page .slot-symbol.is-bonus::before {
  width: 90%;
  background: radial-gradient(circle, rgba(114,220,255,.36), rgba(93,73,255,.15) 43%, transparent 70%);
  opacity: 1;
}

@keyframes miniSlotBonusIdle {
  from { transform: scale(.89) rotate(-1.2deg); }
  to { transform: scale(1.045) rotate(1.2deg); }
}

.site-slot-page .slot-symbol.is-seven .slot-symbol-img,
.site-slot-page .slot-symbol.is-diamond .slot-symbol-img {
  filter: drop-shadow(0 8px 9px rgba(0,0,0,.3)) drop-shadow(0 0 20px rgba(72,197,255,.42));
}

.site-slot-page .slot-symbol.is-crown .slot-symbol-img {
  filter: drop-shadow(0 8px 9px rgba(0,0,0,.3)) drop-shadow(0 0 17px rgba(183,226,255,.3));
}

/* SPIN = sensação de velocidade, sem tocar na lógica */
.site-slot-page .slot-machine-pro.is-spin-rush .slot-reels-pro {
  animation: miniSlotSpinFrame .36s ease-in-out infinite alternate;
}

@keyframes miniSlotSpinFrame {
  from { transform: translateY(0) scale(1); filter: brightness(.94); }
  to { transform: translateY(1px) scale(1.003); filter: brightness(1.07); }
}

.site-slot-page .slot-reel.is-rolling .slot-symbol {
  transform: translateY(0);
  filter: none;
  box-shadow: inset 0 0 35px rgba(24,128,194,.1);
}

.site-slot-page .slot-reel.is-rolling .slot-symbol-img {
  animation: miniSlotReelRush .115s linear infinite !important;
  filter:
    blur(2.5px)
    brightness(1.35)
    drop-shadow(0 18px 12px rgba(40,160,235,.35));
}

@keyframes miniSlotReelRush {
  0% { transform: translateY(-24px) scale(.86) skewY(-2deg); opacity: .35; }
  45% { transform: translateY(5px) scale(1.04) skewY(1deg); opacity: 1; }
  100% { transform: translateY(28px) scale(.88) skewY(2deg); opacity: .35; }
}

.site-slot-page .slot-reel.is-stopped {
  animation: miniSlotHardStop .4s cubic-bezier(.14,.88,.26,1.34);
}

@keyframes miniSlotHardStop {
  0% { transform: translateY(-18px) scaleY(1.04); filter: brightness(1.8); }
  46% { transform: translateY(8px) scaleY(.96); filter: brightness(1.25); }
  72% { transform: translateY(-3px); }
  100% { transform: translateY(0) scaleY(1); filter: brightness(1); }
}

.site-slot-page .slot-reel.is-stopped .slot-symbol-img {
  animation: miniSlotSymbolLand .42s cubic-bezier(.14,.88,.25,1.35) both;
}

@keyframes miniSlotSymbolLand {
  0% { transform: scale(.68) rotateX(28deg); filter: brightness(2.3) blur(1px); }
  55% { transform: scale(1.09) rotateX(-5deg); filter: brightness(1.55); }
  100% { transform: scale(.94) rotateX(0); filter: brightness(1); }
}

.site-slot-page .slot-reels-pro.is-anticipating {
  box-shadow:
    0 34px 90px rgba(0,0,0,.62),
    0 0 0 1px rgba(112,218,255,.4),
    0 0 70px rgba(61,192,255,.38),
    inset 0 0 74px rgba(48,170,237,.12);
  animation: miniSlotAnticipationFrame .34s ease-in-out infinite alternate;
}

@keyframes miniSlotAnticipationFrame {
  from { transform: scale(.996); filter: brightness(.94); }
  to { transform: scale(1.006); filter: brightness(1.14); }
}

.site-slot-page .slot-reels-pro.is-anticipating .slot-reel.is-anticipation {
  animation: miniSlotAnticipationReel .23s ease-in-out infinite alternate;
  box-shadow: 0 0 40px rgba(100,217,255,.45), inset 0 0 35px rgba(70,181,242,.15);
}

@keyframes miniSlotAnticipationReel {
  from { transform: translateX(-2px); filter: brightness(.9) saturate(.9); }
  to { transform: translateX(2px); filter: brightness(1.38) saturate(1.3); }
}

/* ---------- winning symbols ---------- */
.site-slot-page .slot-reels-pro.has-win .slot-symbol.is-dimmed {
  opacity: .14;
  filter: grayscale(.7) brightness(.38) blur(.35px);
  transform: scale(.96);
}

.site-slot-page .slot-reels-pro.has-win .slot-symbol.is-winning {
  border-color: rgba(150,232,255,.94);
  box-shadow:
    0 0 0 1px rgba(173,235,255,.2),
    0 0 38px rgba(61,196,255,.48),
    inset 0 0 35px rgba(90,211,255,.15);
  animation: miniSlotWinnerCell .48s cubic-bezier(.2,.75,.2,1) infinite alternate;
}

.site-slot-page .slot-reels-pro.has-win .slot-symbol.is-winning .slot-symbol-img {
  animation: miniSlotWinnerImage .48s cubic-bezier(.2,.75,.2,1) infinite alternate !important;
}

@keyframes miniSlotWinnerCell {
  from { transform: scale(.96) rotate(-.3deg); filter: brightness(1.05); }
  to { transform: scale(1.055) rotate(.3deg); filter: brightness(1.5); }
}

@keyframes miniSlotWinnerImage {
  from { transform: translateY(3px) scale(.9); filter: brightness(1.05) drop-shadow(0 0 12px rgba(79,204,255,.4)); }
  to { transform: translateY(-4px) scale(1.09); filter: brightness(1.5) drop-shadow(0 0 32px rgba(111,220,255,.92)); }
}

.site-slot-page .slot-symbol.is-bonus-hit {
  animation: miniSlotBonusHitMad .32s ease-in-out infinite alternate !important;
}

.site-slot-page .slot-symbol.is-bonus-hit .slot-symbol-img {
  animation: miniSlotBonusHitImage .32s cubic-bezier(.1,.9,.2,1.3) infinite alternate !important;
}

@keyframes miniSlotBonusHitMad {
  from { transform: scale(.96) rotate(-1deg); box-shadow: 0 0 25px rgba(93,204,255,.36), inset 0 0 25px rgba(78,182,246,.12); }
  to { transform: scale(1.07) rotate(1deg); box-shadow: 0 0 55px rgba(128,224,255,.78), inset 0 0 42px rgba(111,90,255,.22); }
}

@keyframes miniSlotBonusHitImage {
  from { transform: scale(.9) rotate(-4deg); filter: brightness(1.2) drop-shadow(0 0 17px rgba(120,220,255,.55)); }
  to { transform: scale(1.15) rotate(4deg); filter: brightness(1.8) drop-shadow(0 0 42px rgba(138,229,255,1)); }
}

/* ---------- cabinet impacts ---------- */
.site-slot-page .slot-machine-pro.is-spin-kick { animation: miniSlotSpinKick .42s cubic-bezier(.15,.82,.28,1.25); }
.site-slot-page .slot-machine-pro.is-win-kick { animation: miniSlotWinKick .72s cubic-bezier(.12,.85,.22,1.2); }
.site-slot-page .slot-machine-pro.is-jackpot-kick { animation: miniSlotJackpotKick .9s cubic-bezier(.12,.85,.22,1.18); }

@keyframes miniSlotSpinKick {
  0% { transform: scale(1); }
  35% { transform: scale(.992); }
  70% { transform: scale(1.006); }
  100% { transform: scale(1); }
}

@keyframes miniSlotWinKick {
  0%,100% { transform: translateX(0) scale(1); }
  20% { transform: translateX(-2px) scale(1.004); }
  40% { transform: translateX(3px) scale(1.008); }
  60% { transform: translateX(-1px) scale(1.004); }
}

@keyframes miniSlotJackpotKick {
  0% { transform: scale(1); filter: brightness(1); }
  35% { transform: scale(1.018); filter: brightness(1.25); }
  62% { transform: scale(.998); filter: brightness(1.08); }
  100% { transform: scale(1); filter: brightness(1); }
}

/* ---------- overlays mais fortes ---------- */
.site-slot-page .slot-win-overlay,
.site-slot-page .slot-bonus-intro {
  overflow: hidden;
  border-color: rgba(140,230,255,.72);
  background:
    radial-gradient(circle at 50% 40%, rgba(82,202,255,.3), transparent 50%),
    radial-gradient(circle at 50% 0%, rgba(118,94,255,.14), transparent 45%),
    rgba(2,12,23,.965);
  box-shadow:
    0 34px 110px rgba(0,0,0,.76),
    0 0 70px rgba(59,192,255,.33),
    inset 0 0 45px rgba(73,185,245,.1);
}

.site-slot-page .slot-win-overlay::before,
.site-slot-page .slot-bonus-intro::before {
  content: "";
  position: absolute;
  inset: -70%;
  z-index: -1;
  background: conic-gradient(transparent, rgba(104,220,255,.2), transparent 19%, transparent 52%, rgba(116,90,255,.14), transparent 72%);
  animation: miniSlotOverlaySpin 2.2s linear infinite;
}

@keyframes miniSlotOverlaySpin { to { transform: rotate(360deg); } }

.site-slot-page .slot-win-overlay.is-mega,
.site-slot-page .slot-win-overlay.is-epic {
  border-color: rgba(185,239,255,.95);
  box-shadow:
    0 34px 120px rgba(0,0,0,.8),
    0 0 95px rgba(79,203,255,.55),
    0 0 150px rgba(101,79,255,.2),
    inset 0 0 55px rgba(102,210,255,.15);
}

.site-slot-page .slot-win-overlay.is-epic strong {
  animation: miniSlotEpicText .42s ease-in-out infinite alternate;
}

@keyframes miniSlotEpicText {
  from { transform: scale(.96); text-shadow: 0 0 22px rgba(95,210,255,.42); }
  to { transform: scale(1.07); text-shadow: 0 0 42px rgba(153,231,255,.95), 0 0 76px rgba(93,94,255,.45); }
}

.site-slot-page.slot-bonus-active .slot-feature-bar {
  animation: miniSlotFeatureBarPulse 1.4s ease-in-out infinite alternate;
}

@keyframes miniSlotFeatureBarPulse {
  from { filter: brightness(.94); transform: translateY(0); }
  to { filter: brightness(1.16); transform: translateY(-1px); }
}

/* ---------- FX particles created by slot.js ---------- */
.site-slot-page .slot-fx-layer {
  position: absolute;
  z-index: 28;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.site-slot-page .slot-fx-particle {
  position: absolute;
  display: block;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  border-radius: 50%;
  opacity: 0;
  transform: translate3d(0,0,0) rotate(0deg) scale(var(--scale,1));
  animation: miniSlotFxFly var(--life,900ms) cubic-bezier(.12,.72,.18,1) var(--delay,0ms) forwards;
}

.site-slot-page .slot-fx-particle.spark {
  background: #dff8ff;
  box-shadow: 0 0 7px #b9efff, 0 0 15px rgba(83,202,255,.9);
}

.site-slot-page .slot-fx-particle.spark-soft {
  width: 4px;
  height: 4px;
  background: #8bdcff;
  box-shadow: 0 0 8px rgba(83,202,255,.85);
}

.site-slot-page .slot-fx-particle.bonus-spark {
  width: 8px;
  height: 8px;
  background: #dff8ff;
  box-shadow: 0 0 10px #9de5ff, 0 0 22px rgba(110,90,255,.9);
}

.site-slot-page .slot-fx-particle.confetti,
.site-slot-page .slot-fx-particle.confetti-hot,
.site-slot-page .slot-fx-particle.bonus-confetti {
  width: 5px;
  height: 12px;
  border-radius: 2px;
  background: linear-gradient(180deg, #e7fbff, #53caff);
  box-shadow: 0 0 10px rgba(73,196,255,.55);
}

.site-slot-page .slot-fx-particle.confetti-hot {
  background: linear-gradient(180deg, #ffffff, #8bdcff 48%, #8b72ff);
  box-shadow: 0 0 13px rgba(112,210,255,.8);
}

.site-slot-page .slot-fx-particle.bonus-confetti {
  background: linear-gradient(180deg, #e9fcff, #72d8ff 55%, #796dff);
  box-shadow: 0 0 14px rgba(103,211,255,.72);
}

@keyframes miniSlotFxFly {
  0% { opacity: 0; transform: translate3d(0,0,0) rotate(0deg) scale(calc(var(--scale,1) * .4)); }
  10% { opacity: 1; }
  78% { opacity: .9; }
  100% { opacity: 0; transform: translate3d(var(--tx,0),var(--ty,-80px),0) rotate(var(--rot,180deg)) scale(var(--scale,1)); }
}

/* ---------- botões mais vivos ---------- */
.site-slot-page .slot-spin-btn:not(:disabled) {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 rgba(87,201,255,0);
  animation: miniSlotSpinButton 1.6s ease-in-out infinite alternate;
}

.site-slot-page .slot-spin-btn:not(:disabled)::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -35%;
  width: 26%;
  height: 200%;
  transform: rotate(18deg);
  background: rgba(255,255,255,.48);
  filter: blur(5px);
  animation: miniSlotButtonSweep 2.4s ease-in-out infinite;
}

@keyframes miniSlotSpinButton {
  from { box-shadow: 0 0 0 rgba(87,201,255,0); transform: translateY(0); }
  to { box-shadow: 0 0 24px rgba(87,201,255,.17); transform: translateY(-1px); }
}

@keyframes miniSlotButtonSweep {
  0%, 58% { left: -38%; opacity: 0; }
  70% { opacity: .8; }
  90%,100% { left: 118%; opacity: 0; }
}

.site-slot-page .slot-bonus-buy-btn:not(:disabled) {
  animation: miniSlotBonusBuyPulse 1.45s ease-in-out infinite alternate;
}

@keyframes miniSlotBonusBuyPulse {
  from { box-shadow: 0 0 12px rgba(73,194,255,.08), inset 0 0 0 rgba(255,255,255,0); }
  to { box-shadow: 0 0 30px rgba(73,194,255,.24), inset 0 0 16px rgba(83,195,255,.08); }
}

/* paytable passa a usar os PNGs da MINI SLOT */
.site-slot-page .slot-paytable .slot-payrow b {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.site-slot-page .slot-paytable .slot-payrow b img {
  width: 23px;
  height: 23px;
  object-fit: contain;
  filter: drop-shadow(0 0 7px rgba(88,201,255,.32));
}

/* responsive PNG size */
@media (max-width: 1220px) {
  .site-slot-page .slot-symbol-img {
    width: min(80%, 91px);
    height: min(80%, 91px);
  }
}

@media (max-width: 840px) {
  .site-slot-page .slot-symbol-img {
    width: min(82%, 78px);
    height: min(82%, 78px);
  }
}

@media (max-width: 560px) {
  .site-slot-page .slot-symbol-img {
    width: min(86%, 62px);
    height: min(86%, 62px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-slot-page .slot-machine-pro::before,
  .site-slot-page .slot-machine-pro::after,
  .site-slot-page .slot-machine-glow,
  .site-slot-page .slot-machine-particles,
  .site-slot-page .slot-reels-pro,
  .site-slot-page .slot-symbol-img,
  .site-slot-page .slot-symbol::before,
  .site-slot-page .slot-spin-btn,
  .site-slot-page .slot-bonus-buy-btn {
    animation: none !important;
  }
}


/* =========================================================
   MINI-JOGOS / SLOT — ULTRA LIVE CABINET V2
   Só afeta .site-slot-page. A Daily Slot fica intocada.
   ========================================================= */

.site-slot-page .slot-machine-pro {
  --slot-cyan: 104, 220, 255;
  --slot-blue: 39, 151, 255;
  --slot-violet: 113, 91, 255;
  border-top: 1px solid rgba(var(--slot-cyan), .18);
  border-bottom: 1px solid rgba(var(--slot-cyan), .16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    inset 0 -45px 90px rgba(0,0,0,.18),
    0 0 80px rgba(20,116,190,.055);
}

/* luz viva por trás da máquina */
.site-slot-page .slot-stage-beams {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: .55;
}

.site-slot-page .slot-stage-beams i {
  position: absolute;
  top: -18%;
  left: 50%;
  width: 150px;
  height: 94%;
  transform-origin: 50% 0;
  background: linear-gradient(180deg, rgba(118,224,255,.12), rgba(61,151,255,.025) 55%, transparent 90%);
  filter: blur(12px);
  clip-path: polygon(45% 0, 55% 0, 100% 100%, 0 100%);
  animation: miniSlotBeamDance 4.8s ease-in-out infinite alternate;
}

.site-slot-page .slot-stage-beams i:nth-child(1) { transform: translateX(-50%) rotate(-18deg); animation-delay: -1.1s; }
.site-slot-page .slot-stage-beams i:nth-child(2) { transform: translateX(-50%) rotate(0deg); opacity: .7; animation-delay: -2.7s; }
.site-slot-page .slot-stage-beams i:nth-child(3) { transform: translateX(-50%) rotate(18deg); animation-delay: -3.6s; }

@keyframes miniSlotBeamDance {
  0% { opacity: .14; filter: blur(14px); }
  45% { opacity: .55; filter: blur(9px); }
  100% { opacity: .23; filter: blur(16px); }
}

/* rails laterais com LEDs em perseguição */
.site-slot-page .slot-led-rail {
  position: absolute;
  z-index: 15;
  top: 78px;
  bottom: 74px;
  width: 4px;
  border-radius: 999px;
  pointer-events: none;
  opacity: .65;
  background:
    repeating-linear-gradient(180deg,
      rgba(142,232,255,.95) 0 5px,
      rgba(62,169,255,.18) 5px 13px,
      transparent 13px 19px);
  background-size: 100% 38px;
  box-shadow: 0 0 12px rgba(74,196,255,.32), 0 0 30px rgba(62,151,255,.13);
  animation: miniSlotRailChase 1.3s linear infinite;
}

.site-slot-page .slot-led-rail-left { left: 8px; }
.site-slot-page .slot-led-rail-right { right: 8px; animation-direction: reverse; }

@keyframes miniSlotRailChase { to { background-position: 0 38px; } }

/* ticker superior para preencher a área morta */
.site-slot-page .slot-live-marquee {
  position: relative;
  z-index: 12;
  width: min(780px, 100%);
  height: 32px;
  display: grid;
  grid-template-columns: 12px minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  padding: 0 11px;
  overflow: hidden;
  border: 1px solid rgba(92,197,249,.13);
  border-radius: 9px;
  background: linear-gradient(90deg, rgba(6,26,42,.82), rgba(10,39,59,.66), rgba(6,26,42,.82));
  box-shadow: inset 0 0 22px rgba(66,179,237,.035), 0 7px 24px rgba(0,0,0,.16);
}

.site-slot-page .slot-live-marquee::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(137,226,255,.09), transparent);
  transform: translateX(-110%);
  animation: miniSlotMarqueeFlash 3.4s ease-in-out infinite;
}

@keyframes miniSlotMarqueeFlash {
  0%,56% { transform: translateX(-110%); opacity: 0; }
  72% { opacity: .75; }
  100% { transform: translateX(110%); opacity: 0; }
}

.site-slot-page .slot-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7cddff;
  box-shadow: 0 0 8px rgba(116,220,255,.85), 0 0 18px rgba(65,175,255,.35);
  animation: miniSlotLiveDot .8s ease-in-out infinite alternate;
}

@keyframes miniSlotLiveDot { to { opacity: .38; transform: scale(.68); } }

.site-slot-page .slot-live-window { overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.site-slot-page .slot-live-track {
  width: max-content;
  color: rgba(138,207,242,.38);
  font-size: 6px;
  font-weight: 900;
  letter-spacing: 1.5px;
  white-space: nowrap;
  animation: miniSlotTicker 18s linear infinite;
}
@keyframes miniSlotTicker { to { transform: translateX(-50%); } }

.site-slot-page #slotMarqueeStatus {
  position: relative;
  z-index: 2;
  color: #7ddfff;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: 1px;
  text-shadow: 0 0 10px rgba(69,192,255,.38);
  white-space: nowrap;
}

/* header ganha presença e deixa de parecer vazio */
.site-slot-page .slot-machine-top-pro {
  position: relative;
  min-height: 52px;
  padding: 8px 12px;
  border: 1px solid rgba(92,196,247,.09);
  border-radius: 12px;
  background:
    radial-gradient(circle at 85% 50%, rgba(67,188,246,.09), transparent 35%),
    linear-gradient(90deg, rgba(5,24,39,.72), rgba(7,31,48,.52));
  overflow: hidden;
}

.site-slot-page .slot-machine-top-pro::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(91,207,255,.7), transparent);
  transform: scaleX(.35);
  animation: miniSlotHeaderLine 2.1s ease-in-out infinite alternate;
}
@keyframes miniSlotHeaderLine { to { transform: scaleX(1); opacity: .34; } }

.site-slot-page .slot-machine-top-pro #slotWinDisplay {
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(5,23,37,.46);
  border: 1px solid rgba(107,210,255,.07);
  transition: .24s ease;
}

.site-slot-page .slot-machine-top-pro #slotWinDisplay.is-win {
  color: #baf0ff;
  border-color: rgba(134,229,255,.4);
  background: radial-gradient(circle at 50% 50%, rgba(74,199,255,.18), rgba(5,23,37,.5));
  box-shadow: 0 0 24px rgba(70,199,255,.16), inset 0 0 15px rgba(76,194,255,.06);
  animation: miniSlotTopWin 420ms cubic-bezier(.2,.8,.2,1.2) infinite alternate;
}
@keyframes miniSlotTopWin { to { transform: scale(1.035); filter: brightness(1.18); } }

/* Reels com mais profundidade */
.site-slot-page .slot-reels-pro {
  perspective: 1000px;
  transform-style: preserve-3d;
}

.site-slot-page .slot-reels-pro::before {
  height: 58px;
  background: linear-gradient(180deg, rgba(1,8,15,.74), rgba(4,28,45,.18), transparent);
}
.site-slot-page .slot-reels-pro::after {
  height: 58px;
  background: linear-gradient(0deg, rgba(1,8,15,.8), rgba(4,28,45,.18), transparent);
}

.site-slot-page .slot-reel-energy {
  position: absolute;
  z-index: 6;
  inset: 12px;
  pointer-events: none;
  border-radius: 17px;
  border: 1px solid transparent;
  background:
    linear-gradient(#0000,#0000) padding-box,
    conic-gradient(from var(--slot-energy-angle,0deg), transparent 0 25%, rgba(108,222,255,.62), transparent 39% 71%, rgba(95,85,255,.36), transparent 83%) border-box;
  opacity: .24;
  animation: miniSlotEnergyOrbit 5.5s linear infinite;
}

@property --slot-energy-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes miniSlotEnergyOrbit { to { --slot-energy-angle: 360deg; } }

/* cada reel respira um pouco quando está parado */
.site-slot-page .slot-machine-pro.is-attract-mode .slot-reel {
  animation: miniSlotReelIdle 3.2s ease-in-out infinite alternate;
}
.site-slot-page .slot-machine-pro.is-attract-mode .slot-reel:nth-child(2) { animation-delay: -.6s; }
.site-slot-page .slot-machine-pro.is-attract-mode .slot-reel:nth-child(3) { animation-delay: -1.2s; }
.site-slot-page .slot-machine-pro.is-attract-mode .slot-reel:nth-child(4) { animation-delay: -1.8s; }
.site-slot-page .slot-machine-pro.is-attract-mode .slot-reel:nth-child(5) { animation-delay: -2.4s; }

@keyframes miniSlotReelIdle {
  from { transform: translateY(0) translateZ(0); }
  to { transform: translateY(-2px) translateZ(4px); }
}

.site-slot-page .slot-reel.is-idle-focus {
  z-index: 5;
  border-color: rgba(112,220,255,.32) !important;
  box-shadow:
    0 0 25px rgba(71,190,255,.15),
    inset 0 0 34px rgba(76,194,255,.09) !important;
  filter: brightness(1.16);
  transform: translateY(-3px) scale(1.012) !important;
  transition: .28s cubic-bezier(.2,.8,.2,1);
}

.site-slot-page .slot-reel.is-idle-focus .slot-symbol-img {
  filter: brightness(1.25) drop-shadow(0 0 22px rgba(99,211,255,.5));
}

/* scan rápido dentro de cada símbolo */
.site-slot-page .slot-symbol::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 7%;
  right: 7%;
  height: 28%;
  top: -35%;
  border-radius: 50%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(167,235,255,.08), transparent);
  filter: blur(5px);
  animation: miniSlotCellScan 4.2s ease-in-out infinite;
}
.site-slot-page .slot-symbol:nth-child(2)::after { animation-delay: -1.3s; }
.site-slot-page .slot-symbol:nth-child(3)::after { animation-delay: -2.7s; }
@keyframes miniSlotCellScan {
  0%,62% { top: -35%; opacity: 0; }
  72% { opacity: .7; }
  96%,100% { top: 112%; opacity: 0; }
}

/* linha de prémio desenhada pelo JS */
.site-slot-page .slot-payline-fx {
  position: absolute;
  z-index: 18;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
  opacity: 0;
}
.site-slot-page .slot-payline-fx.is-active { opacity: 1; }
.site-slot-page .slot-win-line {
  fill: none;
  stroke: rgba(185,239,255,.98);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 3px #bfefff) drop-shadow(0 0 9px rgba(71,194,255,.92));
  stroke-dasharray: 18 10;
  stroke-dashoffset: 90;
  animation:
    miniSlotLineDraw .55s cubic-bezier(.2,.75,.2,1) var(--line-delay,0ms) both,
    miniSlotLineFlow .8s linear calc(var(--line-delay,0ms) + .55s) infinite;
}
.site-slot-page .slot-win-line-1 { stroke: rgba(115,208,255,.95); }
.site-slot-page .slot-win-line-2 { stroke: rgba(154,136,255,.9); }
@keyframes miniSlotLineDraw { from { opacity: 0; stroke-dashoffset: 120; } to { opacity: 1; stroke-dashoffset: 0; } }
@keyframes miniSlotLineFlow { to { stroke-dashoffset: -56; } }

/* spin ainda mais vivo */
.site-slot-page .slot-machine-pro.is-spin-rush .slot-stage-beams { opacity: .95; }
.site-slot-page .slot-machine-pro.is-spin-rush .slot-led-rail { animation-duration: .34s; opacity: 1; }
.site-slot-page .slot-machine-pro.is-spin-rush .slot-reel-energy { opacity: .62; animation-duration: 1.1s; }
.site-slot-page .slot-machine-pro.is-spin-rush .slot-live-marquee { border-color: rgba(112,222,255,.38); box-shadow: 0 0 26px rgba(61,190,255,.12), inset 0 0 24px rgba(67,190,255,.06); }

/* bottom HUD com pulso alternado */
.site-slot-page .slot-machine-bottom-pro > div {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 0%, rgba(63,172,229,.08), transparent 55%),
    rgba(5,24,39,.58);
  animation: miniSlotHudBreathe 2.8s ease-in-out infinite alternate;
}
.site-slot-page .slot-machine-bottom-pro > div:nth-child(2) { animation-delay: -.9s; }
.site-slot-page .slot-machine-bottom-pro > div:nth-child(3) { animation-delay: -1.8s; }
.site-slot-page .slot-machine-bottom-pro > div::after {
  content: "";
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(105,217,255,.65), transparent);
  transform: scaleX(.35);
  animation: miniSlotHudLine 1.9s ease-in-out infinite alternate;
}
@keyframes miniSlotHudBreathe { to { filter: brightness(1.1); border-color: rgba(91,199,252,.2); } }
@keyframes miniSlotHudLine { to { transform: scaleX(1); opacity: .3; } }

/* no bónus, a máquina muda de energia */
.site-slot-page.slot-bonus-active .slot-stage-beams i {
  background: linear-gradient(180deg, rgba(161,226,255,.19), rgba(109,84,255,.055) 55%, transparent 90%);
  animation-duration: 2.2s;
}
.site-slot-page.slot-bonus-active .slot-led-rail {
  background: repeating-linear-gradient(180deg, rgba(184,240,255,.98) 0 5px, rgba(110,89,255,.42) 5px 13px, transparent 13px 19px);
  animation-duration: .68s;
}
.site-slot-page.slot-bonus-active .slot-reel-energy { opacity: .58; animation-duration: 2s; }

@media (max-width: 840px) {
  .site-slot-page .slot-live-marquee { height: 28px; }
  .site-slot-page .slot-live-track { font-size: 5px; }
  .site-slot-page .slot-led-rail { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .site-slot-page .slot-stage-beams i,
  .site-slot-page .slot-led-rail,
  .site-slot-page .slot-live-track,
  .site-slot-page .slot-live-marquee::after,
  .site-slot-page .slot-live-dot,
  .site-slot-page .slot-reel-energy,
  .site-slot-page .slot-machine-pro.is-attract-mode .slot-reel,
  .site-slot-page .slot-symbol::after,
  .site-slot-page .slot-machine-bottom-pro > div,
  .site-slot-page .slot-machine-bottom-pro > div::after,
  .site-slot-page .slot-win-line {
    animation: none !important;
  }
}

/* =========================================================
   MINI-JOGOS / SLOT — WALPAPER BACKDROP
   Usa exatamente: assets/images/walpaper.png
   Scoped à .site-slot-page: não altera a Daily Slot.
   ========================================================= */

.site-slot-page .slot-machine-pro {
  background:
    linear-gradient(180deg, rgba(2, 12, 22, .62), rgba(2, 10, 18, .82)),
    radial-gradient(circle at 50% 45%, rgba(45, 177, 245, .10), transparent 46%),
    url("assets/images/walpaper.png") center center / cover no-repeat !important;
  box-shadow:
    inset 0 0 120px rgba(1, 8, 15, .72),
    inset 0 1px 0 rgba(255,255,255,.035),
    0 28px 85px rgba(0,0,0,.42);
}

.site-slot-page .slot-machine-pro::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -3%;
  pointer-events: none;
  opacity: .72;
  background:
    linear-gradient(90deg, rgba(2,10,18,.54), transparent 22%, transparent 78%, rgba(2,10,18,.54)),
    radial-gradient(circle at 50% 46%, transparent 12%, rgba(2,10,18,.16) 55%, rgba(2,8,15,.55) 100%);
  transform: scale(1.02);
  animation: miniSlotWallpaperBreath 9s ease-in-out infinite alternate;
}

@keyframes miniSlotWallpaperBreath {
  from { transform: scale(1.015) translate3d(-.3%, -.25%, 0); opacity: .66; }
  to   { transform: scale(1.055) translate3d(.35%, .28%, 0); opacity: .82; }
}

/* Mantém todos os componentes reais acima do wallpaper. */
.site-slot-page .slot-machine-pro > * {
  position: relative;
  z-index: 3;
}

.site-slot-page .slot-machine-pro > .slot-machine-glow,
.site-slot-page .slot-machine-pro > .slot-machine-particles,
.site-slot-page .slot-machine-pro > .slot-stage-beams,
.site-slot-page .slot-machine-pro > .slot-led-rail,
.site-slot-page .slot-machine-pro > .slot-fx-layer {
  position: absolute;
}

/* Reels ligeiramente mais transparentes para o wallpaper fazer parte da máquina. */
.site-slot-page .slot-reels-pro {
  background:
    linear-gradient(180deg, rgba(7, 28, 45, .90), rgba(3, 15, 26, .94));
  backdrop-filter: blur(2px) saturate(118%);
  -webkit-backdrop-filter: blur(2px) saturate(118%);
}

.site-slot-page .slot-reels-pro .slot-reel {
  background:
    linear-gradient(180deg, rgba(5, 25, 41, .91), rgba(3, 17, 29, .95));
}

.site-slot-page .slot-machine-top-pro,
.site-slot-page .slot-live-marquee,
.site-slot-page .slot-machine-bottom-pro > div,
.site-slot-page .slot-feature-bar > div {
  backdrop-filter: blur(6px) saturate(120%);
  -webkit-backdrop-filter: blur(6px) saturate(120%);
}

/* Em Free Spins o wallpaper ganha um pouco mais de luz. */
.site-slot-page.slot-bonus-active .slot-machine-pro {
  background:
    linear-gradient(180deg, rgba(2, 13, 24, .48), rgba(2, 10, 19, .74)),
    radial-gradient(circle at 50% 42%, rgba(83, 200, 255, .16), transparent 48%),
    url("assets/images/walpaper.png") center center / cover no-repeat !important;
}

@media (prefers-reduced-motion: reduce) {
  .site-slot-page .slot-machine-pro::before {
    animation: none !important;
  }
}

/* =========================================================
   BETFLOW TRACKER — BOLETIM SEM CROP
   Mostra a imagem completa no painel lateral.
   ========================================================= */
.betflow-ticket-preview {
  background: #050e16 !important;
}

.betflow-ticket-preview img {
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #050e16 !important;
}

/* =========================================================
   STORE ADMIN — GESTÃO DE UTILIZADORES
   ========================================================= */
.store-admin-tabs{flex-wrap:wrap}
.store-admin-users-toolbar{align-items:center}
.store-admin-user-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.store-admin-user-tools input,.store-admin-user-tools select{height:42px;border:1px solid #1d425b;border-radius:10px;background:#081927;color:#edf7fc;font:800 9px Montserrat,sans-serif;outline:none}
.store-admin-user-tools input{width:min(350px,56vw);padding:0 13px}
.store-admin-user-tools select{padding:0 34px 0 12px;cursor:pointer}
.store-admin-user-tools input:focus,.store-admin-user-tools select:focus{border-color:#55c9ff;box-shadow:0 0 0 3px rgba(83,199,255,.08)}
.store-admin-user-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
.store-admin-user-stats article{display:grid;gap:5px;min-height:88px;padding:15px 17px;border:1px solid #17364c;border-radius:14px;background:linear-gradient(145deg,#071521,#06111b)}
.store-admin-user-stats span{color:#5f8298;font-size:7px;font-weight:950;letter-spacing:1px}
.store-admin-user-stats strong{color:#f2f9fd;font-size:23px;font-weight:950;letter-spacing:-.5px}
.store-admin-users{display:grid;gap:11px}
.store-admin-user-card{display:grid;grid-template-columns:minmax(235px,1.1fr) 180px 190px minmax(310px,1.2fr);gap:14px;align-items:center;padding:15px 16px;border:1px solid #17364b;border-radius:16px;background:linear-gradient(145deg,#071521,#06111b);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.store-admin-user-card:has(.store-admin-user-game.is-active){border-color:rgba(66,208,255,.26);box-shadow:inset 3px 0 0 #56cfff,0 12px 32px rgba(0,0,0,.1)}
.store-admin-user-identity{display:flex;align-items:center;gap:11px;min-width:0}
.store-admin-user-avatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border:1px solid #235878;border-radius:12px;background:#0b273a;color:#69d2ff;font-size:17px;font-weight:950}
.store-admin-user-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.store-admin-user-identity>div:last-child{display:grid;gap:3px;min-width:0}
.store-admin-user-identity span,.store-admin-user-balance>span,.store-admin-user-game>span,.store-admin-user-adjust>span{color:#5f8298;font-size:7px;font-weight:950;letter-spacing:.9px}
.store-admin-user-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef8fd;font-size:13px}
.store-admin-user-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#587487;font-size:8px}
.store-admin-user-balance{display:grid;gap:4px;padding-left:14px;border-left:1px solid rgba(88,176,228,.09)}
.store-admin-user-balance>strong{color:#78d8ff;font-size:20px;font-weight:950;white-space:nowrap}
.store-admin-user-balance>strong small{color:#66889d;font-size:7px;letter-spacing:.8px}
.store-admin-user-balance em{color:#4e7085;font-size:7px;font-style:normal}
.store-admin-user-game{display:grid;gap:4px;min-height:64px;padding:11px 12px;border:1px solid rgba(91,180,233,.1);border-radius:11px;background:rgba(7,28,43,.7)}
.store-admin-user-game strong{color:#b8ceda;font-size:10px;font-weight:950}
.store-admin-user-game small{color:#587a8f;font-size:7px;line-height:1.45}
.store-admin-user-game.is-active{border-color:rgba(65,218,161,.2);background:rgba(8,50,43,.48)}
.store-admin-user-game.is-active>span,.store-admin-user-game.is-active strong{color:#55e0ad}
.store-admin-user-game.is-idle{opacity:.62}
.store-admin-user-adjust{display:grid;gap:7px}
.store-admin-user-adjust-row{display:grid;grid-template-columns:86px 1fr 1fr;gap:6px}
.store-admin-user-adjust-row input{width:100%;height:38px;padding:0 9px;border:1px solid #21465e;border-radius:9px;background:#081927;color:#edf7fc;font:900 10px Montserrat,sans-serif;outline:none;text-align:center}
.store-admin-user-adjust-row input:focus{border-color:#55c9ff;box-shadow:0 0 0 3px rgba(83,199,255,.08)}
.store-admin-user-adjust-row button{height:38px;padding:0 8px;border-radius:9px;font:950 7px Montserrat,sans-serif;letter-spacing:.45px;cursor:pointer;transition:.17s ease;white-space:nowrap}
.store-admin-user-adjust-row button.is-add{border:1px solid rgba(54,222,143,.26);background:rgba(18,99,70,.35);color:#50e3a4}
.store-admin-user-adjust-row button.is-remove{border:1px solid rgba(255,92,116,.25);background:rgba(100,31,45,.34);color:#ff7589}
.store-admin-user-adjust-row button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.16)}
.store-admin-user-adjust-row button:disabled{opacity:.45;cursor:wait}
.store-admin-user-empty{padding:42px 20px;text-align:center;border:1px dashed #18394e;border-radius:15px;color:#6f899a;background:#06121d;font-size:10px}
@media(max-width:1120px){.store-admin-user-card{grid-template-columns:1fr 180px}.store-admin-user-game,.store-admin-user-adjust{grid-column:auto}.store-admin-user-adjust{grid-column:1/-1}.store-admin-user-balance{border-left:0}}
@media(max-width:760px){.store-admin-users-toolbar{align-items:flex-start}.store-admin-user-tools{width:100%;justify-content:flex-start}.store-admin-user-tools input{width:100%}.store-admin-user-stats{grid-template-columns:1fr}.store-admin-user-card{grid-template-columns:1fr}.store-admin-user-balance{padding-left:0}.store-admin-user-adjust{grid-column:auto}.store-admin-user-adjust-row{grid-template-columns:1fr 1fr}.store-admin-user-adjust-row input{grid-column:1/-1}.store-admin-tabs{width:100%}.store-admin-tab{flex:1 1 auto;justify-content:center}}

/* ===================================================== */
/* STORE ADMIN — ADICIONAR ARTIGO                        */
/* ===================================================== */
.store-admin-create-product {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  gap: 22px;
  align-items: start;
  margin-top: 18px;
}

.store-admin-create-fields,
.store-admin-create-media {
  border: 1px solid rgba(105, 190, 255, .13);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(7, 27, 44, .78), rgba(4, 18, 31, .76));
}

.store-admin-create-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 20px;
}

.store-admin-create-field {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.store-admin-create-field > span,
.store-admin-create-media > span,
.store-admin-create-stock > div > span {
  color: #75d4ff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.45px;
}

.store-admin-create-field input,
.store-admin-create-field select,
.store-admin-create-field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(113, 192, 244, .15);
  border-radius: 11px;
  outline: none;
  background: rgba(3, 17, 29, .78);
  color: #f4f9fd;
  font-family: inherit;
  font-size: 12px;
  font-weight: 700;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.store-admin-create-field input,
.store-admin-create-field select {
  min-height: 48px;
  padding: 0 13px;
}

.store-admin-create-field textarea {
  min-height: 128px;
  padding: 13px;
  resize: vertical;
  line-height: 1.55;
}

.store-admin-create-field input:focus,
.store-admin-create-field select:focus,
.store-admin-create-field textarea:focus {
  border-color: rgba(93, 202, 255, .46);
  background: rgba(5, 25, 41, .92);
  box-shadow: 0 0 0 3px rgba(68, 179, 237, .07);
}

.store-admin-create-field select option {
  background: #061725;
  color: white;
}

.store-admin-create-description {
  grid-column: 1 / -1;
}

.store-admin-create-stock {
  grid-column: 1 / -1;
  min-height: 60px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(113, 192, 244, .10);
  border-radius: 12px;
  background: rgba(4, 21, 34, .62);
}

.store-admin-create-stock > div {
  display: grid;
  gap: 5px;
}

.store-admin-create-stock > div > strong {
  color: #dff7ff;
  font-size: 11px;
  font-weight: 900;
}

.store-admin-create-media {
  padding: 20px;
  display: grid;
  gap: 13px;
}

.store-admin-image-upload {
  display: block;
  cursor: pointer;
}

.store-admin-image-upload > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.store-admin-image-preview {
  position: relative;
  min-height: 310px;
  padding: 20px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 7px;
  overflow: hidden;
  border: 1px dashed rgba(112, 203, 255, .28);
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% 40%, rgba(61, 172, 230, .10), transparent 32%),
    rgba(3, 16, 28, .68);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  text-align: center;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.store-admin-image-upload:hover .store-admin-image-preview {
  border-color: rgba(112, 203, 255, .54);
  transform: translateY(-1px);
}

.store-admin-image-preview strong,
.store-admin-image-preview > span {
  color: #e9f7ff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .8px;
}

.store-admin-image-preview small {
  color: #718fa3;
  font-size: 9px;
  font-weight: 700;
}

.store-admin-image-preview.has-image {
  align-content: end;
  background-color: #03111d;
  border-style: solid;
}

.store-admin-image-preview.has-image::before {
  content: "";
  position: absolute;
  inset: 62% 0 0;
  background: linear-gradient(transparent, rgba(1, 9, 16, .88));
  pointer-events: none;
}

.store-admin-image-preview.has-image > span,
.store-admin-image-preview.has-image > small {
  position: relative;
  z-index: 1;
  padding: 4px 9px;
  border-radius: 7px;
  background: rgba(2, 13, 22, .66);
}

.store-admin-create-submit {
  min-height: 54px;
  border: 1px solid rgba(135, 218, 255, .46);
  border-radius: 12px;
  background: linear-gradient(180deg, #e9f7ff, #ccecff);
  color: #061523;
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .95px;
  transition: transform .2s ease, filter .2s ease, opacity .2s ease;
}

.store-admin-create-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: brightness(1.04);
}

.store-admin-create-submit:disabled {
  cursor: wait;
  opacity: .55;
}

.store-admin-create-note {
  color: #5e7b8f;
  font-size: 8px;
  font-weight: 700;
  line-height: 1.55;
  text-align: center;
}

@media (max-width: 980px) {
  .store-admin-create-product {
    grid-template-columns: 1fr;
  }

  .store-admin-image-preview {
    min-height: 260px;
  }
}

@media (max-width: 620px) {
  .store-admin-create-fields {
    grid-template-columns: 1fr;
  }

  .store-admin-create-description,
  .store-admin-create-stock {
    grid-column: auto;
  }
}

/* =========================================================
   DAILY SLOT — PAYTABLE NÃO CORTADA (FIX FINAL 20/08/2026)
   O popup de combinações vive dentro da máquina; a máquina
   não pode recortar o conteúdo que sobe acima dos rolos.
   ========================================================= */
.daily-slot-panel.daily-slot-panel-ice .daily-slot-machine.daily-slot-machine-ice {
  overflow: visible !important;
}

.daily-slot-panel.daily-slot-panel-ice .daily-slot-paytable-wrap {
  position: relative !important;
  z-index: 80 !important;
}

.daily-slot-panel.daily-slot-panel-ice .daily-slot-paytable {
  z-index: 90 !important;
}


/* BETFLOW — gestão por seleção / odds anuladas */
.betflow-admin-bet-row{display:block!important;padding:16px!important;}
.betflow-admin-bet-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;}
.betflow-admin-bet-top>div:first-child{display:grid;gap:4px;min-width:0;}
.betflow-admin-overall{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.betflow-admin-overall-status{display:inline-flex;align-items:center;padding:7px 9px;border-radius:7px;background:#0a1c29;border:1px solid #23475e;color:#93acbd;font-size:8px!important;font-weight:900;}
.betflow-admin-overall-status.won{color:#2ee28f;border-color:rgba(46,226,143,.28);background:rgba(46,226,143,.07);}
.betflow-admin-overall-status.lost{color:#ff6978;border-color:rgba(255,105,120,.28);background:rgba(255,105,120,.07);}
.betflow-admin-overall-status.void{color:#bdcbd5;border-color:rgba(189,203,213,.22);}
.betflow-admin-event-results{display:grid;gap:8px;margin-top:13px;padding-top:13px;border-top:1px solid #143247;}
.betflow-admin-result-event{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #143247;border-radius:10px;background:#06131f;}
.betflow-admin-result-event-copy{min-width:0;display:grid;gap:3px;}
.betflow-admin-result-event-copy strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.betflow-admin-result-event-copy small{font-size:8px;color:#718c9e;}
.betflow-admin-result-event-copy b{color:#60ccff;font-size:9px;}
.betflow-admin-event-status-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.betflow-admin-event-status-actions button,.betflow-admin-status-actions button{border:1px solid #23475e;background:#0a1c29;color:#93acbd;border-radius:7px;padding:7px 8px;font:900 7px Montserrat,sans-serif;cursor:pointer;}
.betflow-admin-event-status-actions button.active{box-shadow:inset 0 0 0 1px currentColor;}
.betflow-admin-event-status-actions button.won,.betflow-admin-status-actions button.won{color:#2ee28f;}
.betflow-admin-event-status-actions button.lost,.betflow-admin-status-actions button.lost,.betflow-admin-status-actions button.delete{color:#ff6978;}
.betflow-admin-event-status-actions button.void{color:#d3dfe7;}
.betflow-admin-event-status-actions button.pending{color:#ffd857;}
.betflow-admin-status-actions{margin-top:12px;padding-top:11px;border-top:1px solid #143247;display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end;}
.betflow-admin-status-actions>span{margin-right:auto;color:#59778b!important;font-size:7px!important;font-weight:900;letter-spacing:.8px;}
.betflow-event-row.status-won{border-left-color:#2ee28f;}
.betflow-event-row.status-lost{border-left-color:#ff6978;}
.betflow-event-row.status-void{border-left-color:#9fb1bd;opacity:.88;}
.betflow-event-status{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:5px;font-size:7px!important;font-weight:900!important;letter-spacing:.5px;}
.betflow-event-status.won{color:#2ee28f;background:rgba(46,226,143,.08);}
.betflow-event-status.lost{color:#ff6978;background:rgba(255,105,120,.08);}
.betflow-event-status.void{color:#c5d2da;background:rgba(197,210,218,.08);}
.betflow-event-status.pending{color:#ffd857;background:rgba(255,216,87,.08);}
.betflow-event-odd .original-odd{display:block;margin-top:2px;color:#526b7e;font-size:7px;text-decoration:line-through;}
.betflow-event-odd .void-note{display:block;margin-top:3px;color:#b9c7d0;font-size:7px;font-style:normal;font-weight:900;}
@media(max-width:760px){.betflow-admin-bet-top{flex-direction:column}.betflow-admin-overall{justify-content:flex-start}.betflow-admin-result-event{grid-template-columns:1fr}.betflow-admin-event-status-actions,.betflow-admin-status-actions{justify-content:flex-start}.betflow-admin-status-actions>span{width:100%;margin-right:0}}

.betflow-admin-result-odd{color:#60ccff;font-size:9px;font-weight:800}.betflow-admin-result-odd b{font-size:10px}.betflow-admin-result-odd small{color:#718c9e;font-size:7px}

/* =========================================================
   ADMIN — VISUALIZAR SITE COMO UTILIZADOR
   ========================================================= */
.admin-impersonation-banner{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:20050;
  width:min(720px,calc(100vw - 28px));
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:12px 14px 12px 16px;
  border:1px solid rgba(96,207,255,.42);
  border-radius:16px;
  background:rgba(4,17,28,.96);
  box-shadow:0 18px 55px rgba(0,0,0,.52),0 0 28px rgba(67,190,255,.09);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
}
.admin-impersonation-copy{display:grid;gap:2px;min-width:0}
.admin-impersonation-copy>span{color:#59ceff;font-size:7px;font-weight:950;letter-spacing:1.35px}
.admin-impersonation-copy>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f4fbff;font-size:12px;font-weight:950}
.admin-impersonation-copy>small{color:#6f8fa2;font-size:8px;font-weight:700;line-height:1.35}
.admin-impersonation-banner>button{
  flex:0 0 auto;
  height:38px;
  padding:0 14px;
  border:1px solid rgba(255,98,113,.34);
  border-radius:10px;
  background:rgba(116,31,46,.42);
  color:#ff8797;
  font:950 8px Montserrat,sans-serif;
  letter-spacing:.55px;
  cursor:pointer;
}
.admin-impersonation-banner>button:hover:not(:disabled){filter:brightness(1.16);transform:translateY(-1px)}
.admin-impersonation-banner>button:disabled{opacity:.55;cursor:wait}
@media(max-width:620px){
  .admin-impersonation-banner{align-items:stretch;flex-direction:column;gap:9px;bottom:10px}
  .admin-impersonation-banner>button{width:100%}
}

/* =========================================================
   STORE ADMIN — VER COMO USER + ANÚNCIOS
   ========================================================= */
.store-admin-view-user{
  width:100%;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(89,205,255,.23);
  border-radius:9px;
  background:rgba(31,112,153,.17);
  color:#73d8ff;
  font:950 7px Montserrat,sans-serif;
  letter-spacing:.5px;
  cursor:pointer;
  transition:.17s ease;
}
.store-admin-view-user:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(89,205,255,.5);background:rgba(31,112,153,.27)}
.store-admin-view-user:disabled{opacity:.48;cursor:wait}

.store-admin-announcement-form{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(285px,.65fr);
  gap:18px;
  align-items:start;
  margin-top:16px;
}
.store-admin-announcement-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:16px;
  border:1px solid #17364b;
  border-radius:16px;
  background:linear-gradient(145deg,#071521,#06111b);
}
.store-admin-announcement-title,
.store-admin-announcement-message-field{grid-column:1/-1}
.store-admin-announcement-message-field>small{margin-top:7px;color:#5f8298;font-size:8px;line-height:1.5}
.store-admin-announcement-message-field>small strong{color:#72d8ff}
.store-admin-announcement-side{
  display:grid;
  gap:9px;
  padding:18px;
  border:1px solid rgba(83,198,255,.2);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(9,35,52,.88),rgba(5,18,29,.95));
}
.store-admin-announcement-side>span{color:#5f8298;font-size:7px;font-weight:950;letter-spacing:1px}
.store-admin-announcement-side>strong{color:#f1f9fd;font-size:15px;font-weight:950}
.store-admin-announcement-side>p{margin:0 0 8px;color:#718d9e;font-size:9px;line-height:1.65;font-weight:650}
.store-admin-announcement-side .store-admin-create-submit{width:100%;margin-top:6px}
@media(max-width:900px){.store-admin-announcement-form{grid-template-columns:1fr}}
@media(max-width:620px){.store-admin-announcement-grid{grid-template-columns:1fr}.store-admin-announcement-title,.store-admin-announcement-message-field{grid-column:auto}}

/* =========================================================
   BLACKJACK MULTIPLAYER — MESA PÚBLICA DE 5 LUGARES
   ========================================================= */
.blackjack-multiplayer-page .blackjack-main{
  width:min(1580px,97%);
}
.blackjack-multiplayer-shell{
  grid-template-columns:300px minmax(800px,1fr)!important;
  min-height:780px;
}
.blackjack-multiplayer-shell .blackjack-controls{
  position:relative;
  z-index:6;
}
.blackjack-multiplayer-shell .bj-multiplayer-table{
  min-height:780px;
  padding:38px 28px 28px;
}
.blackjack-multiplayer-shell .bj-multiplayer-table::before{
  left:18px;
  right:18px;
  top:22px;
  bottom:18px;
  border-radius:46% 46% 24px 24px / 27% 27% 24px 24px;
}
.blackjack-multiplayer-shell .bj-table-rail::before{
  top:-18%;
  height:45%;
}
.blackjack-multiplayer-shell .bj-table-rail::after{
  top:2.5%;
  height:11%;
}
.blackjack-multiplayer-shell .bj-card-shoe{
  right:54px;
  top:38px;
  width:74px;
  height:98px;
}
.blackjack-multiplayer-shell .bj-chip-rack{
  top:16px;
}

/* Estado da ronda no painel esquerdo */
.bj-round-box{
  margin-top:14px;
  padding:13px 14px;
  border:1px solid rgba(92,190,245,.13);
  border-radius:12px;
  background:rgba(4,14,25,.52);
}
.bj-round-box>span{
  display:block;
  color:#5e91b0;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.2px;
}
.bj-round-box>strong{
  display:block;
  margin-top:5px;
  color:#dff5ff;
  font-size:18px;
  font-weight:950;
  letter-spacing:.2px;
}
.bj-round-box>small{
  display:block;
  min-height:28px;
  margin-top:5px;
  color:#6689a0;
  font-size:9px;
  line-height:1.45;
}
.bj-leave-seat{
  width:100%;
  min-height:36px;
  margin-top:8px;
  border:1px solid rgba(230,96,115,.14);
  border-radius:10px;
  background:rgba(110,28,42,.11);
  color:#9b6670;
  font-size:8px;
  font-weight:900;
  letter-spacing:.8px;
  cursor:pointer;
}
.bj-leave-seat:hover:not(:disabled){
  border-color:rgba(230,96,115,.35);
  color:#e79aa6;
  background:rgba(126,34,48,.18);
}
.bj-leave-seat:disabled{opacity:.3;cursor:default}
.blackjack-multiplayer-shell .bj-action-grid #doubleBtn{
  grid-column:auto;
}

/* Chat discreto no canto superior esquerdo da mesa */
.bj-chat-panel{
  position:absolute;
  z-index:12;
  left:34px;
  top:36px;
  width:250px;
  height:205px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(101,197,249,.16);
  border-radius:13px;
  background:linear-gradient(180deg,rgba(3,16,26,.88),rgba(4,20,31,.75));
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
}
.bj-chat-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px 9px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.bj-chat-head span{
  display:block;
  color:#4e819f;
  font-size:6px;
  font-weight:900;
  letter-spacing:1.1px;
}
.bj-chat-head strong{
  display:block;
  margin-top:2px;
  color:#d9effc;
  font-size:9px;
  letter-spacing:.6px;
}
.bj-chat-head i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#36c983;
  box-shadow:0 0 11px rgba(54,201,131,.45);
}
.bj-chat-messages{
  flex:1;
  min-height:0;
  padding:8px 9px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(96,178,226,.22) transparent;
}
.bj-chat-empty{
  padding:18px 7px;
  color:#496a7d;
  font-size:8px;
  line-height:1.45;
  text-align:center;
}
.bj-chat-message{
  display:grid;
  grid-template-columns:24px 1fr;
  gap:7px;
  align-items:start;
  margin-bottom:8px;
}
.bj-chat-avatar{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(103,198,250,.18);
  border-radius:7px;
  background:#0a2233;
}
.bj-chat-avatar img{width:100%;height:100%;object-fit:cover}
.bj-chat-avatar span{color:#7fcdf7;font-size:9px;font-weight:950}
.bj-chat-message strong{
  display:block;
  overflow:hidden;
  color:#86cdef;
  font-size:7px;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bj-chat-message.is-mine strong{color:#7ce2b3}
.bj-chat-message p{
  margin:2px 0 0;
  color:#b7cbd8;
  font-size:8px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.bj-chat-form{
  display:grid;
  grid-template-columns:1fr 34px;
  gap:5px;
  padding:7px;
  border-top:1px solid rgba(255,255,255,.055);
}
.bj-chat-form input{
  min-width:0;
  height:31px;
  padding:0 9px;
  border:1px solid rgba(91,182,233,.14);
  border-radius:8px;
  outline:0;
  background:rgba(1,11,19,.72);
  color:#dceef8;
  font:700 8px/1 Montserrat,sans-serif;
}
.bj-chat-form input:focus{border-color:rgba(89,192,252,.42)}
.bj-chat-form input:disabled{opacity:.45}
.bj-chat-form button{
  height:31px;
  border:1px solid rgba(92,195,249,.25);
  border-radius:8px;
  background:linear-gradient(180deg,#143c56,#0b2a40);
  color:#7dd5ff;
  cursor:pointer;
  font-size:12px;
}

/* Dealer — mais compacto para libertar espaço para os 5 jogadores */
.blackjack-multiplayer-shell .bj-dealer-zone{
  z-index:7;
  min-height:215px;
  padding-top:54px!important;
}
.blackjack-multiplayer-shell .bj-dealer-zone .bj-hand{
  min-height:125px;
  margin-top:10px;
  gap:7px;
}
.blackjack-multiplayer-shell .bj-dealer-zone .playing-card{
  width:78px;
  height:112px;
  padding:8px;
  border-radius:9px;
}
.blackjack-multiplayer-shell .bj-dealer-zone .card-rank{font-size:18px}
.blackjack-multiplayer-shell .bj-dealer-zone .card-suit{font-size:16px}
.blackjack-multiplayer-shell .bj-dealer-zone .card-suit-big{font-size:42px}

/* Score do dealer sempre escuro/legível, incluindo durante a animação */
.blackjack-multiplayer-shell .bj-dealer-heading b,
.blackjack-multiplayer-shell #dealerScore,
.blackjack-multiplayer-shell.is-dealer-turn #dealerScore,
.blackjack-multiplayer-shell .blackjack-table.is-dealer-turn .bj-dealer-heading b{
  min-width:44px;
  height:34px;
  display:grid;
  place-items:center;
  padding:0 10px;
  border:1px solid rgba(78,188,245,.42)!important;
  border-radius:10px;
  background:linear-gradient(180deg,#0a2a3e,#071b2a)!important;
  color:#e7f8ff!important;
  font-size:17px;
  font-weight:950;
  line-height:1;
  text-shadow:0 0 9px rgba(80,195,250,.22)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.blackjack-multiplayer-shell .blackjack-table.is-dealer-turn .bj-dealer-zone{
  animation:bjDealerPulse 1.15s ease-in-out infinite alternate;
}

.bj-multiplayer-center-mark{
  position:absolute!important;
  z-index:2!important;
  left:50%;
  top:305px;
  transform:translateX(-50%);
  width:300px;
  margin:0!important;
  pointer-events:none;
}
.bj-multiplayer-center-mark strong{font-size:34px!important}
.bj-multiplayer-center-mark small{
  max-width:280px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* 5 spots em arco */
.bj-multiplayer-seats{
  position:absolute;
  z-index:8;
  left:22px;
  right:22px;
  bottom:20px;
  height:370px;
  pointer-events:none;
}
.bj-seat{
  position:absolute;
  width:174px;
  min-height:190px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  pointer-events:auto;
  transition:filter .2s ease,transform .2s ease;
}
.bj-seat-1{left:1.5%;bottom:112px}
.bj-seat-2{left:19.5%;bottom:26px}
.bj-seat-3{left:50%;bottom:0;transform:translateX(-50%)}
.bj-seat-4{right:19.5%;bottom:26px}
.bj-seat-5{right:1.5%;bottom:112px}
.bj-seat-1.is-turn{transform:translateY(-5px)}
.bj-seat-2.is-turn{transform:translateY(-5px)}
.bj-seat-3.is-turn{transform:translateX(-50%) translateY(-5px)}
.bj-seat-4.is-turn{transform:translateY(-5px)}
.bj-seat-5.is-turn{transform:translateY(-5px)}

.bj-seat-circle{
  position:relative;
  width:142px;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 10px;
  border:2px solid rgba(235,215,154,.30);
  border-radius:22px 22px 38px 38px;
  background:linear-gradient(180deg,rgba(7,39,35,.88),rgba(4,25,27,.95));
  box-shadow:inset 0 0 0 6px rgba(15,80,55,.09),0 12px 22px rgba(0,0,0,.24);
  color:#dcecf3;
}
button.bj-seat-circle{
  flex-direction:column;
  border-style:dashed;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease;
}
button.bj-seat-circle:hover{
  transform:translateY(-3px);
  border-color:rgba(94,201,255,.62);
  background:linear-gradient(180deg,rgba(9,55,61,.93),rgba(5,32,40,.98));
  box-shadow:0 12px 28px rgba(21,135,188,.16);
}
button.bj-seat-circle>span{
  color:#68c8f7;
  font-size:20px;
  font-weight:600;
  line-height:1;
}
button.bj-seat-circle>strong{
  color:#a8dff8;
  font-size:8px;
  font-weight:950;
  letter-spacing:1px;
}
button.bj-seat-circle>small{
  color:#52788e;
  font-size:6px;
  font-weight:900;
  letter-spacing:.8px;
}

.bj-player-seat{
  justify-content:flex-start;
}
.bj-seat-avatar-wrap{
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px solid rgba(88,192,245,.25);
  border-radius:50%;
  background:#0a2637;
}
.bj-seat-avatar-wrap img{width:100%;height:100%;object-fit:cover}
.bj-seat-avatar-fallback{color:#8ad7fb;font-size:13px;font-weight:950}
.bj-seat-copy{
  min-width:0;
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:flex-start;
}
.bj-seat-copy strong{
  max-width:78px;
  overflow:hidden;
  color:#eef9ff;
  font-size:8px;
  font-weight:950;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.bj-seat-copy span{
  margin-top:3px;
  color:#6e9bb3;
  font-size:6px;
  font-weight:900;
  letter-spacing:.3px;
}
.bj-turn-pulse{
  min-width:27px;
  padding:4px 5px;
  border-radius:999px;
  background:#4fc5f6;
  color:#04131d;
  font-size:6px;
  font-style:normal;
  text-align:center;
  box-shadow:0 0 18px rgba(74,196,248,.36);
}
.bj-seat.is-me .bj-seat-circle{
  border-color:rgba(80,199,250,.56);
  box-shadow:inset 0 0 0 6px rgba(44,164,214,.07),0 0 25px rgba(56,178,233,.11),0 12px 22px rgba(0,0,0,.24);
}
.bj-seat.is-turn .bj-seat-circle{
  border-color:#66d6ff;
  box-shadow:inset 0 0 0 6px rgba(55,180,228,.09),0 0 32px rgba(69,198,248,.27),0 12px 22px rgba(0,0,0,.24);
  animation:bjSeatTurnGlow 1s ease-in-out infinite alternate;
}
@keyframes bjSeatTurnGlow{
  from{filter:drop-shadow(0 0 0 rgba(79,199,248,0))}
  to{filter:drop-shadow(0 0 10px rgba(79,199,248,.26))}
}
.bj-seat.is-win .bj-seat-copy span{color:#70dfa0}
.bj-seat.is-loss .bj-seat-copy span{color:#ed8394}
.bj-seat.is-push .bj-seat-copy span{color:#b5c5cf}
.bj-seat.is-disconnected:not(.is-me){opacity:.64}

/* Mãos/cartas de cada jogador */
.bj-seat-hands{
  width:100%;
  min-height:106px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:5px;
  margin-bottom:5px;
}
.bj-seat-hand{
  position:relative;
  min-width:62px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.bj-seat-card-row{
  min-height:82px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}
.bj-seat-card-row .playing-card{
  width:51px;
  height:74px;
  margin-left:-27px;
  padding:5px;
  border-radius:6px;
  box-shadow:0 8px 16px rgba(0,0,0,.32);
}
.bj-seat-card-row .playing-card:first-child{margin-left:0}
.bj-seat-card-row .card-rank{font-size:11px}
.bj-seat-card-row .card-suit{font-size:10px}
.bj-seat-card-row .card-suit-big{font-size:25px}
.bj-seat-card-row .card-back::before{inset:4px;border-radius:4px}
.bj-seat-card-row .card-back-pattern{width:24px;height:24px;font-size:12px}
.bj-seat-score{
  position:absolute;
  right:-3px;
  bottom:1px;
  min-width:24px;
  height:22px;
  display:grid;
  place-items:center;
  padding:0 5px;
  border:1px solid rgba(84,193,245,.32);
  border-radius:8px;
  background:#071d2a;
  color:#dff6ff;
  font-size:9px;
  font-weight:950;
  box-shadow:0 5px 12px rgba(0,0,0,.28);
}
.bj-seat-hand>small{
  margin-top:3px;
  color:#6490a7;
  font-size:5px;
  font-weight:950;
  letter-spacing:.6px;
}
.bj-seat-hand.is-active .bj-seat-score{
  border-color:#68d3ff;
  color:#fff;
  box-shadow:0 0 15px rgba(78,197,247,.25);
}
.bj-seat-hand.is-win .bj-seat-score{border-color:rgba(81,218,139,.55);color:#8de6b3}
.bj-seat-hand.is-loss .bj-seat-score{border-color:rgba(233,92,114,.50);color:#f0a1ad}

/* Animações das cartas continuam discretas e sem repetir */
.bj-seat .playing-card,
.blackjack-multiplayer-shell .bj-dealer-zone .playing-card{
  animation:none;
}
.blackjack-multiplayer-shell .playing-card.card-dealer-draw{
  animation:bjDealerDrawMulti .68s cubic-bezier(.16,.84,.24,1) both;
}
@keyframes bjDealerDrawMulti{
  0%{opacity:0;transform:translate(120px,-55px) rotate(10deg) scale(.78)}
  70%{opacity:1;transform:translate(-4px,2px) rotate(-1deg) scale(1.02)}
  100%{opacity:1;transform:none}
}

@media(max-width:1220px){
  .blackjack-multiplayer-shell{
    grid-template-columns:260px minmax(720px,1fr)!important;
  }
  .bj-chat-panel{width:220px;left:24px}
  .bj-seat{width:150px}
  .bj-seat-circle{width:126px}
  .bj-seat-1{left:0;bottom:112px}
  .bj-seat-2{left:18%;bottom:24px}
  .bj-seat-4{right:18%;bottom:24px}
  .bj-seat-5{right:0;bottom:112px}
}

@media(max-width:980px){
  .blackjack-multiplayer-page .blackjack-main{width:96%}
  .blackjack-multiplayer-shell{
    grid-template-columns:1fr!important;
  }
  .blackjack-multiplayer-shell .blackjack-controls{
    border-right:0;
    border-bottom:1px solid rgba(100,190,245,.12);
  }
  .blackjack-multiplayer-shell .bj-multiplayer-table{
    min-width:760px;
    min-height:740px;
  }
  .blackjack-multiplayer-shell{
    overflow-x:auto;
  }
}

@media(max-width:680px){
  .blackjack-multiplayer-shell .bj-multiplayer-table{
    min-width:720px;
    min-height:720px;
  }
  .bj-chat-panel{left:22px;top:34px;width:205px;height:185px}
  .blackjack-multiplayer-shell .bj-card-shoe{right:28px}
  .bj-seat{width:140px}
  .bj-seat-circle{width:118px}
  .bj-seat-2{left:17%;bottom:20px}
  .bj-seat-4{right:17%;bottom:20px}
}

/* =========================================================
   BLACKJACK MULTIPLAYER — distribuição real das cartas
   ========================================================= */

/* Cartas um pouco maiores para se lerem melhor na mesa */
.blackjack-multiplayer-shell .bj-dealer-zone .playing-card{
  width:86px;
  height:124px;
  padding:9px;
  border-radius:10px;
}
.blackjack-multiplayer-shell .bj-dealer-zone .card-rank{font-size:20px}
.blackjack-multiplayer-shell .bj-dealer-zone .card-suit{font-size:18px}
.blackjack-multiplayer-shell .bj-dealer-zone .card-suit-big{font-size:47px}

.blackjack-multiplayer-shell .bj-seat-hands{
  min-height:122px;
}
.blackjack-multiplayer-shell .bj-seat-card-row{
  min-height:96px;
}
.blackjack-multiplayer-shell .bj-seat-card-row .playing-card{
  width:60px;
  height:86px;
  margin-left:-31px;
  padding:6px;
  border-radius:7px;
}
.blackjack-multiplayer-shell .bj-seat-card-row .playing-card:first-child{margin-left:0}
.blackjack-multiplayer-shell .bj-seat-card-row .card-rank{font-size:13px}
.blackjack-multiplayer-shell .bj-seat-card-row .card-suit{font-size:12px}
.blackjack-multiplayer-shell .bj-seat-card-row .card-suit-big{font-size:29px}
.blackjack-multiplayer-shell .bj-seat-score{
  right:-5px;
  bottom:0;
  min-width:27px;
  height:24px;
  font-size:10px;
}

/* A carta nasce visualmente na zona do shoe e desliza até ao respetivo spot. */
.blackjack-multiplayer-shell .bj-seat-1 .card-player-deal{--bj-deal-x:760px;--bj-deal-y:-360px;--bj-deal-r:13deg}
.blackjack-multiplayer-shell .bj-seat-2 .card-player-deal{--bj-deal-x:560px;--bj-deal-y:-410px;--bj-deal-r:10deg}
.blackjack-multiplayer-shell .bj-seat-3 .card-player-deal{--bj-deal-x:330px;--bj-deal-y:-430px;--bj-deal-r:7deg}
.blackjack-multiplayer-shell .bj-seat-4 .card-player-deal{--bj-deal-x:155px;--bj-deal-y:-405px;--bj-deal-r:5deg}
.blackjack-multiplayer-shell .bj-seat-5 .card-player-deal{--bj-deal-x:55px;--bj-deal-y:-335px;--bj-deal-r:3deg}

.blackjack-multiplayer-shell .bj-seat .playing-card.card-player-deal{
  position:relative;
  z-index:25;
  transform-origin:center;
  animation:bjPlayerDealFromShoe .72s cubic-bezier(.16,.82,.24,1) both;
}

@keyframes bjPlayerDealFromShoe{
  0%{
    opacity:.15;
    transform:translate(var(--bj-deal-x),var(--bj-deal-y)) rotate(var(--bj-deal-r)) scale(.70);
    filter:brightness(.82);
    box-shadow:0 2px 7px rgba(0,0,0,.12);
  }
  72%{
    opacity:1;
    transform:translate(-5px,3px) rotate(-1.5deg) scale(1.035);
    filter:brightness(1.04);
  }
  100%{
    opacity:1;
    transform:none;
    filter:none;
  }
}

/* O dealer também recebe cada carta individualmente a partir do shoe. */
.blackjack-multiplayer-shell .bj-dealer-zone .playing-card.card-dealer-draw{
  position:relative;
  z-index:25;
  animation:bjDealerDrawMulti .72s cubic-bezier(.16,.82,.24,1) both;
}
@keyframes bjDealerDrawMulti{
  0%{opacity:.12;transform:translate(255px,-70px) rotate(11deg) scale(.70);filter:brightness(.82)}
  72%{opacity:1;transform:translate(-5px,3px) rotate(-1deg) scale(1.035);filter:brightness(1.04)}
  100%{opacity:1;transform:none;filter:none}
}

/* Volta a permitir a animação de virar a carta fechada no modo multiplayer. */
.blackjack-multiplayer-shell .bj-dealer-zone .playing-card.card-flip-reveal{
  animation:bjFlipReveal .68s cubic-bezier(.2,.75,.2,1) both;
}


/* =========================================================
   BLACKJACK MULTIPLAYER — PAGAMENTO VISUAL DOS VENCEDORES
   ========================================================= */
.bj-payout-coin{
  position:fixed;
  z-index:9999;
  width:28px;
  height:28px;
  display:block;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  filter:drop-shadow(0 5px 8px rgba(0,0,0,.42)) drop-shadow(0 0 8px rgba(77,206,255,.18));
  will-change:transform,opacity;
}
.bj-payout-amount{
  position:fixed;
  z-index:10000;
  pointer-events:none;
  user-select:none;
  padding:5px 9px;
  border:1px solid rgba(76,221,143,.52);
  border-radius:999px;
  background:rgba(4,30,24,.94);
  color:#7af0ad;
  font:950 12px/1 Montserrat,sans-serif;
  letter-spacing:.2px;
  box-shadow:0 7px 20px rgba(0,0,0,.34),0 0 18px rgba(76,221,143,.13);
  white-space:nowrap;
  will-change:transform,opacity;
}


/* =========================================================
   BLACKJACK MULTIPLAYER - SEGURO
   ========================================================= */
.bj-insurance-overlay[hidden] {
  display: none !important;
}

.bj-insurance-overlay {
  position: absolute;
  inset: 0;
  z-index: 45;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(1, 10, 17, .42);
  backdrop-filter: blur(2px);
}

.bj-insurance-card {
  width: min(430px, calc(100% - 32px));
  border: 1px solid rgba(76, 201, 255, .5);
  border-radius: 22px;
  padding: 26px;
  text-align: center;
  background: linear-gradient(180deg, rgba(7, 27, 40, .98), rgba(3, 18, 29, .98));
  box-shadow: 0 22px 70px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255,255,255,.025) inset;
}

.bj-insurance-kicker {
  display: block;
  margin-bottom: 8px;
  color: #63d7ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
}

.bj-insurance-card h2 {
  margin: 0 0 10px;
  color: #f5fbff;
  font-size: clamp(19px, 2vw, 28px);
  line-height: 1;
  letter-spacing: -.02em;
}

.bj-insurance-card p {
  margin: 0 auto 18px;
  max-width: 355px;
  color: #9cb7c7;
  font-size: 12px;
  line-height: 1.55;
}

.bj-insurance-value {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 4px 14px;
  margin-bottom: 16px;
  padding: 13px 15px;
  border: 1px solid rgba(85, 188, 233, .2);
  border-radius: 14px;
  background: rgba(8, 38, 55, .6);
  text-align: left;
}

.bj-insurance-value span {
  color: #789caf;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}

.bj-insurance-value strong {
  grid-column: 1;
  color: #fff;
  font-size: 19px;
  font-weight: 900;
}

.bj-insurance-value small {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-width: 50px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #0b5f85;
  color: #dff7ff;
  font-size: 18px;
  font-weight: 900;
  text-align: center;
}

.bj-insurance-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.bj-insurance-actions button {
  min-height: 44px;
  border: 1px solid rgba(89, 202, 249, .36);
  border-radius: 12px;
  color: #eafaff;
  background: rgba(12, 61, 82, .76);
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease;
}

.bj-insurance-actions button:first-child {
  border-color: rgba(79, 213, 145, .55);
  background: linear-gradient(180deg, rgba(15, 117, 77, .95), rgba(8, 78, 53, .95));
}

.bj-insurance-actions button:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(116, 220, 255, .8);
}

.bj-insurance-actions button:disabled {
  cursor: not-allowed;
  opacity: .38;
}

@media (max-width: 760px) {
  .bj-insurance-overlay { padding: 14px; }
  .bj-insurance-card { padding: 20px 16px; }
  .bj-insurance-actions { grid-template-columns: 1fr; }
}


/* =========================================================
   BLACKJACK — BOTÃO VERDE + CONTAGEM CENTRAL
   ========================================================= */
.blackjack-multiplayer-shell .bj-primary-action{
  background:linear-gradient(180deg,#3fdf91 0%,#20bd73 100%);
  color:#03150d;
  border:1px solid rgba(112,255,184,.46);
  box-shadow:0 10px 28px rgba(23,197,111,.18), inset 0 1px 0 rgba(255,255,255,.2);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.blackjack-multiplayer-shell .bj-primary-action:hover:not(:disabled){
  transform:translateY(-1px);
  filter:brightness(1.06);
  box-shadow:0 12px 32px rgba(23,197,111,.27), inset 0 1px 0 rgba(255,255,255,.22);
}
.blackjack-multiplayer-shell .bj-primary-action:disabled{
  opacity:.35;
  filter:saturate(.65);
}

.bj-table-countdown[hidden]{display:none!important}
.bj-table-countdown{
  position:absolute;
  left:50%;
  top:46%;
  z-index:8;
  transform:translate(-50%,-50%);
  min-width:260px;
  pointer-events:none;
  text-align:center;
  color:#fff;
  filter:drop-shadow(0 5px 18px rgba(0,0,0,.5));
}
.bj-table-countdown>span{
  display:block;
  margin-bottom:2px;
  color:rgba(255,255,255,.92);
  font-size:11px;
  line-height:1;
  font-weight:950;
  letter-spacing:2.1px;
  text-transform:uppercase;
  text-shadow:0 2px 12px rgba(0,0,0,.7);
}
.bj-table-countdown>strong{
  display:block;
  color:#fff;
  font-size:76px;
  line-height:.95;
  font-weight:950;
  letter-spacing:-3px;
  text-shadow:0 4px 24px rgba(0,0,0,.72),0 0 28px rgba(255,255,255,.12);
  font-variant-numeric:tabular-nums;
}
@media(max-width:980px){
  .bj-table-countdown>strong{font-size:68px}
}

/* =========================
   NOVOS MINI-JOGOS 2026-08-21
   Coin Flip solo / Dice / Chicken Road
========================= */
.single-game-main{max-width:1500px;margin:0 auto;padding:38px 18px 50px}
.single-game-shell{display:grid;grid-template-columns:290px minmax(0,1fr)310px;gap:18px;align-items:stretch}
.single-game-controls,.single-game-stage,.single-game-history{border:1px solid rgba(91,184,243,.17);border-radius:20px;background:linear-gradient(180deg,rgba(5,20,35,.96),rgba(3,13,24,.97));box-shadow:0 22px 55px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.035)}
.single-game-controls{padding:18px}.single-game-stage{position:relative;min-height:650px;overflow:hidden;padding:22px}.single-game-history{padding:18px}
.single-game-stage:before{content:"";position:absolute;inset:16px;border:1px solid rgba(102,194,255,.12);border-radius:18px;pointer-events:none}
.single-game-controls .bj-bet-row{grid-template-columns:repeat(5,minmax(0,1fr))}.single-game-controls .bj-bet-row button.is-active{border-color:#49bcff;background:linear-gradient(180deg,#123d5e,#0b243b);color:#eafbff;box-shadow:0 0 0 1px rgba(73,188,255,.16),0 8px 22px rgba(36,137,199,.15)}
.newgame-info{margin-top:15px;padding:15px;border:1px solid rgba(105,187,239,.13);border-radius:14px;background:rgba(3,14,25,.52)}
.newgame-info>span{display:block;margin-bottom:7px;color:#67c8ff;font-size:10px;font-weight:900;letter-spacing:1.1px}.newgame-info p{margin:0;color:#8ba8ba;font-size:11px;line-height:1.65}
.newgame-history-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.newgame-history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:rgba(3,13,23,.7)}
.newgame-history-item div strong{display:block;color:#edf8ff;font-size:11px}.newgame-history-item div span{display:block;margin-top:4px;color:#7796aa;font-size:9px}.newgame-history-item>b{font-size:12px}.newgame-history-item.win>b{color:#51dfa0}.newgame-history-item.loss>b{color:#f07188}

/* Coin Flip solo */
.coinflip-solo-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 55%,rgba(19,132,96,.31),transparent 33%),linear-gradient(180deg,rgba(76,39,22,.95) 0 23%,rgba(13,103,68,.96) 23% 100%)}
.coinflip-solo-stage:before{border-color:rgba(194,159,87,.45);border-width:2px}
.cf-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cf-side-btn{min-height:56px;border-radius:13px;border:1px solid rgba(255,255,255,.08);font-weight:900;letter-spacing:.7px;cursor:pointer;color:#eaf6ff;background:#081623}.cf-side-btn.blue.is-active{background:linear-gradient(180deg,#145c91,#092945);border-color:#5fcaff;box-shadow:0 0 24px rgba(42,160,231,.19)}.cf-side-btn.red.is-active{background:linear-gradient(180deg,#8a2537,#350b15);border-color:#ff6f8c;box-shadow:0 0 24px rgba(207,55,82,.2)}
.cf-play-btn{background:linear-gradient(180deg,#cffff3,#a9efdc)!important}.cf-stage-label{position:absolute;top:32px;left:50%;transform:translateX(-50%);z-index:2;padding:9px 14px;border-radius:999px;background:rgba(4,16,28,.76);border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:900;letter-spacing:1px;color:#dceffa}
.cf-coin-scene{width:min(430px,68%);aspect-ratio:1;perspective:1400px;display:flex;align-items:center;justify-content:center}.cf-coin{width:100%;height:100%;position:relative;transform-style:preserve-3d;filter:drop-shadow(0 28px 28px rgba(0,0,0,.34))}.cf-face{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;transition:opacity .28s ease}.cf-face img{width:100%;height:100%;object-fit:contain}.cf-blue{opacity:1}.cf-red{transform:rotateY(180deg);opacity:0}.cf-coin.show-blue{transform:rotateY(0)}.cf-coin.show-red{transform:rotateY(180deg)}.cf-coin.final-blue .cf-blue{opacity:1;z-index:2}.cf-coin.final-blue .cf-red{opacity:0}.cf-coin.final-red .cf-blue{opacity:0}.cf-coin.final-red .cf-red{opacity:1;z-index:2}.cf-coin.spin-blue .cf-face,.cf-coin.spin-red .cf-face{opacity:1!important}
@keyframes cfSpinBlue{0%{transform:rotateY(0) translateY(0) scale(1)}20%{transform:rotateY(720deg) translateY(-35px) scale(1.04)}55%{transform:rotateY(1620deg) translateY(-18px) scale(1.02)}100%{transform:rotateY(2520deg) translateY(0) scale(1)}}
@keyframes cfSpinRed{0%{transform:rotateY(0) translateY(0) scale(1)}20%{transform:rotateY(810deg) translateY(-35px) scale(1.04)}55%{transform:rotateY(1710deg) translateY(-18px) scale(1.02)}100%{transform:rotateY(2700deg) translateY(0) scale(1)}}
.cf-coin.spin-blue{animation:cfSpinBlue 2.6s cubic-bezier(.16,.65,.18,1) forwards}.cf-coin.spin-red{animation:cfSpinRed 2.6s cubic-bezier(.16,.65,.18,1) forwards}.cf-result{margin-top:4px;padding:11px 18px;border-radius:999px;background:rgba(3,15,25,.76);border:1px solid rgba(255,255,255,.08);font-size:11px;font-weight:900;letter-spacing:1px;color:#f2fbff}

/* Dice */
.dice-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,rgba(60,137,221,.2),transparent 34%),linear-gradient(180deg,#071626,#04111e)}.dice-target-display{text-align:center;margin-bottom:8px}.dice-target-display strong{font-size:35px;color:#eef9ff}.dice-range{width:100%;accent-color:#53c6ff}.dice-range-scale{display:flex;justify-content:space-between;color:#627f92;font-size:9px}.dice-direction-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dice-direction-grid button{min-height:50px;border-radius:12px;border:1px solid rgba(91,184,243,.15);background:#081725;color:#91aabb;font-weight:900;font-size:10px;cursor:pointer}.dice-direction-grid button.is-active{background:linear-gradient(180deg,#164466,#0b273d);border-color:#55c5ff;color:#f0fbff}.dice-math{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.dice-math span{padding:10px;border-radius:10px;background:rgba(4,15,26,.62);color:#66879c;font-size:8px;font-weight:800}.dice-math b{display:block;margin-top:3px;color:#dff5ff;font-size:12px}.dice-stage-title{position:absolute;top:36px;color:#7799ad;font-size:10px;font-weight:900;letter-spacing:1.5px}.dice-big{width:240px;height:240px;border-radius:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#ecf9ff,#a5daf4);box-shadow:0 30px 80px rgba(0,0,0,.32),inset 0 -12px 24px rgba(12,75,110,.14);transform:rotate(-4deg);transition:.25s}.dice-big span{font-size:100px;font-weight:900;color:#07233a}.dice-big.won{box-shadow:0 0 0 5px rgba(68,220,151,.28),0 30px 80px rgba(0,0,0,.32)}.dice-big.lost{box-shadow:0 0 0 5px rgba(241,92,116,.25),0 30px 80px rgba(0,0,0,.32)}
@keyframes diceRoll{0%{transform:rotate(-4deg) scale(1)}25%{transform:rotate(15deg) scale(.92)}50%{transform:rotate(-18deg) scale(1.08)}75%{transform:rotate(11deg) scale(.96)}100%{transform:rotate(-4deg) scale(1)}}.dice-big.rolling{animation:diceRoll .3s linear infinite}.dice-condition{margin-top:32px;padding:10px 15px;border-radius:999px;background:rgba(8,27,44,.86);border:1px solid rgba(91,184,243,.14);color:#e9f8ff;font-size:11px;font-weight:900;letter-spacing:1px}

/* Chicken Road */
.chicken-next-btn,.chicken-cashout-btn{width:100%;min-height:48px;margin-top:10px;border-radius:11px;font-size:11px;font-weight:900;letter-spacing:.8px;cursor:pointer}.chicken-next-btn{border:0;background:linear-gradient(180deg,#d9f3ff,#a8dbf6);color:#06111c}.chicken-cashout-btn{border:1px solid rgba(64,220,148,.25);background:linear-gradient(180deg,#123e31,#0b2a22);color:#75ecb4}.chicken-next-btn:disabled,.chicken-cashout-btn:disabled{opacity:.35;cursor:default}.chicken-stage{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#071a2b,#05121f)}.chicken-top-stats{position:absolute;top:28px;left:35px;right:35px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.chicken-top-stats>div{padding:11px 13px;border-radius:12px;background:rgba(3,14,24,.78);border:1px solid rgba(91,184,243,.12)}.chicken-top-stats span{display:block;color:#66889c;font-size:8px;font-weight:900;letter-spacing:1px}.chicken-top-stats strong{display:block;margin-top:3px;color:#effaff;font-size:17px}.chicken-road{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:30px 18px;position:relative}.chicken-road:before{content:"";position:absolute;left:0;right:0;top:50%;height:140px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#202b34 0 70px,#26343e 70px 140px);border-top:4px solid rgba(255,255,255,.09);border-bottom:4px solid rgba(255,255,255,.09);z-index:0}.chicken-tile{position:relative;z-index:1;min-height:130px;border-radius:16px;border:2px dashed rgba(255,255,255,.14);background:rgba(4,16,26,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:.22s;overflow:visible}.chicken-tile span{color:#7593a6;font-size:9px;font-weight:900}.chicken-tile b{color:#dff6ff;font-size:14px}.chicken-tile.passed{border-style:solid;border-color:rgba(62,221,151,.45);background:rgba(10,54,42,.92);box-shadow:0 0 18px rgba(39,198,127,.11)}.chicken-tile.current{border-color:#55c5ff;box-shadow:0 0 0 2px rgba(85,197,255,.09),0 0 24px rgba(51,157,221,.18)}.chicken-tile.crash{border-color:#6fd7ff;background:rgba(16,35,60,.94);box-shadow:0 0 26px rgba(111,215,255,.22)}.chicken-tile.crash:before{content:"";position:absolute;inset:-8px;border-radius:20px;background:radial-gradient(circle,rgba(145,231,255,.42) 0,rgba(145,231,255,.15) 35%,transparent 70%);animation:chickenFreezeFlash .65s ease-out}.chicken-status{align-self:center;margin-top:22px;padding:12px 18px;border-radius:999px;background:rgba(3,14,24,.8);border:1px solid rgba(255,255,255,.08);color:#e8f8ff;font-size:11px;font-weight:900;letter-spacing:.7px}.chicken-status.moving{animation:chickenPulse .45s ease-in-out infinite alternate}@keyframes chickenPulse{to{transform:scale(1.04);box-shadow:0 0 22px rgba(80,196,255,.18)}}
.chicken-character{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:86px;z-index:3;pointer-events:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.28));animation:chickenHopIn .28s ease-out}.chicken-character img{display:block;width:100%;height:auto}.chicken-character.is-frozen{width:112px;bottom:-18px;filter:drop-shadow(0 12px 22px rgba(84,191,255,.42));animation:chickenFreezeImpact .72s ease-out both}.chicken-character.is-frozen:after{content:"";position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(180,245,255,.38) 0,rgba(180,245,255,.12) 42%,transparent 72%);z-index:-1;animation:chickenIcePulse .95s ease-out}.chicken-character.is-frozen img{filter:drop-shadow(0 0 8px rgba(132,231,255,.38))}
@keyframes chickenHopIn{0%{transform:translateX(-50%) translateY(16px) scale(.88);opacity:.3}100%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}
@keyframes chickenFreezeImpact{0%{transform:translateX(-50%) scale(.3) rotate(-6deg);opacity:0}40%{transform:translateX(-50%) scale(1.12) rotate(4deg);opacity:1}70%{transform:translateX(-50%) scale(.96) rotate(-2deg)}100%{transform:translateX(-50%) scale(1) rotate(0)}}
@keyframes chickenIcePulse{0%{transform:scale(.35);opacity:0}35%{opacity:1}100%{transform:scale(1.45);opacity:0}}
@keyframes chickenFreezeFlash{0%{opacity:0;transform:scale(.72)}35%{opacity:1}100%{opacity:0;transform:scale(1.18)}}

@media(max-width:1240px){.single-game-shell{grid-template-columns:280px minmax(0,1fr)}.single-game-history{grid-column:1/-1}.newgame-history-list{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.single-game-shell{grid-template-columns:1fr}.single-game-stage{min-height:540px}.newgame-history-list{grid-template-columns:1fr}.chicken-road{grid-template-columns:repeat(2,1fr);padding-top:100px}.chicken-road:before{display:none}.chicken-top-stats{left:22px;right:22px}.cf-coin-scene{width:min(420px,88%)}}

/* =========================================================
   CHICKEN ROAD V2 — layout inspirado em estrada horizontal
   ========================================================= */
.chickenroad-v2-page{background:#020b15;color:#eef7ff;min-height:100vh}
.chicken-v2-main{position:relative;z-index:2;width:min(1540px,calc(100% - 36px));margin:0 auto;padding:104px 0 64px}
.chicken-v2-titlebar{margin-bottom:18px}
.chicken-v2-game{display:grid;grid-template-columns:minmax(0,1fr) 265px;grid-template-areas:"stage history" "controls controls";gap:16px}
.chicken-v2-stage{grid-area:stage;position:relative;min-height:610px;overflow:hidden;border:1px solid rgba(82,176,238,.18);border-radius:24px;background:
  linear-gradient(180deg,rgba(55,72,111,.98) 0 56%,rgba(41,53,80,.99) 56% 68%,rgba(22,29,43,.99) 68% 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035)}
.chicken-v2-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 50% 30%,rgba(88,152,255,.08),transparent 28%),
  linear-gradient(180deg,rgba(4,10,20,.02),rgba(2,8,15,.18))}
.chicken-v2-stage-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 88% 32%,rgba(118,219,255,.13),transparent 18%),radial-gradient(circle at 15% 45%,rgba(83,148,255,.08),transparent 22%)}

.chicken-v2-topbar{position:absolute;z-index:6;top:20px;left:22px;right:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.chicken-v2-stat{padding:12px 14px;border-radius:14px;border:1px solid rgba(152,194,255,.11);background:rgba(12,21,38,.78);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.chicken-v2-stat span{display:block;color:#8aa8c2;font-size:8px;font-weight:900;letter-spacing:1.25px}
.chicken-v2-stat strong{display:block;margin-top:4px;color:#f4fbff;font-size:19px;font-weight:900}
.chicken-v2-stat.is-risk strong{color:#ffcf67}

.chicken-v2-road-window{position:absolute;z-index:2;left:0;right:0;top:90px;bottom:72px;overflow:hidden}
.chicken-v2-road-window:before{content:"";position:absolute;left:0;right:0;bottom:24px;height:178px;background:
  linear-gradient(180deg,rgba(21,27,40,.06),rgba(15,21,32,.7)),
  repeating-linear-gradient(90deg,rgba(38,48,67,.9) 0 86px,rgba(43,54,74,.94) 86px 172px);
  border-top:4px solid rgba(216,229,255,.08);border-bottom:4px solid rgba(8,12,20,.42);box-shadow:0 -14px 36px rgba(3,8,15,.18),inset 0 18px 20px rgba(255,255,255,.018)}
.chicken-v2-road-window:after{content:"";position:absolute;left:0;right:0;bottom:104px;border-top:3px dashed rgba(226,236,255,.26)}
.chicken-v2-road-track{position:absolute;left:0;top:0;height:100%;display:flex;align-items:stretch;padding:0 62px;width:max-content;transition:transform .65s cubic-bezier(.18,.7,.22,1);will-change:transform}
.chicken-v2-lane{position:relative;flex:0 0 174px;height:100%}
.chicken-v2-lane-line{position:absolute;top:10px;bottom:154px;left:50%;width:4px;transform:translateX(-50%);background:repeating-linear-gradient(180deg,rgba(229,235,255,.55) 0 22px,transparent 22px 42px);border-radius:4px;opacity:.78}
.chicken-v2-lane.is-start .chicken-v2-lane-line{opacity:.22}
.chicken-v2-start-badge{position:absolute;top:134px;left:50%;transform:translateX(-50%);min-width:92px;padding:11px 15px;border-radius:999px;background:#0b1727;border:1px solid rgba(114,198,255,.22);color:#76d7ff;text-align:center;font-size:10px;font-weight:900;letter-spacing:1.5px;box-shadow:0 12px 28px rgba(0,0,0,.24)}
.chicken-v2-checkpoint{position:absolute;top:94px;left:50%;transform:translateX(-50%);width:122px;height:122px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 38% 30%,#5970a8,#2e3d69 63%,#202b4a 100%);border:8px solid #3d4d82;box-shadow:0 0 0 4px rgba(18,25,43,.5),0 18px 28px rgba(0,0,0,.28),inset 0 4px 11px rgba(255,255,255,.08);transition:.25s ease}
.chicken-v2-checkpoint:before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px solid rgba(211,225,255,.09)}
.chicken-v2-checkpoint span{position:relative;z-index:1;color:#aebde0;font-size:9px;font-weight:900;letter-spacing:1px}
.chicken-v2-checkpoint strong{position:relative;z-index:1;margin-top:3px;color:#f1f5ff;font-size:20px;font-weight:900;text-shadow:0 2px 6px rgba(0,0,0,.42)}
.chicken-v2-lane.is-current .chicken-v2-checkpoint{border-color:#6b8ee8;box-shadow:0 0 0 4px rgba(38,52,87,.58),0 0 34px rgba(105,142,232,.28),0 18px 28px rgba(0,0,0,.28)}
.chicken-v2-lane.is-cleared .chicken-v2-checkpoint{background:radial-gradient(circle at 38% 30%,#37cf75,#15934f 62%,#0d6637 100%);border-color:#25ce68;box-shadow:0 0 0 4px rgba(15,86,49,.55),0 0 32px rgba(40,220,112,.2),0 18px 28px rgba(0,0,0,.28)}
.chicken-v2-lane.is-cleared .chicken-v2-checkpoint span,.chicken-v2-lane.is-cleared .chicken-v2-checkpoint strong{color:#fff}
.chicken-v2-lane.is-dead .chicken-v2-checkpoint{background:radial-gradient(circle at 38% 30%,#8bd7f6,#477ca6 62%,#244965 100%);border-color:#8ee8ff;box-shadow:0 0 0 4px rgba(35,92,124,.5),0 0 42px rgba(125,224,255,.38),0 18px 28px rgba(0,0,0,.3)}
.chicken-v2-lane.is-dead .chicken-v2-checkpoint:after{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px solid rgba(166,238,255,.2);animation:chickenV2Ring .8s ease-out}

.chicken-v2-road-detail{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);opacity:.18}
.chicken-v2-road-detail:before{content:"";display:block;width:76px;height:42px;border-radius:8px;background:#121a2a;box-shadow:inset 0 0 0 4px #202a3f}
.chicken-v2-road-detail.detail-2{bottom:125px}.chicken-v2-road-detail.detail-3{left:30%}.chicken-v2-road-detail.detail-4{left:70%;bottom:68px}
.chicken-v2-ground-shadow{position:absolute;bottom:46px;left:50%;width:106px;height:18px;transform:translateX(-50%);border-radius:50%;background:rgba(3,7,13,.38);filter:blur(5px)}

.chicken-v2-character{position:absolute;z-index:8;left:50%;bottom:48px;width:106px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 13px 12px rgba(0,0,0,.42));animation:chickenV2Land .3s ease-out}
.chicken-v2-character img{display:block;width:100%;height:auto}
.chicken-v2-character.is-running{animation:chickenV2Run .72s cubic-bezier(.22,.7,.26,1) both}
.chicken-v2-character.is-frozen{width:138px;bottom:33px;filter:drop-shadow(0 0 18px rgba(105,216,255,.62)) drop-shadow(0 15px 14px rgba(0,0,0,.36));animation:chickenV2Freeze .75s cubic-bezier(.15,.78,.18,1) both}
.chicken-v2-impact{position:absolute;z-index:7;left:50%;bottom:74px;width:170px;height:170px;transform:translateX(-50%);pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(210,249,255,.58),rgba(98,208,255,.16) 34%,transparent 70%);animation:chickenV2Impact .9s ease-out both}
.chicken-v2-impact i{position:absolute;left:50%;top:50%;width:5px;height:60px;border-radius:8px;background:linear-gradient(#e9fcff,transparent);transform-origin:center 0}
.chicken-v2-impact i:nth-child(1){transform:rotate(12deg) translateY(-80px)}
.chicken-v2-impact i:nth-child(2){transform:rotate(74deg) translateY(-80px)}
.chicken-v2-impact i:nth-child(3){transform:rotate(142deg) translateY(-80px)}
.chicken-v2-impact i:nth-child(4){transform:rotate(218deg) translateY(-80px)}
.chicken-v2-impact i:nth-child(5){transform:rotate(298deg) translateY(-80px)}

.chicken-v2-fog{position:absolute;z-index:12;top:0;bottom:0;width:90px;pointer-events:none}.chicken-v2-fog.left{left:0;background:linear-gradient(90deg,#34445f 0,rgba(52,68,95,.86) 22%,transparent)}.chicken-v2-fog.right{right:0;background:linear-gradient(270deg,#34445f 0,rgba(52,68,95,.86) 22%,transparent)}
.chicken-v2-status{position:absolute;z-index:12;left:50%;bottom:15px;transform:translateX(-50%);min-width:300px;padding:10px 18px;border-radius:999px;background:rgba(8,15,28,.82);border:1px solid rgba(160,197,244,.12);color:#e9f5ff;text-align:center;font-size:10px;font-weight:900;letter-spacing:1px;backdrop-filter:blur(10px)}
.chicken-v2-status.is-moving{color:#9cdfff;animation:chickenV2Pulse .4s ease-in-out infinite alternate}.chicken-v2-status.is-loss{color:#b8efff;border-color:rgba(124,220,255,.24);box-shadow:0 0 26px rgba(80,190,240,.14)}.chicken-v2-status.is-win{color:#72eaaa;border-color:rgba(71,215,142,.2)}

.chicken-v2-control-deck{grid-area:controls;display:grid;grid-template-columns:340px minmax(250px,1fr) 190px 180px;gap:14px;align-items:stretch;padding:16px;border:1px solid rgba(94,181,240,.15);border-radius:20px;background:linear-gradient(180deg,rgba(28,39,60,.96),rgba(17,26,42,.98));box-shadow:0 22px 60px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.035)}
.chicken-v2-bet-panel,.chicken-v2-action-copy{padding:5px 7px}.chicken-v2-label{display:block;margin-bottom:8px;color:#93a8bf;font-size:9px;font-weight:900;letter-spacing:1.3px}.chicken-v2-bets{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.chicken-v2-bets button{height:44px;border-radius:11px;border:1px solid rgba(117,180,231,.12);background:#253149;color:#a6b5c8;font:900 11px Montserrat,sans-serif;cursor:pointer;transition:.18s}.chicken-v2-bets button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(102,202,255,.34)}.chicken-v2-bets button.is-active{background:linear-gradient(180deg,#1f4f70,#15344d);border-color:#5dcfff;color:#fff;box-shadow:0 0 0 1px rgba(93,207,255,.12),0 8px 20px rgba(37,146,204,.12)}.chicken-v2-bets button:disabled{opacity:.4;cursor:default}
.chicken-v2-action-copy{display:flex;flex-direction:column;justify-content:center}.chicken-v2-action-copy p{margin:0;color:#b3c0d2;font-size:11px;line-height:1.55}
.chicken-v2-cashout{border:0;border-radius:15px;background:linear-gradient(180deg,#ffc92e,#f3ab16);color:#131722;box-shadow:0 12px 28px rgba(242,170,19,.18);cursor:pointer;font-family:Montserrat,sans-serif}.chicken-v2-cashout span{display:block;font-size:12px;font-weight:900;letter-spacing:.7px}.chicken-v2-cashout strong{display:block;margin-top:4px;font-size:14px;font-weight:900}.chicken-v2-cashout:disabled{opacity:.32;filter:saturate(.5);cursor:default;box-shadow:none}
.chicken-v2-go-wrap{display:grid}.chicken-v2-start,.chicken-v2-go{grid-area:1/1;width:100%;border:0;border-radius:15px;background:linear-gradient(180deg,#4dde74,#24bd58);color:#07130d;font:900 15px Montserrat,sans-serif;letter-spacing:1px;cursor:pointer;box-shadow:0 12px 28px rgba(33,196,88,.18);transition:.18s}.chicken-v2-start:hover:not(:disabled),.chicken-v2-go:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.chicken-v2-start:disabled,.chicken-v2-go:disabled{opacity:.35;cursor:default}.chicken-v2-start[hidden],.chicken-v2-go[hidden]{display:none!important}

.chicken-v2-history-panel{grid-area:history;padding:18px;border:1px solid rgba(92,181,239,.16);border-radius:20px;background:linear-gradient(180deg,rgba(5,19,34,.96),rgba(3,13,24,.98));box-shadow:0 22px 60px rgba(0,0,0,.24);min-height:610px}
.chicken-v2-history-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.chicken-v2-history-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:13px;background:rgba(3,13,23,.72)}.chicken-v2-history-item div strong{display:block;color:#eef8ff;font-size:10px}.chicken-v2-history-item div span{display:block;margin-top:4px;color:#7895a8;font-size:9px}.chicken-v2-history-item>b{font-size:12px}.chicken-v2-history-item.win>b{color:#54e1a0}.chicken-v2-history-item.loss>b{color:#ff6f84}

@keyframes chickenV2Run{0%{transform:translateX(-50%) translateY(0) rotate(-2deg)}22%{transform:translateX(calc(-50% + 40px)) translateY(-34px) rotate(5deg)}52%{transform:translateX(calc(-50% + 96px)) translateY(-18px) rotate(-3deg)}78%{transform:translateX(calc(-50% + 145px)) translateY(-30px) rotate(4deg)}100%{transform:translateX(calc(-50% + 174px)) translateY(0) rotate(0)}}
@keyframes chickenV2Land{0%{transform:translateX(-50%) translateY(-15px) scale(.9);opacity:.45}100%{transform:translateX(-50%) translateY(0) scale(1);opacity:1}}
@keyframes chickenV2Freeze{0%{transform:translateX(-50%) scale(.42) rotate(-8deg);opacity:0}42%{transform:translateX(-50%) scale(1.13) rotate(5deg);opacity:1}70%{transform:translateX(-50%) scale(.97) rotate(-2deg)}100%{transform:translateX(-50%) scale(1) rotate(0)}}
@keyframes chickenV2Impact{0%{opacity:0;transform:translateX(-50%) scale(.25)}35%{opacity:1}100%{opacity:0;transform:translateX(-50%) scale(1.35)}}
@keyframes chickenV2Ring{0%{opacity:0;transform:scale(.45)}45%{opacity:1}100%{opacity:0;transform:scale(1.55)}}
@keyframes chickenV2Pulse{to{box-shadow:0 0 28px rgba(96,204,255,.2);transform:translateX(-50%) scale(1.02)}}

@media(max-width:1180px){.chicken-v2-game{grid-template-columns:1fr;grid-template-areas:"stage" "controls" "history"}.chicken-v2-history-panel{min-height:0}.chicken-v2-history-list{display:grid;grid-template-columns:repeat(3,1fr)}.chicken-v2-control-deck{grid-template-columns:1fr 1fr 170px 150px}}
@media(max-width:900px){.chicken-v2-main{width:min(100% - 20px,1540px);padding-top:92px}.chicken-v2-stage{min-height:560px}.chicken-v2-topbar{grid-template-columns:1fr 1fr}.chicken-v2-road-window{top:150px}.chicken-v2-control-deck{grid-template-columns:1fr 1fr}.chicken-v2-action-copy{grid-column:1/-1;order:4}.chicken-v2-history-list{grid-template-columns:1fr}.chicken-v2-lane{flex-basis:150px}.chicken-v2-character.is-running{animation-name:chickenV2RunMobile}.chicken-v2-checkpoint{width:108px;height:108px}.chicken-v2-character{width:94px}.chicken-v2-character.is-frozen{width:120px}}
@media(max-width:620px){.chicken-v2-topbar{left:12px;right:12px;top:12px}.chicken-v2-stat{padding:10px}.chicken-v2-stat strong{font-size:16px}.chicken-v2-stage{min-height:540px}.chicken-v2-control-deck{grid-template-columns:1fr}.chicken-v2-bets{grid-template-columns:repeat(5,1fr)}.chicken-v2-cashout,.chicken-v2-start,.chicken-v2-go{min-height:62px}.chicken-v2-status{min-width:0;width:calc(100% - 30px);font-size:9px}.chicken-v2-history-panel{padding:14px}}

@keyframes chickenV2RunMobile{0%{transform:translateX(-50%) translateY(0) rotate(-2deg)}25%{transform:translateX(calc(-50% + 38px)) translateY(-30px) rotate(5deg)}55%{transform:translateX(calc(-50% + 88px)) translateY(-16px) rotate(-3deg)}80%{transform:translateX(calc(-50% + 128px)) translateY(-26px) rotate(3deg)}100%{transform:translateX(calc(-50% + 150px)) translateY(0) rotate(0)}}

/* =========================
   CHICKEN ROAD V3 — carro, sons e efeitos
========================= */
.chicken-v2-character.is-in-danger{animation:chickenV3Panic .18s ease-in-out infinite alternate;transform-origin:50% 90%}
.chicken-v2-character.is-hit{animation:chickenV3Hit .28s cubic-bezier(.16,.82,.3,1) both!important}
.chicken-v2-car{position:absolute;z-index:11;top:-690px;left:50%;width:440px;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 32px 28px rgba(0,0,0,.5));animation:chickenV3CarDrive 1.28s linear forwards;will-change:transform;}
.chicken-v2-car img{display:block;width:100%;height:auto}
.chicken-v2-coin-burst{position:absolute;z-index:15;left:50%;bottom:103px;width:1px;height:1px;pointer-events:none}
.chicken-v2-coin-burst span{position:absolute;left:0;top:0;width:31px;height:31px;margin:-15.5px 0 0 -15.5px;animation:chickenV3CoinBurst 1.8s cubic-bezier(.18,.68,.18,1) var(--coin-delay,0s) forwards;opacity:0;will-change:transform,opacity}
.chicken-v2-coin-burst img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 7px rgba(74,191,255,.75)) drop-shadow(0 4px 5px rgba(0,0,0,.25))}
.chicken-v2-lane.is-dead{z-index:4}
.chicken-v2-lane.is-dead:before{content:"";position:absolute;z-index:6;left:50%;bottom:55px;width:210px;height:150px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(179,244,255,.38) 0,rgba(95,204,255,.16) 36%,transparent 72%);animation:chickenV3FreezeGlow 1.2s ease-out both;pointer-events:none}
.chicken-v2-status.is-loss{animation:chickenV3LossPulse .85s ease-out}

@keyframes chickenV3Panic{
  from{transform:translateX(-50%) rotate(-5deg) scale(1)}
  to{transform:translateX(-50%) rotate(5deg) scale(1.04)}
}
@keyframes chickenV3Hit{
  0%{transform:translateX(-50%) rotate(0) scale(1);opacity:1}
  45%{transform:translateX(calc(-50% - 28px)) translateY(-18px) rotate(-24deg) scale(1.08);opacity:1}
  100%{transform:translateX(calc(-50% - 55px)) translateY(8px) rotate(-48deg) scale(.76);opacity:0}
}
@keyframes chickenV3CarDrive{
  0%{transform:translateX(-50%) translateY(0) scale(.96);opacity:.1}
  5%{opacity:1}
  38%{transform:translateX(-50%) translateY(650px) scale(1)}
  50%{transform:translateX(-50%) translateY(805px) scale(1.03)}
  62%{transform:translateX(-50%) translateY(960px) scale(1)}
  100%{transform:translateX(-50%) translateY(1510px) scale(.98);opacity:.75}
}
@keyframes chickenV3CoinBurst{
  0%{transform:translate(0,0) rotate(0) scale(.22);opacity:0}
  8%{opacity:1}
  38%{transform:translate(var(--coin-apex-x),var(--coin-apex-y)) rotate(var(--coin-r-mid)) scale(var(--coin-scale,1));opacity:1}
  70%{opacity:1}
  100%{transform:translate(var(--coin-x),var(--coin-y)) rotate(var(--coin-r)) scale(.72);opacity:0}
}
@keyframes chickenV3FreezeGlow{
  0%{opacity:0;transform:translateX(-50%) scale(.28)}
  38%{opacity:1}
  100%{opacity:0;transform:translateX(-50%) scale(1.45)}
}
@keyframes chickenV3LossPulse{
  0%{transform:translateX(-50%) scale(.88);box-shadow:0 0 0 rgba(96,204,255,0)}
  48%{transform:translateX(-50%) scale(1.06);box-shadow:0 0 38px rgba(96,204,255,.27)}
  100%{transform:translateX(-50%) scale(1)}
}

@media(max-width:900px){
  .chicken-v2-car{width:350px;top:-610px}
  .chicken-v2-coin-burst span{width:27px;height:27px;margin:-13.5px 0 0 -13.5px}
}


/* =========================
   BLACKJACK — GESTÃO DE CHAT (ADMIN)
========================= */
.bj-chat-admin{
  margin:0 8px 7px;
  padding:7px 9px;
  border:1px solid rgba(255,91,112,.22);
  border-radius:9px;
  background:linear-gradient(180deg,rgba(72,15,26,.72),rgba(34,8,15,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.bj-chat-admin[hidden]{display:none!important}
.bj-chat-admin span{display:block;color:#ff8699;font-size:7px;font-weight:950;letter-spacing:1.1px}
.bj-chat-admin small{display:block;margin-top:3px;color:#a97b85;font-size:7px;line-height:1.35;font-weight:700}
.bj-chat-message{position:relative;padding-right:28px}
.bj-chat-message-copy{min-width:0}
.bj-chat-delete{
  position:absolute;
  right:4px;
  top:50%;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,92,112,.22);
  border-radius:7px;
  background:rgba(62,10,19,.72);
  color:#ff7488;
  font:900 16px/1 Montserrat,sans-serif;
  cursor:pointer;
  opacity:.78;
  transition:.16s ease;
}
.bj-chat-delete:hover{opacity:1;background:rgba(119,18,35,.86);border-color:rgba(255,111,133,.48);transform:translateY(-50%) scale(1.06)}
.bj-chat-delete:disabled{opacity:.28;cursor:default}

/* =========================
   DICE PRO — 2026-08-21
========================= */
.dice-pro-page{min-height:100vh;background:#020a14;color:#f4f9ff}
.dice-pro-main{width:min(1540px,96%);margin:0 auto;padding:110px 0 54px;position:relative;z-index:2}
.dice-pro-titlebar{margin-bottom:18px}
.dice-pro-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;min-height:690px}
.dice-pro-controls,.dice-pro-stage{border:1px solid rgba(91,184,243,.16);background:linear-gradient(180deg,#08131f 0%,#050d16 100%);box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025)}
.dice-pro-controls{border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:14px}
.dice-pro-stage{border-radius:20px;position:relative;overflow:hidden;padding:18px 22px 20px;display:flex;flex-direction:column;background:radial-gradient(circle at 52% 48%,rgba(22,75,117,.13),transparent 36%),linear-gradient(180deg,#070d14,#04080d)}
.dice-pro-balance-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}
.dice-pro-balance-card>span{font-size:9px;font-weight:900;letter-spacing:1.05px;color:#7e9db2}
.dice-pro-balance-card strong{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:900}.dice-pro-balance-card img{width:21px;height:21px;object-fit:contain}
.dice-pro-control-block{padding:14px;border:1px solid rgba(91,184,243,.12);border-radius:14px;background:rgba(5,17,28,.7)}
.dice-pro-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dice-pro-label-row span{font-size:9px;font-weight:900;letter-spacing:1.05px;color:#7abfe9}.dice-pro-label-row small{font-size:9px;color:#667d8e;font-weight:800}
.dice-pro-bet-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.dice-pro-bet-row button{min-width:0;height:42px;border-radius:10px;border:1px solid rgba(91,184,243,.13);background:#0a1a29;color:#b8cbd8;font:900 10px Montserrat,sans-serif;cursor:pointer;transition:.18s}.dice-pro-bet-row button:hover{border-color:rgba(87,196,255,.4);color:#fff}.dice-pro-bet-row button.is-active{background:linear-gradient(180deg,#165379,#0b2c46);border-color:#56c8ff;color:#fff;box-shadow:0 0 22px rgba(62,176,238,.13)}
.dice-pro-direction{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dice-pro-direction button{height:44px;border-radius:11px;border:1px solid rgba(255,255,255,.1);background:#101820;color:#8295a4;font:900 10px Montserrat,sans-serif;cursor:pointer;transition:.18s}.dice-pro-direction button.is-active{background:linear-gradient(180deg,#144765,#0b2a40);border-color:#4ab8ef;color:#eaf9ff;box-shadow:0 8px 24px rgba(49,151,210,.13)}
.dice-pro-play{height:50px;border:0;border-radius:11px;background:linear-gradient(90deg,#46bdf5,#79e1ff);color:#04111b;font:950 11px Montserrat,sans-serif;letter-spacing:.8px;cursor:pointer;box-shadow:0 14px 30px rgba(51,174,231,.15);transition:.18s}.dice-pro-play:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.06)}.dice-pro-play:disabled{opacity:.45;cursor:default}
.dice-pro-profit{padding:13px 14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.025)}.dice-pro-profit>span{display:block;margin-bottom:8px;color:#718a9d;font-size:9px;font-weight:900;letter-spacing:1px}.dice-pro-profit strong{display:flex;align-items:center;gap:7px;color:#eefbff;font-size:15px}.dice-pro-profit img{width:19px;height:19px;object-fit:contain}.dice-pro-message{margin-top:0;min-height:76px}
.dice-pro-history-strip{display:flex;align-items:center;gap:8px;min-height:42px;overflow:hidden;white-space:nowrap;padding:0 2px}.dice-pro-history-empty{color:#526776;font-size:10px;font-weight:800}.dice-pro-history-pill{display:inline-flex;min-width:67px;height:36px;padding:0 13px;align-items:center;justify-content:center;border-radius:999px;font-size:10px;font-weight:950;letter-spacing:.2px;border:1px solid rgba(91,184,243,.16);background:#0c2436;color:#75cdf9}.dice-pro-history-pill.is-win{background:linear-gradient(180deg,#0e4968,#0a3047);border-color:rgba(81,193,246,.36);color:#a4e7ff}.dice-pro-history-pill.is-loss{background:#15191d;border-color:rgba(255,255,255,.06);color:#9ca5ac}
.dice-pro-board{position:relative;flex:1;min-height:430px;display:flex;align-items:center;justify-content:center;padding:70px 24px 42px}
.dice-pro-scale-labels{position:absolute;left:42px;right:42px;top:41%;transform:translateY(-68px);display:flex;justify-content:space-between;color:#edf7fc;font-size:13px;font-weight:900;pointer-events:none}
.dice-pro-track-wrap{position:relative;width:calc(100% - 38px);max-width:1100px;height:90px}
.dice-pro-track{position:absolute;left:0;right:0;top:26px;height:64px;border-radius:32px;border:1px solid rgba(255,255,255,.08);background:#0d1116;overflow:visible;box-shadow:inset 0 2px 8px rgba(0,0,0,.35)}
.dice-pro-track:after{content:"";position:absolute;left:24px;right:24px;top:50%;height:8px;border-radius:999px;background:rgba(255,255,255,.08);transform:translateY(-50%);z-index:1}
.dice-pro-track-win,.dice-pro-track-loss{position:absolute;top:50%;height:8px;transform:translateY(-50%);z-index:2;transition:left .2s ease,width .2s ease;border-radius:999px}.dice-pro-track-win{background:linear-gradient(90deg,#3fd890,#89ebb0);box-shadow:0 0 18px rgba(64,221,147,.16)}.dice-pro-track-loss{background:linear-gradient(90deg,#f34f6a,#db3e59);box-shadow:0 0 18px rgba(240,68,94,.12)}
.dice-pro-threshold{position:absolute;top:50%;z-index:5;width:28px;height:34px;border-radius:6px;background:#eff5f8;border:1px solid rgba(0,0,0,.2);box-shadow:0 7px 16px rgba(0,0,0,.28);transform:translate(-50%,-50%);transition:left .15s ease}.dice-pro-threshold span{position:absolute;inset:7px 10px;border-left:2px solid #bdc7cc;border-right:2px solid #bdc7cc}
.dice-pro-range{position:absolute;left:0;right:0;top:20px;width:100%;height:76px;opacity:0;cursor:ew-resize;z-index:8}
.dice-pro-result-marker{position:absolute;top:50%;z-index:7;width:64px;height:80px;transform:translate(-50%,-45%);pointer-events:none;opacity:0}.dice-pro-result-marker b{position:absolute;left:50%;top:-20px;transform:translateX(-50%);min-width:58px;padding:4px 7px;border-radius:7px;background:#07131e;border:1px solid #51c9ff;color:#66d5ff;font-size:10px;text-align:center;box-shadow:0 7px 16px rgba(0,0,0,.28)}.dice-pro-result-marker img{position:absolute;left:50%;top:24px;width:56px;height:56px;object-fit:contain;transform:translate(-50%,-50%) rotate(-8deg);filter:drop-shadow(0 8px 10px rgba(0,0,0,.35))}.dice-pro-result-marker.is-win b{border-color:#28e690;color:#60f0ad}.dice-pro-result-marker.is-loss b{border-color:#ff506b;color:#ff6980}.dice-pro-result-marker.is-visible{animation:diceMarkerPop .42s cubic-bezier(.18,.8,.2,1) forwards}
@keyframes diceMarkerPop{0%{opacity:0;transform:translate(-50%,-45%) scale(.55)}65%{opacity:1;transform:translate(-50%,-45%) scale(1.12)}100%{opacity:1;transform:translate(-50%,-45%) scale(1)}}
.dice-pro-roll-overlay{position:absolute;left:50%;top:49%;z-index:10;width:180px;height:180px;transform:translate(-50%,-50%);opacity:0;pointer-events:none}.dice-pro-roll-overlay img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 24px rgba(0,0,0,.38))}.dice-pro-roll-overlay.is-rolling{animation:diceOverlayVisible 1.05s ease both}.dice-pro-roll-overlay.is-rolling img{animation:diceImageRoll .23s linear infinite}
@keyframes diceOverlayVisible{0%{opacity:0;transform:translate(-50%,-44%) scale(.55)}18%{opacity:1;transform:translate(-50%,-52%) scale(1.08)}78%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(.86)}}
@keyframes diceImageRoll{0%{transform:rotate(-9deg) scale(1)}25%{transform:rotate(14deg) scale(.96)}50%{transform:rotate(-18deg) scale(1.04)}75%{transform:rotate(11deg) scale(.97)}100%{transform:rotate(-9deg) scale(1)}}
.dice-pro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid rgba(255,255,255,.07);border-radius:13px;overflow:hidden;background:rgba(255,255,255,.06)}.dice-pro-stats>div{padding:14px 16px;background:#0b1118}.dice-pro-stats span{display:block;color:#7391a5;font-size:9px;font-weight:900;letter-spacing:.8px}.dice-pro-stats strong{display:block;margin-top:7px;color:#eef9ff;font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
@media(max-width:1000px){.dice-pro-shell{grid-template-columns:1fr}.dice-pro-controls{display:grid;grid-template-columns:1fr 1fr}.dice-pro-balance-card,.dice-pro-message{grid-column:1/-1}.dice-pro-stage{min-height:570px}.dice-pro-board{min-height:360px}}
@media(max-width:650px){.dice-pro-main{padding-top:92px}.dice-pro-controls{display:flex}.dice-pro-bet-row{grid-template-columns:repeat(3,1fr)}.dice-pro-stage{padding:14px}.dice-pro-board{padding-left:4px;padding-right:4px}.dice-pro-scale-labels{left:15px;right:15px}.dice-pro-stats{grid-template-columns:1fr}.dice-pro-roll-overlay{width:130px;height:130px}.dice-pro-result-marker img{width:46px;height:46px}}

/* ========================= */
/* WILDROLL PARTNERSHIP */
/* ========================= */

.wildroll-image {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 50% 52%,
      rgba(255, 126, 32, 0.24),
      transparent 34%
    ),
    rgba(18, 8, 3, 0.72);
}

.wildroll-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}

.wildroll-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(19, 8, 2, 0.02),
    rgba(19, 8, 2, 0.30)
  );
  pointer-events: none;
}

.wildroll-card::before {
  background:
    radial-gradient(
      circle,
      rgba(255, 129, 35, 0.30),
      transparent 60%
    );
}

.wildroll-card:hover {
  border-color: rgba(255, 139, 51, 0.72);
  box-shadow:
    0 25px 80px rgba(0, 0, 0, 0.45),
    0 0 35px rgba(255, 122, 32, 0.30),
    0 0 90px rgba(255, 88, 18, 0.18);
}

.wildroll-card:hover .wildroll-image img {
  transform: scale(1.04);
  filter:
    brightness(1.10)
    saturate(1.08)
    drop-shadow(0 0 20px rgba(255, 130, 40, 0.48));
}

.wildroll-card .partner-label {
  color: rgba(255, 151, 76, 0.64);
}

.partner-offer {
  display: flex;
  align-items: center;
  min-height: 65px;
  margin-top: 24px;
  padding: 15px;
  border: 1px solid rgba(255, 140, 57, 0.20);
  border-radius: 8px;
  background: rgba(30, 12, 3, 0.28);
}

.partner-offer-text span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 158, 88, 0.64);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 1.7px;
}

.partner-offer-text strong {
  font-size: 13px;
  line-height: 1.35;
}

.wildroll-card .partner-button:hover {
  box-shadow: 0 0 24px rgba(255, 125, 35, 0.24);
}


/* =========================================================
   GAME VIEWPORT FIT — 22/08/2026
   Mantém o layout normal em ecrãs grandes e compacta
   automaticamente os jogos em portáteis/ecrãs baixos.
   ========================================================= */
@media (min-width: 901px) and (max-height: 900px) {
  .blackjack-main,
  .mines-main,
  .crash-main,
  .plinko-main,
  .slot-main,
  .dice-pro-main,
  .chicken-v2-main {
    padding-top: 72px !important;
    padding-bottom: 22px !important;
  }

  .blackjack-titlebar,
  .mines-titlebar,
  .crash-titlebar,
  .plinko-titlebar,
  .slot-titlebar,
  .dice-pro-titlebar,
  .chicken-v2-titlebar {
    margin-bottom: 10px !important;
  }

  .blackjack-titlebar h1,
  .mines-titlebar h1,
  .crash-titlebar h1,
  .plinko-titlebar h1,
  .slot-titlebar h1 {
    font-size: clamp(30px, 3vw, 40px) !important;
  }

  /* Blackjack multiplayer */
  .blackjack-multiplayer-shell {
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .blackjack-multiplayer-shell .blackjack-controls {
    padding: 16px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .blackjack-multiplayer-shell .bj-multiplayer-table {
    height: 100%;
    min-height: 0;
    padding: 24px 20px 18px;
  }

  .blackjack-multiplayer-shell .bj-dealer-zone {
    min-height: 165px;
    padding-top: 34px !important;
  }

  .blackjack-multiplayer-shell .bj-dealer-zone .bj-hand {
    min-height: 96px;
    margin-top: 5px;
  }

  .blackjack-multiplayer-shell .bj-dealer-zone .playing-card {
    width: 64px;
    height: 92px;
  }

  .blackjack-multiplayer-shell .bj-card-shoe {
    right: 34px;
    top: 24px;
    width: 60px;
    height: 80px;
  }

  .blackjack-multiplayer-shell .bj-chip-rack { top: 10px; }

  .bj-chat-panel {
    left: 24px;
    top: 24px;
    width: 220px;
    height: 165px;
  }

  .bj-multiplayer-center-mark {
    top: 38%;
    width: 260px;
  }

  .bj-multiplayer-center-mark strong { font-size: 28px !important; }

  .bj-multiplayer-seats {
    left: 14px;
    right: 14px;
    bottom: 10px;
    height: 290px;
  }

  .bj-seat {
    width: 150px;
    min-height: 150px;
  }

  .bj-seat-circle {
    width: 124px;
    min-height: 58px;
    padding: 7px 8px;
  }

  .bj-seat-avatar-wrap {
    width: 32px;
    height: 32px;
  }

  .bj-seat-hands { min-height: 82px; margin-bottom: 2px; }
  .bj-seat-card-row { min-height: 65px; }
  .bj-seat-card-row .playing-card {
    width: 44px;
    height: 64px;
    margin-left: -23px;
  }

  .bj-seat-1 { left: 0; bottom: 74px; }
  .bj-seat-2 { left: 18%; bottom: 8px; }
  .bj-seat-3 { bottom: 0; }
  .bj-seat-4 { right: 18%; bottom: 8px; }
  .bj-seat-5 { right: 0; bottom: 74px; }

  /* Mines */
  .mines-shell {
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .mines-controls,
  .mines-history-panel {
    padding: 16px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .mines-game-area {
    height: 100%;
    min-height: 0;
    padding: 18px 24px 20px;
  }

  .mines-board-head { margin-bottom: 12px; }
  .mines-board-head > div:first-child strong { font-size: 24px; }
  .mines-board {
    width: min(64vh, 610px, 100%);
    gap: 8px;
  }
  .mines-board-footer { margin-top: 12px; }

  /* Crash */
  .crash-shell {
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .crash-left-panel {
    padding: 14px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .crash-stage {
    height: 100%;
    min-height: 0;
  }

  .crash-stage-center { min-height: 0; }
  .crash-history-strip,
  .crash-stage-footer { min-height: 44px; padding-block: 8px; }
  .crash-player-list { min-height: 100px; max-height: 220px; }
  .crash-players-head { margin-top: 10px; }

  /* Plinko */
  .plinko-shell {
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .plinko-controls,
  .plinko-history-panel {
    padding: 16px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .plinko-stage { padding: 16px 18px 10px; }
  .plinko-stage-head { min-height: 34px; }
  .plinko-board {
    transform: scale(.88);
    transform-origin: top center;
    margin-bottom: -58px;
  }

  /* Slot */
  .site-slot-page .slot-shell-pro,
  .slot-shell {
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .site-slot-page .slot-controls,
  .site-slot-page .slot-history-panel,
  .slot-controls,
  .slot-history-panel {
    padding: 16px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .site-slot-page .slot-machine-pro,
  .slot-machine { padding: 16px 14px; }

  .site-slot-page .slot-reels-pro,
  .slot-reels {
    min-height: 365px;
    gap: 7px;
    padding: 9px;
  }

  .site-slot-page .slot-reels-pro .slot-reel,
  .slot-reel { gap: 5px; padding: 5px; }

  .site-slot-page .slot-reels-pro .slot-symbol,
  .slot-symbol { min-height: 96px; }

  .site-slot-page .slot-feature-bar { margin-bottom: 6px; }
  .site-slot-page .slot-machine-bottom-pro,
  .slot-machine-bottom { margin-top: 8px; }

  /* Coin Flip */
  .single-game-main { padding-top: 18px; padding-bottom: 22px; }
  .single-game-shell { min-height: 0; }
  .single-game-controls,
  .single-game-history {
    padding: 15px;
    overflow-y: auto;
    scrollbar-width: thin;
  }
  .single-game-stage {
    min-height: 0;
    height: calc(100vh - 142px);
    max-height: 748px;
  }
  .cf-coin-scene {
    width: min(380px, 52vh, 68%);
  }

  /* Chicken Road */
  .chicken-v2-game {
    grid-template-rows: minmax(0, 1fr) auto;
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .chicken-v2-stage,
  .chicken-v2-history-panel {
    min-height: 0;
    height: 100%;
  }

  .chicken-v2-history-panel {
    padding: 14px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .chicken-v2-control-deck {
    grid-template-columns: 320px minmax(220px,1fr) 170px 160px;
    gap: 10px;
    padding: 10px;
  }

  .chicken-v2-bets button { height: 38px; }
  .chicken-v2-road-window { top: 78px; bottom: 54px; }
  .chicken-v2-topbar { top: 12px; }
  .chicken-v2-stat { padding: 9px 11px; }
  .chicken-v2-stat strong { font-size: 16px; }
  .chicken-v2-status { bottom: 9px; padding-block: 8px; }

  /* Dice */
  .dice-pro-shell {
    height: calc(100vh - 142px);
    min-height: 520px;
    max-height: 748px;
  }

  .dice-pro-controls {
    padding: 13px;
    gap: 9px;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  .dice-pro-stage {
    min-height: 0;
    height: 100%;
    padding: 12px 18px 14px;
  }

  .dice-pro-board { min-height: 0; padding-top: 42px; padding-bottom: 20px; }
  .dice-pro-control-block { padding: 10px; }
  .dice-pro-message { min-height: 52px; }
  .dice-pro-stats > div { padding: 10px 12px; }
}

/* Extra compacto para 1366x768, 1280x720 e alturas semelhantes. */
@media (min-width: 901px) and (max-height: 760px) {
  .blackjack-main,
  .mines-main,
  .crash-main,
  .plinko-main,
  .slot-main,
  .dice-pro-main,
  .chicken-v2-main {
    padding-top: 62px !important;
    padding-bottom: 12px !important;
  }

  .blackjack-titlebar,
  .mines-titlebar,
  .crash-titlebar,
  .plinko-titlebar,
  .slot-titlebar,
  .dice-pro-titlebar,
  .chicken-v2-titlebar {
    margin-bottom: 7px !important;
  }

  .blackjack-back { margin-bottom: 7px; }
  .blackjack-eyebrow { font-size: 7px; }

  .blackjack-multiplayer-shell,
  .mines-shell,
  .crash-shell,
  .plinko-shell,
  .site-slot-page .slot-shell-pro,
  .slot-shell,
  .dice-pro-shell,
  .chicken-v2-game,
  .single-game-stage {
    height: calc(100vh - 118px);
    min-height: 470px;
  }

  .blackjack-multiplayer-shell .blackjack-controls { padding: 12px; }
  .blackjack-multiplayer-shell .bj-multiplayer-table { padding: 16px 14px 12px; }
  .blackjack-multiplayer-shell .bj-dealer-zone { min-height: 135px; padding-top: 25px !important; }
  .blackjack-multiplayer-shell .bj-dealer-zone .bj-hand { min-height: 78px; }
  .blackjack-multiplayer-shell .bj-dealer-zone .playing-card { width: 56px; height: 80px; }
  .blackjack-multiplayer-shell .bj-card-shoe { width: 50px; height: 68px; top: 18px; }
  .bj-chat-panel { width: 195px; height: 142px; left: 18px; top: 18px; }
  .bj-multiplayer-center-mark { top: 36%; }
  .bj-multiplayer-center-mark strong { font-size: 24px !important; }
  .bj-multiplayer-seats { height: 245px; bottom: 5px; }
  .bj-seat { width: 136px; min-height: 128px; }
  .bj-seat-circle { width: 114px; min-height: 52px; }
  .bj-seat-hands { min-height: 68px; }
  .bj-seat-card-row { min-height: 55px; }
  .bj-seat-card-row .playing-card { width: 39px; height: 56px; margin-left: -20px; }
  .bj-seat-1 { bottom: 58px; }
  .bj-seat-2 { bottom: 4px; }
  .bj-seat-4 { bottom: 4px; }
  .bj-seat-5 { bottom: 58px; }

  .mines-game-area { padding: 12px 18px 14px; }
  .mines-board-head { margin-bottom: 7px; }
  .mines-board { width: min(58vh, 500px, 100%); gap: 6px; }
  .mines-board-footer { margin-top: 7px; }

  .crash-left-panel { padding: 10px; }
  .crash-bet-card { padding: 11px; }
  .crash-message { min-height: 36px; }
  .crash-player-list { max-height: 150px; }
  .crash-history-strip,
  .crash-stage-footer { min-height: 36px; padding-block: 5px; }

  .plinko-stage { padding-top: 10px; }
  .plinko-board { transform: scale(.76); margin-bottom: -126px; }

  .site-slot-page .slot-machine-pro,
  .slot-machine { padding: 10px; }
  .site-slot-page .slot-reels-pro,
  .slot-reels { min-height: 300px; }
  .site-slot-page .slot-reels-pro .slot-symbol,
  .slot-symbol { min-height: 76px; }
  .site-slot-page .slot-feature-bar > div { min-height: 38px; }
  .site-slot-page .slot-machine-bottom-pro > div,
  .slot-machine-bottom > div { min-height: 44px; }

  .cf-stage-label { top: 18px; }
  .cf-coin-scene { width: min(315px, 48vh, 60%); }
  .cf-result { margin-top: 0; }

  .chicken-v2-control-deck { padding: 8px; }
  .chicken-v2-road-window { top: 68px; bottom: 46px; }
  .chicken-v2-checkpoint { width: 102px; height: 102px; top: 72px; }
  .chicken-v2-start-badge { top: 112px; }
  .chicken-v2-character { width: 88px; bottom: 34px; }
  .chicken-v2-character.is-frozen { width: 112px; bottom: 24px; }
  .chicken-v2-road-window::before { height: 150px; }

  .dice-pro-controls { padding: 10px; gap: 7px; }
  .dice-pro-bet-row button { height: 35px; }
  .dice-pro-direction button { height: 37px; }
  .dice-pro-play { height: 42px; }
  .dice-pro-board { padding-top: 28px; padding-bottom: 10px; }
  .dice-pro-stats > div { padding: 8px 10px; }
}

/* =========================================================
   MOBILE LAYOUT V2 — 22/08/2026
   IMPORTANTE: tudo fica limitado a <= 768px.
   A versão desktop não recebe qualquer alteração visual.
   ========================================================= */
@media (max-width: 768px) {
  html { scroll-padding-top: 72px; }
  body {
    width: 100%;
    max-width: 100%;
    min-height: 100dvh;
    overflow-x: hidden;
    padding-bottom: calc(78px + env(safe-area-inset-bottom));
    background-attachment: scroll !important;
  }
  body.mobile-nav-open { overflow: hidden; }

  /* ---------- HEADER MOBILE ---------- */
  .topbar {
    height: 64px !important;
    padding: 0 14px !important;
    gap: 10px;
    overflow: visible !important;
    z-index: 9997;
  }
  .logo {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100vw - 150px);
    font-size: clamp(15px, 4.5vw, 19px) !important;
    letter-spacing: -0.75px !important;
    white-space: nowrap;
  }
  .logo-live-dot { width: 7px; height: 7px; }

  .topbar .header-twitch {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 auto;
    margin-left: auto;
    z-index: 3;
  }
  .topbar .header-twitch-login {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 11px !important;
    justify-content: center !important;
  }
  .topbar .header-twitch-login > span:last-child { display: none !important; }
  .topbar .header-login-twitch-icon { width: 19px !important; height: 19px !important; }

  .topbar .header-twitch-user {
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 3px 7px 3px 3px !important;
    gap: 5px !important;
    border-radius: 12px !important;
  }
  .topbar .header-user-avatar { width: 31px !important; height: 31px !important; border-radius: 9px !important; }
  .topbar .header-twitch-user strong { font-size: 11px !important; gap: 4px !important; }
  .topbar .header-points-coin { width: 17px !important; height: 17px !important; }

  .mobile-menu-toggle {
    width: 40px;
    height: 44px;
    flex: 0 0 40px;
    display: grid;
    place-content: center;
    gap: 4px;
    padding: 0;
    border: 1px solid rgba(103,196,247,.20);
    border-radius: 12px;
    background: rgba(6,21,34,.88);
    color: #fff;
    cursor: pointer;
    z-index: 4;
  }
  .mobile-menu-toggle span {
    width: 18px;
    height: 2px;
    display: block;
    border-radius: 999px;
    background: #dff5ff;
    transition: transform .2s ease, opacity .2s ease;
  }
  .topbar.mobile-menu-open .mobile-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .topbar.mobile-menu-open .mobile-menu-toggle span:nth-child(2) { opacity: 0; }
  .topbar.mobile-menu-open .mobile-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  .topbar nav {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: 72px !important;
    width: auto !important;
    max-height: calc(100dvh - 88px);
    display: grid !important;
    gap: 4px !important;
    padding: 10px !important;
    overflow-y: auto;
    border: 1px solid rgba(86,188,244,.24);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(5,18,31,.985), rgba(3,12,22,.99));
    box-shadow: 0 24px 70px rgba(0,0,0,.62), 0 0 34px rgba(49,169,231,.08);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px) scale(.985);
    transform-origin: top center;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 9998;
  }
  .topbar.mobile-menu-open nav {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }
  .topbar nav a,
  .topbar nav a.store-nav-link {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 11px;
    color: rgba(230,244,253,.78) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: 1px !important;
    text-shadow: none !important;
  }
  .topbar nav a:hover,
  .topbar nav a.active,
  .topbar nav a.store-nav-link.active {
    border-color: rgba(85,192,248,.20);
    background: rgba(43,145,201,.10);
    color: #fff !important;
  }
  .topbar nav a::after { display: none !important; }

  /* ---------- FLUTUANTES MOBILE ---------- */
  .daily-slot-widget {
    right: 10px !important;
    bottom: calc(9px + env(safe-area-inset-bottom)) !important;
  }
  .daily-streak-widget {
    right: 103px !important;
    bottom: calc(9px + env(safe-area-inset-bottom)) !important;
  }
  .daily-slot-mini {
    width: 84px !important;
    min-width: 84px !important;
    height: 52px !important;
    padding: 5px 7px !important;
    border-radius: 13px !important;
  }
  .daily-streak-mini {
    min-width: 84px !important;
    height: 52px !important;
    padding: 5px 8px !important;
    gap: 6px !important;
    border-radius: 13px !important;
  }
  .daily-streak-mini-icon { width: 30px !important; height: 30px !important; flex: 0 0 30px !important; }
  .daily-streak-mini-copy strong { font-size: 8px !important; }
  .daily-streak-mini-copy small { font-size: 6px !important; }
  .daily-slot-mini-reels b { height: 23px !important; }
  .daily-slot-mini-label { font-size: 6px !important; }

  .daily-slot-panel,
  .daily-slot-panel.daily-slot-panel-ice,
  .daily-streak-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 74px !important;
    bottom: calc(74px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .daily-slot-panel,
  .daily-slot-panel.daily-slot-panel-ice { transform-origin: right bottom !important; }
  .daily-streak-panel { transform-origin: right bottom !important; }

  .site-support-widget {
    left: 10px !important;
    bottom: calc(70px + env(safe-area-inset-bottom)) !important;
  }
  .site-support-trigger { width: 42px !important; height: 42px !important; border-radius: 13px !important; }
  .site-support-trigger svg { width: 20px !important; height: 20px !important; }
  .site-support-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: calc(122px + env(safe-area-inset-bottom)) !important;
    width: auto !important;
    max-height: calc(100dvh - 205px);
    overflow-y: auto;
  }
  .mobile-nav-open .daily-slot-widget,
  .mobile-nav-open .daily-streak-widget,
  .mobile-nav-open .site-support-widget { opacity: 0; pointer-events: none; }

  /* ---------- ESTRUTURA GERAL ---------- */
  main { max-width: 100%; }
  .section {
    width: 100%;
    padding: 72px 16px !important;
  }
  .partnerships-section { padding-top: 94px !important; }
  .section-top { margin-bottom: 28px !important; }
  .section-heading h2 {
    font-size: clamp(38px, 12vw, 54px) !important;
    line-height: .96 !important;
    letter-spacing: -2.2px !important;
  }

  /* ---------- PARCERIAS ---------- */
  .partners-grid {
    width: 100%;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }
  .partner-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 17px !important;
  }
  .partner-image {
    width: 100%;
    height: auto !important;
    aspect-ratio: 16 / 9;
  }
  .partner-card-content { padding: 25px 20px 22px !important; }
  .partner-card-header { align-items: flex-start !important; gap: 12px; }
  .partner-card-header h3 { font-size: clamp(28px, 9vw, 36px) !important; }
  .partner-label { font-size: 7px !important; letter-spacing: 1.6px !important; }
  .partner-description {
    margin-top: 20px !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
  }
  .partner-code,
  .partner-offer {
    min-height: 0 !important;
    margin-top: 20px !important;
    padding: 13px !important;
  }
  .partner-code { gap: 10px !important; }
  .partner-code-text strong,
  .partner-offer-text strong { font-size: 12px !important; overflow-wrap: anywhere; }
  .copy-code { flex: 0 0 auto; min-width: 72px !important; }
  .partner-button {
    width: 100%;
    min-height: 52px !important;
    margin-top: 30px !important;
    padding-inline: 15px !important;
    font-size: 9px !important;
  }

  /* ---------- RESTO DA HOME ---------- */
  .betflow-grid,
  .social-grid,
  .live-grid,
  .live-details { grid-template-columns: 1fr !important; }
  .betflow-grid { gap: 24px !important; }
  .betflow-card { min-height: 0 !important; }
  .betflow-phone { transform: scale(.78); transform-origin: right bottom; }
  .live-side { padding: 26px 18px !important; }
  .about-open { gap: 28px !important; }
  .about-photo-wrap,
  .about-photo { min-height: 330px !important; }
  .about-left h3 { font-size: 42px !important; }
  .about-background-text { display: none !important; }
  footer { padding-left: 16px !important; padding-right: 16px !important; text-align: center; }

  /* ---------- STORE ---------- */
  .store-page-hero.store-rewards-intro {
    padding: 94px 16px 42px !important;
  }
  .store-rewards-intro-title {
    font-size: clamp(38px, 12vw, 50px) !important;
    line-height: .96 !important;
    letter-spacing: -2px !important;
  }
  .store-rewards-intro-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 9px !important; }
  .store-rewards-intro-actions a { width: 100% !important; }
  .store-rewards-intro-features { gap: 9px 12px !important; }
  .store-section { padding-inline: 12px !important; }
  .store-account-guest,
  .store-account-user { padding: 22px 18px !important; min-height: 0 !important; }
  .store-account-guest { flex-direction: column !important; align-items: stretch !important; gap: 20px !important; }
  .store-twitch-login { width: 100% !important; min-width: 0 !important; }
  .store-account-user { grid-template-columns: 1fr !important; gap: 18px !important; }
  .store-profile { min-width: 0; }
  .store-profile img { width: 58px !important; height: 58px !important; }
  .store-balance { min-width: 0 !important; padding: 14px 0 0 !important; border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.08); }
  .store-logout { width: 100% !important; }
  .store-category-panel { padding: 14px 12px !important; }
  .store-category-heading { align-items: flex-start !important; flex-direction: column !important; gap: 6px !important; }
  .store-categories {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }
  .store-categories::-webkit-scrollbar { display: none; }
  .store-category { flex: 0 0 auto; }
  .store-page .store-rewards { grid-template-columns: 1fr !important; gap: 14px !important; }
  .reward-content { padding: 19px 17px 18px !important; }
  .reward-card-image h3 { font-size: 21px !important; }
  .reward-bottom { gap: 10px !important; }
  .store-page .reward-card-image .reward-redeem { min-width: 128px !important; }

  /* ---------- BETFLOW ---------- */
  .betflow-tracker-main {
    width: calc(100% - 24px) !important;
    padding-top: 92px !important;
  }
  .betflow-tracker-hero { margin-bottom: 24px !important; }
  .betflow-tracker-hero h1 { font-size: clamp(34px, 11vw, 48px) !important; }
  .betflow-coldbet-banner { grid-template-columns: 1fr !important; padding: 18px !important; gap: 16px !important; }
  .betflow-coldbet-actions { min-width: 0 !important; width: 100% !important; }
  .betflow-promo-highlight {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
  }
  .betflow-promo-highlight > span { grid-column: 1 / -1; }
  .betflow-sport-tabs { flex-wrap: nowrap !important; overflow-x: auto; padding-bottom: 4px; }
  .betflow-sport-tab,
  .betflow-admin-link { flex: 0 0 auto; white-space: nowrap; }
  .betflow-stat-grid { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .betflow-stat-card { padding: 15px !important; }
  .betflow-bet-card { grid-template-columns: 1fr !important; }
  .betflow-bet-main { padding: 17px !important; }
  .betflow-event-row { padding: 12px !important; }

  /* ---------- LISTA DE MINI-JOGOS ---------- */
  .minigames-main {
    width: calc(100% - 24px) !important;
    padding: 96px 0 80px !important;
  }
  .minigames-hero { margin-bottom: 28px !important; }
  .minigames-hero h1 { font-size: clamp(36px, 11vw, 50px) !important; }
  .minigames-hero p { font-size: 12px !important; }
  .minigame-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .minigame-card-visual { height: auto !important; aspect-ratio: 16 / 8.7; }
  .minigame-card-content { padding: 19px !important; }
  .minigame-card p { min-height: 0 !important; }

  /* ---------- CABEÇALHO DOS JOGOS ---------- */
  .blackjack-main,
  .mines-main,
  .crash-main,
  .plinko-main,
  .slot-main,
  .single-game-main,
  .chicken-v2-main,
  .dice-pro-main {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    padding-top: 82px !important;
    padding-bottom: 84px !important;
  }
  .blackjack-titlebar,
  .mines-titlebar,
  .crash-titlebar,
  .plinko-titlebar,
  .slot-titlebar,
  .chicken-v2-titlebar,
  .dice-pro-titlebar {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: end !important;
    gap: 10px !important;
    margin-bottom: 12px !important;
  }
  .blackjack-back { margin-bottom: 7px !important; font-size: 8px !important; }
  .blackjack-eyebrow { padding: 6px 9px !important; font-size: 7px !important; letter-spacing: 1px !important; }
  .blackjack-titlebar h1,
  .mines-titlebar h1,
  .crash-titlebar h1 { font-size: clamp(29px, 9vw, 38px) !important; letter-spacing: -1.4px !important; }
  .blackjack-wallet {
    min-width: 92px !important;
    padding: 8px 9px !important;
    border-radius: 11px !important;
  }
  .blackjack-wallet > span { font-size: 6px !important; }
  .blackjack-wallet strong { font-size: 17px !important; }
  .blackjack-wallet img { width: 18px !important; height: 18px !important; }

  /* Todas as shells deixam de forçar dimensões de desktop. */
  .blackjack-shell,
  .blackjack-multiplayer-shell,
  .mines-shell,
  .crash-shell,
  .plinko-shell,
  .slot-shell,
  .site-slot-page .slot-shell-pro,
  .single-game-shell,
  .chicken-v2-game,
  .dice-pro-shell {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    border-radius: 16px !important;
  }

  /* ---------- BLACKJACK MOBILE ---------- */
  .blackjack-multiplayer-shell { grid-template-columns: 1fr !important; }
  .blackjack-multiplayer-shell .blackjack-controls {
    padding: 13px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(100,190,245,.12) !important;
  }
  .blackjack-multiplayer-shell .bj-control-block { padding: 12px !important; }
  .blackjack-multiplayer-shell .bj-bet-row { grid-template-columns: repeat(4,1fr) !important; }
  .blackjack-multiplayer-shell .bj-bet-row button,
  .blackjack-multiplayer-shell .bj-bet-input-wrap button,
  .blackjack-multiplayer-shell .bj-action-grid button { min-height: 38px !important; }
  .blackjack-multiplayer-shell .bj-primary-action { min-height: 46px !important; }
  .blackjack-multiplayer-shell .bj-message { min-height: 54px !important; }
  .blackjack-multiplayer-shell .bj-rules-mini { margin-top: 12px !important; padding-top: 12px !important; }

  .blackjack-multiplayer-shell .bj-multiplayer-table {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 560px !important;
    height: 560px !important;
    padding: 18px 8px 8px !important;
    overflow: hidden !important;
    border-radius: 0 0 16px 16px;
  }
  .blackjack-multiplayer-shell .bj-multiplayer-table::before {
    left: 7px !important; right: 7px !important; top: 12px !important; bottom: 8px !important;
  }
  .blackjack-multiplayer-shell .bj-chip-rack { top: 8px !important; transform: scale(.72); transform-origin: top center; }
  .blackjack-multiplayer-shell .bj-card-shoe { width: 39px !important; height: 53px !important; right: 12px !important; top: 17px !important; }
  .bj-chat-panel {
    left: 10px !important;
    top: 15px !important;
    width: 135px !important;
    height: 112px !important;
    border-radius: 9px !important;
  }
  .bj-chat-head { padding: 6px 7px !important; }
  .bj-chat-head strong { font-size: 7px !important; }
  .bj-chat-admin { display: none !important; }
  .bj-chat-messages { padding: 5px !important; font-size: 7px !important; }
  .bj-chat-form { padding: 5px !important; }
  .bj-chat-form input { height: 26px !important; font-size: 7px !important; }
  .bj-chat-form button { width: 27px !important; height: 26px !important; }

  .blackjack-multiplayer-shell .bj-dealer-zone {
    min-height: 120px !important;
    padding-top: 15px !important;
  }
  .blackjack-multiplayer-shell .bj-dealer-zone .bj-hand { min-height: 62px !important; }
  .blackjack-multiplayer-shell .bj-dealer-zone .playing-card {
    width: 48px !important; height: 69px !important; padding: 5px !important; border-radius: 6px !important;
  }
  .blackjack-multiplayer-shell .bj-dealer-zone .card-rank { font-size: 12px !important; }
  .blackjack-multiplayer-shell .bj-dealer-zone .card-suit { font-size: 10px !important; }
  .blackjack-multiplayer-shell .bj-dealer-zone .card-suit-big { font-size: 26px !important; }
  .bj-multiplayer-center-mark { display: none !important; }
  .bj-table-countdown { top: 39% !important; min-width: 150px !important; }
  .bj-table-countdown > span { font-size: 8px !important; }
  .bj-table-countdown > strong { font-size: 40px !important; }

  .bj-multiplayer-seats { height: 310px !important; bottom: 0 !important; }
  .bj-seat { width: 84px !important; min-height: 84px !important; }
  .bj-seat-circle { width: 78px !important; min-height: 46px !important; padding: 5px !important; gap: 4px !important; }
  .bj-seat-avatar-wrap { width: 27px !important; height: 27px !important; }
  .bj-seat-copy strong { font-size: 6px !important; max-width: 39px !important; }
  .bj-seat-copy span { font-size: 5px !important; }
  .bj-seat-hands { min-height: 62px !important; }
  .bj-seat-card-row { min-height: 47px !important; }
  .blackjack-multiplayer-shell .bj-seat-card-row .playing-card {
    width: 32px !important; height: 46px !important; margin-left: -18px !important; padding: 3px !important;
  }
  .blackjack-multiplayer-shell .bj-seat-card-row .card-rank { font-size: 8px !important; }
  .blackjack-multiplayer-shell .bj-seat-card-row .card-suit { font-size: 7px !important; }
  .blackjack-multiplayer-shell .bj-seat-card-row .card-suit-big { font-size: 16px !important; }
  .blackjack-multiplayer-shell .bj-seat-score { min-width: 20px !important; height: 18px !important; font-size: 7px !important; }
  .bj-seat-1 { left: 1% !important; bottom: 132px !important; }
  .bj-seat-2 { left: 13% !important; bottom: 38px !important; }
  .bj-seat-3 { left: 50% !important; bottom: 4px !important; }
  .bj-seat-4 { right: 13% !important; bottom: 38px !important; }
  .bj-seat-5 { right: 1% !important; bottom: 132px !important; }
  .bj-insurance-card { width: calc(100% - 20px) !important; padding: 17px 13px !important; }

  /* ---------- MINES MOBILE ---------- */
  .mines-shell { grid-template-columns: 1fr !important; }
  .mines-controls { padding: 13px !important; border-right: 0 !important; border-bottom: 1px solid rgba(100,190,245,.12) !important; }
  .mines-game-area {
    min-height: 0 !important;
    padding: 18px 10px 20px !important;
  }
  .mines-board-head { margin-bottom: 16px !important; }
  .mines-board-head > div:first-child strong { font-size: 22px !important; }
  .mines-board { width: 100% !important; gap: 6px !important; margin: 12px auto !important; }
  .mines-tile { border-radius: 9px !important; }
  .mines-tile-gem, .mines-tile-bomb { font-size: 22px !important; }
  .mines-board-footer { margin-top: 14px !important; gap: 7px !important; }
  .mines-history-panel { padding: 13px !important; border-left: 0 !important; border-top: 1px solid rgba(100,190,245,.12) !important; }

  /* ---------- CRASH MOBILE ---------- */
  .crash-shell { grid-template-columns: 1fr !important; }
  .crash-left-panel { padding: 12px !important; border-right: 0 !important; border-bottom: 1px solid rgba(100,190,245,.12) !important; }
  .crash-bet-card { padding: 12px !important; }
  .crash-player-list { max-height: 150px !important; min-height: 70px !important; }
  .crash-stage { min-height: 430px !important; height: 430px !important; }
  .crash-history-strip { min-height: 44px !important; padding: 7px 9px !important; overflow-x: auto !important; }
  .crash-stage-center { min-height: 0 !important; }
  .crash-multiplier { font-size: clamp(48px, 16vw, 72px) !important; }
  .crash-stage-footer { min-height: 42px !important; padding: 7px 10px !important; }

  /* ---------- PLINKO MOBILE ---------- */
  .plinko-shell { grid-template-columns: 1fr !important; }
  .plinko-controls { padding: 13px !important; border-right: 0 !important; border-bottom: 1px solid rgba(100,190,245,.12) !important; }
  .plinko-stage { min-height: 450px !important; height: 450px !important; padding: 13px 6px 8px !important; overflow: hidden !important; }
  .plinko-stage-head { padding-inline: 8px !important; }
  .plinko-board {
    transform: scale(.66) !important;
    transform-origin: top center !important;
    margin-top: 4px !important;
    margin-bottom: -176px !important;
  }
  .plinko-history-panel { padding: 13px !important; border-left: 0 !important; border-top: 1px solid rgba(100,190,245,.12) !important; }

  /* ---------- SLOT MOBILE ---------- */
  .slot-shell,
  .site-slot-page .slot-shell-pro { grid-template-columns: 1fr !important; }
  .slot-controls,
  .site-slot-page .slot-controls { padding: 13px !important; border-right: 0 !important; border-bottom: 1px solid rgba(100,190,245,.12) !important; }
  .slot-machine,
  .site-slot-page .slot-machine-pro { padding: 13px 7px !important; min-width: 0 !important; }
  .slot-reels,
  .site-slot-page .slot-reels-pro { min-height: 270px !important; gap: 3px !important; padding: 5px !important; border-radius: 13px !important; }
  .slot-reel,
  .site-slot-page .slot-reels-pro .slot-reel { gap: 3px !important; padding: 3px !important; }
  .slot-symbol,
  .site-slot-page .slot-reels-pro .slot-symbol { min-height: 73px !important; border-radius: 7px !important; font-size: 24px !important; }
  .site-slot-page .slot-symbol-word { font-size: 7px !important; }
  .site-slot-page .slot-feature-bar { gap: 4px !important; }
  .site-slot-page .slot-feature-bar > div { min-height: 40px !important; padding: 6px !important; }
  .slot-machine-bottom,
  .site-slot-page .slot-machine-bottom-pro { width: 100% !important; gap: 5px !important; }
  .slot-machine-bottom > div,
  .site-slot-page .slot-machine-bottom-pro > div { min-height: 44px !important; }
  .slot-history-panel { padding: 13px !important; border-left: 0 !important; border-top: 1px solid rgba(100,190,245,.12) !important; }
  .site-slot-page .slot-bonus-modal { width: calc(100% - 20px) !important; padding: 18px 13px !important; }

  /* ---------- COIN FLIP MOBILE ---------- */
  .single-game-shell { grid-template-columns: 1fr !important; gap: 10px !important; }
  .single-game-controls,
  .single-game-history { padding: 13px !important; }
  .single-game-controls .bj-bet-row { grid-template-columns: repeat(5,1fr) !important; }
  .single-game-controls .bj-bet-row button { min-width: 0 !important; padding-inline: 2px !important; }
  .single-game-stage { min-height: 390px !important; height: 390px !important; padding: 13px !important; }
  .cf-coin-scene { width: min(250px, 68vw) !important; }
  .cf-stage-label { top: 18px !important; }
  .cf-result { font-size: 20px !important; }

  /* ---------- CHICKEN ROAD MOBILE ---------- */
  .chicken-v2-game {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "stage" "controls" "history" !important;
    gap: 10px !important;
  }
  .chicken-v2-stage { min-height: 470px !important; height: 470px !important; border-radius: 16px !important; }
  .chicken-v2-topbar { left: 7px !important; right: 7px !important; top: 8px !important; gap: 4px !important; }
  .chicken-v2-stat { padding: 7px 6px !important; min-width: 0 !important; }
  .chicken-v2-stat span { font-size: 5.5px !important; }
  .chicken-v2-stat strong { font-size: 11px !important; }
  .chicken-v2-road-window { top: 68px !important; bottom: 44px !important; }
  .chicken-v2-control-deck {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 11px !important;
    border-radius: 16px !important;
  }
  .chicken-v2-bets { grid-template-columns: repeat(5,1fr) !important; gap: 5px !important; }
  .chicken-v2-bets button { min-width: 0 !important; height: 38px !important; }
  .chicken-v2-history-panel { min-height: 0 !important; padding: 13px !important; border-radius: 16px !important; }

  /* ---------- DICE MOBILE ---------- */
  .dice-pro-shell { grid-template-columns: 1fr !important; gap: 10px !important; }
  .dice-pro-controls { padding: 12px !important; gap: 9px !important; display: flex !important; }
  .dice-pro-bet-row { grid-template-columns: repeat(5,1fr) !important; gap: 4px !important; }
  .dice-pro-bet-row button { min-width: 0 !important; height: 38px !important; padding: 0 2px !important; font-size: 8px !important; }
  .dice-pro-stage { min-height: 430px !important; height: auto !important; padding: 12px 8px !important; }
  .dice-pro-history-strip { overflow-x: auto !important; min-height: 40px !important; }
  .dice-pro-board { min-height: 285px !important; padding: 50px 0 20px !important; }
  .dice-pro-scale-labels { left: 8px !important; right: 8px !important; font-size: 9px !important; }
  .dice-pro-track-wrap { width: calc(100% - 12px) !important; }
  .dice-pro-stats { grid-template-columns: repeat(3,1fr) !important; }
  .dice-pro-stats > div { padding: 10px 7px !important; }
  .dice-pro-stats span { font-size: 6px !important; }
  .dice-pro-stats strong { font-size: 12px !important; }
}

@media (max-width: 480px) {
  .logo { font-size: 16px !important; max-width: calc(100vw - 142px); }
  .topbar .header-twitch-user strong { font-size: 10px !important; }

  .section { padding-left: 12px !important; padding-right: 12px !important; }
  .partner-card-content { padding: 22px 16px 18px !important; }
  .partner-code { align-items: stretch !important; }
  .partner-code-text { min-width: 0; }
  .copy-code { min-width: 66px !important; padding-inline: 8px !important; }

  .blackjack-titlebar,
  .mines-titlebar,
  .crash-titlebar,
  .plinko-titlebar,
  .slot-titlebar,
  .chicken-v2-titlebar,
  .dice-pro-titlebar { grid-template-columns: minmax(0,1fr) 84px !important; }
  .blackjack-wallet { min-width: 84px !important; }
  .blackjack-wallet strong { font-size: 15px !important; }

  .blackjack-multiplayer-shell .bj-multiplayer-table { height: 535px !important; min-height: 535px !important; }
  .bj-chat-panel { width: 122px !important; height: 102px !important; }
  .bj-seat { width: 78px !important; }
  .bj-seat-circle { width: 72px !important; }
  .bj-seat-1, .bj-seat-5 { bottom: 125px !important; }
  .bj-seat-2, .bj-seat-4 { bottom: 34px !important; }
  .blackjack-multiplayer-shell .bj-seat-card-row .playing-card { width: 29px !important; height: 42px !important; margin-left: -17px !important; }

  .plinko-stage { height: 420px !important; min-height: 420px !important; }
  .plinko-board { transform: scale(.60) !important; margin-bottom: -218px !important; }

  .slot-reels,
  .site-slot-page .slot-reels-pro { min-height: 245px !important; }
  .slot-symbol,
  .site-slot-page .slot-reels-pro .slot-symbol { min-height: 65px !important; font-size: 21px !important; }

  .single-game-controls .bj-bet-row { grid-template-columns: repeat(5,minmax(0,1fr)) !important; gap: 4px !important; }
  .single-game-controls .bj-bet-row button { font-size: 8px !important; }
  .single-game-stage { height: 365px !important; min-height: 365px !important; }

  .chicken-v2-stage { height: 430px !important; min-height: 430px !important; }
  .chicken-v2-stat.is-risk { display: none !important; }
  .chicken-v2-topbar { grid-template-columns: repeat(3,1fr) !important; }

  .dice-pro-stage { min-height: 400px !important; }
  .dice-pro-threshold { width: 22px !important; }
  .dice-pro-result-marker img { width: 42px !important; height: 42px !important; }
}


/* =========================================================
   CRASH UPGRADE — FOGUETÃO + FX CINEMÁTICOS
   ========================================================= */
.crash-stage{
  --crash-progress:0;
  background:
    radial-gradient(circle at 78% 16%,rgba(255,174,70,.11),transparent 16%),
    radial-gradient(circle at 64% 24%,rgba(255,110,54,.10),transparent 22%),
    radial-gradient(circle at 50% 52%,rgba(42,136,222,.16),transparent 42%),
    linear-gradient(180deg,#030814 0%,#06111d 22%,#08182a 58%,#071322 100%);
}
.crash-stage::before{
  opacity:.84;
  background-image:
    radial-gradient(circle at 8% 18%,rgba(255,255,255,.8) 0 1px,transparent 2px),
    radial-gradient(circle at 17% 62%,rgba(164,210,255,.75) 0 1.3px,transparent 2.4px),
    radial-gradient(circle at 28% 33%,rgba(255,255,255,.62) 0 1px,transparent 2px),
    radial-gradient(circle at 42% 14%,rgba(136,197,255,.72) 0 1.2px,transparent 2px),
    radial-gradient(circle at 55% 73%,rgba(255,255,255,.58) 0 1px,transparent 2px),
    radial-gradient(circle at 68% 45%,rgba(154,209,255,.78) 0 1px,transparent 2px),
    radial-gradient(circle at 79% 17%,rgba(255,255,255,.72) 0 1px,transparent 2px),
    radial-gradient(circle at 89% 64%,rgba(146,206,255,.7) 0 1px,transparent 2px),
    linear-gradient(100deg,transparent 0 32%,rgba(90,191,255,.05) 42%,transparent 53%),
    linear-gradient(120deg,transparent 0 52%,rgba(255,149,74,.06) 62%,transparent 76%);
  background-size:260px 240px,310px 270px,230px 250px,290px 280px,270px 240px,340px 310px,250px 260px,300px 290px,100% 100%,100% 100%;
  animation:crashStarsDrift 20s linear infinite;
}
.crash-stage::after{
  background:
    radial-gradient(ellipse at 50% 100%,rgba(89,168,233,.12),rgba(7,16,28,.0) 54%),
    linear-gradient(180deg,transparent 62%,rgba(4,11,19,.35) 80%,rgba(2,6,13,.85));
}
.crash-space-glow{
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 170px rgba(0,0,0,.48), inset 0 0 60px rgba(78,182,255,.05);
}
.crash-space-glow::before,
.crash-space-glow::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}
.crash-space-glow::before{
  width:420px;
  height:420px;
  right:-90px;
  top:-90px;
  background:radial-gradient(circle,rgba(255,168,73,.12),rgba(255,109,57,.06) 40%,rgba(255,109,57,0) 72%);
  filter:blur(8px);
}
.crash-space-glow::after{
  width:540px;
  height:540px;
  left:-140px;
  bottom:-230px;
  background:radial-gradient(circle,rgba(44,157,255,.12),rgba(44,157,255,.03) 46%,rgba(44,157,255,0) 74%);
  filter:blur(18px);
}
.crash-stage-center::before{
  content:"";
  position:absolute;
  right:5.8%;
  top:7.5%;
  width:170px;
  height:170px;
  border-radius:50%;
  background:
    radial-gradient(circle at 33% 33%,#ffffff 0 8%,#f4f8fd 17%,#d9e6f5 34%,#b7cae1 55%,#7f98b4 73%,rgba(95,118,146,.26) 82%,transparent 100%);
  box-shadow:0 0 34px rgba(216,232,255,.2),0 0 110px rgba(83,133,195,.18);
  opacity:.96;
  z-index:0;
}
.crash-stage-center::after{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:-108px;
  height:270px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(50,94,132,.44),rgba(11,28,45,.94) 57%,#05101b 72%);
  box-shadow:0 -16px 80px rgba(56,147,210,.12);
  z-index:0;
}
.crash-stage.is-running .crash-space-glow::before{animation:crashPulseGlow 2.4s ease-in-out infinite}
.crash-stage.is-running .crash-space-glow::after{animation:crashPulseGlow 3s ease-in-out infinite reverse}
.crash-chart{
  inset:10.5% 2.6% 3.8% 1.5%;
  width:96%;
  height:85%;
}
.crash-chart-grid{stroke:rgba(127,178,211,.08);stroke-dasharray:6 11}
.crash-chart-path-glow{
  stroke:rgba(255,164,79,.24);
  stroke-width:20;
  filter:blur(10px);
}
.crash-chart-path{
  stroke-width:4.2;
}
.crash-multiplier{
  opacity:.2;
  color:#dcebf7;
  text-shadow:0 12px 40px rgba(0,0,0,.48),0 0 32px rgba(109,210,255,.12);
}
.crash-multiplier.is-running{
  color:#f4fbff;
  text-shadow:0 14px 42px rgba(0,0,0,.46),0 0 30px rgba(255,168,73,.18),0 0 46px rgba(100,204,255,.12);
}
.crash-multiplier.is-crashed{
  color:#ff7b88;
  text-shadow:0 14px 42px rgba(0,0,0,.46),0 0 38px rgba(255,85,108,.24);
}
.crash-wait-card{
  border-color:rgba(91,181,237,.18);
  background:linear-gradient(180deg,rgba(13,28,44,.9),rgba(10,24,38,.84));
  box-shadow:0 20px 56px rgba(0,0,0,.28), inset 0 0 24px rgba(88,178,234,.05);
}
.crash-rocket{
  position:absolute;
  left:9%;
  top:84%;
  z-index:6;
  width:230px;
  height:230px;
  display:block;
  transform:translate(-50%,-50%) rotate(5deg) scale(.88);
  transform-origin:center;
  transition:left .075s linear,top .075s linear,transform .075s linear,opacity .14s ease,filter .14s ease;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.35)) drop-shadow(0 0 24px rgba(255,178,83,.12));
  will-change:left,top,transform;
  pointer-events:none;
}
.crash-rocket[hidden]{display:none!important}
.crash-rocket-aura{
  position:absolute;
  inset:28% 16% 12% 30%;
  z-index:0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,183,91,.34),rgba(255,183,91,.12) 42%,rgba(255,183,91,0) 70%);
  filter:blur(12px);
  opacity:.95;
  animation:crashRocketAura 1.5s ease-in-out infinite;
}
.crash-rocket-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:3;
  object-fit:contain;
  user-select:none;
  -webkit-user-drag:none;
  animation:crashRocketBob .5s ease-in-out infinite alternate;
}
.crash-rocket-trail{
  position:absolute;
  left:20px;
  top:125px;
  width:185px;
  height:94px;
  z-index:1;
  transform:translate(-102%,-50%) rotate(-10deg) scaleX(calc(.9 + var(--crash-progress) * .65));
  transform-origin:right center;
  opacity:calc(.82 + var(--crash-progress) * .18);
  filter:saturate(1.12);
}
.crash-trail-flame,
.crash-trail-cloud,
.crash-trail-particle{
  position:absolute;
  pointer-events:none;
}
.crash-trail-flame-outer{
  left:0;
  top:18px;
  width:170px;
  height:56px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,92,46,0) 0%,rgba(255,150,52,.55) 12%,rgba(255,208,104,.95) 52%,rgba(255,255,241,.76) 100%);
  filter:blur(10px);
  opacity:.92;
  animation:crashTrailFlicker .26s ease-in-out infinite alternate;
}
.crash-trail-flame-core{
  left:35px;
  top:29px;
  width:138px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,122,55,0) 0%,rgba(255,162,56,.72) 18%,rgba(255,221,145,.95) 54%,rgba(255,255,255,.98) 100%);
  box-shadow:0 0 18px rgba(255,193,99,.5);
  filter:blur(2px);
  animation:crashTrailCore .18s ease-in-out infinite alternate;
}
.crash-trail-cloud{
  left:-26px;
  top:20px;
  width:112px;
  height:54px;
  border-radius:999px;
  background:
    radial-gradient(circle at 18% 54%,rgba(255,255,255,.76) 0 18px,transparent 19px),
    radial-gradient(circle at 36% 36%,rgba(255,243,232,.88) 0 20px,transparent 21px),
    radial-gradient(circle at 58% 54%,rgba(255,233,209,.74) 0 23px,transparent 24px),
    radial-gradient(circle at 84% 58%,rgba(255,221,183,.58) 0 15px,transparent 16px);
  filter:blur(1px) drop-shadow(0 0 12px rgba(255,183,90,.18));
  opacity:.88;
  animation:crashCloudPulse .34s ease-in-out infinite alternate;
}
.crash-trail-particle{
  width:10px;
  height:10px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,247,224,.95),rgba(255,189,81,.92) 46%,rgba(255,93,42,.0) 72%);
  box-shadow:0 0 12px rgba(255,190,88,.48);
  opacity:.72;
}
.crash-trail-particle.p1{left:18px;top:10px;animation:crashSpark1 .72s linear infinite}
.crash-trail-particle.p2{left:40px;top:70px;width:8px;height:8px;animation:crashSpark2 .66s linear infinite .08s}
.crash-trail-particle.p3{left:74px;top:8px;width:7px;height:7px;animation:crashSpark3 .62s linear infinite .14s}
.crash-trail-particle.p4{left:96px;top:62px;width:9px;height:9px;animation:crashSpark4 .76s linear infinite .03s}
.crash-stage.is-running .crash-rocket{
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.35)) drop-shadow(0 0 24px rgba(255,180,82,.16)) drop-shadow(0 0 32px rgba(96,198,255,.1));
}
.crash-stage.is-crashed .crash-rocket{filter:drop-shadow(0 0 36px rgba(255,103,78,.28))}
.crash-stage.is-waiting .crash-rocket-trail{opacity:.55}
.crash-stage-footer{
  min-height:58px;
  background:linear-gradient(180deg,rgba(3,11,19,.0),rgba(4,12,21,.64));
}
.crash-explosion{
  position:absolute;
  width:34px;
  height:34px;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  z-index:8;
  --blast-scale:1;
  transform:translate(-50%,-50%) scale(.15);
  background:radial-gradient(circle,#ffffff 0%,#fff0b8 14%,#ffbd59 30%,#ff7f48 48%,#ff4f49 62%,rgba(255,79,73,0) 80%);
  box-shadow:0 0 34px rgba(255,184,88,.75),0 0 78px rgba(255,99,63,.45);
}
.crash-explosion::before,
.crash-explosion::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:24px;
  height:24px;
  border-radius:50%;
  border:2px solid rgba(255,216,136,.58);
  transform:translate(-50%,-50%) scale(.2);
}
.crash-explosion::after{border-color:rgba(255,111,74,.48)}
.crash-explosion.is-active{animation:crashBoom .94s cubic-bezier(.18,.84,.18,1) both}
.crash-explosion.is-active::before{animation:crashBoomRing .94s ease-out both}
.crash-explosion.is-active::after{animation:crashBoomRing2 .94s ease-out both}
.crash-rocket.is-blast{opacity:0;transition:opacity .08s linear}
@keyframes crashStarsDrift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(-18px,12px,0)}}
@keyframes crashPulseGlow{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.06);opacity:1}}
@keyframes crashRocketBob{0%{transform:translateY(0)}100%{transform:translateY(-4px)}}
@keyframes crashRocketAura{0%,100%{transform:scale(.96);opacity:.72}50%{transform:scale(1.08);opacity:1}}
@keyframes crashTrailFlicker{0%{transform:scaleX(.92) scaleY(.92);opacity:.82}100%{transform:scaleX(1.04) scaleY(1.08);opacity:1}}
@keyframes crashTrailCore{0%{transform:scaleX(.95);opacity:.84}100%{transform:scaleX(1.06);opacity:1}}
@keyframes crashCloudPulse{0%{transform:translateX(0) scale(.96);opacity:.76}100%{transform:translateX(-5px) scale(1.06);opacity:.92}}
@keyframes crashSpark1{0%{transform:translate(0,0) scale(.55);opacity:0}18%{opacity:1}100%{transform:translate(-54px,-16px) scale(1.18);opacity:0}}
@keyframes crashSpark2{0%{transform:translate(0,0) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(-68px,10px) scale(1.08);opacity:0}}
@keyframes crashSpark3{0%{transform:translate(0,0) scale(.35);opacity:0}14%{opacity:1}100%{transform:translate(-74px,-10px) scale(1.1);opacity:0}}
@keyframes crashSpark4{0%{transform:translate(0,0) scale(.4);opacity:0}16%{opacity:1}100%{transform:translate(-78px,18px) scale(1.2);opacity:0}}
@keyframes crashBoom{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}
  16%{opacity:1;transform:translate(-50%,-50%) scale(calc(1.9 * var(--blast-scale)))}
  56%{opacity:1;transform:translate(-50%,-50%) scale(calc(4.2 * var(--blast-scale)))}
  100%{opacity:0;transform:translate(-50%,-50%) scale(calc(5.8 * var(--blast-scale)))}
}
@keyframes crashBoomRing{0%{opacity:.9;transform:translate(-50%,-50%) scale(.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(calc(7.6 * var(--blast-scale)))}}
@keyframes crashBoomRing2{0%{opacity:.8;transform:translate(-50%,-50%) scale(.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(calc(6.1 * var(--blast-scale)))}}
@media (max-width:1200px){
  .crash-rocket{width:200px;height:200px}
  .crash-rocket-trail{left:18px;top:108px;width:158px;height:82px}
}
@media (max-width:820px){
  .crash-stage{min-height:690px}
  .crash-stage-center{min-height:570px}
  .crash-stage-center::before{width:126px;height:126px;right:5%;top:8%}
  .crash-rocket{width:168px;height:168px}
  .crash-rocket-trail{left:14px;top:92px;width:134px;height:68px}
  .crash-trail-flame-outer{width:132px;height:46px;top:12px}
  .crash-trail-flame-core{width:104px;height:22px;left:28px;top:23px}
  .crash-trail-cloud{width:88px;height:42px;top:13px;left:-16px}
}
@media (max-width:560px){
  .crash-stage{min-height:600px}
  .crash-stage-center{min-height:450px}
  .crash-chart{inset:11.5% 1% 5% 0; width:99%; height:82%}
  .crash-axis-labels{left:2px;top:14%;width:34px}
  .crash-axis-labels span{font-size:7px}
  .crash-multiplier{font-size:clamp(34px,13vw,60px);letter-spacing:-2px}
  .crash-rocket{width:132px;height:132px}
  .crash-rocket-trail{left:10px;top:74px;width:110px;height:56px}
  .crash-trail-flame-outer{width:108px;height:32px;top:10px;filter:blur(8px)}
  .crash-trail-flame-core{width:86px;height:18px;left:20px;top:17px}
  .crash-trail-cloud{width:68px;height:32px;top:10px;left:-12px}
  .crash-trail-particle{display:none}
}


/* =========================================================
   CRASH TUNING 2 — TAMANHO / TIMING / EXPLOSÃO
   ========================================================= */
.crash-rocket{
  width:168px;
  height:168px;
  transition:left .015s linear,top .015s linear,transform .015s linear,opacity .12s ease,filter .12s ease;
}
.crash-rocket-aura{
  inset:30% 18% 16% 31%;
  filter:blur(10px);
  opacity:.82;
}
.crash-rocket-img{
  transform:translateZ(0);
}
.crash-rocket-trail{
  left:56px;
  top:118px;
  width:132px;
  height:62px;
  transform:translate(-96%,-50%) rotate(-11deg) scaleX(calc(.88 + var(--crash-progress) * .5));
  transform-origin:right center;
}
.crash-trail-flame-outer{
  top:16px;
  width:124px;
  height:34px;
  background:linear-gradient(90deg,rgba(255,120,56,0) 0%,rgba(255,141,49,.35) 12%,rgba(255,165,56,.65) 26%,rgba(255,201,104,.9) 58%,rgba(255,247,206,1) 100%);
  filter:blur(7px);
}
.crash-trail-flame-core{
  left:24px;
  top:23px;
  width:102px;
  height:16px;
  background:linear-gradient(90deg,rgba(255,124,55,0) 0%,rgba(255,149,54,.65) 18%,rgba(255,212,116,.96) 58%,rgba(255,255,255,.98) 100%);
  box-shadow:0 0 14px rgba(255,193,99,.45);
}
.crash-trail-cloud{
  left:-12px;
  top:16px;
  width:58px;
  height:28px;
  background:
    radial-gradient(circle at 18% 54%,rgba(255,248,240,.82) 0 10px,transparent 11px),
    radial-gradient(circle at 40% 36%,rgba(255,239,221,.76) 0 11px,transparent 12px),
    radial-gradient(circle at 68% 58%,rgba(255,224,190,.54) 0 12px,transparent 13px);
  filter:blur(1px) drop-shadow(0 0 8px rgba(255,183,90,.12));
  opacity:.65;
}
.crash-trail-particle.p1{left:14px;top:10px}
.crash-trail-particle.p2{left:28px;top:45px}
.crash-trail-particle.p3{left:56px;top:12px}
.crash-trail-particle.p4{left:74px;top:40px}
.crash-explosion{
  width:170px;
  height:170px;
  background:none;
  box-shadow:none;
  overflow:visible;
}
.crash-explosion img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 0 22px rgba(255,171,72,.35));
}
.crash-explosion::before,
.crash-explosion::after{display:none}
.crash-explosion.is-active{animation:crashExplosionSprite .7s cubic-bezier(.18,.84,.22,1) both}
.crash-stage.is-running .crash-chart-path-glow{opacity:.9}
.crash-stage.is-running .crash-chart-path{filter:url(#crashGlow) drop-shadow(0 0 8px rgba(255,179,85,.22))}
@keyframes crashExplosionSprite{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}
  14%{opacity:1;transform:translate(-50%,-50%) scale(calc(.7 * var(--blast-scale)))}
  38%{opacity:1;transform:translate(-50%,-50%) scale(calc(1.05 * var(--blast-scale)))}
  100%{opacity:0;transform:translate(-50%,-50%) scale(calc(1.45 * var(--blast-scale)))}
}
@media (max-width:1200px){
  .crash-rocket{width:152px;height:152px}
  .crash-rocket-trail{left:50px;top:106px;width:120px;height:56px}
  .crash-trail-flame-outer{width:112px;height:30px}
  .crash-trail-flame-core{width:92px;left:22px}
}
@media (max-width:820px){
  .crash-rocket{width:136px;height:136px}
  .crash-rocket-trail{left:44px;top:96px;width:104px;height:48px}
  .crash-trail-flame-outer{width:98px;height:26px;top:11px}
  .crash-trail-flame-core{width:80px;height:14px;left:18px;top:17px}
  .crash-trail-cloud{width:48px;height:24px;top:12px;left:-10px}
  .crash-explosion{width:132px;height:132px}
}
@media (max-width:560px){
  .crash-rocket{width:114px;height:114px}
  .crash-rocket-trail{left:36px;top:80px;width:90px;height:40px}
  .crash-trail-flame-outer{width:84px;height:22px;top:9px}
  .crash-trail-flame-core{width:68px;height:12px;left:16px;top:14px}
  .crash-trail-cloud{display:none}
  .crash-explosion{width:104px;height:104px}
}

/* =========================================================
   SLOT FROZEN FISHING — 22/08/2026
   Layout original inspirado em slots de pesca de casino.
   Só afeta a página .fishing-slot-page.
   ========================================================= */
.fishing-slot-page{
  background:
    radial-gradient(circle at 50% 10%,rgba(23,150,235,.13),transparent 34%),
    linear-gradient(180deg,#04111d 0%,#020811 100%);
}
.fishing-slot-main{width:min(1540px,96%);padding-top:108px}
.fishing-slot-titlebar p{margin:8px 0 0;color:#627f95;font-size:10px;font-weight:700}
.fishing-slot-shell{
  grid-template-columns:minmax(250px,288px) minmax(620px,1fr) minmax(235px,275px)!important;
  min-height:720px!important;
  border-color:rgba(75,190,244,.2);
  border-radius:20px;
  background:#04101a;
  box-shadow:0 32px 90px rgba(0,0,0,.46),0 0 60px rgba(34,157,222,.06);
}
.fishing-slot-controls{
  padding:20px!important;
  background:linear-gradient(180deg,rgba(7,29,44,.98),rgba(4,18,29,.99))!important;
}
.fishing-control-head{display:grid;gap:4px;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid rgba(95,190,239,.1)}
.fishing-control-head span{color:#59c8fa;font-size:7px;font-weight:950;letter-spacing:1.45px}
.fishing-control-head strong{color:#eefaff;font-size:13px;font-weight:950}
.fishing-bet-block{padding:14px!important;border-color:rgba(85,184,235,.14)!important;background:rgba(4,18,30,.55)!important}
.fishing-bet-input-wrap{margin-top:7px}
.fishing-slot-page .slot-bet-row button.is-active{border-color:rgba(91,208,255,.72);background:linear-gradient(180deg,#164f70,#0c354f);color:#f4fcff;box-shadow:0 0 18px rgba(63,190,245,.14)}

.slot-boost-card{
  position:relative;
  min-height:92px;
  margin-top:14px;
  padding:13px 48px 13px 13px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  overflow:hidden;
  border:1px solid rgba(255,192,74,.24);
  border-radius:13px;
  background:
    radial-gradient(circle at 100% 50%,rgba(255,177,55,.18),transparent 48%),
    linear-gradient(180deg,rgba(31,33,28,.86),rgba(17,26,29,.92));
  cursor:pointer;
  transition:.2s ease;
}
.slot-boost-card:hover{border-color:rgba(255,193,76,.42);transform:translateY(-1px)}
.slot-boost-card.is-active{border-color:rgba(255,194,67,.65);box-shadow:0 0 28px rgba(255,172,55,.1),inset 0 0 22px rgba(255,177,55,.05)}
.slot-boost-card>input{position:absolute;opacity:0;pointer-events:none}
.slot-boost-switch{width:38px;height:21px;padding:2px;display:block;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:#081620;transition:.2s ease}
.slot-boost-switch i{display:block;width:15px;height:15px;border-radius:50%;background:#6b8190;transition:.2s ease;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.slot-boost-card input:checked+.slot-boost-switch{background:#bb761d;border-color:#ffc55d}
.slot-boost-card input:checked+.slot-boost-switch i{transform:translateX(17px);background:#fff6df;box-shadow:0 0 12px rgba(255,209,114,.55)}
.slot-boost-copy{min-width:0;display:grid;gap:3px}
.slot-boost-copy b{color:#fff7e8;font-size:10px;font-weight:950;letter-spacing:.25px}
.slot-boost-copy small{color:#9d8a6c;font-size:7px;font-weight:750;line-height:1.35}
.slot-boost-badge{padding:5px 7px;border-radius:7px;background:rgba(255,181,62,.13);color:#ffd27b;font-size:8px;font-weight:950}
.slot-boost-card>img{position:absolute;right:-17px;bottom:-22px;width:82px;height:82px;object-fit:contain;opacity:.25;filter:drop-shadow(0 0 12px rgba(255,174,58,.22));pointer-events:none}
.slot-boost-card:has(input:disabled){opacity:.46;cursor:not-allowed}

.slot-cost-card{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
.slot-cost-card>div{min-height:48px;display:grid;place-content:center;gap:3px;text-align:center;border:1px solid rgba(83,179,229,.1);border-radius:10px;background:rgba(5,19,31,.66)}
.slot-cost-card span{color:#577a91;font-size:6px;font-weight:950;letter-spacing:1px}
.slot-cost-card strong{color:#eaf8ff;font-size:14px;font-weight:950}
.slot-cost-card>div:last-child strong{color:#77d7ff}
.fishing-spin-btn{min-height:60px!important;margin-top:11px!important;display:grid!important;place-content:center;gap:2px;border-radius:12px!important;background:linear-gradient(180deg,#ecfbff,#94ddff)!important;box-shadow:0 12px 30px rgba(53,183,244,.2),inset 0 1px 0 #fff!important}
.fishing-spin-btn span{color:#05131d;font-size:14px;font-weight:950;letter-spacing:1.2px}
.fishing-spin-btn small{color:#164b68;font-size:7px;font-weight:900;letter-spacing:.8px}
.fishing-slot-message{min-height:50px;margin-top:10px!important}
.slot-rules-card{display:grid;gap:8px;margin-top:13px;padding:13px;border:1px solid rgba(84,180,230,.1);border-radius:12px;background:rgba(5,18,29,.58)}
.slot-rules-card>span{color:#5fc8f5;font-size:7px;font-weight:950;letter-spacing:1.2px}
.slot-rules-card>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;min-height:42px;padding:6px;border-radius:8px;background:rgba(255,255,255,.025)}
.slot-rules-card img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.26))}
.slot-rules-card p{margin:0;display:grid;gap:2px}
.slot-rules-card b{color:#dfeef6;font-size:8px;font-weight:950}
.slot-rules-card small{color:#647f90;font-size:7px;font-weight:700;line-height:1.3}

.fishing-slot-machine{
  min-height:720px;
  justify-content:flex-start!important;
  padding:20px 18px 18px!important;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(3,20,31,.16),rgba(2,14,24,.36)),
    url('assets/images/walpaper.png') center/cover no-repeat!important;
}
.fishing-slot-machine::before{
  content:"";
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 50% 10%,rgba(99,226,255,.18),transparent 32%),
    linear-gradient(180deg,rgba(1,11,18,.05),rgba(2,12,20,.42) 72%,rgba(2,9,16,.72));
  box-shadow:inset 0 0 90px rgba(0,8,15,.44);
}
.fishing-slot-page.slot-bonus-active .fishing-slot-machine::before{
  background:
    radial-gradient(circle at 50% 4%,rgba(107,237,255,.25),transparent 34%),
    radial-gradient(circle at 50% 54%,rgba(52,181,239,.08),transparent 45%),
    linear-gradient(180deg,rgba(1,13,20,.02),rgba(2,12,20,.36) 72%,rgba(2,9,16,.66));
}
.fishing-slot-machine .slot-machine-glow{width:760px;height:760px;opacity:.55;background:radial-gradient(circle,rgba(84,217,255,.12),transparent 66%)}
.fishing-slot-machine .slot-machine-particles{opacity:.5;mix-blend-mode:screen}
.fishing-slot-logo{position:relative;z-index:4;display:grid;justify-items:center;gap:0;margin:-3px 0 4px;text-align:center;text-shadow:0 4px 18px rgba(0,0,0,.45)}
.fishing-slot-logo span{color:#b8f0ff;font-size:7px;font-weight:950;letter-spacing:2.8px}
.fishing-slot-logo strong{margin-top:1px;color:#fff;font-size:24px;line-height:1;font-weight:950;font-style:italic;letter-spacing:-1.2px;text-shadow:0 2px 0 #0c5a86,0 0 22px rgba(87,217,255,.42),0 6px 18px rgba(0,0,0,.5)}
.fishing-slot-logo small{margin-top:2px;color:#6fd6ff;font-size:6px;font-weight:950;letter-spacing:2px}
.fishing-slot-top{width:min(800px,100%)!important;min-height:34px;margin-bottom:7px!important;padding:0 9px!important;border:1px solid rgba(112,216,255,.12);border-radius:9px;background:rgba(1,17,27,.48);backdrop-filter:blur(5px)}
.fishing-slot-top>div{display:flex!important;align-items:center!important;gap:8px!important}
.fishing-slot-top>div>span{color:#85ddff!important;font-size:7px!important;letter-spacing:1.2px!important}
.fishing-slot-top>div>small{color:#5d8ca3!important;font-size:6px!important;letter-spacing:1px!important}
.fishing-slot-top>strong{color:#eaf9ff!important;font-size:10px!important}
.fishing-slot-top>strong.is-win{color:#9dffd0!important;text-shadow:0 0 15px rgba(82,235,163,.3)}

.fishing-feature-bar{width:min(800px,100%)!important;grid-template-columns:110px 150px 130px minmax(180px,1fr)!important;gap:6px!important;margin-bottom:7px!important}
.fishing-feature-bar>div{min-height:43px!important;border-color:rgba(93,211,255,.18)!important;background:rgba(3,25,38,.72)!important;backdrop-filter:blur(5px)}
.fishing-feature-stat span,.slot-collector-meter-wrap>span{color:#6191a7!important;font-size:6px!important;letter-spacing:.9px!important}
.fishing-feature-stat strong{font-size:13px!important}
.fishing-feature-multiplier strong{color:#ffd878!important;text-shadow:0 0 14px rgba(255,188,61,.25)!important}
.slot-collector-meter-wrap{display:grid!important;grid-template-columns:auto 1fr!important;align-items:center!important;gap:8px!important;padding:5px 8px!important;place-content:unset!important;text-align:left!important}
.slot-collector-meter{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.slot-collector-meter i{height:31px;display:grid;place-items:center;border:1px solid rgba(100,198,239,.13);border-radius:6px;background:rgba(2,13,21,.65);box-shadow:inset 0 0 12px rgba(0,0,0,.22)}
.slot-collector-meter i::before{content:"";width:5px;height:5px;border-radius:50%;background:#31566a;box-shadow:0 0 6px rgba(90,197,247,.2)}
.slot-collector-meter i.is-filled{border-color:rgba(255,199,81,.42);background:linear-gradient(180deg,rgba(71,51,15,.7),rgba(25,30,27,.8));box-shadow:0 0 12px rgba(255,182,51,.08)}
.slot-collector-meter i.is-filled::before{display:none}
.slot-collector-meter img{width:29px;height:29px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}

.fishing-slot-reels{
  width:min(800px,100%)!important;
  min-height:438px!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:5px!important;
  padding:10px!important;
  border:2px solid rgba(124,221,255,.3)!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,rgba(7,50,65,.8),rgba(3,26,39,.86))!important;
  box-shadow:0 22px 54px rgba(0,0,0,.4),inset 0 0 28px rgba(87,208,255,.05),0 0 24px rgba(74,197,245,.08)!important;
  backdrop-filter:blur(4px);
}
.fishing-slot-reels::before{height:28px!important;background:linear-gradient(180deg,rgba(0,13,20,.72),transparent)!important}
.fishing-slot-reels::after{height:28px!important;background:linear-gradient(0deg,rgba(0,13,20,.78),transparent)!important}
.fishing-slot-reels .slot-reel{
  gap:4px!important;
  padding:4px!important;
  border:1px solid rgba(128,221,255,.14)!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,rgba(9,66,78,.68),rgba(4,39,55,.76))!important;
  box-shadow:inset 0 0 26px rgba(0,6,11,.35)!important;
}
.fishing-symbol{
  position:relative;
  min-height:126px!important;
  overflow:hidden;
  border:1px solid rgba(173,234,255,.07)!important;
  border-radius:5px!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(150,237,255,.08),transparent 48%),
    linear-gradient(180deg,rgba(18,91,103,.44),rgba(5,49,67,.53))!important;
  box-shadow:inset 0 0 20px rgba(0,12,19,.2);
  text-shadow:none!important;
  transition:filter .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fishing-symbol::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(125deg,transparent 35%,rgba(255,255,255,.04) 49%,transparent 63%)}
.fishing-image-symbol{width:100%;height:100%;display:grid;place-items:center;padding:3px}
.fishing-image-symbol img{width:92%;height:92%;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(0,0,0,.32));user-select:none}
.fishing-symbol.is-g .fishing-image-symbol img{width:72%;height:72%;filter:drop-shadow(0 0 10px rgba(83,209,255,.25)) drop-shadow(0 4px 5px rgba(0,0,0,.3))}
.fishing-symbol.is-scatter{background:radial-gradient(circle,rgba(255,219,104,.13),transparent 62%),linear-gradient(180deg,rgba(18,79,80,.54),rgba(7,45,58,.58))!important}
.fishing-symbol.is-scatter .fishing-image-symbol img{width:98%;height:98%;filter:drop-shadow(0 0 11px rgba(255,201,70,.27)) drop-shadow(0 5px 7px rgba(0,0,0,.35))}
.fishing-symbol.is-collector .fishing-image-symbol img{width:98%;height:98%;filter:drop-shadow(0 0 10px rgba(89,210,255,.2)) drop-shadow(0 5px 7px rgba(0,0,0,.35))}
.fishing-letter{position:relative;z-index:2;font-size:clamp(40px,4.4vw,67px);font-weight:950;font-style:italic;line-height:1;text-shadow:0 4px 0 rgba(0,0,0,.24),0 0 15px currentColor;-webkit-text-stroke:1px rgba(255,255,255,.28)}
.fishing-letter-ten{color:#ffd34e}
.fishing-letter-j{color:#70f29b}
.fishing-letter-q{color:#ff5f79}
.fishing-letter-k{color:#77a7ff}
.fishing-letter-a{color:#c982ff}
.slot-money-symbol{position:relative;z-index:2;width:100%;height:100%;display:grid;place-items:center;text-align:center}
.slot-money-symbol img{position:absolute;width:82%;height:82%;object-fit:contain;filter:drop-shadow(0 0 12px rgba(69,194,255,.28)) drop-shadow(0 5px 7px rgba(0,0,0,.3))}
.slot-money-symbol b{position:relative;z-index:2;margin-top:4px;color:#f4fcff;font-size:15px;font-weight:950;text-shadow:0 2px 4px #00131f,0 0 8px #007fb9}
.slot-money-symbol small{position:relative;z-index:2;margin-top:-31px;color:#9de8ff;font-size:5px;font-weight:950;letter-spacing:.8px;text-shadow:0 1px 3px #00131f}
.fishing-symbol.is-winning{z-index:3;border-color:rgba(107,236,255,.66)!important;box-shadow:0 0 22px rgba(69,204,255,.33),inset 0 0 20px rgba(85,221,255,.1)!important;animation:fishingSymbolWin .7s ease-in-out infinite alternate}
.fishing-symbol.is-dimmed{filter:saturate(.55) brightness(.62);opacity:.6}
.fishing-symbol.is-scatter-hit{z-index:4;border-color:rgba(255,213,81,.65)!important;box-shadow:0 0 28px rgba(255,187,58,.32)!important;animation:fishingScatterPulse .55s ease-in-out infinite alternate}
.fishing-symbol.is-collector-hit{z-index:4;box-shadow:0 0 27px rgba(91,213,255,.31)!important}
.fishing-symbol.is-coin-collected{animation:fishingCoinCollected .7s ease both}
@keyframes fishingSymbolWin{from{transform:scale(1);filter:brightness(1.05)}to{transform:scale(1.035);filter:brightness(1.25)}}
@keyframes fishingScatterPulse{from{transform:scale(1);filter:brightness(1.04)}to{transform:scale(1.06);filter:brightness(1.3)}}
@keyframes fishingCoinCollected{0%,60%{transform:scale(1);opacity:1}100%{transform:scale(.5);opacity:.12}}
.fishing-slot-reels .slot-reel.is-rolling .fishing-symbol{filter:blur(3px) brightness(.9);transform:translateY(5px) scaleY(1.03)}
.fishing-slot-reels .slot-reel.is-anticipation{animation:fishingAnticipation .38s ease-in-out infinite alternate;box-shadow:inset 0 0 32px rgba(255,188,58,.14),0 0 22px rgba(255,178,45,.12)!important}
@keyframes fishingAnticipation{from{filter:brightness(.96)}to{filter:brightness(1.17)}}
.fishing-slot-reels.is-anticipating{border-color:rgba(255,204,75,.5)!important;box-shadow:0 0 36px rgba(255,184,50,.13),0 22px 54px rgba(0,0,0,.4)!important}

.fishing-slot-bottom{width:min(800px,100%)!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin-top:7px!important}
.fishing-slot-bottom>div{min-height:44px!important;border-color:rgba(94,200,245,.1)!important;background:rgba(2,19,29,.58)!important;backdrop-filter:blur(4px)}
.fishing-slot-bottom span{font-size:6px!important;color:#5e879a!important}
.fishing-slot-bottom strong{font-size:13px!important}

.fishing-history-panel{padding:20px!important;background:linear-gradient(180deg,rgba(7,29,44,.98),rgba(4,18,29,.99))!important}
.fishing-history-panel .bj-history-item strong{font-size:8px;white-space:normal;line-height:1.25}
.fishing-history-panel .bj-history-item span,.fishing-history-panel .bj-history-item small{font-size:6px}

.slot-coin-fly{position:absolute;z-index:30;width:46px;height:46px;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%);animation:fishingCoinFly .82s cubic-bezier(.2,.8,.2,1) var(--coin-delay) both}
.slot-coin-fly img{position:absolute;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 12px rgba(84,217,255,.48))}
.slot-coin-fly b{position:relative;z-index:2;color:#fff;font-size:9px;font-weight:950;text-shadow:0 1px 3px #002235}
@keyframes fishingCoinFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}12%{opacity:1}72%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--coin-x)),calc(-50% + var(--coin-y))) scale(.28) rotate(400deg)}}
.slot-collector-overlay{
  position:absolute;z-index:40;left:50%;top:50%;width:min(470px,84%);min-height:190px;padding:18px 24px 18px 168px;transform:translate(-50%,-50%);align-items:center;
  border:1px solid rgba(111,222,255,.48);border-radius:18px;background:linear-gradient(110deg,rgba(2,24,37,.96),rgba(5,51,64,.92));box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 48px rgba(68,205,255,.18);overflow:hidden;backdrop-filter:blur(10px);animation:fishingCollectorPop .35s cubic-bezier(.2,.85,.2,1.2) both
}
.slot-collector-overlay[hidden]{display:none!important}
.slot-collector-overlay:not([hidden]){display:flex}
.slot-collector-overlay>img{position:absolute;left:8px;bottom:-8px;width:165px;height:165px;object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.35))}
.slot-collector-overlay>div{display:grid;gap:3px}
.slot-collector-overlay span{color:#75ddff;font-size:10px;font-weight:950;letter-spacing:1.3px}
.slot-collector-overlay strong{color:#fff3a6;font-size:38px;line-height:1;font-weight:950;text-shadow:0 0 18px rgba(255,201,67,.26)}
.slot-collector-overlay small{color:#78a5b8;font-size:8px;font-weight:850}
@keyframes fishingCollectorPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.82)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}

.fishing-bonus-intro{
  width:min(470px,84%)!important;min-height:290px!important;padding:24px!important;border-color:rgba(255,211,83,.42)!important;background:radial-gradient(circle at 50% 24%,rgba(255,199,64,.15),transparent 43%),linear-gradient(180deg,rgba(4,36,47,.97),rgba(2,20,31,.98))!important;box-shadow:0 28px 80px rgba(0,0,0,.6),0 0 48px rgba(255,189,52,.12)!important
}
.fishing-bonus-intro img{width:140px;height:120px;object-fit:contain;margin:-18px auto -4px;filter:drop-shadow(0 0 18px rgba(255,199,64,.25))}
.fishing-bonus-intro span{color:#ffd66f!important;font-size:10px!important;letter-spacing:1.8px!important}
.fishing-bonus-intro strong{font-size:32px!important;color:#fff!important;text-shadow:0 0 19px rgba(85,215,255,.22)}
.fishing-bonus-intro small{color:#81bed1!important;font-size:8px!important}
.fishing-win-overlay{background:radial-gradient(circle,rgba(255,203,67,.14),transparent 52%),rgba(2,16,25,.94)!important}

.fishing-slot-machine.is-hook-rush{animation:fishingHookFlash .75s ease both}
.fishing-slot-machine.is-collector-rush .fishing-slot-reels{box-shadow:0 0 42px rgba(90,219,255,.21),0 22px 54px rgba(0,0,0,.4)!important}
.fishing-slot-machine.is-bonus-rush::after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;background:radial-gradient(circle at 50% 48%,rgba(255,207,73,.16),transparent 42%);animation:fishingBonusFlash .9s ease both}
.fishing-slot-machine.is-jackpot-rush{animation:fishingJackpotShake .65s ease-in-out infinite alternate}
@keyframes fishingHookFlash{0%,100%{filter:none}45%{filter:brightness(1.28) saturate(1.15)}}
@keyframes fishingBonusFlash{0%{opacity:0}35%{opacity:1}100%{opacity:0}}
@keyframes fishingJackpotShake{from{filter:brightness(1)}to{filter:brightness(1.08)}}

@media(max-width:1280px){
  .fishing-slot-shell{grid-template-columns:250px minmax(580px,1fr)!important}
  .fishing-history-panel{grid-column:1/-1!important;border-left:0!important;border-top:1px solid rgba(100,190,245,.12)!important}
  .fishing-history-panel .bj-history-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .fishing-slot-reels{min-height:410px!important}
  .fishing-symbol{min-height:116px!important}
}
@media(max-width:900px){
  .fishing-slot-main{width:min(96%,780px)}
  .fishing-slot-shell{grid-template-columns:1fr!important}
  .fishing-slot-controls{border-right:0!important;border-bottom:1px solid rgba(100,190,245,.12)!important}
  .fishing-slot-machine{min-height:650px;padding:16px 10px 14px!important}
  .fishing-feature-bar{grid-template-columns:repeat(3,1fr)!important}
  .slot-collector-meter-wrap{grid-column:1/-1!important}
  .fishing-history-panel{grid-column:auto!important}
  .fishing-history-panel .bj-history-list{grid-template-columns:repeat(2,1fr)!important}
  .fishing-slot-reels{min-height:390px!important}
  .fishing-symbol{min-height:108px!important}
}
@media(max-width:600px){
  .fishing-slot-main{width:100%!important;padding:86px 10px 34px!important}
  .fishing-slot-titlebar{padding-inline:4px}
  .fishing-slot-titlebar p{font-size:8px}
  .fishing-slot-shell{border-radius:14px}
  .fishing-slot-controls{padding:14px!important}
  .slot-rules-card{display:none}
  .slot-boost-card{min-height:78px}
  .fishing-slot-machine{min-height:540px;padding:11px 5px 12px!important}
  .fishing-slot-logo strong{font-size:18px}
  .fishing-slot-logo span{font-size:5px}.fishing-slot-logo small{font-size:5px}
  .fishing-slot-top{width:100%!important;margin-bottom:5px!important}
  .fishing-feature-bar{width:100%!important;grid-template-columns:repeat(3,1fr)!important;gap:4px!important}
  .fishing-feature-bar>div{min-height:38px!important}
  .slot-collector-meter-wrap{grid-column:1/-1!important;min-height:40px!important}
  .slot-collector-meter i{height:27px}
  .slot-collector-meter img{width:25px;height:25px}
  .fishing-slot-reels{width:100%!important;min-height:302px!important;gap:2px!important;padding:5px!important;border-radius:9px!important}
  .fishing-slot-reels .slot-reel{gap:2px!important;padding:2px!important}
  .fishing-symbol{min-height:91px!important;border-radius:4px!important}
  .fishing-letter{font-size:32px!important}
  .fishing-image-symbol img{width:98%;height:98%}
  .slot-money-symbol img{width:94%;height:94%}
  .slot-money-symbol b{font-size:10px}.slot-money-symbol small{font-size:4px;margin-top:-24px}
  .fishing-slot-bottom{width:100%!important;gap:3px!important}
  .fishing-slot-bottom>div{min-height:39px!important}
  .fishing-slot-bottom strong{font-size:10px!important}
  .fishing-history-panel .bj-history-list{grid-template-columns:1fr!important}
  .slot-collector-overlay{width:92%;min-height:145px;padding-left:126px}
  .slot-collector-overlay>img{width:125px;height:125px}
  .slot-collector-overlay strong{font-size:27px}
  .fishing-bonus-intro{width:92%!important;min-height:245px!important}
  .fishing-bonus-intro img{width:115px;height:95px}.fishing-bonus-intro strong{font-size:25px!important}
}

/* =========================================================
   SLOT CASINO V2 — 22/08/2026
   Layout inspirado em slots de pesca de casino, sem alterar
   as restantes páginas do site.
   ========================================================= */
.casino-slot-v2 .casino-slot-main{
  width:min(1240px,96%);
  padding-top:104px;
}
.casino-slot-v2 .casino-slot-titlebar{
  width:min(1180px,100%);
  margin:0 auto 12px;
}
.casino-slot-v2 .casino-slot-titlebar h1{font-size:clamp(32px,4vw,52px)}
.casino-slot-v2 .casino-slot-shell{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  gap:10px;
}
.casino-slot-v2 .casino-slot-stage{
  position:relative;
  min-height:700px;
  display:grid!important;
  grid-template-columns:126px minmax(0,1fr);
  align-items:stretch!important;
  padding:18px 18px 14px!important;
  overflow:hidden;
  border:1px solid rgba(80,201,255,.24);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(0,23,40,.15),rgba(0,12,23,.34)),
    url("assets/images/walpaper.png") center center/cover no-repeat!important;
  box-shadow:0 30px 90px rgba(0,0,0,.52),inset 0 0 90px rgba(0,12,24,.28),0 0 42px rgba(45,180,244,.06);
  isolation:isolate;
}
.casino-slot-v2 .casino-slot-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(1,11,20,.68),rgba(1,12,22,.08) 20%,rgba(0,12,22,.04) 78%,rgba(1,10,19,.42)),
    linear-gradient(180deg,rgba(0,7,14,.08),rgba(0,8,16,.18) 68%,rgba(0,6,12,.56));
}
.casino-slot-v2 .casino-slot-stage>*{position:relative;z-index:2}
.casino-slot-v2 .casino-slot-stage>.slot-machine-glow,
.casino-slot-v2 .casino-slot-stage>.slot-machine-particles,
.casino-slot-v2 .casino-slot-stage>.slot-fx-layer{position:absolute}

.casino-slot-v2 .casino-slot-side{
  align-self:center;
  display:grid;
  gap:8px;
  padding:0 10px 0 0;
}
.casino-slot-v2 .casino-side-bet,
.casino-slot-v2 .casino-side-feature,
.casino-slot-v2 .casino-buy-bonus{
  width:100%;
  min-height:92px;
  border:1px solid rgba(154,225,255,.20);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(3,45,61,.90),rgba(2,28,43,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 8px 22px rgba(0,0,0,.18);
}
.casino-slot-v2 .casino-side-bet{
  display:grid;
  place-content:center;
  gap:1px;
  text-align:center;
}
.casino-slot-v2 .casino-side-bet span,
.casino-slot-v2 .casino-side-bet small{
  color:#8bb8cb;
  font-size:6px;
  font-weight:950;
  letter-spacing:1.1px;
}
.casino-slot-v2 .casino-side-bet strong{color:#fff;font-size:20px;font-weight:950;line-height:1.1}

.casino-slot-v2 .casino-side-feature{
  min-height:112px;
  margin:0;
  padding:9px 8px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  place-items:center;
  align-content:center;
  gap:3px!important;
  cursor:pointer;
  text-align:center;
  border-color:rgba(116,215,255,.22)!important;
  background:linear-gradient(180deg,rgba(6,62,77,.92),rgba(3,36,50,.96))!important;
}
.casino-slot-v2 .casino-side-feature>img,
.casino-slot-v2 .slot-boost-switch,
.casino-slot-v2 .slot-boost-copy,
.casino-slot-v2 .slot-boost-badge{display:none!important}
.casino-slot-v2 .casino-side-feature .casino-side-icon{font-size:20px;line-height:1;filter:drop-shadow(0 0 9px rgba(255,215,80,.4))}
.casino-slot-v2 .casino-side-feature b{color:#f3fbff;font-size:7px;line-height:1.25;font-weight:950;letter-spacing:.45px}
.casino-slot-v2 .casino-side-feature small{color:#ffd568;font-size:7px;font-weight:950;letter-spacing:.5px}
.casino-slot-v2 .casino-side-toggle{
  width:34px;height:18px;padding:2px;display:block;border-radius:999px;background:#102a37;border:1px solid rgba(255,255,255,.11)
}
.casino-slot-v2 .casino-side-toggle i{display:block;width:12px;height:12px;border-radius:50%;background:#718b98;transition:.2s ease}
.casino-slot-v2 .casino-side-feature input:checked~.casino-side-toggle{background:#b8791d;border-color:#ffd365}
.casino-slot-v2 .casino-side-feature input:checked~.casino-side-toggle i{transform:translateX(16px);background:#fff6d9;box-shadow:0 0 9px rgba(255,218,118,.55)}
.casino-slot-v2 .casino-side-feature.is-active{border-color:rgba(255,205,75,.55)!important;box-shadow:0 0 18px rgba(255,187,56,.12)}

.casino-slot-v2 .casino-buy-bonus{
  min-height:132px;
  padding:8px 7px 10px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:1px;
  color:inherit;
  cursor:pointer;
  font-family:inherit;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,211,75,.18),transparent 43%),
    linear-gradient(180deg,rgba(66,31,87,.94),rgba(33,19,54,.98));
  border-color:rgba(209,132,255,.35);
  transition:.18s ease;
}
.casino-slot-v2 .casino-buy-bonus:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1);border-color:rgba(232,174,255,.6)}
.casino-slot-v2 .casino-buy-bonus:disabled{opacity:.4;cursor:not-allowed}
.casino-slot-v2 .casino-buy-bonus img{width:58px;height:48px;object-fit:contain;margin:-3px 0 1px;filter:drop-shadow(0 0 10px rgba(255,207,72,.22))}
.casino-slot-v2 .casino-buy-bonus span{color:#cdb7d8;font-size:6px;font-weight:900;letter-spacing:1px}
.casino-slot-v2 .casino-buy-bonus b{color:#fff;font-size:8px;font-weight:950;letter-spacing:.5px}
.casino-slot-v2 .casino-buy-bonus strong{margin-top:4px;color:#ffd96b;font-size:14px;font-weight:950;line-height:1}
.casino-slot-v2 .casino-buy-bonus small{color:#9b7ca8;font-size:5px;font-weight:900;letter-spacing:.8px}

.casino-slot-v2 .casino-slot-game{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:0 2px;
}
.casino-slot-v2 .fishing-slot-logo{margin:1px 0 6px}
.casino-slot-v2 .fishing-slot-logo strong{font-size:27px}
.casino-slot-v2 .casino-slot-statusbar{width:min(900px,100%)!important;margin-bottom:6px!important}
.casino-slot-v2 .fishing-feature-bar{width:min(900px,100%)!important}

.casino-slot-v2 .casino-slot-reels{
  width:min(900px,100%)!important;
  height:510px!important;
  min-height:510px!important;
  padding:8px 12px!important;
  gap:0!important;
  border:0!important;
  border-radius:5px!important;
  background:linear-gradient(180deg,rgba(0,116,128,.20),rgba(0,64,78,.16))!important;
  box-shadow:inset 0 0 52px rgba(0,16,23,.26),0 18px 42px rgba(0,0,0,.18)!important;
  backdrop-filter:none!important;
}
.casino-slot-v2 .casino-slot-reels::before,
.casino-slot-v2 .casino-slot-reels::after{height:38px!important}
.casino-slot-v2 .casino-slot-reels::before{background:linear-gradient(180deg,rgba(0,30,40,.46),transparent)!important}
.casino-slot-v2 .casino-slot-reels::after{background:linear-gradient(0deg,rgba(0,25,36,.46),transparent)!important}
.casino-slot-v2 .casino-slot-reels .slot-reel{
  gap:0!important;
  padding:0 4px!important;
  border:0!important;
  border-left:1px solid rgba(210,249,255,.08)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden;
}
.casino-slot-v2 .casino-slot-reels .slot-reel:last-of-type{border-right:1px solid rgba(210,249,255,.08)!important}
.casino-slot-v2 .casino-slot-reels .fishing-symbol{
  min-height:164px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible;
}
.casino-slot-v2 .casino-slot-reels .fishing-symbol::after{display:none}
.casino-slot-v2 .casino-slot-reels .fishing-image-symbol{padding:6px}
.casino-slot-v2 .casino-slot-reels .fishing-image-symbol img{width:88%;height:88%;filter:drop-shadow(0 7px 7px rgba(0,0,0,.28)) drop-shadow(0 0 4px rgba(113,224,255,.12))}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-g .fishing-image-symbol img{width:72%;height:72%}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-scatter .fishing-image-symbol img,
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-collector .fishing-image-symbol img{width:97%;height:97%}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-scatter,
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-collector{background:transparent!important}
.casino-slot-v2 .casino-slot-reels .fishing-letter{font-size:clamp(48px,5vw,72px);-webkit-text-stroke:2px rgba(255,255,255,.32);filter:drop-shadow(0 6px 2px rgba(0,0,0,.25))}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol img{width:82%;height:82%}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol b{font-size:17px}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol small{font-size:5px}
.casino-slot-v2 .casino-slot-reels.has-win .fishing-symbol.is-winning{
  border:0!important;
  background:radial-gradient(circle,rgba(255,228,99,.18),transparent 62%)!important;
  box-shadow:none!important;
  filter:brightness(1.18) drop-shadow(0 0 12px rgba(255,220,85,.35));
}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-scatter-hit{border:0!important;box-shadow:none!important;filter:drop-shadow(0 0 18px rgba(255,208,61,.58))}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-collector-hit{box-shadow:none!important;filter:drop-shadow(0 0 18px rgba(96,225,255,.5))}
.casino-slot-v2 .casino-slot-reels .slot-reel.is-rolling .fishing-symbol{
  filter:blur(4px) brightness(.95);
  animation:casinoReelRush .11s linear infinite;
}
@keyframes casinoReelRush{0%{transform:translateY(-9px) scaleY(1.04)}100%{transform:translateY(9px) scaleY(1.04)}}

.casino-slot-v2 .casino-slot-bottom-controls{
  width:min(900px,100%);
  min-height:78px;
  display:grid;
  grid-template-columns:1fr 230px 86px 1fr;
  align-items:center;
  gap:12px;
  padding:8px 10px 2px;
}
.casino-slot-v2 .casino-credit-box,
.casino-slot-v2 .casino-win-box{display:grid;gap:2px}
.casino-slot-v2 .casino-credit-box span,
.casino-slot-v2 .casino-win-box span,
.casino-slot-v2 .casino-bet-stepper label span{color:#79a4b6;font-size:6px;font-weight:900;letter-spacing:1px}
.casino-slot-v2 .casino-credit-box strong,
.casino-slot-v2 .casino-win-box strong{color:#f2fbff;font-size:14px;font-weight:950}
.casino-slot-v2 .casino-credit-box strong{font-size:12px}.casino-slot-v2 .casino-credit-box b{font-size:15px}
.casino-slot-v2 .casino-win-box{text-align:right}
.casino-slot-v2 .casino-win-box strong{color:#a4fbd1}

.casino-slot-v2 .casino-bet-stepper{
  height:52px;
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(148,226,255,.18);
  border-radius:999px;
  background:rgba(1,28,41,.72);
}
.casino-slot-v2 .casino-bet-stepper button{
  height:100%;border:0;background:transparent;color:#d8f3ff;font:900 25px Montserrat,sans-serif;cursor:pointer
}
.casino-slot-v2 .casino-bet-stepper button:hover:not(:disabled){background:rgba(88,202,255,.08)}
.casino-slot-v2 .casino-bet-stepper button:disabled{opacity:.25;cursor:not-allowed}
.casino-slot-v2 .casino-bet-stepper label{display:grid;place-items:center;gap:1px}
.casino-slot-v2 .casino-bet-stepper input{
  width:90px;border:0;outline:0;background:transparent;color:#fff;text-align:center;font:950 17px Montserrat,sans-serif;-moz-appearance:textfield
}
.casino-slot-v2 .casino-bet-stepper input::-webkit-inner-spin-button,
.casino-slot-v2 .casino-bet-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

.casino-slot-v2 .casino-spin-button{
  width:72px;height:72px;border-radius:50%;border:3px solid rgba(229,250,255,.82);background:linear-gradient(180deg,#44c7ee,#087da8);color:#fff;display:grid;place-content:center;gap:0;cursor:pointer;box-shadow:0 7px 22px rgba(0,0,0,.35),0 0 22px rgba(77,211,255,.25),inset 0 0 18px rgba(255,255,255,.14);transition:.16s ease
}
.casino-slot-v2 .casino-spin-button:hover:not(:disabled){transform:scale(1.05);filter:brightness(1.1)}
.casino-slot-v2 .casino-spin-button:active:not(:disabled){transform:scale(.96)}
.casino-slot-v2 .casino-spin-button:disabled{opacity:.38;cursor:not-allowed}
.casino-slot-v2 .casino-spin-button>span{font-size:31px;line-height:.8;font-weight:800}
.casino-slot-v2 .casino-spin-button>small{margin-top:5px;color:#dff9ff;font-size:6px;font-weight:900}

.casino-slot-v2 .casino-slot-mini-stats{
  width:min(900px,100%);
  display:flex;
  justify-content:center;
  gap:18px;
  color:#557f91;
  font-size:6px;
  font-weight:900;
  letter-spacing:.65px;
}
.casino-slot-v2 .casino-slot-mini-stats b{color:#8bbccc}
.casino-slot-v2 .slot-machine-bottom{display:none!important}

.casino-slot-v2 .casino-slot-info-row{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px;
}
.casino-slot-v2 .casino-slot-message{min-height:46px;margin:0!important}
.casino-slot-v2 .casino-history-toggle{
  min-height:46px;padding:0 18px;border:1px solid rgba(93,193,241,.16);border-radius:10px;background:#071b29;color:#86b7cc;font:900 8px Montserrat,sans-serif;letter-spacing:.8px;cursor:pointer
}
.casino-slot-v2 .casino-history-toggle.is-open{color:#eaf8ff;border-color:rgba(101,204,251,.38)}
.casino-slot-v2 .casino-slot-history{
  padding:14px;
  border:1px solid rgba(83,180,229,.12);
  border-radius:13px;
  background:#061725;
}
.casino-slot-v2 .casino-slot-history[hidden]{display:none!important}
.casino-slot-v2 .casino-slot-history .bj-history-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}

.casino-slot-v2 .slot-buy-modal{
  position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px
}
.casino-slot-v2 .slot-buy-modal[hidden]{display:none!important}
.casino-slot-v2 .slot-buy-modal-backdrop{position:absolute;inset:0;background:rgba(0,5,10,.82);backdrop-filter:blur(7px)}
.casino-slot-v2 .slot-buy-dialog{
  position:relative;z-index:1;width:min(430px,100%);padding:24px;text-align:center;border:1px solid rgba(232,174,255,.34);border-radius:19px;background:radial-gradient(circle at 50% 10%,rgba(150,74,197,.18),transparent 44%),linear-gradient(180deg,#0b2636,#071823);box-shadow:0 28px 80px rgba(0,0,0,.62),0 0 45px rgba(158,75,210,.12)
}
.casino-slot-v2 .slot-buy-dialog>img{width:135px;height:110px;object-fit:contain;margin:-16px auto 2px;filter:drop-shadow(0 0 16px rgba(255,205,78,.25))}
.casino-slot-v2 .slot-buy-dialog>span{display:block;color:#cba1e4;font-size:8px;font-weight:950;letter-spacing:1.5px}
.casino-slot-v2 .slot-buy-dialog h2{margin:6px 0 8px;color:#fff;font-size:31px;font-weight:950}
.casino-slot-v2 .slot-buy-dialog p{margin:0;color:#85a2b2;font-size:10px;line-height:1.5}.casino-slot-v2 .slot-buy-dialog p strong{color:#e8f7ff}
.casino-slot-v2 .slot-buy-cost{margin:16px 0;padding:13px;border:1px solid rgba(255,215,91,.2);border-radius:11px;background:rgba(63,46,12,.28);display:grid;gap:2px}
.casino-slot-v2 .slot-buy-cost small,.casino-slot-v2 .slot-buy-cost span{color:#ad9460;font-size:6px;font-weight:950;letter-spacing:1px}
.casino-slot-v2 .slot-buy-cost strong{color:#ffdc74;font-size:26px;font-weight:950}
.casino-slot-v2 .slot-buy-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px}
.casino-slot-v2 .slot-buy-actions button{min-height:48px;border-radius:10px;font:950 8px Montserrat,sans-serif;letter-spacing:.6px;cursor:pointer}
.casino-slot-v2 .slot-buy-actions button:first-child{border:1px solid rgba(123,168,190,.18);background:#0a2231;color:#83a4b4}
.casino-slot-v2 .slot-buy-actions button:last-child{border:1px solid rgba(245,208,91,.4);background:linear-gradient(180deg,#ffe784,#d8a72a);color:#291d05;box-shadow:0 8px 24px rgba(221,169,38,.16)}
.casino-slot-v2 .slot-buy-close{position:absolute;right:12px;top:10px;width:32px;height:32px;border:0;background:transparent;color:#7998a7;font-size:24px;cursor:pointer}
body.slot-buy-open{overflow:hidden}

@media(max-width:1050px){
  .casino-slot-v2 .casino-slot-main{width:min(980px,97%)}
  .casino-slot-v2 .casino-slot-stage{grid-template-columns:110px minmax(0,1fr);min-height:650px;padding:14px 12px 12px!important}
  .casino-slot-v2 .casino-slot-side{padding-right:7px}
  .casino-slot-v2 .casino-side-bet{min-height:78px}
  .casino-slot-v2 .casino-side-feature{min-height:98px}
  .casino-slot-v2 .casino-buy-bonus{min-height:116px}
  .casino-slot-v2 .casino-slot-reels{height:450px!important;min-height:450px!important}
  .casino-slot-v2 .casino-slot-reels .fishing-symbol{min-height:144px!important}
  .casino-slot-v2 .casino-slot-bottom-controls{grid-template-columns:1fr 210px 80px 1fr}
  .casino-slot-v2 .casino-spin-button{width:66px;height:66px}
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-main{width:100%!important;padding:88px 9px 30px!important}
  .casino-slot-v2 .casino-slot-titlebar{padding-inline:3px}
  .casino-slot-v2 .casino-slot-stage{grid-template-columns:1fr;min-height:auto;padding:10px 7px 12px!important}
  .casino-slot-v2 .casino-slot-side{grid-template-columns:90px 1fr 1.15fr;align-items:stretch;padding:0 0 7px;gap:5px}
  .casino-slot-v2 .casino-side-bet,.casino-slot-v2 .casino-side-feature,.casino-slot-v2 .casino-buy-bonus{min-height:76px}
  .casino-slot-v2 .casino-side-feature{min-height:76px!important;grid-template-columns:auto 1fr auto!important;text-align:left!important;padding:7px!important}
  .casino-slot-v2 .casino-side-feature .casino-side-icon{font-size:16px}
  .casino-slot-v2 .casino-side-feature b{font-size:6px}
  .casino-slot-v2 .casino-side-feature small{display:none}
  .casino-slot-v2 .casino-side-toggle{width:30px;height:17px}.casino-slot-v2 .casino-side-toggle i{width:11px;height:11px}.casino-slot-v2 .casino-side-feature input:checked~.casino-side-toggle i{transform:translateX(13px)}
  .casino-slot-v2 .casino-buy-bonus{grid-template-columns:45px 1fr;grid-template-rows:auto auto auto;padding:5px 7px;justify-items:start;text-align:left}
  .casino-slot-v2 .casino-buy-bonus img{grid-row:1/4;width:43px;height:52px;margin:0}
  .casino-slot-v2 .casino-buy-bonus span{display:none}.casino-slot-v2 .casino-buy-bonus b{font-size:7px}.casino-slot-v2 .casino-buy-bonus strong{margin:0;font-size:12px}.casino-slot-v2 .casino-buy-bonus small{font-size:5px}
  .casino-slot-v2 .fishing-slot-logo strong{font-size:20px}
  .casino-slot-v2 .casino-slot-reels{height:330px!important;min-height:330px!important;padding:5px!important}
  .casino-slot-v2 .casino-slot-reels .slot-reel{padding:0 2px!important}
  .casino-slot-v2 .casino-slot-reels .fishing-symbol{min-height:106px!important}
  .casino-slot-v2 .casino-slot-reels .fishing-letter{font-size:38px;-webkit-text-stroke:1px rgba(255,255,255,.28)}
  .casino-slot-v2 .casino-slot-reels .slot-money-symbol b{font-size:11px}
  .casino-slot-v2 .casino-slot-bottom-controls{grid-template-columns:1fr 150px 64px 1fr;gap:5px;padding:6px 2px 0}
  .casino-slot-v2 .casino-bet-stepper{height:44px;grid-template-columns:34px 1fr 34px}.casino-slot-v2 .casino-bet-stepper button{font-size:20px}.casino-slot-v2 .casino-bet-stepper input{width:64px;font-size:14px}
  .casino-slot-v2 .casino-spin-button{width:58px;height:58px;border-width:2px}.casino-slot-v2 .casino-spin-button>span{font-size:25px}.casino-slot-v2 .casino-spin-button>small{font-size:5px}
  .casino-slot-v2 .casino-credit-box strong,.casino-slot-v2 .casino-win-box strong{font-size:10px}.casino-slot-v2 .casino-credit-box b{font-size:12px}
  .casino-slot-v2 .casino-slot-history .bj-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:470px){
  .casino-slot-v2 .casino-slot-titlebar h1{font-size:30px}
  .casino-slot-v2 .casino-slot-side{grid-template-columns:75px 1fr 1.1fr}
  .casino-slot-v2 .casino-side-bet strong{font-size:16px}
  .casino-slot-v2 .casino-slot-reels{height:285px!important;min-height:285px!important}
  .casino-slot-v2 .casino-slot-reels .fishing-symbol{min-height:91px!important}
  .casino-slot-v2 .casino-slot-reels .fishing-letter{font-size:31px}
  .casino-slot-v2 .casino-slot-bottom-controls{grid-template-columns:1fr 118px 56px 1fr;gap:3px}
  .casino-slot-v2 .casino-bet-stepper{grid-template-columns:28px 1fr 28px}.casino-slot-v2 .casino-bet-stepper input{width:52px;font-size:12px}.casino-slot-v2 .casino-bet-stepper label span{font-size:5px}
  .casino-slot-v2 .casino-spin-button{width:52px;height:52px}.casino-slot-v2 .casino-spin-button>span{font-size:22px}
  .casino-slot-v2 .casino-credit-box span,.casino-slot-v2 .casino-win-box span{font-size:5px}.casino-slot-v2 .casino-credit-box strong,.casino-slot-v2 .casino-win-box strong{font-size:8px}.casino-slot-v2 .casino-credit-box b{font-size:10px}
  .casino-slot-v2 .casino-slot-mini-stats{gap:10px;font-size:5px}
  .casino-slot-v2 .casino-slot-history .bj-history-list{grid-template-columns:1fr}
}


/* =========================================================
   SLOT V3 — SCATTER / COLETOR / DAILY COIN COMO SÍMBOLOS REAIS
   ========================================================= */
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-money{
  overflow:visible;
  background:radial-gradient(circle at 50% 45%,rgba(56,196,255,.09),transparent 62%)!important;
}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol{
  position:relative;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:25px;
}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol img{
  position:relative;
  width:74%;
  height:74%;
  object-fit:contain;
  transform:translateY(-4px);
  filter:drop-shadow(0 0 13px rgba(65,205,255,.34)) drop-shadow(0 7px 7px rgba(0,0,0,.3));
}
.casino-slot-v2 .casino-slot-reels .slot-money-value{
  position:absolute;
  left:50%;
  bottom:5px;
  z-index:4;
  min-width:54px;
  transform:translateX(-50%);
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:3px;
  padding:4px 8px 5px;
  border:1px solid rgba(102,222,255,.4);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(4,31,49,.96),rgba(2,18,31,.96));
  box-shadow:0 4px 12px rgba(0,0,0,.3),0 0 16px rgba(53,199,255,.12);
  white-space:nowrap;
}
.casino-slot-v2 .casino-slot-reels .slot-money-value b{
  position:static;
  margin:0;
  color:#f7fdff;
  font-size:14px;
  line-height:1;
  font-weight:950;
  text-shadow:0 0 8px rgba(49,197,255,.34);
}
.casino-slot-v2 .casino-slot-reels .slot-money-value small{
  position:static;
  margin:0;
  color:#80dcff;
  font-size:5px;
  line-height:1;
  font-weight:950;
  letter-spacing:.45px;
}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-money.is-coin-collected{
  animation:slotCoinCollected .55s ease both;
}
@keyframes slotCoinCollected{
  0%{filter:brightness(1);transform:scale(1)}
  42%{filter:brightness(1.8) drop-shadow(0 0 20px rgba(78,218,255,.65));transform:scale(1.08)}
  100%{filter:brightness(.7);transform:scale(.92)}
}
@media(max-width:820px){
  .casino-slot-v2 .casino-slot-reels .slot-money-symbol{padding-bottom:19px}
  .casino-slot-v2 .casino-slot-reels .slot-money-value{bottom:2px;min-width:42px;padding:3px 6px}
  .casino-slot-v2 .casino-slot-reels .slot-money-value b{font-size:10px}
  .casino-slot-v2 .casino-slot-reels .slot-money-value small{font-size:4px}
}


/* =========================================================
   SLOT — FIX OVERLAYS DO BÓNUS + COLETOR
   Mantém os ganhos/animações por cima dos rolos, sem entrarem
   no fluxo da grelha e aparecerem por baixo da máquina.
   ========================================================= */
.casino-slot-v2 .casino-slot-stage > .slot-win-overlay,
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro,
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay{
  position:absolute!important;
  left:calc(50% + 63px)!important;
  top:50%!important;
  z-index:80!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  transform:translate(-50%,-50%);
}

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay[hidden],
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro[hidden],
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay[hidden]{
  display:none!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay:not([hidden]){
  display:flex!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay:not([hidden]),
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro:not([hidden]){
  display:grid!important;
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-stage > .slot-win-overlay,
  .casino-slot-v2 .casino-slot-stage > .slot-bonus-intro,
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay{
    left:50%!important;
    top:56%!important;
    max-width:calc(100% - 24px)!important;
  }
}


/* =========================================================
   SLOT — BONUS STRIP IGUAL AO MODELO DE REFERÊNCIA
   4 coletores -> +10 FS x2 -> 4 -> +10 FS x3 -> 4 -> +10 FS x10
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  width:min(800px,100%)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  min-height:0!important;
  margin:0 0 7px!important;
  padding:5px 7px 7px!important;
  border:1px solid rgba(123,219,255,.25)!important;
  border-radius:9px!important;
  background:
    linear-gradient(180deg,rgba(11,55,76,.96),rgba(4,30,45,.97)),
    rgba(3,26,39,.95)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.06)!important;
  overflow:hidden!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  min-height:14px!important;
  color:#7fa8ba!important;
  font-size:5.5px!important;
  font-weight:900!important;
  letter-spacing:.8px!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta span{white-space:nowrap}
.casino-slot-v2 .fishing-bonus-strip-meta b{color:#dff8ff;font-size:7px!important}
.casino-slot-v2 .fishing-bonus-strip-meta span:last-child b{color:#ffe278!important}

.casino-slot-v2 .fishing-bonus-strip-track{
  display:grid!important;
  grid-template-columns:minmax(0,4fr) 66px minmax(0,4fr) 66px minmax(0,4fr) 72px!important;
  align-items:stretch!important;
  gap:3px!important;
  width:100%!important;
  min-height:54px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:2px!important;
  padding:2px!important;
  border:1px solid rgba(95,173,205,.16)!important;
  border-radius:6px!important;
  background:rgba(1,18,29,.6)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  min-width:0!important;
  height:48px!important;
  display:block!important;
  overflow:hidden!important;
  border:1px solid rgba(110,188,220,.15)!important;
  border-radius:4px!important;
  background:linear-gradient(180deg,rgba(16,50,67,.88),rgba(5,27,39,.96))!important;
  box-shadow:inset 0 0 10px rgba(0,0,0,.3)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i img{
  position:absolute!important;
  left:50%!important;
  top:-3px!important;
  width:68px!important;
  height:68px!important;
  max-width:none!important;
  object-fit:contain!important;
  transform:translateX(-50%) scale(1.12)!important;
  transform-origin:50% 18%!important;
  filter:grayscale(1) brightness(.42) saturate(.35) contrast(.95)!important;
  opacity:.75!important;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier{
  border-color:rgba(119,213,249,.25)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled{
  border-color:rgba(255,213,93,.56)!important;
  background:linear-gradient(180deg,rgba(75,70,30,.9),rgba(23,39,42,.98))!important;
  box-shadow:0 0 9px rgba(255,202,75,.14),inset 0 0 12px rgba(0,0,0,.22)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled img{
  filter:none!important;
  opacity:1!important;
  transform:translateX(-50%) scale(1.18)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier{
  border-color:rgba(255,221,103,.36)!important;
}

.casino-slot-v2 .fishing-bonus-strip-milestone{
  position:relative!important;
  min-height:54px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center!important;
  justify-items:center!important;
  gap:0!important;
  padding:2px 3px!important;
  border:1px solid rgba(255,221,114,.3)!important;
  border-radius:5px!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,213,84,.12),transparent 62%),
    linear-gradient(180deg,rgba(54,47,19,.95),rgba(22,33,34,.98))!important;
  text-align:center!important;
  box-shadow:inset 0 0 11px rgba(0,0,0,.24)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{
  color:#fff0aa!important;
  font-size:7px!important;
  font-weight:950!important;
  line-height:1!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{
  color:#f6fbff!important;
  font-size:7px!important;
  line-height:.95!important;
  font-weight:950!important;
  letter-spacing:-.2px!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone b{
  margin-top:2px!important;
  color:#ffe15e!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:0 0 10px rgba(255,205,62,.22)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone::after{
  content:""!important;
  position:absolute!important;
  inset:2px!important;
  border:1px solid rgba(255,255,255,.04)!important;
  border-radius:3px!important;
  pointer-events:none!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{
  border-color:rgba(255,225,103,.64)!important;
  box-shadow:0 0 15px rgba(255,208,73,.16),inset 0 0 11px rgba(0,0,0,.22)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked{
  background:linear-gradient(180deg,rgba(56,83,49,.96),rgba(18,49,45,.98))!important;
  border-color:rgba(122,244,179,.4)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked span,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked strong{color:#b8ffd7!important}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked b{color:#8dffc0!important;text-shadow:0 0 10px rgba(91,236,156,.2)!important}

@media(max-width:760px){
  .casino-slot-v2 .fishing-bonus-strip{padding:5px!important;overflow-x:auto!important}
  .casino-slot-v2 .fishing-bonus-strip-meta{justify-content:flex-start!important;padding-left:2px!important;gap:10px!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:680px!important;grid-template-columns:170px 58px 170px 58px 170px 64px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:44px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i img{width:62px!important;height:62px!important}
  .casino-slot-v2 .fishing-bonus-strip-milestone{min-height:50px!important}
}


/* =========================================================
   SLOT BONUS POLISH — progress strip + popups + final summary
   ========================================================= */

/* Progress strip: visual mais próximo de uma slot de casino */
.casino-slot-v2 .fishing-bonus-strip{
  padding:4px 6px 6px!important;
  border:2px solid rgba(116,222,235,.42)!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#0b6471 0%,#074c5d 11%,#062c3d 13%,#041d2b 100%)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.15), inset 0 -2px 0 rgba(0,0,0,.25)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta{
  min-height:13px!important;
  gap:22px!important;
  color:#91bfd0!important;
  font-size:5px!important;
  letter-spacing:1px!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta b{font-size:6px!important;color:#ecfbff!important}
.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:minmax(0,4fr) 62px minmax(0,4fr) 62px minmax(0,4fr) 66px!important;
  gap:0!important;
  min-height:58px!important;
  overflow:hidden!important;
  border:2px solid rgba(220,177,66,.72)!important;
  border-radius:6px!important;
  background:#052332!important;
  box-shadow:0 0 0 1px rgba(9,12,15,.8), inset 0 0 18px rgba(0,0,0,.4)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  gap:1px!important;
  padding:2px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#0b4050,#062936)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:52px!important;
  border:1px solid rgba(198,163,73,.46)!important;
  border-radius:3px!important;
  background:linear-gradient(180deg,#123f4b,#082632)!important;
  box-shadow:inset 0 0 13px rgba(0,0,0,.42)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i img{
  top:-17px!important;
  width:86px!important;
  height:86px!important;
  transform:translateX(-50%) scale(1.06)!important;
  filter:grayscale(1) brightness(.34) saturate(.18) contrast(1.08)!important;
  opacity:.82!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled{
  border-color:#f0c35a!important;
  background:linear-gradient(180deg,#32637a,#11394b)!important;
  box-shadow:0 0 10px rgba(255,202,69,.19), inset 0 0 13px rgba(0,0,0,.3)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled img{
  top:-17px!important;
  filter:saturate(1.08) brightness(1.04)!important;
  opacity:1!important;
  transform:translateX(-50%) scale(1.10)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:58px!important;
  border-width:0 2px!important;
  border-style:solid!important;
  border-color:#c49c37!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 50% 30%,rgba(255,246,152,.22),transparent 52%),
    linear-gradient(180deg,#756424 0%,#3f3615 47%,#252414 100%)!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.35)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:7px!important;color:#fff8c5!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:7px!important;color:#fff!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{
  font-size:16px!important;
  color:#fff16a!important;
  text-shadow:0 2px 0 rgba(0,0,0,.5),0 0 11px rgba(255,226,59,.28)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{
  animation:slotMilestonePulse 1.15s ease-in-out infinite alternate!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked{
  background:linear-gradient(180deg,#377951,#1f533a 48%,#15392b 100%)!important;
  border-color:#79db9d!important;
}
@keyframes slotMilestonePulse{from{filter:brightness(1)}to{filter:brightness(1.22);box-shadow:inset 0 0 16px rgba(0,0,0,.25),0 0 15px rgba(255,215,76,.24)}}

/* Popup de recolha: menos caixa e mais impacto */
.casino-slot-v2 .casino-slot-stage.is-collector-popup::after,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup::after{
  content:"";position:absolute;inset:0;z-index:72;pointer-events:none;background:rgba(0,8,15,.44);backdrop-filter:blur(2px);
}
.casino-slot-v2 .casino-slot-stage.is-collector-popup .casino-slot-side,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .fishing-slot-logo,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .casino-slot-statusbar,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-feature-bar,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-reels,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .casino-slot-bottom-controls,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-machine-glow,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-machine-particles,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-fx-layer{
  filter:blur(7px) saturate(.78) brightness(.85)!important;
  transition:filter .18s ease,opacity .18s ease;
}
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .casino-slot-side,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .fishing-slot-logo,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .casino-slot-statusbar,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-feature-bar,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-reels,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .casino-slot-bottom-controls,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-machine-glow,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-machine-particles,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-fx-layer{
  filter:blur(7px) saturate(.78) brightness(.85)!important;
  transition:filter .18s ease,opacity .18s ease;
}
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup{
  width:min(430px,78%)!important;
  min-height:170px!important;
  padding:16px 24px 16px 178px!important;
  border:2px solid rgba(105,222,255,.55)!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 13% 50%,rgba(74,213,255,.20),transparent 36%),
    linear-gradient(110deg,rgba(2,20,32,.98),rgba(5,52,67,.97))!important;
  box-shadow:0 32px 90px rgba(0,0,0,.64),0 0 42px rgba(61,210,255,.20),inset 0 0 24px rgba(71,203,255,.05)!important;
  overflow:visible!important;
  z-index:80!important;
}
.casino-slot-v2 .fishing-collector-popup-glow{
  position:absolute;left:-22px;bottom:-24px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(93,222,255,.26),transparent 67%);filter:blur(5px);pointer-events:none;
}
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup>img{
  left:-4px!important;bottom:-18px!important;width:190px!important;height:190px!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.42)) drop-shadow(0 0 18px rgba(82,213,255,.18))!important;
}
.casino-slot-v2 .fishing-collector-popup-copy{position:relative;z-index:2;display:grid!important;justify-items:start;align-content:center;gap:2px!important}
.casino-slot-v2 .fishing-collector-popup-copy>span{color:#7be3ff!important;font-size:12px!important;letter-spacing:1.7px!important}
.casino-slot-v2 .fishing-collector-popup-copy>small{color:#93b5c3!important;font-size:7px!important;letter-spacing:1px!important}
.casino-slot-v2 .fishing-collector-popup-copy>strong{margin-top:4px;color:#fff084!important;font-size:52px!important;letter-spacing:-2px;text-shadow:0 2px 0 #8a6720,0 0 20px rgba(255,213,69,.28)!important}
.casino-slot-v2 .fishing-collector-popup-copy>b{color:#effbff;font-size:8px;font-weight:950;letter-spacing:2px}
.casino-slot-v2 .fishing-collector-popup-copy>em{margin-top:5px;color:#70a9bc;font-size:7px;font-style:normal;font-weight:800}

/* Notificação de progressão x2/x3/x10 */
.casino-slot-v2 .slot-levelup-overlay{
  position:absolute;left:calc(50% + 63px);top:50%;z-index:82;width:min(500px,84%);min-height:220px;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;padding:20px 34px 20px 205px;border:2px solid rgba(255,218,92,.65);border-radius:22px;background:radial-gradient(circle at 26% 50%,rgba(255,212,63,.16),transparent 38%),linear-gradient(110deg,rgba(3,26,38,.99),rgba(13,66,72,.98));box-shadow:0 35px 100px rgba(0,0,0,.68),0 0 54px rgba(255,208,67,.18);overflow:hidden;
}
.casino-slot-v2 .slot-levelup-overlay[hidden]{display:none!important}
.casino-slot-v2 .slot-levelup-overlay>img{position:absolute;left:-12px;bottom:-30px;width:235px;height:235px;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.45))}
.casino-slot-v2 .slot-levelup-overlay>div:last-child{position:relative;z-index:2;display:grid;justify-items:start;gap:2px}
.casino-slot-v2 .slot-levelup-overlay span{color:#ffe57f;font-size:11px;font-weight:950;letter-spacing:1.8px}
.casino-slot-v2 .slot-levelup-overlay small{color:#7bdcff;font-size:8px;font-weight:900;letter-spacing:1px}
.casino-slot-v2 .slot-levelup-overlay strong{margin-top:4px;color:#fff35f;font-size:60px;line-height:.95;font-weight:950;text-shadow:0 3px 0 #866c10,0 0 28px rgba(255,220,56,.38)}
.casino-slot-v2 .slot-levelup-overlay b{margin-top:5px;padding:7px 12px;border:1px solid rgba(255,225,103,.36);border-radius:999px;background:rgba(88,70,17,.48);color:#fff5b4;font-size:10px;font-weight:950;letter-spacing:.8px}
.casino-slot-v2 .slot-levelup-rays{position:absolute!important;inset:-70%!important;background:repeating-conic-gradient(from 0deg,rgba(255,220,89,.09) 0 7deg,transparent 7deg 17deg);animation:slotLevelRays 9s linear infinite;pointer-events:none}
@keyframes slotLevelRays{to{transform:rotate(360deg)}}

/* Resultado final — só desaparece quando o utilizador clicar */
body.slot-summary-open{overflow:hidden!important}
.slot-bonus-summary{
  position:fixed!important;inset:0!important;z-index:20000!important;display:grid!important;place-items:center!important;padding:22px!important;cursor:pointer!important;outline:none!important;
}
.slot-bonus-summary[hidden]{display:none!important}
.slot-bonus-summary-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(37,151,201,.22),transparent 36%),rgba(0,7,13,.88);backdrop-filter:blur(8px)}
.slot-bonus-summary-card{position:relative;z-index:2;width:min(600px,94vw);min-height:430px;display:grid;justify-items:center;align-content:center;padding:38px;border:2px solid rgba(255,219,92,.62);border-radius:26px;background:radial-gradient(circle at 50% 18%,rgba(255,220,74,.14),transparent 36%),linear-gradient(180deg,rgba(5,45,59,.98),rgba(2,20,31,.99));box-shadow:0 40px 120px rgba(0,0,0,.76),0 0 80px rgba(67,204,255,.16),inset 0 0 44px rgba(86,215,255,.04);text-align:center;animation:slotSummaryPop .42s cubic-bezier(.17,.85,.2,1.15) both}
.slot-bonus-summary-card::before{content:"";position:absolute;inset:-2px;border-radius:26px;background:linear-gradient(110deg,rgba(255,233,130,.7),rgba(96,220,255,.35),rgba(255,210,74,.65));z-index:-1;filter:blur(14px);opacity:.36}
.slot-bonus-summary-card>span{color:#78dcff;font-size:11px;font-weight:950;letter-spacing:2.4px}
.slot-bonus-summary-card h2{margin:8px 0 0;color:#fff;font-size:38px;line-height:1;font-weight:950;letter-spacing:-1.5px;text-shadow:0 5px 20px rgba(0,0,0,.4)}
.slot-bonus-summary-total{display:grid;justify-items:center;margin:18px 0 22px}
.slot-bonus-summary-total strong{color:#fff16f;font-size:86px;line-height:.9;font-weight:950;letter-spacing:-4px;text-shadow:0 4px 0 #735a0d,0 0 36px rgba(255,215,64,.36)}
.slot-bonus-summary-total small{margin-top:9px;color:#e9fbff;font-size:10px;font-weight:950;letter-spacing:3px}
.slot-bonus-summary-stats{display:grid;grid-template-columns:repeat(2,150px);gap:10px;margin-bottom:24px}
.slot-bonus-summary-stats>div{display:grid;gap:4px;padding:10px 14px;border:1px solid rgba(103,210,255,.18);border-radius:12px;background:rgba(4,27,40,.72)}
.slot-bonus-summary-stats span{color:#6fa8bb;font-size:7px;font-weight:900;letter-spacing:1px}
.slot-bonus-summary-stats b{color:#eafaff;font-size:18px;font-weight:950}
.slot-bonus-summary-card>em{color:#88cfe8;font-size:8px;font-style:normal;font-weight:900;letter-spacing:1.25px;animation:slotContinuePulse .9s ease-in-out infinite alternate}
@keyframes slotSummaryPop{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}
@keyframes slotContinuePulse{from{opacity:.5}to{opacity:1}}

@media(max-width:760px){
  .casino-slot-v2 .slot-levelup-overlay{left:50%;width:92%;min-height:190px;padding-left:160px;padding-right:18px}
  .casino-slot-v2 .slot-levelup-overlay>img{width:185px;height:185px}
  .casino-slot-v2 .slot-levelup-overlay strong{font-size:46px}
  .casino-slot-v2 .fishing-collector-popup-copy>strong{font-size:42px!important}
  .slot-bonus-summary-card{min-height:360px;padding:28px 18px}
  .slot-bonus-summary-card h2{font-size:29px}
  .slot-bonus-summary-total strong{font-size:62px}
  .slot-bonus-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}


/* =========================================================
   SLOT BONUS VISUAL V4 — ICE TRACKER + COLLECTOR FLY
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  padding:8px 10px 10px!important;
  border:1px solid rgba(88,207,255,.38)!important;
  border-radius:14px!important;
  background:
    radial-gradient(circle at 50% -20%,rgba(77,197,255,.18),transparent 48%),
    linear-gradient(180deg,rgba(5,40,60,.97),rgba(2,21,34,.98))!important;
  box-shadow:0 14px 34px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08),0 0 28px rgba(54,178,238,.07)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta{
  min-height:22px!important;
  gap:30px!important;
  margin-bottom:5px!important;
  color:#85b9cf!important;
  font-size:7px!important;
  letter-spacing:1.05px!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta b{
  color:#f3fbff!important;
  font-size:10px!important;
  text-shadow:0 0 12px rgba(99,214,255,.18)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta span:last-child b{color:#a8e8ff!important}
.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:minmax(0,4fr) 72px minmax(0,4fr) 72px minmax(0,4fr) 78px!important;
  gap:5px!important;
  min-height:66px!important;
  overflow:visible!important;
  border:0!important;
  border-radius:10px!important;
  background:rgba(0,12,22,.42)!important;
  box-shadow:inset 0 0 22px rgba(0,0,0,.32),0 0 0 1px rgba(99,206,249,.08)!important;
  padding:5px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  gap:4px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:56px!important;
  overflow:visible!important;
  border:1px solid rgba(95,188,228,.18)!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,rgba(10,40,56,.92),rgba(4,24,36,.97))!important;
  box-shadow:inset 0 0 14px rgba(0,0,0,.34)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i img{
  position:absolute!important;
  inset:3px!important;
  width:calc(100% - 6px)!important;
  height:calc(100% - 6px)!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  filter:grayscale(1) brightness(.32) saturate(.22)!important;
  opacity:.62!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled{
  border-color:rgba(105,218,255,.62)!important;
  background:linear-gradient(180deg,rgba(13,80,111,.95),rgba(5,40,61,.98))!important;
  box-shadow:0 0 15px rgba(69,196,255,.16),inset 0 0 15px rgba(0,0,0,.22)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled img{
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  border-color:#b8efff!important;
  box-shadow:0 0 0 2px rgba(122,224,255,.16),0 0 26px rgba(72,201,255,.46)!important;
  animation:slotCollectorTargetPulse .42s ease-in-out infinite alternate!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-newly-filled{
  animation:slotCollectorSlotPop .62s cubic-bezier(.17,.85,.2,1.25) both!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:56px!important;
  border:1px solid rgba(100,202,244,.24)!important;
  border-radius:9px!important;
  background:
    radial-gradient(circle at 50% 22%,rgba(86,211,255,.12),transparent 56%),
    linear-gradient(180deg,rgba(8,55,77,.95),rgba(3,29,43,.98))!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.26),0 0 0 1px rgba(255,255,255,.02)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{color:#8edfff!important;font-size:7px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{color:#edfaff!important;font-size:7px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{
  color:#baf0ff!important;
  font-size:16px!important;
  text-shadow:0 0 14px rgba(80,203,255,.26)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{
  border-color:rgba(128,226,255,.58)!important;
  box-shadow:0 0 18px rgba(64,194,255,.15),inset 0 0 15px rgba(65,193,245,.08)!important;
  animation:slotMilestoneIcePulse 1.15s ease-in-out infinite alternate!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked{
  background:linear-gradient(180deg,rgba(13,101,131,.97),rgba(5,53,78,.99))!important;
  border-color:rgba(137,229,255,.6)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked span,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked strong,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked b{color:#dff9ff!important}

.slot-collector-fly{
  position:fixed;
  z-index:25000;
  width:118px;
  height:118px;
  left:0;top:0;
  transform:translate(-50%,-50%);
  pointer-events:none;
  animation:slotCollectorFly .9s cubic-bezier(.18,.76,.18,1) var(--collector-delay,0ms) both;
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.38));
}
.slot-collector-fly img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2}
.slot-collector-fly-glow{position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,rgba(108,226,255,.45),rgba(65,176,255,.16) 46%,transparent 72%);filter:blur(8px);z-index:1;animation:slotCollectorFlyGlow .36s ease-in-out infinite alternate}
@keyframes slotCollectorFly{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-4deg)}
  10%{opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(2deg)}
  70%{opacity:1;transform:translate(calc(-50% + var(--collector-x)),calc(-50% + var(--collector-y))) scale(.46) rotate(4deg)}
  100%{opacity:0;transform:translate(calc(-50% + var(--collector-x)),calc(-50% + var(--collector-y))) scale(.25) rotate(0deg)}
}
@keyframes slotCollectorFlyGlow{from{opacity:.55;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}
@keyframes slotCollectorTargetPulse{from{filter:brightness(.9)}to{filter:brightness(1.35)}}
@keyframes slotCollectorSlotPop{0%{transform:scale(.7);filter:brightness(1.8)}60%{transform:scale(1.12)}100%{transform:scale(1);filter:none}}
@keyframes slotMilestoneIcePulse{from{filter:brightness(1)}to{filter:brightness(1.16)}}

/* Resumo final: gelo/azul em vez de amarelo */
.slot-bonus-summary-backdrop{
  background:radial-gradient(circle at 50% 42%,rgba(27,165,230,.24),transparent 34%),rgba(0,7,14,.91)!important;
  backdrop-filter:blur(11px)!important;
}
.slot-bonus-summary-card{
  width:min(640px,94vw)!important;
  min-height:470px!important;
  padding:34px 42px 36px!important;
  border:1px solid rgba(105,221,255,.56)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 50% 16%,rgba(84,211,255,.15),transparent 38%),
    linear-gradient(180deg,rgba(5,43,61,.99),rgba(2,20,33,.995))!important;
  box-shadow:0 44px 130px rgba(0,0,0,.8),0 0 78px rgba(47,192,255,.17),inset 0 0 54px rgba(82,207,255,.05)!important;
}
.slot-bonus-summary-card::before{
  background:linear-gradient(110deg,rgba(113,226,255,.52),rgba(54,163,239,.18),rgba(150,235,255,.44))!important;
  opacity:.25!important;
}
.slot-bonus-summary-badge{display:grid;justify-items:center;gap:0;margin-bottom:7px}
.slot-bonus-summary-badge img{width:112px;height:92px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35)) drop-shadow(0 0 17px rgba(68,202,255,.18))}
.slot-bonus-summary-badge span{margin-top:-6px;color:#78ddff;font-size:9px;font-weight:950;letter-spacing:2px}
.slot-bonus-summary-card h2{margin:4px 0 0!important;color:#f5fcff!important;font-size:31px!important;letter-spacing:-1px!important}
.slot-bonus-summary-label{margin-top:18px;color:#78bcd6;font-size:8px;font-weight:950;letter-spacing:2.2px}
.slot-bonus-summary-total{margin:8px 0 22px!important}
.slot-bonus-summary-total strong{
  color:#e9fbff!important;
  font-size:92px!important;
  text-shadow:0 4px 0 #155275,0 0 38px rgba(82,211,255,.32)!important;
}
.slot-bonus-summary-total small{color:#9ddcf1!important}
.slot-bonus-summary-stats>div{border-color:rgba(100,208,250,.2)!important;background:rgba(4,34,50,.78)!important}
.slot-bonus-summary-stats span{color:#6aa8bf!important}
.slot-bonus-summary-stats b{color:#eafaff!important}
.slot-bonus-summary-card>em{color:#81c9e4!important;font-size:9px!important}

@media(max-width:760px){
  .casino-slot-v2 .fishing-bonus-strip-meta{gap:14px!important;font-size:6px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta b{font-size:9px!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:720px!important}
  .slot-collector-fly{width:92px;height:92px}
  .slot-bonus-summary-card{min-height:410px!important;padding:24px 18px 28px!important}
  .slot-bonus-summary-badge img{width:90px;height:74px}
  .slot-bonus-summary-card h2{font-size:24px!important}
  .slot-bonus-summary-total strong{font-size:68px!important}
}


/* =========================================================
   SLOT BONUS TRACKER V5 — readable stats + clean collector cells
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  width:min(860px,100%)!important;
  padding:10px 12px 12px!important;
  border:1px solid rgba(105,214,255,.34)!important;
  border-radius:16px!important;
  background:
    linear-gradient(180deg,rgba(1,19,31,.82),rgba(1,15,25,.9)),
    url("assets/images/walpaper.png") center 44%/cover no-repeat!important;
  box-shadow:0 16px 40px rgba(0,0,0,.44),inset 0 0 34px rgba(66,194,255,.05),0 0 26px rgba(60,190,245,.07)!important;
  overflow:hidden!important;
  backdrop-filter:blur(5px)!important;
}
.casino-slot-v2 .fishing-bonus-strip::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(55,188,242,.045),transparent 28%,transparent 72%,rgba(55,188,242,.045));
  z-index:0;
}
.casino-slot-v2 .fishing-bonus-strip-meta,
.casino-slot-v2 .fishing-bonus-strip-track{position:relative;z-index:1}

/* Free spins / total win / multiplier are now intentionally large and legible. */
.casino-slot-v2 .fishing-bonus-strip-meta{
  display:grid!important;
  grid-template-columns:1fr 1.35fr .85fr!important;
  gap:8px!important;
  min-height:54px!important;
  margin:0 0 9px!important;
  padding:0!important;
  color:#83cce8!important;
  font-size:7px!important;
  letter-spacing:1.2px!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta span{
  min-width:0;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center!important;
  justify-items:center!important;
  gap:2px!important;
  padding:7px 10px!important;
  border:1px solid rgba(103,207,250,.16)!important;
  border-radius:11px!important;
  background:rgba(2,23,36,.68)!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.25)!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta span::first-line{
  color:#75bad4;
}
.casino-slot-v2 .fishing-bonus-strip-meta b{
  display:block!important;
  margin-top:0!important;
  color:#f2fbff!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:-.7px!important;
  text-shadow:0 0 16px rgba(80,206,255,.22)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta span:nth-child(2) b{
  color:#91ffd1!important;
  font-size:24px!important;
  text-shadow:0 0 16px rgba(76,235,163,.18)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta span:nth-child(3) b{
  color:#b8efff!important;
  font-size:21px!important;
}

.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:minmax(0,4fr) 72px minmax(0,4fr) 72px minmax(0,4fr) 78px!important;
  gap:6px!important;
  min-height:72px!important;
  padding:6px!important;
  overflow:visible!important;
  border:1px solid rgba(105,210,251,.12)!important;
  border-radius:12px!important;
  background:rgba(0,10,18,.54)!important;
  box-shadow:inset 0 0 24px rgba(0,0,0,.38)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  height:60px!important;
  min-width:0!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:1px solid rgba(108,210,250,.24)!important;
  border-radius:9px!important;
  background:rgba(3,28,42,.8)!important;
  box-shadow:inset 0 0 14px rgba(0,0,0,.34),0 3px 9px rgba(0,0,0,.16)!important;
}
/* Blurred slot art inside every square. */
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  content:""!important;
  position:absolute!important;
  inset:-8px!important;
  z-index:-2!important;
  display:block!important;
  background:url("assets/images/walpaper.png") center/cover no-repeat!important;
  filter:blur(3px) brightness(.36) saturate(.85)!important;
  transform:scale(1.09)!important;
  opacity:.82!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(0,31,48,.28),rgba(0,12,23,.52))!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.25)!important;
}
/* Keep the collector completely inside the square instead of floating over it. */
.casino-slot-v2 .fishing-bonus-collector-group i img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  inset:auto!important;
  width:88%!important;
  height:88%!important;
  max-width:88%!important;
  max-height:88%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%) scale(.88)!important;
  transform-origin:center!important;
  filter:grayscale(1) brightness(.32) saturate(.22)!important;
  opacity:.56!important;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled{
  border-color:rgba(117,225,255,.67)!important;
  background:rgba(8,59,78,.48)!important;
  box-shadow:0 0 15px rgba(61,196,255,.16),inset 0 0 16px rgba(0,0,0,.18)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled::after{
  filter:blur(2px) brightness(.64) saturate(1.22)!important;
  opacity:1!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled::before{
  background:linear-gradient(180deg,rgba(45,153,197,.08),rgba(1,20,32,.28))!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled img{
  filter:saturate(1.06) brightness(1.03)!important;
  opacity:1!important;
  transform:translate(-50%,-50%) scale(.92)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier{
  border-color:rgba(118,221,255,.4)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  border-color:#d5f7ff!important;
  box-shadow:0 0 0 2px rgba(123,225,255,.16),0 0 28px rgba(72,201,255,.4),inset 0 0 18px rgba(90,217,255,.08)!important;
}

/* Milestones: ice-blue only, no yellow. */
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:60px!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  gap:1px!important;
  border:1px solid rgba(107,211,251,.28)!important;
  border-radius:10px!important;
  background:
    linear-gradient(180deg,rgba(4,39,56,.72),rgba(1,21,34,.9)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.3)!important;
  overflow:hidden!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{
  color:#84dfff!important;font-size:7px!important;font-weight:950!important;text-shadow:none!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{
  color:#d9f6ff!important;font-size:7px!important;font-weight:950!important;line-height:1!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone b{
  color:#a7eaff!important;font-size:18px!important;font-weight:950!important;text-shadow:0 0 14px rgba(85,205,255,.24)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{
  border-color:rgba(137,230,255,.64)!important;
  box-shadow:0 0 18px rgba(68,199,255,.14),inset 0 0 16px rgba(74,199,249,.07)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked{
  border-color:rgba(126,225,255,.6)!important;
  background:
    linear-gradient(180deg,rgba(8,91,119,.58),rgba(2,37,55,.86)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked span,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked strong,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked b{color:#ddf9ff!important}

@media(max-width:760px){
  .casino-slot-v2 .fishing-bonus-strip{overflow-x:auto!important;padding:8px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta{position:sticky!important;left:0!important;grid-template-columns:repeat(3,minmax(120px,1fr))!important;min-width:420px!important;gap:5px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta span{padding:6px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta b{font-size:17px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta span:nth-child(2) b{font-size:19px!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:720px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:56px!important}
}


/* =========================================================
   SLOT BONUS TRACKER V6 — clean ice strip + reliable collector art
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  width:min(820px,100%)!important;
  padding:9px!important;
  gap:8px!important;
  border:1px solid rgba(102,216,255,.36)!important;
  border-radius:15px!important;
  background:
    linear-gradient(180deg,rgba(4,31,48,.82),rgba(1,18,31,.91)),
    url("assets/images/walpaper.png") center 44%/cover no-repeat!important;
  box-shadow:0 15px 38px rgba(0,0,0,.38),0 0 24px rgba(68,204,255,.08),inset 0 0 28px rgba(68,190,234,.05)!important;
  backdrop-filter:blur(10px)!important;
}
/* Large, readable bonus HUD. */
.casino-slot-v2 .fishing-bonus-strip-meta{
  min-height:62px!important;
  display:grid!important;
  grid-template-columns:1fr 1.25fr .8fr!important;
  gap:7px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span{
  min-width:0!important;
  min-height:62px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  align-content:center!important;
  justify-items:center!important;
  gap:2px!important;
  padding:7px 10px!important;
  border:1px solid rgba(101,212,255,.21)!important;
  border-radius:11px!important;
  background:
    linear-gradient(180deg,rgba(7,46,65,.62),rgba(2,24,38,.76)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 17px rgba(0,0,0,.26)!important;
  color:inherit!important;
  text-align:center!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span small{
  color:#79cde8!important;
  font-size:6.5px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:1.15px!important;
  white-space:nowrap!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span b{
  display:block!important;
  margin:0!important;
  font-size:29px!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-1px!important;
  color:#f3fcff!important;
  text-shadow:0 0 19px rgba(102,220,255,.27)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) b{
  color:#9cffe0!important;
  font-size:31px!important;
  text-shadow:0 0 20px rgba(71,235,176,.22)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) em{
  margin-top:-2px!important;
  color:#6fb7cf!important;
  font-size:6px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:1.1px!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(3) b{
  color:#b7efff!important;
  font-size:27px!important;
}
/* Reference-style 4 collector cells -> level tile -> repeat. */
.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:minmax(0,4fr) 74px minmax(0,4fr) 74px minmax(0,4fr) 80px!important;
  gap:6px!important;
  min-height:76px!important;
  padding:6px!important;
  overflow:visible!important;
  border:1px solid rgba(110,215,255,.17)!important;
  border-radius:12px!important;
  background:rgba(0,11,20,.58)!important;
  box-shadow:inset 0 0 24px rgba(0,0,0,.35)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  display:block!important;
  height:64px!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid rgba(103,209,249,.26)!important;
  border-radius:9px!important;
  background:rgba(4,26,41,.88)!important;
  box-shadow:inset 0 0 15px rgba(0,0,0,.34),0 4px 9px rgba(0,0,0,.16)!important;
  isolation:isolate!important;
}
/* Wallpaper blur is a dedicated lower layer. */
.casino-slot-v2 .fishing-bonus-collector-group i::before{
  content:""!important;
  position:absolute!important;
  inset:-8px!important;
  z-index:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  border-radius:inherit!important;
  background:url("assets/images/walpaper.png") center/cover no-repeat!important;
  filter:blur(4px) brightness(.34) saturate(.8)!important;
  transform:scale(1.12)!important;
  opacity:.82!important;
}
/* Collector artwork lives in a pseudo layer, not <img>, so it cannot be cut by old rules. */
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  content:""!important;
  position:absolute!important;
  inset:5px!important;
  z-index:2!important;
  display:block!important;
  border-radius:6px!important;
  background:url("assets/images/coletor-meter.png") center 48%/contain no-repeat!important;
  filter:grayscale(1) brightness(.33) saturate(.25)!important;
  opacity:.42!important;
  transform:scale(.94)!important;
  transform-origin:center!important;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease!important;
}
/* Hide any old DOM collector image inserted by an older cached JS. */
.casino-slot-v2 .fishing-bonus-collector-group i>img{display:none!important}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled{
  border-color:rgba(114,229,255,.78)!important;
  box-shadow:0 0 17px rgba(70,204,255,.2),inset 0 0 14px rgba(54,188,233,.07)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled::before{
  filter:blur(3px) brightness(.58) saturate(1.15)!important;
  opacity:1!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled::after{
  filter:saturate(1.06) brightness(1.08) drop-shadow(0 3px 5px rgba(0,0,0,.3))!important;
  opacity:1!important;
  transform:scale(1.02)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier::after{opacity:.93!important}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  border-color:#d8f8ff!important;
  box-shadow:0 0 0 2px rgba(131,229,255,.16),0 0 30px rgba(72,207,255,.42),inset 0 0 18px rgba(92,221,255,.1)!important;
  animation:slotTrackerReceive .46s ease-in-out infinite alternate!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-newly-filled::after{animation:slotTrackerCollectorLand .55s cubic-bezier(.18,.86,.22,1.25) both!important}
@keyframes slotTrackerReceive{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes slotTrackerCollectorLand{0%{opacity:0;transform:scale(.58)}65%{opacity:1;transform:scale(1.12)}100%{opacity:1;transform:scale(1.02)}}
/* Ice milestones: same palette as the slot, no yellow panels. */
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:64px!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  gap:0!important;
  padding:3px!important;
  overflow:hidden!important;
  border:1px solid rgba(114,218,255,.35)!important;
  border-radius:9px!important;
  background:
    linear-gradient(180deg,rgba(8,59,80,.55),rgba(2,27,43,.84)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 17px rgba(0,0,0,.3),0 0 12px rgba(70,192,239,.05)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{color:#8be5ff!important;font-size:7px!important;font-weight:950!important;text-shadow:none!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{color:#e8faff!important;font-size:7px!important;line-height:1!important;font-weight:950!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{margin-top:2px!important;color:#a9edff!important;font-size:19px!important;line-height:1!important;text-shadow:0 0 13px rgba(82,207,255,.22)!important}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{border-color:rgba(157,237,255,.8)!important;box-shadow:0 0 20px rgba(81,211,255,.16),inset 0 0 18px rgba(70,201,246,.08)!important}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked{background:linear-gradient(180deg,rgba(12,95,123,.58),rgba(3,42,61,.87)),url("assets/images/walpaper.png") center/cover no-repeat!important}
/* Make the flying collector impossible to miss. */
.slot-collector-fly{
  width:128px!important;height:128px!important;z-index:10050!important;
  filter:drop-shadow(0 9px 20px rgba(0,0,0,.44)) drop-shadow(0 0 22px rgba(84,217,255,.3))!important;
}
.slot-collector-fly img{
  width:100%!important;height:100%!important;object-fit:contain!important;opacity:1!important;filter:brightness(1.12) saturate(1.05)!important;
}
/* Final bonus screen — frozen casino finish, no yellow card. */
.slot-bonus-summary-backdrop{
  background:
    radial-gradient(circle at 50% 44%,rgba(58,189,244,.25),transparent 38%),
    linear-gradient(rgba(0,8,15,.78),rgba(0,8,15,.9)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
  backdrop-filter:blur(12px)!important;
}
.slot-bonus-summary-card{
  width:min(620px,94vw)!important;
  min-height:460px!important;
  padding:30px 34px 32px!important;
  border:1px solid rgba(129,229,255,.58)!important;
  border-radius:28px!important;
  background:
    radial-gradient(circle at 50% 13%,rgba(83,211,255,.15),transparent 32%),
    linear-gradient(180deg,rgba(4,39,57,.97),rgba(1,21,34,.985))!important;
  box-shadow:0 44px 130px rgba(0,0,0,.76),0 0 80px rgba(65,203,255,.18),inset 0 0 52px rgba(84,214,255,.055)!important;
}
.slot-bonus-summary-card::before{
  background:linear-gradient(110deg,rgba(91,214,255,.64),rgba(184,244,255,.22),rgba(60,181,234,.58))!important;
  opacity:.35!important;
}
.slot-bonus-summary-badge img{width:124px!important;height:104px!important;object-fit:contain!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.34)) drop-shadow(0 0 18px rgba(77,207,255,.2))!important}
.slot-bonus-summary-badge span{color:#86ddf8!important}
.slot-bonus-summary-card h2{font-size:34px!important;color:#f3fcff!important;text-shadow:0 0 22px rgba(83,207,255,.12)!important}
.slot-bonus-summary-label{color:#71bad3!important}
.slot-bonus-summary-total strong{
  color:#a8f1ff!important;
  font-size:92px!important;
  text-shadow:0 4px 0 #15526c,0 0 42px rgba(79,212,255,.32)!important;
}
.slot-bonus-summary-total small{color:#dff8ff!important}
.slot-bonus-summary-stats>div{border-color:rgba(111,219,255,.24)!important;background:rgba(4,35,51,.78)!important}
.slot-bonus-summary-stats span{color:#72aec4!important}
.slot-bonus-summary-stats b{color:#eefbff!important}
.slot-bonus-summary-card>em{color:#8bd7ee!important;font-size:10px!important;animation:slotContinuePulse .8s ease-in-out infinite alternate!important}
@media(max-width:760px){
  .casino-slot-v2 .fishing-bonus-strip-meta{grid-template-columns:repeat(3,minmax(112px,1fr))!important;min-width:390px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span{min-height:54px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span b{font-size:23px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) b{font-size:25px!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:740px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:60px!important}
  .slot-collector-fly{width:98px!important;height:98px!important}
  .slot-bonus-summary-card{min-height:410px!important;padding:24px 18px 28px!important}
  .slot-bonus-summary-total strong{font-size:72px!important}
}


/* =========================================================
   SLOT BONUS TRACKER / SLOTERZIN / DIVIDER COINS — V8
   ========================================================= */
.casino-slot-v2 .fishing-slot-reels{position:relative!important;overflow:hidden!important}
.casino-slot-v2 .fishing-slot-reels .slot-reel,
.casino-slot-v2 .fishing-slot-reels .slot-symbol,
.casino-slot-v2 .slot-grid-sheen,
.casino-slot-v2 .slot-payline-fx,
.casino-slot-v2 .slot-reel-energy{position:relative;z-index:2}
.casino-slot-v2 .slot-divider-coins{position:absolute;inset:12px 10px 12px 10px;pointer-events:none;z-index:1}
.casino-slot-v2 .slot-divider-coins__lane{position:absolute;top:0;bottom:0;width:18px;display:block;overflow:hidden;opacity:.72;filter:drop-shadow(0 0 6px rgba(93,218,255,.14))}
.casino-slot-v2 .slot-divider-coins__lane.lane-1{left:19.4%}
.casino-slot-v2 .slot-divider-coins__lane.lane-2{left:39.5%}
.casino-slot-v2 .slot-divider-coins__lane.lane-3{left:59.6%}
.casino-slot-v2 .slot-divider-coins__lane.lane-4{left:79.8%}
.casino-slot-v2 .slot-divider-coins__lane span{position:absolute;left:50%;bottom:-26px;width:12px;height:12px;margin-left:-6px;background:url("assets/images/daily-coin.png") center/contain no-repeat;opacity:0;animation:slotDividerCoinRise 5.8s linear infinite;filter:drop-shadow(0 0 8px rgba(90,220,255,.15))}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(1){width:9px;height:9px;margin-left:-4.5px;animation-delay:-.3s;left:48%}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(2){width:13px;height:13px;margin-left:-6.5px;animation-delay:-1.4s;left:56%}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(3){width:10px;height:10px;margin-left:-5px;animation-delay:-2.5s;left:42%}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(4){width:8px;height:8px;margin-left:-4px;animation-delay:-3.6s;left:58%}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(5){width:11px;height:11px;margin-left:-5.5px;animation-delay:-4.7s;left:50%}
@keyframes slotDividerCoinRise{
  0%{transform:translateY(0) scale(.55) rotate(0deg);opacity:0}
  12%{opacity:.55}
  50%{opacity:.85}
  90%{opacity:.12}
  100%{transform:translateY(-108%) scale(1) rotate(360deg);opacity:0}
}

.casino-slot-v2 .fishing-bonus-strip{
  display:grid!important;gap:10px!important;padding:10px 12px 12px!important;border-radius:18px!important;
  background:linear-gradient(180deg,rgba(4,31,44,.95),rgba(3,21,32,.94))!important;
  border:1px solid rgba(105,214,255,.2)!important;box-shadow:0 16px 36px rgba(0,0,0,.28),inset 0 0 24px rgba(74,197,255,.04)!important;
}
.casino-slot-v2 .fishing-bonus-strip::before{content:"";position:absolute;inset:0;border-radius:18px;background:radial-gradient(circle at 50% -20%,rgba(94,219,255,.16),transparent 45%);pointer-events:none}
.casino-slot-v2 .fishing-bonus-strip-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;position:relative;z-index:2}
.casino-slot-v2 .fishing-bonus-strip-meta>span{
  min-height:64px!important;display:grid!important;align-content:center!important;justify-items:center!important;padding:8px 10px!important;
  border-radius:14px!important;border:1px solid rgba(107,214,255,.16)!important;
  background:linear-gradient(180deg,rgba(8,55,79,.78),rgba(3,29,43,.86)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 18px rgba(0,0,0,.22), 0 0 0 1px rgba(143,231,255,.03)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta>span small{display:block!important;color:#88dffb!important;font-size:8px!important;font-weight:950!important;letter-spacing:1.2px!important;margin-bottom:4px!important;text-shadow:none!important}
.casino-slot-v2 .fishing-bonus-strip-meta>span b{display:block!important;color:#f4fcff!important;font-size:28px!important;line-height:1!important;font-weight:950!important;letter-spacing:-1px!important;text-shadow:0 2px 10px rgba(0,0,0,.28)!important}
.casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) b{color:#8ff2bf!important;font-size:30px!important}
.casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) em{display:block!important;margin-top:3px!important;color:#d9f8ff!important;font-style:normal!important;font-size:9px!important;font-weight:900!important;letter-spacing:1px!important}
.casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(3) b{color:#9be9ff!important}

.casino-slot-v2 .fishing-bonus-strip-track{
  display:grid!important;grid-template-columns:168px 78px 168px 78px 168px 78px!important;gap:8px!important;align-items:center!important;
  position:relative;z-index:2
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;
  padding:5px!important;border-radius:16px!important;border:1px solid rgba(106,214,255,.14)!important;
  background:linear-gradient(180deg,rgba(6,31,47,.9),rgba(3,20,30,.92)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.25)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;height:64px!important;border-radius:13px!important;overflow:hidden!important;border:1px solid rgba(109,214,255,.18)!important;
  background:linear-gradient(180deg,rgba(14,63,86,.4),rgba(5,32,47,.7)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 20px rgba(0,0,0,.32), 0 0 0 1px rgba(131,225,255,.02)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before{
  content:"";position:absolute;inset:3px;border-radius:10px;background:rgba(2,20,31,.28);backdrop-filter:blur(2px)
}
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  content:"";position:absolute;inset:4px;border-radius:10px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 30%),
    url("assets/images/sloterzin.png") center 58%/cover no-repeat;
  opacity:.26;filter:grayscale(1) saturate(.65) brightness(.35) contrast(1.05);
  transform:scale(.96);transition:transform .24s ease, opacity .24s ease, filter .24s ease, box-shadow .24s ease;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled::after,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier::after{
  opacity:1;filter:none;transform:scale(1);box-shadow:inset 0 0 0 1px rgba(164,239,255,.18),0 0 22px rgba(78,202,255,.14)
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier{border-color:rgba(118,226,255,.36)!important;box-shadow:0 0 14px rgba(88,214,255,.08), inset 0 0 20px rgba(0,0,0,.32)!important}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{border-color:rgba(146,236,255,.78)!important;box-shadow:0 0 26px rgba(88,214,255,.32), inset 0 0 20px rgba(0,0,0,.32)!important}
.casino-slot-v2 .fishing-bonus-collector-group i.is-newly-filled{animation:slotTrackerFillPop .7s cubic-bezier(.18,.84,.22,1.1)}
@keyframes slotTrackerFillPop{0%{transform:scale(.92)}35%{transform:scale(1.07)}100%{transform:scale(1)}}

.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:74px!important;display:grid!important;place-items:center!important;gap:2px!important;padding:6px 4px!important;
  border-radius:16px!important;border:1px solid rgba(105,214,255,.2)!important;
  background:linear-gradient(180deg,rgba(11,74,105,.82),rgba(3,43,66,.9)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.25)!important;text-align:center!important
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:8px!important;color:#9be6ff!important;font-weight:950!important;letter-spacing:1px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:8px!important;color:#effcff!important;font-weight:950!important;line-height:1.02!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{margin-top:2px!important;color:#8df0ff!important;font-size:24px!important;line-height:1!important;font-weight:950!important;text-shadow:0 0 14px rgba(87,210,255,.22)!important}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{border-color:rgba(150,237,255,.85)!important;box-shadow:0 0 22px rgba(78,204,255,.18), inset 0 0 18px rgba(74,197,255,.08)!important}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked{background:linear-gradient(180deg,rgba(16,109,126,.86),rgba(5,60,82,.94)), url("assets/images/walpaper.png") center/cover no-repeat!important;border-color:rgba(137,237,255,.58)!important}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked span,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked strong,
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked b{color:#e9fcff!important}

.casino-slot-v2 .slot-coin-fly{width:56px!important;height:56px!important;z-index:48!important}
.casino-slot-v2 .slot-coin-fly b{font-size:11px!important;padding:2px 6px;border-radius:999px;background:rgba(1,18,30,.8);box-shadow:0 0 12px rgba(82,211,255,.1)!important}
.casino-slot-v2 .slot-collector-fly{width:108px!important;height:108px!important;z-index:60!important}
.casino-slot-v2 .slot-collector-fly img{object-fit:contain!important;filter:drop-shadow(0 10px 16px rgba(0,0,0,.38))}

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay{
  width:min(620px,92%)!important;min-height:196px!important;padding:18px 28px 18px 215px!important;border-radius:24px!important;
  border:1px solid rgba(112,222,255,.2)!important;
  background:linear-gradient(180deg,rgba(4,36,52,.95),rgba(3,24,36,.96)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:0 28px 60px rgba(0,0,0,.46), inset 0 0 28px rgba(84,206,255,.06)!important
}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay>img{left:16px!important;bottom:-10px!important;width:210px!important;height:210px!important}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy{gap:4px!important}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay span{font-size:15px!important;color:#8ee6ff!important;letter-spacing:1.4px!important}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay small{font-size:10px!important;color:#77bbd1!important;letter-spacing:1px!important}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay strong{font-size:56px!important;color:#fff7a4!important;text-shadow:0 3px 0 rgba(113,92,20,.7),0 0 26px rgba(255,220,67,.22)!important}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay b{font-size:14px!important;color:#effbff!important;letter-spacing:2px!important}
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay em{font-size:11px!important;color:#9fdff1!important}

.casino-slot-v2 .slot-levelup-overlay{
  width:min(650px,94%)!important;min-height:214px!important;padding:20px 24px 20px 228px!important;border-radius:28px!important;
  border:1px solid rgba(114,223,255,.24)!important;
  background:linear-gradient(180deg,rgba(4,38,56,.96),rgba(3,25,39,.97)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:0 30px 70px rgba(0,0,0,.46), inset 0 0 28px rgba(84,206,255,.06)!important;
}
.casino-slot-v2 .slot-levelup-overlay>img{left:12px!important;bottom:-10px!important;width:220px!important;height:220px!important}
.casino-slot-v2 .slot-levelup-overlay span{color:#8fe9ff!important;font-size:16px!important;letter-spacing:1.5px!important}
.casino-slot-v2 .slot-levelup-overlay small{color:#beeefe!important;font-size:11px!important;letter-spacing:1.1px!important}
.casino-slot-v2 .slot-levelup-overlay strong{color:#9df0ff!important;font-size:72px!important;text-shadow:0 0 24px rgba(88,212,255,.22)!important}
.casino-slot-v2 .slot-levelup-overlay b{border-color:rgba(108,220,255,.28)!important;background:rgba(2,38,56,.7)!important;color:#effcff!important;font-size:12px!important}

.casino-slot-v2 .slot-bonus-summary-backdrop{background:radial-gradient(circle at 50% 30%,rgba(60,205,255,.16),transparent 32%), rgba(0,7,13,.9)!important;backdrop-filter:blur(10px)!important}
.casino-slot-v2 .slot-bonus-summary-card{
  width:min(670px,94vw)!important;min-height:470px!important;padding:34px 28px 30px!important;
  border:1px solid rgba(112,223,255,.24)!important;border-radius:30px!important;
  background:linear-gradient(180deg,rgba(4,42,60,.97),rgba(2,23,35,.98)), url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:0 40px 120px rgba(0,0,0,.72), inset 0 0 34px rgba(86,215,255,.05)!important;text-align:center!important
}
.casino-slot-v2 .slot-bonus-summary-card::before{background:linear-gradient(120deg,rgba(127,232,255,.28),rgba(99,218,255,.1),rgba(127,232,255,.22))!important;opacity:.4!important}
.casino-slot-v2 .slot-bonus-summary-badge img{width:138px!important;height:116px!important;object-fit:contain!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.34)) drop-shadow(0 0 18px rgba(77,207,255,.16))!important}
.casino-slot-v2 .slot-bonus-summary-badge span{color:#8fe8ff!important;font-size:10px!important;letter-spacing:2px!important}
.casino-slot-v2 .slot-bonus-summary-card h2{font-size:38px!important;color:#f4fcff!important;letter-spacing:-1px!important;text-shadow:0 0 18px rgba(83,207,255,.08)!important}
.casino-slot-v2 .slot-bonus-summary-label{margin-top:12px!important;color:#90e4ff!important;font-size:10px!important;letter-spacing:2px!important}
.casino-slot-v2 .slot-bonus-summary-total strong{font-size:94px!important;color:#f3fcff!important;letter-spacing:-4px!important;text-shadow:0 0 24px rgba(84,206,255,.18)!important}
.casino-slot-v2 .slot-bonus-summary-total small{color:#90e2ff!important;font-size:11px!important;letter-spacing:3px!important}
.casino-slot-v2 .slot-bonus-summary-stats{gap:14px!important}
.casino-slot-v2 .slot-bonus-summary-stats>div{padding:14px 16px!important;border-radius:16px!important;border-color:rgba(111,219,255,.2)!important;background:rgba(3,33,48,.72)!important}
.casino-slot-v2 .slot-bonus-summary-stats span{color:#85d8f1!important;font-size:8px!important;letter-spacing:1.2px!important}
.casino-slot-v2 .slot-bonus-summary-stats b{color:#eefbff!important;font-size:24px!important}
.casino-slot-v2 .slot-bonus-summary-card>em{color:#9de8ff!important;font-size:10px!important;letter-spacing:1.3px!important}

@media (max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip-meta>span b{font-size:22px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) b{font-size:24px!important}
  .casino-slot-v2 .fishing-bonus-strip{padding:9px!important;overflow-x:auto!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:760px!important}
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay{padding-left:170px!important;min-height:170px!important}
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay>img{width:165px!important;height:165px!important}
  .casino-slot-v2 .slot-levelup-overlay{padding-left:175px!important;min-height:190px!important}
  .casino-slot-v2 .slot-levelup-overlay>img{width:170px!important;height:170px!important}
}
@media (max-width:640px){
  .casino-slot-v2 .slot-divider-coins{display:none}
  .casino-slot-v2 .fishing-bonus-strip-meta{grid-template-columns:1fr!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span{min-height:54px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span b{font-size:20px!important}
  .casino-slot-v2 .fishing-bonus-strip-meta>span:nth-child(2) b{font-size:22px!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:700px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:56px!important}
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay{padding:18px!important;padding-top:132px!important;width:94%!important;min-height:230px!important}
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay>img{left:50%!important;top:-16px!important;bottom:auto!important;transform:translateX(-50%)!important}
  .casino-slot-v2 .slot-levelup-overlay{padding:18px!important;padding-top:128px!important;width:94%!important;min-height:232px!important}
  .casino-slot-v2 .slot-levelup-overlay>img{left:50%!important;top:-10px!important;bottom:auto!important;transform:translateX(-50%)!important}
  .casino-slot-v2 .slot-levelup-overlay strong{font-size:56px!important}
  .casino-slot-v2 .slot-bonus-summary-card{min-height:430px!important;padding:26px 18px!important}
  .casino-slot-v2 .slot-bonus-summary-total strong{font-size:72px!important}
}


/* =========================================================
   SLOT BONUS V9 — caixas maiores + daily-coin nas divisórias
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:196px 92px 196px 92px 196px 92px!important;
  gap:10px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  padding:7px!important;
  gap:7px!important;
  border-radius:18px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:78px!important;
  border-radius:15px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before{
  inset:2px!important;
  border-radius:12px!important;
  background:rgba(2,18,28,.14)!important;
  backdrop-filter:blur(3px)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  inset:0!important;
  border-radius:14px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 32%),
    url("assets/images/sloterzin.png") center center/cover no-repeat!important;
  opacity:.20!important;
  filter:grayscale(1) saturate(.6) brightness(.32) contrast(1.02)!important;
  transform:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled::after,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier::after{
  opacity:1!important;
  filter:none!important;
  box-shadow:inset 0 0 0 1px rgba(164,239,255,.22),0 0 22px rgba(78,202,255,.16)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving::after{
  opacity:1!important;
  filter:none!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:92px!important;
  border-radius:18px!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:9px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:10px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:28px!important}

/* aumentar e tornar visíveis as moedas pequenas entre colunas */
.casino-slot-v2 .fishing-slot-reels .slot-reel,
.casino-slot-v2 .fishing-slot-reels .slot-symbol,
.casino-slot-v2 .slot-grid-sheen,
.casino-slot-v2 .slot-payline-fx,
.casino-slot-v2 .slot-reel-energy{z-index:2!important}
.casino-slot-v2 .slot-divider-coins{z-index:3!important;inset:8px 8px 8px 8px!important;opacity:1!important}
.casino-slot-v2 .slot-divider-coins__lane{width:22px!important;opacity:.95!important;filter:drop-shadow(0 0 7px rgba(86,216,255,.16))!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-1{left:19.45%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-2{left:39.58%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-3{left:59.71%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-4{left:79.84%!important}
.casino-slot-v2 .slot-divider-coins__lane span{
  width:9px!important;
  height:9px!important;
  margin-left:-4.5px!important;
  bottom:-18px!important;
  background:url("assets/images/daily-coin.png") center/contain no-repeat!important;
  opacity:0!important;
  animation:slotDividerDailyCoinRise 7s linear infinite!important;
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(1){width:7px!important;height:7px!important;left:42%!important;animation-delay:-0.4s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(2){width:10px!important;height:10px!important;left:58%!important;animation-delay:-1.7s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(3){width:8px!important;height:8px!important;left:48%!important;animation-delay:-3s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(4){width:6px!important;height:6px!important;left:61%!important;animation-delay:-4.3s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(5){width:11px!important;height:11px!important;left:39%!important;animation-delay:-5.6s!important}
@keyframes slotDividerDailyCoinRise{
  0%{transform:translateY(0) translateX(0) scale(.65) rotate(0deg);opacity:0}
  8%{opacity:.45}
  25%{transform:translateY(-26%) translateX(-2px) scale(.8) rotate(80deg);opacity:.72}
  55%{transform:translateY(-58%) translateX(2px) scale(.92) rotate(180deg);opacity:.86}
  82%{opacity:.28}
  100%{transform:translateY(-112%) translateX(-1px) scale(1) rotate(330deg);opacity:0}
}
@media (max-width:1100px){
  .casino-slot-v2 .fishing-bonus-strip-track{grid-template-columns:176px 84px 176px 84px 176px 84px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:72px!important}
}
@media (max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:860px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:68px!important}
}
@media (max-width:640px){
  .casino-slot-v2 .slot-divider-coins{display:none!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:820px!important}
}


/* =========================================================
   SLOT V10 — TRACKER REAL + COINS ENTRE COLUNAS + 3ª LINHA
   ========================================================= */

/* Garantir sempre as 3 linhas completas dos rolos */
.casino-slot-v2 .casino-slot-reels .slot-reel{
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  min-height:0!important;
}
.casino-slot-v2 .casino-slot-reels .fishing-symbol{
  min-height:0!important;
  height:auto!important;
}

/* Tracker maior e com a imagem coletorzin real dentro de cada caixa */
.casino-slot-v2 .fishing-bonus-strip{
  width:min(1120px,100%)!important;
  padding:12px!important;
  gap:12px!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  width:100%!important;
  grid-template-columns:minmax(0,1.28fr) 86px minmax(0,1.28fr) 86px minmax(0,1.28fr) 86px!important;
  gap:10px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  padding:7px!important;
  border-radius:18px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  height:88px!important;
  min-width:0!important;
  overflow:hidden!important;
  border-radius:15px!important;
  border:1px solid rgba(113,219,255,.32)!important;
  background:
    linear-gradient(180deg,rgba(9,52,72,.64),rgba(3,29,43,.82)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:
    inset 0 0 22px rgba(0,0,0,.3),
    0 0 12px rgba(73,198,246,.06)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(5,29,43,.18),rgba(1,16,26,.42))!important;
  pointer-events:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
}
.casino-slot-v2 .slot-tracker-collector-img{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.02)!important;
  opacity:.14!important;
  filter:grayscale(1) saturate(.35) brightness(.38)!important;
  transition:opacity .22s ease,filter .22s ease,transform .22s ease!important;
  pointer-events:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier .slot-tracker-collector-img{
  opacity:.22!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled .slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier .slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving .slot-tracker-collector-img{
  opacity:1!important;
  filter:none!important;
  transform:scale(1.04)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier{
  border-color:rgba(139,231,255,.68)!important;
  box-shadow:
    inset 0 0 0 1px rgba(192,245,255,.14),
    0 0 20px rgba(70,205,255,.16)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  border-color:rgba(190,247,255,.95)!important;
  box-shadow:
    0 0 30px rgba(84,216,255,.42),
    inset 0 0 18px rgba(124,226,255,.12)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:102px!important;
  border-radius:18px!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:9px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:10px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:29px!important}

/* Daily coins realmente a subir desde o fundo ao topo, só nas divisórias */
.casino-slot-v2 .slot-divider-coins{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:15!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.casino-slot-v2 .slot-divider-coins__lane{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:14px!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
  opacity:.9!important;
}
.casino-slot-v2 .slot-divider-coins__lane.lane-1{left:20%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-2{left:40%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-3{left:60%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-4{left:80%!important}

.casino-slot-v2 .slot-divider-coins__lane span{
  position:absolute!important;
  top:106%!important;
  left:50%!important;
  display:block!important;
  width:8px!important;
  height:8px!important;
  margin:0!important;
  background:url("assets/images/daily-coin.png") center/contain no-repeat!important;
  filter:drop-shadow(0 0 5px rgba(83,211,255,.2))!important;
  opacity:0!important;
  animation:slotDailyCoinDividerV10 6.6s linear infinite!important;
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(1){
  width:6px!important;height:6px!important;left:35%!important;animation-delay:-.2s!important
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(2){
  width:10px!important;height:10px!important;left:61%!important;animation-delay:-1.45s!important
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(3){
  width:7px!important;height:7px!important;left:45%!important;animation-delay:-2.7s!important
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(4){
  width:5px!important;height:5px!important;left:64%!important;animation-delay:-3.95s!important
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(5){
  width:9px!important;height:9px!important;left:40%!important;animation-delay:-5.2s!important
}
@keyframes slotDailyCoinDividerV10{
  0%{top:106%;transform:translateX(-50%) rotate(0deg) scale(.7);opacity:0}
  8%{opacity:.5}
  30%{transform:translateX(calc(-50% - 2px)) rotate(100deg) scale(.88);opacity:.75}
  58%{transform:translateX(calc(-50% + 2px)) rotate(210deg) scale(1);opacity:.8}
  86%{opacity:.25}
  100%{top:-8%;transform:translateX(-50%) rotate(360deg) scale(.82);opacity:0}
}

@media(max-width:1050px){
  .casino-slot-v2 .casino-slot-reels{
    height:480px!important;
    min-height:480px!important;
  }
  .casino-slot-v2 .casino-slot-reels .fishing-symbol{
    min-height:0!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    grid-template-columns:minmax(240px,1fr) 82px minmax(240px,1fr) 82px minmax(240px,1fr) 82px!important;
    min-width:980px!important;
  }
}
@media(max-width:760px){
  .casino-slot-v2 .casino-slot-reels{
    height:350px!important;
    min-height:350px!important;
  }
  .casino-slot-v2 .casino-slot-reels .fishing-symbol{
    min-height:0!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:900px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:78px!important}
}
@media(max-width:470px){
  .casino-slot-v2 .casino-slot-reels{
    height:300px!important;
    min-height:300px!important;
  }
  .casino-slot-v2 .casino-slot-reels .fishing-symbol{
    min-height:0!important;
  }
}


/* =========================================================
   SLOT V11 — TRACKER EXATO + 3 LINHAS SEM CORTE
   ========================================================= */

/* Os 5 rolos passam a preencher a janela inteira e as 3 linhas têm
   exatamente 1/3 da altura. Isto elimina o espaço/máscara que estava
   a esconder visualmente a terceira linha. */
.casino-slot-v2 .casino-slot-reels{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
  height:510px!important;
  min-height:510px!important;
  padding:0 8px!important;
  overflow:hidden!important;
}
.casino-slot-v2 .casino-slot-reels::before,
.casino-slot-v2 .casino-slot-reels::after{
  height:16px!important;
  pointer-events:none!important;
}
.casino-slot-v2 .casino-slot-reels::after{
  background:linear-gradient(0deg,rgba(0,25,36,.28),transparent)!important;
}
.casino-slot-v2 .casino-slot-reels .slot-reel{
  display:grid!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  align-self:stretch!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  gap:0!important;
  padding:0 4px!important;
  overflow:hidden!important;
}
.casino-slot-v2 .casino-slot-reels .fishing-symbol{
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
  overflow:visible!important;
  align-self:stretch!important;
}
.casino-slot-v2 .casino-slot-reels .fishing-image-symbol,
.casino-slot-v2 .casino-slot-reels .slot-money-symbol{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
}

/* Tracker igual ao exemplo: quatro retratos grandes + patamar. */
.casino-slot-v2 .fishing-bonus-strip{
  width:min(1160px,100%)!important;
  padding:12px 14px!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  width:100%!important;
  grid-template-columns:minmax(220px,1fr) 96px minmax(220px,1fr) 96px minmax(220px,1fr) 96px!important;
  gap:11px!important;
  align-items:stretch!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  padding:7px!important;
  min-height:104px!important;
  border-radius:17px!important;
  overflow:hidden!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:90px!important;
  min-height:90px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:15px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group .slot-tracker-collector-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:13px!important;
  transform:none!important;
  opacity:.13!important;
  filter:grayscale(1) brightness(.28) saturate(.35)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled .slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier .slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving .slot-tracker-collector-img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier{
  border-color:rgba(133,231,255,.78)!important;
  box-shadow:0 0 16px rgba(67,207,255,.16),inset 0 0 0 1px rgba(223,252,255,.08)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:104px!important;
  height:104px!important;
  align-self:stretch!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:9px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:10px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:31px!important}

@media(max-width:1200px){
  .casino-slot-v2 .casino-slot-reels{
    height:480px!important;
    min-height:480px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    grid-template-columns:minmax(205px,1fr) 90px minmax(205px,1fr) 90px minmax(205px,1fr) 90px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{
    height:84px!important;
    min-height:84px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group,
  .casino-slot-v2 .fishing-bonus-strip-milestone{
    min-height:98px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-milestone{height:98px!important}
}
@media(max-width:900px){
  .casino-slot-v2 .casino-slot-reels{
    height:420px!important;
    min-height:420px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip{overflow-x:auto!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:1000px!important}
}
@media(max-width:640px){
  .casino-slot-v2 .casino-slot-reels{
    height:330px!important;
    min-height:330px!important;
  }
}


/* =========================================================
   SLOT V12 — FIX REAL: 3ª LINHA + TRACKER + DIVISÓRIAS
   ========================================================= */

/* ROOT CAUSE FIX:
   Estes elementos são overlays. Tinham sido acidentalmente postos como
   position:relative e passaram a ocupar células da grid, criando a faixa vazia
   em baixo e esmagando/cortando a 3ª linha. */
.casino-slot-v2 .casino-slot-reels > .slot-divider-coins,
.casino-slot-v2 .casino-slot-reels > .slot-grid-sheen,
.casino-slot-v2 .casino-slot-reels > .slot-payline-fx,
.casino-slot-v2 .casino-slot-reels > .slot-reel-energy{
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
}

/* Apenas os 5 rolos participam na grid. */
.casino-slot-v2 .casino-slot-reels{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:1fr!important;
  align-items:stretch!important;
  align-content:stretch!important;
  height:500px!important;
  min-height:500px!important;
  padding:6px 8px!important;
  gap:0!important;
  overflow:hidden!important;
}
.casino-slot-v2 .casino-slot-reels > .slot-reel{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  gap:0!important;
  padding:0 4px!important;
  margin:0!important;
  align-self:stretch!important;
  overflow:hidden!important;
}
.casino-slot-v2 .casino-slot-reels > .slot-reel > .fishing-symbol{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  align-self:stretch!important;
  overflow:hidden!important;
  border-radius:0!important;
}

/* Tira a máscara escura inferior que dava a sensação de corte. */
.casino-slot-v2 .casino-slot-reels::after{
  display:none!important;
}
.casino-slot-v2 .casino-slot-reels::before{
  height:12px!important;
  opacity:.35!important;
}

/* Mantém os símbolos completamente dentro de cada uma das 3 linhas. */
.casino-slot-v2 .casino-slot-reels .fishing-image-symbol{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  padding:5px!important;
}
.casino-slot-v2 .casino-slot-reels .fishing-image-symbol img{
  width:86%!important;
  height:86%!important;
  max-width:86%!important;
  max-height:86%!important;
  object-fit:contain!important;
}
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-scatter .fishing-image-symbol img,
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-collector .fishing-image-symbol img{
  width:90%!important;
  height:90%!important;
  max-width:90%!important;
  max-height:90%!important;
}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol img{
  width:76%!important;
  height:76%!important;
  object-fit:contain!important;
}

/* FX continuam por cima da grid, sem ocupar espaço. */
.casino-slot-v2 .casino-slot-reels > .slot-grid-sheen{z-index:7!important}
.casino-slot-v2 .casino-slot-reels > .slot-payline-fx{z-index:18!important;width:100%!important;height:100%!important}
.casino-slot-v2 .casino-slot-reels > .slot-reel-energy{z-index:6!important;inset:10px!important}

/* DAILY-COINS ENTRE COLUNAS — agora ficam realmente por cima das divisórias. */
.casino-slot-v2 .casino-slot-reels > .slot-divider-coins{
  z-index:12!important;
  overflow:hidden!important;
}
.casino-slot-v2 .slot-divider-coins__lane{
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:20px!important;
  transform:translateX(-50%)!important;
  overflow:hidden!important;
  opacity:1!important;
}
.casino-slot-v2 .slot-divider-coins__lane.lane-1{left:20%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-2{left:40%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-3{left:60%!important}
.casino-slot-v2 .slot-divider-coins__lane.lane-4{left:80%!important}
.casino-slot-v2 .slot-divider-coins__lane span{
  position:absolute!important;
  top:104%!important;
  left:50%!important;
  display:block!important;
  width:12px!important;
  height:12px!important;
  margin:0!important;
  background:url("assets/images/daily-coin.png") center/contain no-repeat!important;
  opacity:0!important;
  filter:drop-shadow(0 0 6px rgba(78,211,255,.28))!important;
  animation:slotDividerCoinV12 6.3s linear infinite!important;
}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(1){width:8px!important;height:8px!important;left:32%!important;animation-delay:-.1s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(2){width:14px!important;height:14px!important;left:65%!important;animation-delay:-1.2s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(3){width:10px!important;height:10px!important;left:43%!important;animation-delay:-2.4s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(4){width:7px!important;height:7px!important;left:62%!important;animation-delay:-3.6s!important}
.casino-slot-v2 .slot-divider-coins__lane span:nth-child(5){width:12px!important;height:12px!important;left:38%!important;animation-delay:-4.8s!important}
@keyframes slotDividerCoinV12{
  0%{top:104%;transform:translateX(-50%) rotate(0deg) scale(.72);opacity:0}
  8%{opacity:.58}
  28%{transform:translateX(calc(-50% - 2px)) rotate(95deg) scale(.82);opacity:.78}
  58%{transform:translateX(calc(-50% + 2px)) rotate(210deg) scale(1);opacity:.9}
  84%{opacity:.35}
  100%{top:-6%;transform:translateX(-50%) rotate(360deg) scale(.8);opacity:0}
}

/* TRACKER — imagem real do coletor dentro de cada quadrado. */
.casino-slot-v2 .fishing-bonus-strip{
  width:min(1160px,100%)!important;
  padding:12px 14px!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(250px,1fr) 92px minmax(250px,1fr) 92px minmax(250px,1fr) 92px!important;
  gap:10px!important;
  align-items:stretch!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  padding:7px!important;
  min-height:102px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  display:block!important;
  height:88px!important;
  min-height:88px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
}

/* importante: existia uma regra antiga i>img{display:none!important}; esta anula-a */
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:13px!important;
  opacity:.16!important;
  filter:grayscale(1) brightness(.30) saturate(.35)!important;
  transform:none!important;
  pointer-events:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  display:block!important;
  opacity:1!important;
  filter:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier{
  border-color:rgba(135,232,255,.8)!important;
  box-shadow:0 0 20px rgba(72,207,255,.18),inset 0 0 0 1px rgba(231,253,255,.08)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:102px!important;
  height:102px!important;
  align-self:stretch!important;
}

@media(max-width:1200px){
  .casino-slot-v2 .casino-slot-reels{
    height:470px!important;
    min-height:470px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    grid-template-columns:minmax(225px,1fr) 88px minmax(225px,1fr) 88px minmax(225px,1fr) 88px!important;
  }
}
@media(max-width:900px){
  .casino-slot-v2 .casino-slot-reels{
    height:405px!important;
    min-height:405px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip{overflow-x:auto!important}
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:1030px!important}
}
@media(max-width:640px){
  .casino-slot-v2 .casino-slot-reels{
    height:330px!important;
    min-height:330px!important;
  }
  .casino-slot-v2 .slot-divider-coins__lane span{
    width:8px!important;height:8px!important;
  }
}


/* =========================================================
   SLOT V13 — BARRA MAIS ESTICADA + COLETOR A SAIR DA CAIXA
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  position:relative!important;
  width:calc(100% + 28px)!important;
  max-width:none!important;
  margin-left:-14px!important;
  margin-right:-14px!important;
  padding:12px 12px 14px!important;
  border-radius:18px!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta,
.casino-slot-v2 .fishing-bonus-strip-track,
.casino-slot-v2 .fishing-bonus-collector-group{
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:minmax(270px,1fr) 96px minmax(270px,1fr) 96px minmax(270px,1fr) 96px!important;
  gap:10px!important;
  align-items:end!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  min-height:108px!important;
  padding:8px!important;
  gap:8px!important;
  border-radius:18px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:92px!important;
  min-height:92px!important;
  border-radius:14px!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:108px!important;
  height:108px!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:33px!important}

/* Imagem do coletor normalmente quase toda dentro da caixa */
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  inset:auto 0 0 0!important;
  top:0!important;
  bottom:auto!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:14px!important;
}

/* Quando já foi coletado, deixa a imagem sair um pouco da caixa na parte de cima */
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  top:-14px!important;
  left:-1px!important;
  width:calc(100% + 2px)!important;
  height:calc(100% + 18px)!important;
  object-fit:cover!important;
  object-position:center top!important;
  border-radius:14px!important;
  filter:none!important;
  opacity:1!important;
  z-index:3!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  z-index:4!important;
}

/* No mobile/monitores menores, não deixar rebentar demasiado */
@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-strip{
    width:calc(100% + 18px)!important;
    margin-left:-9px!important;
    margin-right:-9px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    grid-template-columns:minmax(245px,1fr) 92px minmax(245px,1fr) 92px minmax(245px,1fr) 92px!important;
  }
}
@media(max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip{
    width:calc(100% + 8px)!important;
    margin-left:-4px!important;
    margin-right:-4px!important;
    overflow-x:auto!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:1060px!important}
}


/* =========================================================
   SLOT V14 — TRACKER MAIS LIMPO E COLETORZIN BEM COLOCADO
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  width:calc(100% + 44px)!important;
  max-width:none!important;
  margin-left:-22px!important;
  margin-right:-22px!important;
  padding:12px 14px 14px!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  grid-template-columns:minmax(290px,1fr) 98px minmax(290px,1fr) 98px minmax(290px,1fr) 98px!important;
  gap:12px!important;
  align-items:end!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  min-height:112px!important;
  padding:8px!important;
  gap:8px!important;
  border-radius:18px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:94px!important;
  min-height:94px!important;
  border-radius:14px!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:112px!important;
  height:112px!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:34px!important}

/* estado vazio: imagem inteira, escurecida, já bem colocada dentro da caixa */
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:auto!important;
  bottom:-2px!important;
  inset:auto auto -2px 50%!important;
  width:124%!important;
  height:124%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  opacity:.16!important;
  filter:grayscale(1) brightness(.28) saturate(.35)!important;
  z-index:2!important;
  pointer-events:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.22!important;
}

/* estado preenchido: mesmo recorte, mas a sair um pouco pelo topo */
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  left:50%!important;
  bottom:-4px!important;
  inset:auto auto -4px 50%!important;
  width:128%!important;
  height:128%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  opacity:1!important;
  filter:none!important;
  z-index:4!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  z-index:5!important;
}

@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-strip{
    width:calc(100% + 26px)!important;
    margin-left:-13px!important;
    margin-right:-13px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    grid-template-columns:minmax(255px,1fr) 94px minmax(255px,1fr) 94px minmax(255px,1fr) 94px!important;
  }
}
@media(max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip{
    width:calc(100% + 10px)!important;
    margin-left:-5px!important;
    margin-right:-5px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{min-width:1100px!important}
}


/* =========================================================
   SLOT V15 — COLETORES SEM CAIXAS
   ========================================================= */
.casino-slot-v2 .fishing-bonus-collector-group{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  gap:10px!important;
  min-height:112px!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  display:block!important;
  height:104px!important;
  min-height:104px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  top:auto!important;
  inset:auto auto 0 50%!important;
  width:118%!important;
  height:118%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.16!important;
  filter:grayscale(1) brightness(.28) saturate(.35)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.22!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  width:124%!important;
  height:124%!important;
  bottom:-2px!important;
  opacity:1!important;
  filter:none!important;
  transform:translateX(-50%)!important;
  z-index:4!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  filter:drop-shadow(0 0 16px rgba(100,225,255,.55))!important;
}

@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-collector-group{gap:8px!important}
  .casino-slot-v2 .fishing-bonus-collector-group i{height:98px!important;min-height:98px!important}
}


/* =========================================================
   SLOT V16 — BARRA ALINHADA + COLETORES MAIS EM BAIXO
   ========================================================= */
/* anular os alargamentos excessivos antigos da barra */
.casino-slot-v2 .fishing-bonus-strip{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:12px 14px 14px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta{
  width:100%!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr) 96px minmax(0,1fr) 96px!important;
  gap:12px!important;
  align-items:center!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:110px!important;
  height:110px!important;
}

/* zona dos coletores sem caixas, centrados mais em baixo */
.casino-slot-v2 .fishing-bonus-collector-group{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:4px 6px 6px!important;
  gap:8px!important;
  min-height:110px!important;
  align-items:end!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  display:block!important;
  height:100px!important;
  min-height:100px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:58%!important;
  inset:58% auto auto 50%!important;
  width:114%!important;
  height:114%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.14!important;
  filter:grayscale(1) brightness(.26) saturate(.3)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.2!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  top:60%!important;
  inset:60% auto auto 50%!important;
  width:120%!important;
  height:120%!important;
  opacity:1!important;
  filter:none!important;
  transform:translate(-50%,-50%)!important;
  z-index:4!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  filter:drop-shadow(0 0 14px rgba(100,225,255,.5))!important;
}

@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-strip-track{
    grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr) 90px minmax(0,1fr) 90px!important;
    gap:10px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{height:96px!important;min-height:96px!important}
}
@media(max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip{
    overflow-x:auto!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    min-width:980px!important;
  }
}

/* =========================================================
   SLOT V17 — COLETORZIN RECENTRADO + SEM RAIO CENTRAL
   ========================================================= */
/* Não mexer na geometria da barra. Apenas reposicionar as imagens. */
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:50% auto auto 50%!important;
  width:176%!important;
  height:136%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.14!important;
  filter:grayscale(1) brightness(.27) saturate(.32)!important;
  pointer-events:none!important;
  z-index:2!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.20!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  left:50%!important;
  top:48%!important;
  inset:48% auto auto 50%!important;
  width:182%!important;
  height:142%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;
  opacity:1!important;
  filter:none!important;
  z-index:4!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  filter:drop-shadow(0 0 14px rgba(100,225,255,.5))!important;
}

/* Remover o feixe/raio que roda no centro da slot. */
.casino-slot-v2 .slot-reel-energy,
.site-slot-page .slot-reel-energy,
.casino-slot-v2 .slot-grid-sheen,
.site-slot-page .slot-grid-sheen{
  display:none!important;
  animation:none!important;
  opacity:0!important;
}


/* =========================================================
   SLOT V18 — CONTROLOS MAIS EM BAIXO + BARRA HORIZONTAL MAIOR
   ========================================================= */
/* Puxar a coluna vertical da esquerda mais para baixo */
.fishing-slot-controls{
  padding-top:78px!important;
}
/* manter o resto da coluna igual */
.fishing-control-head{margin-top:0!important}

/* Dar mais largura útil à barra horizontal do bónus */
.casino-slot-v2 .fishing-bonus-strip,
.fishing-slot-page .fishing-bonus-strip{
  width:min(900px,100%)!important;
  max-width:100%!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta,
.fishing-slot-page .fishing-bonus-strip-meta,
.casino-slot-v2 .fishing-bonus-strip-track,
.fishing-slot-page .fishing-bonus-strip-track{
  width:100%!important;
}
/* aproveitar melhor o espaço lateral dentro da barra */
.casino-slot-v2 .fishing-bonus-strip-track,
.fishing-slot-page .fishing-bonus-strip-track{
  grid-template-columns:minmax(0,1fr) 106px minmax(0,1fr) 106px minmax(0,1fr) 106px!important;
  gap:14px!important;
}

@media(max-width:1200px){
  .fishing-slot-controls{padding-top:64px!important}
  .casino-slot-v2 .fishing-bonus-strip,
  .fishing-slot-page .fishing-bonus-strip{width:min(860px,100%)!important}
  .casino-slot-v2 .fishing-bonus-strip-track,
  .fishing-slot-page .fishing-bonus-strip-track{
    grid-template-columns:minmax(0,1fr) 98px minmax(0,1fr) 98px minmax(0,1fr) 98px!important;
    gap:12px!important;
  }
}
@media(max-width:900px){
  .fishing-slot-controls{padding-top:14px!important}
  .casino-slot-v2 .fishing-bonus-strip,
  .fishing-slot-page .fishing-bonus-strip{width:100%!important}
}


/* =========================================================
   SLOT V19 — VERTICAL MAIS BAIXO + HORIZONTAL MAIS LARGA PARA OS LADOS
   ========================================================= */
/* puxar MESMO a coluna vertical da esquerda para baixo */
.fishing-slot-controls{
  padding-top:132px!important;
}

/* expandir a barra horizontal do bónus para os lados */
.casino-slot-v2 .fishing-bonus-strip,
.fishing-slot-page .fishing-bonus-strip{
  width:calc(100% + 96px)!important;
  max-width:none!important;
  margin-left:-48px!important;
  margin-right:-48px!important;
}
.casino-slot-v2 .fishing-bonus-strip-track,
.fishing-slot-page .fishing-bonus-strip-track{
  grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr) 112px minmax(0,1fr) 112px!important;
  gap:16px!important;
}

@media(max-width:1200px){
  .fishing-slot-controls{padding-top:108px!important}
  .casino-slot-v2 .fishing-bonus-strip,
  .fishing-slot-page .fishing-bonus-strip{
    width:calc(100% + 64px)!important;
    margin-left:-32px!important;
    margin-right:-32px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track,
  .fishing-slot-page .fishing-bonus-strip-track{
    grid-template-columns:minmax(0,1fr) 104px minmax(0,1fr) 104px minmax(0,1fr) 104px!important;
    gap:14px!important;
  }
}
@media(max-width:900px){
  .fishing-slot-controls{padding-top:14px!important}
  .casino-slot-v2 .fishing-bonus-strip,
  .fishing-slot-page .fishing-bonus-strip{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* =========================================================
   SLOT V20 — POSIÇÕES CORRETAS
   ========================================================= */

/* ESTA é a barra vertical real: BET / Maior chance / Comprar bonus.
   Desce o bloco inteiro, sem alterar os cartões. */
.casino-slot-v2 .casino-slot-side{
  transform:translateY(92px)!important;
}

/* A barra horizontal do bónus desloca-se para a ESQUERDA.
   Mantém a largura aumentada, mas ganha muito mais espaço para o lado esquerdo. */
.casino-slot-v2 .fishing-bonus-strip,
.fishing-slot-page .fishing-bonus-strip{
  width:calc(100% + 96px)!important;
  max-width:none!important;
  margin-left:-92px!important;
  margin-right:-4px!important;
}

/* Não aplicar o deslocamento vertical na versão mobile. */
@media(max-width:760px){
  .casino-slot-v2 .casino-slot-side{
    transform:none!important;
  }
  .casino-slot-v2 .fishing-bonus-strip,
  .fishing-slot-page .fishing-bonus-strip{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* =========================================================
   SLOT V21 — 3 COLETORES POR NÍVEL
   Mantém exatamente a dimensão/posição da barra V20.
   ========================================================= */

/* Agora são 3 imagens por bloco, por isso ganham largura sem aumentar a barra. */
.casino-slot-v2 .fishing-bonus-collector-group{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}

/* Menos "esticado para cima": imagem mais larga e ligeiramente mais baixa. */
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:98px!important;
  min-height:98px!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  left:50%!important;
  top:52%!important;
  inset:52% auto auto 50%!important;
  width:150%!important;
  height:112%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%) scaleX(1.08)!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  left:50%!important;
  top:50%!important;
  inset:50% auto auto 50%!important;
  width:154%!important;
  height:116%!important;
  transform:translate(-50%,-50%) scaleX(1.08)!important;
  opacity:1!important;
  filter:none!important;
}

/* Não alterar largura, margens ou posição da barra horizontal definida na V20. */


/* =========================================================
   SLOT V22 — TRACKER MAIS LIMPO + SÍMBOLOS EM LETRAS
   ========================================================= */

/* Tirar o fundo preto do coletorzin apagado e deixar só a imagem fade. */
.casino-slot-v2 .fishing-bonus-collector-group i{
  background:linear-gradient(180deg,rgba(18,78,108,.18),rgba(6,26,45,.16))!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  background:none!important;
  box-shadow:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  background:transparent!important;
  opacity:.18!important;
  filter:grayscale(1) brightness(.62) saturate(.55)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.18!important;
  filter:grayscale(1) brightness(.62) saturate(.55)!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  opacity:1!important;
  filter:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier{
  background:linear-gradient(180deg,rgba(18,78,108,.18),rgba(6,26,45,.16))!important;
  box-shadow:inset 0 0 0 1px rgba(123,228,255,.08)!important;
}

/* Novos símbolos em letra para substituir crown / diamond / g / snow. */
.fishing-letter-snow{color:#8ee8ff}
.fishing-letter-g{color:#ff8d7a}
.fishing-letter-diamond{color:#7b6dff}
.fishing-letter-crown{color:#ffb84d}


/* =========================================================
   SLOT V23 — SÓ INICIAIS + TRACKER SEM CAIXAS
   ========================================================= */

/* Zona dos coletores sem caixas/fundos individuais. */
.casino-slot-v2 .fishing-bonus-collector-group{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0 4px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* Todas as imagens por apanhar ficam exatamente iguais, sem diferença de nível atual. */
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  background:transparent!important;
  opacity:.18!important;
  filter:grayscale(1) brightness(.52) saturate(.45)!important;
}

/* Já apanhados ficam normais, sem caixa atrás. */
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  opacity:1!important;
  filter:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}


/* =========================================================
   SLOT V24 — 7 EM TEXTO + DAILY COIN MAIS CHAMATIVA
   ========================================================= */

/* O 7 deixa de usar imagem e passa a ser um símbolo de texto. */
.fishing-letter-seven{
  color:#79dcff!important;
  font-size:clamp(46px,5vw,76px)!important;
  font-weight:950!important;
  font-style:italic!important;
  -webkit-text-stroke:1px rgba(255,255,255,.34)!important;
  text-shadow:
    0 4px 0 rgba(0,44,70,.44),
    0 0 16px rgba(68,207,255,.62),
    0 0 34px rgba(58,175,255,.22)!important;
}

/* Daily coin maior e com mais presença dentro dos rolos. */
.casino-slot-v2 .casino-slot-reels .slot-money-symbol,
.fishing-slot-reels .slot-money-symbol{
  overflow:visible!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-symbol img,
.fishing-slot-reels .slot-money-symbol img{
  width:96%!important;
  height:96%!important;
  max-width:96%!important;
  max-height:96%!important;
  object-fit:contain!important;
  filter:
    drop-shadow(0 0 10px rgba(98,224,255,.56))
    drop-shadow(0 0 22px rgba(57,177,255,.34))
    drop-shadow(0 7px 10px rgba(0,0,0,.35))!important;
  transform:scale(1.08)!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-value,
.fishing-slot-reels .slot-money-value{
  position:relative!important;
  z-index:4!important;
  align-self:end!important;
  margin-bottom:7px!important;
  padding:4px 8px!important;
  border:1px solid rgba(119,227,255,.35)!important;
  border-radius:999px!important;
  background:rgba(1,20,31,.88)!important;
  box-shadow:0 0 14px rgba(66,198,255,.16)!important;
  backdrop-filter:blur(4px)!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-value b,
.fishing-slot-reels .slot-money-value b{
  margin:0!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1!important;
  text-shadow:0 1px 3px #00131f,0 0 8px rgba(60,208,255,.62)!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-value small,
.fishing-slot-reels .slot-money-value small{
  margin:0 0 0 3px!important;
  color:#8de6ff!important;
  font-size:6px!important;
  line-height:1!important;
}

/* Um brilho suave só nas moedas, sem aquele raio central antigo. */
.casino-slot-v2 .casino-slot-reels .fishing-symbol.is-money,
.fishing-slot-reels .fishing-symbol.is-money{
  background:
    radial-gradient(circle at 50% 50%,rgba(58,184,255,.13),transparent 60%),
    transparent!important;
}


/* =========================================================
   SLOT V25 — DAILY COIN CENTRADA E VALOR VISÍVEL
   ========================================================= */

.casino-slot-v2 .casino-slot-reels .slot-money-symbol,
.fishing-slot-reels .slot-money-symbol{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-bottom:24px!important;
  overflow:visible!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-symbol img,
.fishing-slot-reels .slot-money-symbol img{
  position:relative!important;
  width:84%!important;
  height:84%!important;
  max-width:84%!important;
  max-height:84%!important;
  object-fit:contain!important;
  transform:translateY(-1px) scale(1.03)!important;
  filter:
    drop-shadow(0 0 10px rgba(98,224,255,.56))
    drop-shadow(0 0 22px rgba(57,177,255,.34))
    drop-shadow(0 7px 10px rgba(0,0,0,.35))!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-value,
.fishing-slot-reels .slot-money-value{
  position:absolute!important;
  left:50%!important;
  bottom:6px!important;
  transform:translateX(-50%)!important;
  z-index:6!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:58px!important;
  margin:0!important;
  padding:4px 8px 5px!important;
  border:1px solid rgba(119,227,255,.35)!important;
  border-radius:999px!important;
  background:rgba(1,20,31,.92)!important;
  box-shadow:0 0 14px rgba(66,198,255,.16)!important;
  backdrop-filter:blur(4px)!important;
  white-space:nowrap!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-value b,
.fishing-slot-reels .slot-money-value b{
  margin:0!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:950!important;
}

.casino-slot-v2 .casino-slot-reels .slot-money-value small,
.fishing-slot-reels .slot-money-value small{
  margin:0 0 0 3px!important;
  color:#8de6ff!important;
  font-size:5px!important;
  line-height:1!important;
  font-weight:950!important;
}

/* =========================================================
   SLOT V26 — SEM GRELHA AZUL SOBRE O WALPAPER
   ========================================================= */
/* A zona dos rolos fica totalmente transparente para o walpaper.png
   aparecer contínuo, sem linhas/separadores azuis. */
.casino-slot-v2 .casino-slot-reels,
.fishing-slot-reels{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

.casino-slot-v2 .casino-slot-reels::before,
.casino-slot-v2 .casino-slot-reels::after,
.fishing-slot-reels::before,
.fishing-slot-reels::after{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

.casino-slot-v2 .casino-slot-reels > .slot-reel,
.casino-slot-v2 .casino-slot-reels .slot-reel,
.fishing-slot-reels .slot-reel{
  border:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.casino-slot-v2 .casino-slot-reels .slot-reel:last-of-type,
.fishing-slot-reels .slot-reel:last-of-type{
  border-right:0!important;
}

.casino-slot-v2 .casino-slot-reels .fishing-symbol,
.fishing-slot-reels .fishing-symbol{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


/* =========================================================
   SLOT V27 — SEM BARRA "JOGO BASE / BOA SORTE"
   O espaço libertado passa para a zona dos rolos.
   ========================================================= */

.fishing-slot-top,
.casino-slot-v2 .fishing-slot-top{
  display:none!important;
}

/* Aumentar a área útil da slot sem voltar a criar grelha/fundo. */
.casino-slot-v2 .casino-slot-reels,
.fishing-slot-reels{
  height:548px!important;
  min-height:548px!important;
}

/* Mantém as 3 linhas igualmente distribuídas. */
.casino-slot-v2 .casino-slot-reels > .slot-reel,
.fishing-slot-reels > .slot-reel{
  height:100%!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
}

/* Aproximar os rolos ligeiramente do logo depois de remover a barra. */
.fishing-slot-logo{
  margin-bottom:8px!important;
}

@media(max-width:1200px){
  .casino-slot-v2 .casino-slot-reels,
  .fishing-slot-reels{
    height:515px!important;
    min-height:515px!important;
  }
}

@media(max-width:900px){
  .casino-slot-v2 .casino-slot-reels,
  .fishing-slot-reels{
    height:430px!important;
    min-height:430px!important;
  }
}

@media(max-width:640px){
  .casino-slot-v2 .casino-slot-reels,
  .fishing-slot-reels{
    height:345px!important;
    min-height:345px!important;
  }
}


/* =========================================================
   SLOT V28 — AUTO SPINS + TURBO AZUL
   ========================================================= */

.casino-slot-v2 .casino-slot-bottom-controls{
  grid-template-columns:1fr 230px 218px 1fr!important;
}

.casino-spin-hub{
  position:relative;
  width:218px;
  height:78px;
  display:grid;
  grid-template-columns:54px 86px 66px;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.casino-spin-hub .casino-spin-button{
  justify-self:center;
}

/* Raio azul / Turbo */
.casino-turbo-button{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  justify-self:end;
  border:1px solid rgba(111,219,255,.32);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(7,47,70,.92),rgba(2,28,44,.96));
  color:#62d9ff;
  cursor:pointer;
  box-shadow:inset 0 0 16px rgba(76,201,255,.04),0 8px 20px rgba(0,0,0,.22);
  transition:.16s ease;
}
.casino-turbo-button svg{
  width:24px;
  height:24px;
  fill:currentColor;
  filter:drop-shadow(0 0 7px rgba(70,209,255,.38));
}
.casino-turbo-button:hover{
  transform:translateY(-1px);
  border-color:rgba(128,229,255,.7);
  color:#9beaff;
}
.casino-turbo-button.is-active{
  color:#e8fbff;
  border-color:#66ddff;
  background:linear-gradient(180deg,#1384b4,#075779);
  box-shadow:
    0 0 0 1px rgba(121,231,255,.12),
    0 0 22px rgba(52,202,255,.38),
    inset 0 0 18px rgba(255,255,255,.08);
}
.casino-turbo-button.is-active svg{
  animation:slotTurboPulse .72s ease-in-out infinite alternate;
}
@keyframes slotTurboPulse{
  from{transform:scale(.94);filter:drop-shadow(0 0 5px rgba(101,221,255,.35))}
  to{transform:scale(1.08);filter:drop-shadow(0 0 13px rgba(101,221,255,.8))}
}

/* Auto spins */
.casino-auto-wrap{
  width:66px;
  display:grid;
  gap:4px;
}
.casino-auto-wrap select{
  width:100%;
  height:26px;
  appearance:none;
  border:1px solid rgba(116,211,250,.2);
  border-radius:8px;
  outline:0;
  background:
    linear-gradient(45deg,transparent 50%,#7fdfff 50%) calc(100% - 12px) 10px/4px 4px no-repeat,
    linear-gradient(135deg,#7fdfff 50%,transparent 50%) calc(100% - 8px) 10px/4px 4px no-repeat,
    rgba(2,26,40,.92);
  color:#eafaff;
  padding:0 20px 0 8px;
  text-align:center;
  font:950 9px Montserrat,sans-serif;
  cursor:pointer;
}
.casino-auto-wrap select:disabled{opacity:.42;cursor:not-allowed}

.casino-auto-button{
  height:38px;
  display:grid;
  place-content:center;
  gap:1px;
  border:1px solid rgba(112,216,255,.25);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(7,54,78,.92),rgba(3,31,48,.96));
  color:#eafaff;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(0,0,0,.2);
  transition:.16s ease;
}
.casino-auto-button span{
  font:950 7px Montserrat,sans-serif;
  letter-spacing:.8px;
}
.casino-auto-button b{
  color:#69dbff;
  font:950 10px Montserrat,sans-serif;
  line-height:1;
}
.casino-auto-button:hover:not(:disabled){
  border-color:rgba(126,228,255,.62);
  transform:translateY(-1px);
}
.casino-auto-button:disabled{opacity:.38;cursor:not-allowed}
.casino-auto-button.is-active{
  border-color:#69dbff;
  background:linear-gradient(180deg,#106f99,#084763);
  box-shadow:0 0 20px rgba(64,203,255,.24);
}
.casino-auto-button.is-active span::after{content:" STOP"}
.casino-auto-button.is-active b{color:#fff}
.casino-auto-button.is-stopping{opacity:.66}

/* Turbo visual nos rolos: só acelera a sensação de movimento, não altera prémios. */
.slot-turbo-active .casino-slot-v2 .casino-slot-reels .slot-reel.is-rolling .fishing-symbol{
  animation-duration:.055s!important;
  filter:blur(3px) brightness(1.02)!important;
}
.slot-turbo-active .casino-slot-v2 .casino-spin-button{
  box-shadow:
    0 7px 22px rgba(0,0,0,.35),
    0 0 28px rgba(70,212,255,.36),
    inset 0 0 18px rgba(255,255,255,.14)!important;
}

/* Responsive */
@media(max-width:1050px){
  .casino-slot-v2 .casino-slot-bottom-controls{
    grid-template-columns:1fr 210px 196px 1fr!important;
  }
  .casino-spin-hub{
    width:196px;
    grid-template-columns:48px 80px 58px;
    gap:5px;
  }
  .casino-turbo-button{width:42px;height:42px}
  .casino-auto-wrap{width:58px}
}
@media(max-width:760px){
  .casino-slot-v2 .casino-slot-bottom-controls{
    grid-template-columns:1fr 150px 170px 1fr!important;
  }
  .casino-spin-hub{
    width:170px;
    height:64px;
    grid-template-columns:40px 64px 56px;
    gap:5px;
  }
  .casino-turbo-button{width:38px;height:38px;border-radius:11px}
  .casino-turbo-button svg{width:20px;height:20px}
  .casino-auto-wrap{width:56px;gap:3px}
  .casino-auto-wrap select{height:22px;font-size:8px}
  .casino-auto-button{height:32px}
}
@media(max-width:470px){
  .casino-slot-v2 .casino-slot-bottom-controls{
    grid-template-columns:1fr 118px 148px 1fr!important;
  }
  .casino-spin-hub{
    width:148px;
    grid-template-columns:34px 56px 50px;
    gap:4px;
  }
  .casino-turbo-button{width:32px;height:32px;border-radius:9px}
  .casino-turbo-button svg{width:17px;height:17px}
  .casino-auto-wrap{width:50px}
  .casino-auto-wrap select{height:21px;padding-left:5px;font-size:7px}
  .casino-auto-button{height:29px}
  .casino-auto-button span{font-size:6px}
  .casino-auto-button b{font-size:8px}
}


/* =========================================================
   SLOT V29 — BARRA LATERAL SEM CAIXAS
   Só texto + imagens maiores, com mais destaque visual.
   ========================================================= */
.casino-slot-v2 .casino-slot-side{
  gap:16px!important;
}

.casino-slot-v2 .casino-side-bet,
.casino-slot-v2 .casino-side-feature,
.casino-slot-v2 .casino-buy-bonus{
  min-height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.casino-slot-v2 .casino-side-bet{
  padding:0!important;
  display:grid!important;
  place-content:start center!important;
  gap:2px!important;
  text-align:center!important;
}
.casino-slot-v2 .casino-side-bet span,
.casino-slot-v2 .casino-side-bet small{
  color:#bdefff!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:1.6px!important;
  text-shadow:0 0 10px rgba(100,218,255,.22);
}
.casino-slot-v2 .casino-side-bet strong{
  color:#ffffff!important;
  font-size:34px!important;
  font-weight:950!important;
  line-height:1!important;
  text-shadow:0 0 20px rgba(255,255,255,.12), 0 0 22px rgba(116,216,255,.12);
}

.casino-slot-v2 .casino-side-feature{
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  align-content:start!important;
  gap:6px!important;
  text-align:center!important;
  min-height:auto!important;
}
.casino-slot-v2 .casino-side-feature .casino-side-icon{
  font-size:34px!important;
  line-height:1!important;
  color:#ffd45b!important;
  filter:drop-shadow(0 0 11px rgba(255,212,91,.45))!important;
}
.casino-slot-v2 .casino-side-feature b{
  color:#f5fcff!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.55px!important;
  text-shadow:0 0 11px rgba(113,223,255,.16);
}
.casino-slot-v2 .casino-side-feature small{
  color:#ffd96f!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.65px!important;
}
.casino-slot-v2 .casino-side-toggle{
  width:42px!important;
  height:22px!important;
  padding:2px!important;
  background:rgba(6,38,52,.78)!important;
  border:1px solid rgba(125,223,255,.22)!important;
  box-shadow:0 0 14px rgba(0,0,0,.12)!important;
}
.casino-slot-v2 .casino-side-toggle i{
  width:14px!important;
  height:14px!important;
}
.casino-slot-v2 .casino-side-feature input:checked~.casino-side-toggle i{
  transform:translateX(18px)!important;
}

.casino-slot-v2 .casino-buy-bonus{
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  align-content:start!important;
  gap:2px!important;
  text-align:center!important;
}
.casino-slot-v2 .casino-buy-bonus img{
  width:92px!important;
  height:78px!important;
  margin:0 0 2px!important;
  filter:drop-shadow(0 0 18px rgba(112,219,255,.22)) drop-shadow(0 0 16px rgba(182,86,255,.12))!important;
}
.casino-slot-v2 .casino-buy-bonus span{
  color:#d7c0e8!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:1.3px!important;
}
.casino-slot-v2 .casino-buy-bonus b{
  color:#ffffff!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.6px!important;
  text-shadow:0 0 12px rgba(127,219,255,.13);
}
.casino-slot-v2 .casino-buy-bonus strong{
  margin-top:4px!important;
  color:#ffd96b!important;
  font-size:25px!important;
  font-weight:950!important;
  line-height:1!important;
  text-shadow:0 0 14px rgba(255,215,98,.22);
}
.casino-slot-v2 .casino-buy-bonus small{
  color:#bda1ce!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:1px!important;
}
.casino-slot-v2 .casino-buy-bonus:hover:not(:disabled){
  transform:translateY(-1px) scale(1.02)!important;
  filter:brightness(1.07)!important;
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-side{gap:13px!important}
  .casino-slot-v2 .casino-side-bet strong{font-size:28px!important}
  .casino-slot-v2 .casino-side-feature .casino-side-icon{font-size:28px!important}
  .casino-slot-v2 .casino-side-feature b{font-size:9px!important}
  .casino-slot-v2 .casino-side-feature small{font-size:8px!important}
  .casino-slot-v2 .casino-buy-bonus img{width:74px!important;height:62px!important}
  .casino-slot-v2 .casino-buy-bonus b{font-size:10px!important}
  .casino-slot-v2 .casino-buy-bonus strong{font-size:20px!important}
}


/* =========================================================
   SLOT V30 — BÓNUS NATURAL SÓ ENTRA AO CLICAR
   + TRANSIÇÃO COM DAILY-COINS A CHOVER
   ========================================================= */

/* Também deixamos a zona lateral um pouco mais espaçada,
   como pedido anteriormente, sem mudar o resto da slot. */
.casino-slot-v2 .casino-slot-side{
  gap:25px!important;
}

.slot-natural-bonus-gate{
  position:fixed!important;
  inset:0!important;
  z-index:15000!important;
  display:grid;
  place-items:center;
  overflow:hidden;
  cursor:pointer;
  outline:0;
  background:rgba(0,8,16,.54);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.slot-natural-bonus-gate[hidden]{
  display:none!important;
}
.slot-natural-bonus-gate-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(74,214,255,.22),transparent 30%),
    radial-gradient(circle at 50% 50%,rgba(22,114,166,.12),transparent 55%),
    linear-gradient(180deg,rgba(0,12,22,.12),rgba(0,7,14,.64));
  pointer-events:none;
  transition:opacity .35s ease,filter .35s ease;
}
.slot-natural-bonus-gate-copy{
  position:relative;
  z-index:3;
  width:min(470px,84vw);
  display:grid;
  justify-items:center;
  text-align:center;
  gap:5px;
  transform:translateY(-3vh);
  animation:naturalBonusGatePop .42s cubic-bezier(.18,.84,.22,1.16) both;
  pointer-events:none;
}
.slot-natural-bonus-gate-copy img{
  width:180px;
  height:150px;
  object-fit:contain;
  margin-bottom:-8px;
  filter:
    drop-shadow(0 0 18px rgba(82,220,255,.34))
    drop-shadow(0 10px 20px rgba(0,0,0,.35));
}
.slot-natural-bonus-gate-copy span{
  color:#8ee8ff;
  font-size:12px;
  font-weight:950;
  letter-spacing:2.5px;
  text-shadow:0 0 16px rgba(75,214,255,.38);
}
.slot-natural-bonus-gate-copy strong{
  color:#fff;
  font-size:clamp(42px,6vw,76px);
  line-height:.95;
  font-weight:950;
  font-style:italic;
  letter-spacing:-2px;
  text-shadow:
    0 5px 0 rgba(0,71,105,.38),
    0 0 28px rgba(73,214,255,.34);
}
.slot-natural-bonus-gate-copy small{
  margin-top:14px;
  padding:10px 17px;
  border:1px solid rgba(130,229,255,.3);
  border-radius:999px;
  background:rgba(2,29,44,.62);
  color:#c8f3ff;
  font-size:9px;
  font-weight:950;
  letter-spacing:1.5px;
  box-shadow:0 0 24px rgba(74,210,255,.08);
  animation:naturalBonusClickPulse .9s ease-in-out infinite alternate;
}
@keyframes naturalBonusGatePop{
  0%{opacity:0;transform:translateY(-3vh) scale(.82)}
  100%{opacity:1;transform:translateY(-3vh) scale(1)}
}
@keyframes naturalBonusClickPulse{
  from{opacity:.62;transform:scale(.98)}
  to{opacity:1;transform:scale(1.025);box-shadow:0 0 28px rgba(74,210,255,.18)}
}

/* Chuva de daily-coin.png */
.slot-natural-bonus-rain{
  position:absolute;
  inset:0;
  z-index:5;
  overflow:hidden;
  pointer-events:none;
  opacity:0;
}
.slot-natural-bonus-rain i{
  position:absolute;
  top:calc(-1 * var(--coin-size) - 30px);
  left:var(--coin-left);
  width:var(--coin-size);
  height:var(--coin-size);
  opacity:0;
  will-change:transform,opacity;
}
.slot-natural-bonus-rain i img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:
    drop-shadow(0 0 8px rgba(92,224,255,.54))
    drop-shadow(0 4px 8px rgba(0,0,0,.28));
}
.slot-natural-bonus-gate.is-transitioning{
  cursor:default;
  background:rgba(0,14,25,.64);
}
.slot-natural-bonus-gate.is-transitioning .slot-natural-bonus-gate-bg{
  filter:brightness(1.3) saturate(1.2);
}
.slot-natural-bonus-gate.is-transitioning .slot-natural-bonus-gate-copy{
  animation:naturalBonusCopyOut .42s ease both;
}
.slot-natural-bonus-gate.is-transitioning .slot-natural-bonus-rain{
  opacity:1;
}
.slot-natural-bonus-gate.is-transitioning .slot-natural-bonus-rain i{
  animation:naturalDailyCoinRain var(--coin-duration) cubic-bezier(.2,.52,.37,.96) var(--coin-delay) both;
}
@keyframes naturalBonusCopyOut{
  to{opacity:0;transform:translateY(-8vh) scale(1.12);filter:blur(7px)}
}
@keyframes naturalDailyCoinRain{
  0%{
    opacity:0;
    transform:translate3d(0,-10vh,0) rotate(0deg) scale(.72);
  }
  10%{opacity:1}
  82%{opacity:1}
  100%{
    opacity:0;
    transform:translate3d(var(--coin-drift),118vh,0) rotate(var(--coin-rotate)) scale(1.05);
  }
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-side{
    gap:18px!important;
  }
  .slot-natural-bonus-gate-copy img{
    width:145px;
    height:125px;
  }
  .slot-natural-bonus-gate-copy strong{
    font-size:44px;
  }
}


/* =========================================================
   SLOT V31 — CAIXA FINAL DO BÓNUS COM caixabonus.png
   ========================================================= */
.casino-slot-v2 .slot-bonus-summary-backdrop{
  background:radial-gradient(circle at 50% 35%,rgba(86,213,255,.16),transparent 35%), rgba(0,7,13,.88)!important;
  backdrop-filter:blur(10px)!important;
}
.casino-slot-v2 .slot-bonus-summary-card{
  width:min(930px,96vw)!important;
  min-height:auto!important;
  padding:0 12px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  justify-items:center!important;
  align-content:start!important;
}
.casino-slot-v2 .slot-bonus-summary-card::before{display:none!important}
.casino-slot-v2 .slot-bonus-summary-frame{
  position:relative!important;
  width:min(860px,94vw)!important;
  aspect-ratio:1380 / 1081!important;
  background:url("assets/images/caixabonus.png") center/contain no-repeat!important;
  display:block!important;
}
.casino-slot-v2 .slot-bonus-summary-main{
  position:absolute!important;
  left:11%!important;
  right:11%!important;
  top:14%!important;
  bottom:25%!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  text-align:center!important;
}
.casino-slot-v2 .slot-bonus-summary-kicker{
  display:block!important;
  margin-bottom:10px!important;
  color:#8fe8ff!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:2.8px!important;
  text-shadow:0 0 18px rgba(77,208,255,.22)!important;
}
.casino-slot-v2 .slot-bonus-summary-card h2{
  margin:0!important;
  color:#f7fdff!important;
  font-size:48px!important;
  line-height:.95!important;
  letter-spacing:-1.4px!important;
  text-shadow:0 6px 20px rgba(0,0,0,.28),0 0 18px rgba(82,208,255,.08)!important;
}
.casino-slot-v2 .slot-bonus-summary-label{
  margin-top:16px!important;
  color:#92e6ff!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:2.4px!important;
}
.casino-slot-v2 .slot-bonus-summary-stats{
  margin-top:22px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(170px,1fr))!important;
  gap:14px!important;
}
.casino-slot-v2 .slot-bonus-summary-stats>div{
  display:grid!important;
  justify-items:center!important;
  gap:4px!important;
  min-height:78px!important;
  padding:14px 16px!important;
  border:1px solid rgba(112,219,255,.2)!important;
  border-radius:18px!important;
  background:rgba(4,34,50,.56)!important;
  box-shadow:inset 0 0 16px rgba(0,0,0,.22)!important;
}
.casino-slot-v2 .slot-bonus-summary-stats span{
  color:#82d2eb!important;
  font-size:9px!important;
  font-weight:950!important;
  letter-spacing:1.4px!important;
}
.casino-slot-v2 .slot-bonus-summary-stats b{
  color:#f0fbff!important;
  font-size:29px!important;
  font-weight:950!important;
  line-height:1!important;
  text-shadow:0 0 18px rgba(83,208,255,.1)!important;
}
.casino-slot-v2 .slot-bonus-summary-totalbox{
  position:absolute!important;
  left:28%!important;
  right:28%!important;
  bottom:6.5%!important;
  top:auto!important;
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  text-align:center!important;
}
.casino-slot-v2 .slot-bonus-summary-total-title{
  color:#8ce7ff!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:2.1px!important;
  margin-bottom:2px!important;
}
.casino-slot-v2 .slot-bonus-summary-total{
  margin:0!important;
  display:grid!important;
  justify-items:center!important;
  gap:2px!important;
}
.casino-slot-v2 .slot-bonus-summary-total strong{
  color:#f5fcff!important;
  font-size:70px!important;
  line-height:.88!important;
  font-weight:950!important;
  letter-spacing:-3px!important;
  text-shadow:0 4px 0 rgba(15,94,135,.68),0 0 24px rgba(73,208,255,.22)!important;
}
.casino-slot-v2 .slot-bonus-summary-total small{
  color:#d4f6ff!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:3px!important;
}
.casino-slot-v2 .slot-bonus-summary-card>em{
  display:block!important;
  margin-top:10px!important;
  color:#9ceaff!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:1.6px!important;
  text-align:center!important;
  animation:slotContinuePulse .9s ease-in-out infinite alternate!important;
}

@media (max-width: 760px){
  .casino-slot-v2 .slot-bonus-summary-frame{
    width:min(94vw,700px)!important;
  }
  .casino-slot-v2 .slot-bonus-summary-main{
    left:9%!important;
    right:9%!important;
    top:13%!important;
    bottom:24%!important;
  }
  .casino-slot-v2 .slot-bonus-summary-kicker{
    font-size:9px!important;
    letter-spacing:2.1px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-card h2{
    font-size:29px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-label{
    margin-top:10px!important;
    font-size:8px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-stats{
    margin-top:14px!important;
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .casino-slot-v2 .slot-bonus-summary-stats>div{
    min-height:60px!important;
    padding:10px 10px!important;
    border-radius:14px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-stats span{
    font-size:7px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-stats b{
    font-size:20px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-totalbox{
    left:22%!important;
    right:22%!important;
    bottom:5.2%!important;
  }
  .casino-slot-v2 .slot-bonus-summary-total-title{
    font-size:8px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-total strong{
    font-size:44px!important;
    letter-spacing:-2px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-total small{
    font-size:8px!important;
    letter-spacing:2.1px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-card>em{
    margin-top:8px!important;
    font-size:8px!important;
  }
}

/* =========================================================
   SLOT V32 — LATERAL MAIS ESPAÇADA + TURBO SEM CAIXA
   ========================================================= */
@media (min-width:761px){
  /* Usar a altura toda da máquina: aposta em cima, boost a meio, compra em baixo. */
  .casino-slot-v2 .casino-slot-side{
    align-self:stretch!important;
    height:100%!important;
    min-height:640px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto 1fr auto!important;
    align-items:stretch!important;
    gap:0!important;
    padding:62px 10px 24px 0!important;
    transform:none!important;
  }

  .casino-slot-v2 .casino-side-bet{
    align-self:start!important;
    justify-self:stretch!important;
  }

  .casino-slot-v2 .casino-side-feature{
    align-self:center!important;
    justify-self:stretch!important;
    transform:translateY(4px)!important;
  }

  .casino-slot-v2 .casino-buy-bonus{
    align-self:end!important;
    justify-self:stretch!important;
  }
}

/* O raio do turbo fica só como ícone azul: sem botão/caixa à volta. */
.casino-turbo-button,
.casino-turbo-button:hover,
.casino-turbo-button.is-active{
  width:48px!important;
  height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.casino-turbo-button{
  color:#65dcff!important;
}
.casino-turbo-button svg{
  width:28px!important;
  height:28px!important;
  filter:drop-shadow(0 0 8px rgba(75,213,255,.55))!important;
}
.casino-turbo-button:hover{
  color:#b5f3ff!important;
  transform:scale(1.08)!important;
}
.casino-turbo-button.is-active{
  color:#e9fcff!important;
  transform:scale(1.08)!important;
}
.casino-turbo-button.is-active svg{
  filter:drop-shadow(0 0 7px rgba(92,224,255,.8)) drop-shadow(0 0 18px rgba(52,196,255,.58))!important;
}

@media(max-width:760px){
  .casino-turbo-button,
  .casino-turbo-button:hover,
  .casino-turbo-button.is-active{
    width:38px!important;
    height:42px!important;
  }
  .casino-turbo-button svg{width:22px!important;height:22px!important}
}


/* =========================================================
   SLOT V33 — AJUSTES QUE FALTAVAM
   1) HUD DO BÓNUS SEM CAIXA GRANDE
   2) MESMA ALTURA DO JOGO BASE
   3) FREE SPINS GRANDE À ESQUERDA + GANHO À DIREITA
   4) RESUMO FINAL MAIS CENTRADO
   ========================================================= */

/* O HUD do bónus deixa de ocupar espaço no layout.
   Assim a máquina mantém exatamente a mesma altura do jogo normal. */
.casino-slot-v2 .casino-slot-game{
  position:relative!important;
}

.casino-slot-v2 .fishing-bonus-strip{
  position:absolute!important;
  z-index:45!important;
  left:0!important;
  right:0!important;
  top:52px!important;
  width:100%!important;
  max-width:none!important;
  height:138px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}

.casino-slot-v2 .fishing-bonus-strip::before{
  display:none!important;
}

/* ---------- CONTADORES SOLTOS, SEM CAIXAS ---------- */
.casino-slot-v2 .fishing-bonus-strip-meta{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  pointer-events:none!important;
}

/* Free spins — grande no canto superior esquerdo dos rolos */
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1){
  position:absolute!important;
  left:18px!important;
  top:76px!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  justify-items:start!important;
  gap:0!important;
  text-align:left!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1) small{
  color:#9beaff!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:1.5px!important;
  font-weight:950!important;
  text-shadow:0 2px 8px rgba(0,0,0,.65)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1) b{
  margin-top:2px!important;
  color:#fff!important;
  font-size:52px!important;
  line-height:.86!important;
  letter-spacing:-2px!important;
  text-shadow:
    0 4px 0 rgba(5,77,112,.58),
    0 0 24px rgba(72,213,255,.34),
    0 5px 18px rgba(0,0,0,.5)!important;
}

/* Ganho do bónus — separado no canto superior direito */
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2){
  position:absolute!important;
  right:18px!important;
  top:82px!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  justify-items:end!important;
  gap:0!important;
  text-align:right!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2) small{
  color:#8fd9ee!important;
  font-size:8px!important;
  letter-spacing:1.35px!important;
  font-weight:950!important;
  text-shadow:0 2px 8px rgba(0,0,0,.65)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2) b{
  margin-top:2px!important;
  color:#91ffd0!important;
  font-size:31px!important;
  line-height:.9!important;
  letter-spacing:-1px!important;
  text-shadow:0 0 18px rgba(71,236,163,.24),0 4px 12px rgba(0,0,0,.52)!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2) em{
  color:#dffcff!important;
  font-size:7px!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:1px!important;
}

/* O multiplicador já está representado pelos níveis; não precisa de outra caixa. */
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(3){
  display:none!important;
}

/* ---------- TRACKER LIMPO ---------- */
.casino-slot-v2 .fishing-bonus-strip-track{
  position:absolute!important;
  left:50%!important;
  top:2px!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  max-width:760px!important;
  min-width:0!important;
  min-height:0!important;
  height:72px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Só aparecem coletores que já foram efetivamente apanhados. */
.casino-slot-v2 .fishing-bonus-collector-group{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:68px!important;
  padding:0!important;
  margin:0!important;
  gap:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  display:none!important;
  position:relative!important;
  width:56px!important;
  height:68px!important;
  min-height:0!important;
  margin:0 -3px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  display:block!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  inset:auto!important;
  width:78px!important;
  height:74px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;
  opacity:1!important;
  filter:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Caixas dos níveis continuam visíveis, mas muito mais compactas. */
.casino-slot-v2 .fishing-bonus-strip-milestone{
  flex:0 0 68px!important;
  width:68px!important;
  height:68px!important;
  min-height:68px!important;
  padding:5px!important;
  border:1px solid rgba(109,219,255,.38)!important;
  border-radius:14px!important;
  background:
    linear-gradient(180deg,rgba(7,68,91,.82),rgba(2,36,54,.92)),
    url("assets/images/walpaper.png") center/cover no-repeat!important;
  box-shadow:0 4px 16px rgba(0,0,0,.25),inset 0 0 15px rgba(80,212,255,.04)!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{
  font-size:7px!important;
  line-height:1!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{
  font-size:7px!important;
  line-height:.95!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone b{
  margin-top:2px!important;
  font-size:22px!important;
  line-height:1!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next{
  border-color:rgba(153,239,255,.82)!important;
  box-shadow:0 0 20px rgba(75,208,255,.22),inset 0 0 15px rgba(82,216,255,.08)!important;
}

/* =========================================================
   RESUMO FINAL — MAIS CENTRADO / TEXTO MAIS BAIXO
   ========================================================= */
.casino-slot-v2 .slot-bonus-summary-card{
  align-content:center!important;
  justify-content:center!important;
  padding:0!important;
}
.casino-slot-v2 .slot-bonus-summary-frame{
  width:min(840px,94vw)!important;
  transform:translateY(10px)!important;
}

/* Descer o bloco de texto superior dentro da moldura. */
.casino-slot-v2 .slot-bonus-summary-main{
  left:11%!important;
  right:11%!important;
  top:20%!important;
  bottom:29%!important;
}

/* O pedido para continuar fica ENTRE o resultado e o número de pontos. */
.casino-slot-v2 .slot-bonus-summary-continue{
  position:absolute!important;
  z-index:5!important;
  left:15%!important;
  right:15%!important;
  bottom:22.3%!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:950!important;
  letter-spacing:1.55px!important;
  text-align:center!important;
  text-shadow:0 1px 0 rgba(0,0,0,.85),0 0 7px rgba(255,255,255,.24)!important;
  animation:slotSummaryBlackWhiteBlink .72s steps(1,end) infinite!important;
}
@keyframes slotSummaryBlackWhiteBlink{
  0%,49%{
    color:#fff;
    text-shadow:0 1px 0 #000,0 0 8px rgba(255,255,255,.25);
  }
  50%,100%{
    color:#071018;
    text-shadow:0 1px 0 rgba(255,255,255,.5),0 0 7px rgba(255,255,255,.48);
  }
}

/* Manter TODO o ganho dentro da caixinha inferior. */
.casino-slot-v2 .slot-bonus-summary-totalbox{
  left:26%!important;
  right:26%!important;
  bottom:7.2%!important;
  height:12.5%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  align-content:center!important;
  justify-items:center!important;
  overflow:visible!important;
}
.casino-slot-v2 .slot-bonus-summary-total-title{
  margin:0 0 2px!important;
  font-size:9px!important;
}
.casino-slot-v2 .slot-bonus-summary-total{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:10px!important;
  margin:0!important;
}
.casino-slot-v2 .slot-bonus-summary-total strong{
  font-size:62px!important;
  line-height:.8!important;
}
.casino-slot-v2 .slot-bonus-summary-total small{
  margin:0!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:2px!important;
  color:#dff9ff!important;
}

/* =========================================================
   MONEY SYMBOL — 3 VISUAIS POR VALOR
   JS escolhe daily-coin / dailys-coin / coinz.
   ========================================================= */
.casino-slot-v2 .casino-slot-reels .slot-money-symbol img{
  object-fit:contain!important;
}

/* Os visuais médios/grandes podem ser mais chamativos sem mexer na geometria. */
.casino-slot-v2 .casino-slot-reels .slot-money-symbol img[src*="dailys-coin"]{
  width:91%!important;
  height:91%!important;
  filter:
    drop-shadow(0 0 12px rgba(102,225,255,.62))
    drop-shadow(0 0 25px rgba(67,180,255,.36))
    drop-shadow(0 7px 10px rgba(0,0,0,.32))!important;
}
.casino-slot-v2 .casino-slot-reels .slot-money-symbol img[src*="coinz"]{
  width:98%!important;
  height:98%!important;
  filter:
    drop-shadow(0 0 13px rgba(128,237,255,.72))
    drop-shadow(0 0 30px rgba(79,187,255,.48))
    drop-shadow(0 8px 12px rgba(0,0,0,.34))!important;
}

@media(max-width:760px){
  .casino-slot-v2 .fishing-bonus-strip{
    top:46px!important;
    height:112px!important;
  }

  .casino-slot-v2 .fishing-bonus-strip-track{
    top:0!important;
    max-width:88%!important;
    transform:translateX(-50%) scale(.82)!important;
    transform-origin:top center!important;
  }

  .casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1){
    left:8px!important;
    top:67px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1) small{
    font-size:6px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1) b{
    font-size:33px!important;
  }

  .casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2){
    right:8px!important;
    top:70px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2) small{
    font-size:6px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2) b{
    font-size:22px!important;
  }

  .casino-slot-v2 .slot-bonus-summary-main{
    top:19%!important;
    bottom:30%!important;
  }
  .casino-slot-v2 .slot-bonus-summary-continue{
    bottom:22.5%!important;
    font-size:7px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-totalbox{
    left:20%!important;
    right:20%!important;
    bottom:6.3%!important;
    height:13%!important;
  }
  .casino-slot-v2 .slot-bonus-summary-total strong{
    font-size:40px!important;
  }
  .casino-slot-v2 .slot-bonus-summary-total small{
    font-size:7px!important;
  }
}


/* =========================================================
   SLOT V34 — BOOST MAIS PERTO DO COMPRAR BÓNUS
   BET mantém-se exatamente no topo.
   ========================================================= */
@media (min-width:761px){
  .casino-slot-v2 .casino-side-bet{
    align-self:start!important;
  }

  .casino-slot-v2 .casino-side-feature{
    align-self:end!important;
    transform:none!important;
    margin-bottom:44px!important;
  }

  .casino-slot-v2 .casino-buy-bonus{
    align-self:end!important;
  }
}


/* =========================================================
   SLOT V35 — EVENTO DO COLETOR DENTRO DE quadro.png
   Sem foto do coletor e sem números amarelos.
   ========================================================= */

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  z-index:82!important;
  width:min(720px,88%)!important;
  min-height:0!important;
  aspect-ratio:1672 / 941!important;
  transform:translate(-50%,-50%)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:url("assets/images/quadro.png") center/contain no-repeat!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay[hidden],
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup[hidden]{
  display:none!important;
}

/* Garante que nenhuma versão antiga da imagem do coletor aparece. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay > img,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup > img{
  display:none!important;
}

/* Glow subtil por trás da moldura, sem caixa extra. */
.casino-slot-v2 .fishing-collector-popup-glow{
  position:absolute!important;
  inset:17% 12% 14%!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  bottom:auto!important;
  border-radius:44%!important;
  background:radial-gradient(circle at 50% 45%,rgba(70,207,255,.16),transparent 66%)!important;
  filter:blur(14px)!important;
  opacity:.9!important;
  pointer-events:none!important;
}

/* Conteúdo centrado dentro da área útil da moldura. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
  position:absolute!important;
  z-index:3!important;
  left:15%!important;
  right:15%!important;
  top:25%!important;
  bottom:16%!important;
  display:grid!important;
  grid-template-rows:auto auto 1fr auto!important;
  align-content:center!important;
  justify-items:center!important;
  gap:5px!important;
  text-align:center!important;
}

/* Cabeçalho */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > span,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > span{
  color:#9cecff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:2.8px!important;
  text-shadow:0 0 15px rgba(79,209,255,.28)!important;
}

.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
  margin-top:3px!important;
  color:#c4effb!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:1.8px!important;
  opacity:.82!important;
}

/* Valor principal — branco/azul gelo, NUNCA amarelo. */
.casino-slot-v2 .fishing-collector-popup-value{
  align-self:center!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:12px!important;
  margin:7px 0 3px!important;
}

.casino-slot-v2 .fishing-collector-popup-value > strong{
  color:#eefcff!important;
  font-size:72px!important;
  line-height:.82!important;
  font-weight:950!important;
  letter-spacing:-3px!important;
  text-shadow:
    0 4px 0 rgba(6,89,132,.72),
    0 0 18px rgba(91,221,255,.32),
    0 8px 18px rgba(0,0,0,.26)!important;
}

.casino-slot-v2 .fishing-collector-popup-value > b{
  margin-bottom:5px!important;
  color:#94e8ff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:2px!important;
  text-shadow:0 0 12px rgba(65,206,255,.2)!important;
}

/* Linha de cálculo em baixo. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
  margin-top:6px!important;
  padding:6px 14px!important;
  border:1px solid rgba(125,222,255,.13)!important;
  border-radius:999px!important;
  background:rgba(1,34,52,.28)!important;
  color:#bcecf8!important;
  font-size:8px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
  letter-spacing:.9px!important;
  box-shadow:inset 0 0 14px rgba(0,0,0,.14)!important;
}

/* Remove estilos amarelos antigos que possam ganhar prioridade. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay strong{
  color:#eefcff!important;
  text-shadow:
    0 4px 0 rgba(6,89,132,.72),
    0 0 18px rgba(91,221,255,.32),
    0 8px 18px rgba(0,0,0,.26)!important;
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay,
  .casino-slot-v2 .casino-slot-stage > .fishing-collector-popup{
    width:min(94%,620px)!important;
  }

  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
  .casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
    left:13%!important;
    right:13%!important;
    top:24%!important;
    bottom:15%!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value > strong{
    font-size:50px!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value > b{
    font-size:8px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > span{
    font-size:10px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em{
    font-size:6px!important;
  }
}


/* =========================================================
   SLOT V36 — TRACKER DO BÓNUS RESTAURADO
   Em cima ficam SÓ os 9 coletores:
   - todos meio escuros por defeito
   - ficam a cores quando são apanhados
   - sem caixas
   - tamanho equivalente ao tracker antigo
   ========================================================= */

/* A barra continua sem caixa/fundo grande. */
.casino-slot-v2 .fishing-bonus-strip{
  position:absolute!important;
  z-index:45!important;
  left:0!important;
  right:0!important;
  top:54px!important;
  width:100%!important;
  max-width:none!important;
  height:118px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.casino-slot-v2 .fishing-bonus-strip::before{
  display:none!important;
}

/* Tirar totalmente as caixas x2/x3/x10 da zona de cima. */
.casino-slot-v2 .fishing-bonus-strip-milestone{
  display:none!important;
}

/* Tracker central: 3 grupos de 3, sem molduras. */
.casino-slot-v2 .fishing-bonus-strip-track{
  position:absolute!important;
  left:50%!important;
  top:0!important;
  transform:translateX(-50%)!important;
  width:min(760px,72%)!important;
  max-width:none!important;
  min-width:0!important;
  height:104px!important;
  min-height:104px!important;
  margin:0!important;
  padding:0!important;

  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:24px!important;

  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Cada grupo contém 3 imagens lado a lado. */
.casino-slot-v2 .fishing-bonus-collector-group{
  width:100%!important;
  height:104px!important;
  min-height:104px!important;
  margin:0!important;
  padding:0!important;

  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  align-items:center!important;
  justify-items:center!important;
  gap:4px!important;

  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* IMPORTANTE: todos os 9 coletores aparecem.
   O tamanho volta ao equivalente ao que tinham quando existiam as caixas. */
.casino-slot-v2 .fishing-bonus-collector-group i{
  position:relative!important;
  display:block!important;
  width:72px!important;
  height:94px!important;
  min-width:72px!important;
  min-height:94px!important;
  margin:0!important;
  padding:0!important;

  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  isolation:auto!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}

/* Imagem inteira, sem crop e sem caixa atrás. */
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  inset:auto!important;

  width:94px!important;
  height:94px!important;
  max-width:none!important;
  max-height:none!important;

  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;

  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;

  /* todos os que ainda faltam ficam igualmente apagados */
  opacity:.28!important;
  filter:grayscale(1) brightness(.46) saturate(.35)!important;
  transition:opacity .22s ease,filter .22s ease,transform .22s ease!important;
  pointer-events:none!important;
}

/* Nível atual NÃO altera o aspeto dos que faltam. */
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.28!important;
  filter:grayscale(1) brightness(.46) saturate(.35)!important;
}

/* Quando é apanhado fica completamente a cores. */
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  opacity:1!important;
  filter:none!important;
  transform:translate(-50%,-50%) scale(1.02)!important;
}

/* Sem qualquer caixa/glow retangular no estado preenchido. */
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving,
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Mantém os contadores fora do tracker.
   Free Spins à esquerda e ganho do bónus à direita. */
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(1){
  top:72px!important;
}
.casino-slot-v2 .fishing-bonus-strip-meta > span:nth-child(2){
  top:76px!important;
}

/* Evita que regras antigas voltem a comprimir os coletores em ecrãs normais. */
@media(max-width:1200px) and (min-width:761px){
  .casino-slot-v2 .fishing-bonus-strip-track{
    width:min(700px,70%)!important;
    gap:18px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{
    width:66px!important;
    min-width:66px!important;
    height:90px!important;
    min-height:90px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
    width:90px!important;
    height:90px!important;
  }
}

@media(max-width:760px){
  .casino-slot-v2 .fishing-bonus-strip{
    top:46px!important;
    height:104px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track{
    top:0!important;
    width:78%!important;
    height:82px!important;
    min-height:82px!important;
    gap:8px!important;
    transform:translateX(-50%)!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group{
    height:82px!important;
    min-height:82px!important;
    gap:0!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{
    width:44px!important;
    min-width:44px!important;
    height:70px!important;
    min-height:70px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
    width:70px!important;
    height:70px!important;
  }
}


/* =========================================================
   SLOT V37 — POSICIONAMENTO FINAL DA CAIXA DO BÓNUS
   ========================================================= */

/* Descer o bloco superior para ficar realmente centrado na área grande. */
.casino-slot-v2 .slot-bonus-summary-main{
  top:24%!important;
  bottom:26%!important;
}

/* Subir o "CLICA EM QUALQUER LUGAR..." para não ficar colado à caixa inferior. */
.casino-slot-v2 .slot-bonus-summary-continue{
  bottom:25.8%!important;
}

/* Subir o conteúdo da caixa inferior (GANHO TOTAL + número + PONTOS). */
.casino-slot-v2 .slot-bonus-summary-totalbox{
  bottom:9.8%!important;
  height:13.5%!important;
}

/* Número ligeiramente mais compacto para respirar melhor dentro da caixa. */
.casino-slot-v2 .slot-bonus-summary-total strong{
  font-size:58px!important;
  line-height:.82!important;
}

/* "PONTOS" mais perto do número e mais acima. */
.casino-slot-v2 .slot-bonus-summary-total small{
  transform:translateY(-2px)!important;
}

/* Mobile */
@media(max-width:760px){
  .casino-slot-v2 .slot-bonus-summary-main{
    top:23%!important;
    bottom:27%!important;
  }

  .casino-slot-v2 .slot-bonus-summary-continue{
    bottom:26%!important;
  }

  .casino-slot-v2 .slot-bonus-summary-totalbox{
    bottom:8.7%!important;
    height:14%!important;
  }

  .casino-slot-v2 .slot-bonus-summary-total strong{
    font-size:38px!important;
  }
}


/* =========================================================
   SLOT V38 — POPUP DO COLETOR MAIS PARA BAIXO
   ========================================================= */

/* Desce todo o conteúdo dentro do quadro para não colidir com o topo. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
  top:31%!important;
  bottom:13%!important;
  gap:7px!important;
}

/* Desce ainda mais o valor principal e respira melhor. */
.casino-slot-v2 .fishing-collector-popup-value{
  margin:18px 0 10px!important;
}

/* Dá mais espaço entre "COLETOR / MOEDAS RECOLHIDAS" e o valor. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
  margin-top:8px!important;
}

/* Sobe ligeiramente a linha de baixo mas mantém-se bem separada do valor. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
  margin-top:12px!important;
}

/* Mobile */
@media(max-width:760px){
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
  .casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
    top:30%!important;
    bottom:13%!important;
    gap:6px!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value{
    margin:14px 0 8px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
  .casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
    margin-top:6px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
  .casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
    margin-top:10px!important;
  }
}


/* =========================================================
   SLOT V39 — EVENTOS DO BÓNUS SEM CAIXA
   Mantém caixa apenas nos casos pedidos (coletor/quadro e resumo final).
   Intro do bónus e subida de nível passam a ser só texto.
   ========================================================= */

/* Remove o blur/escurecimento global destes eventos de texto. */
.casino-slot-v2 .casino-slot-stage.is-levelup-popup::after,
.casino-slot-v2 .casino-slot-stage.is-bonus-rush::after{
  background:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* INTRO DO BÓNUS: apenas texto, sem caixa nem imagem */
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro,
.casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro{
  left:50%!important;
  top:17%!important;
  transform:translate(-50%,-50%)!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
  gap:6px!important;
  justify-items:center!important;
  text-align:center!important;
}
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro::before,
.casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro::before{
  content:none!important;
}
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro img,
.casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro img{
  display:none!important;
}
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro span,
.casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro span{
  color:#9feeff!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:2.2px!important;
  text-shadow:0 0 14px rgba(94,218,255,.28)!important;
}
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro strong,
.casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro strong{
  color:#ffffff!important;
  font-size:54px!important;
  line-height:.92!important;
  font-weight:950!important;
  font-style:italic!important;
  text-shadow:0 0 22px rgba(99,224,255,.24)!important;
}
.casino-slot-v2 .casino-slot-stage > .slot-bonus-intro small,
.casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro small{
  color:#dff9ff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:1.2px!important;
  padding:0!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* LEVEL UP: apenas texto, sem caixa, sem imagem do coletor, sem raios */
.casino-slot-v2 .slot-levelup-overlay{
  position:absolute!important;
  left:50%!important;
  top:18%!important;
  transform:translate(-50%,-50%)!important;
  z-index:82!important;
  width:auto!important;
  min-height:0!important;
  padding:0!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .slot-levelup-overlay > img,
.casino-slot-v2 .slot-levelup-rays{
  display:none!important;
}
.casino-slot-v2 .slot-levelup-overlay > div:last-child{
  display:grid!important;
  justify-items:center!important;
  text-align:center!important;
  gap:5px!important;
}
.casino-slot-v2 .slot-levelup-overlay span{
  color:#9feeff!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:2px!important;
  text-shadow:0 0 14px rgba(94,218,255,.26)!important;
}
.casino-slot-v2 .slot-levelup-overlay small{
  color:#dff9ff!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:1.1px!important;
}
.casino-slot-v2 .slot-levelup-overlay strong{
  margin-top:3px!important;
  color:#ffffff!important;
  font-size:64px!important;
  line-height:.92!important;
  font-weight:950!important;
  text-shadow:0 0 22px rgba(99,224,255,.22)!important;
}
.casino-slot-v2 .slot-levelup-overlay b{
  margin-top:2px!important;
  padding:0!important;
  border:none!important;
  border-radius:0!important;
  background:none!important;
  color:#9feeff!important;
  font-size:18px!important;
  font-weight:950!important;
  letter-spacing:1.1px!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-stage > .slot-bonus-intro,
  .casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro,
  .casino-slot-v2 .slot-levelup-overlay{
    top:19%!important;
    max-width:calc(100% - 24px)!important;
  }
  .casino-slot-v2 .casino-slot-stage > .slot-bonus-intro strong,
  .casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro strong{
    font-size:34px!important;
  }
  .casino-slot-v2 .casino-slot-stage > .slot-bonus-intro span,
  .casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro span,
  .casino-slot-v2 .slot-levelup-overlay span{
    font-size:11px!important;
  }
  .casino-slot-v2 .casino-slot-stage > .slot-bonus-intro small,
  .casino-slot-v2 .casino-slot-stage > .fishing-bonus-intro small,
  .casino-slot-v2 .slot-levelup-overlay small{
    font-size:9px!important;
  }
  .casino-slot-v2 .slot-levelup-overlay strong{
    font-size:42px!important;
  }
  .casino-slot-v2 .slot-levelup-overlay b{
    font-size:14px!important;
  }
}


/* =========================================================
   SLOT V40 — AJUSTE MÍNIMO NO RESUMO FINAL
   Só mexe no ganho total e no texto para continuar.
   ========================================================= */

/* GANHO TOTAL + número + PONTOS: descer só um bocadinho. */
.casino-slot-v2 .slot-bonus-summary-totalbox{
  transform:translateY(7px)!important;
}

/* "CLICA EM QUALQUER LUGAR..." mais para cima e a piscar. */
.casino-slot-v2 .slot-bonus-summary-continue{
  bottom:28.2%!important;
  animation:slotContinueBlinkBW .68s steps(1,end) infinite!important;
}

@keyframes slotContinueBlinkBW{
  0%,49%{
    color:#ffffff!important;
    opacity:1;
    text-shadow:0 1px 0 rgba(0,0,0,.9),0 0 8px rgba(255,255,255,.25)!important;
  }
  50%,100%{
    color:#071018!important;
    opacity:1;
    text-shadow:0 1px 0 rgba(255,255,255,.55),0 0 7px rgba(255,255,255,.5)!important;
  }
}

@media(max-width:760px){
  .casino-slot-v2 .slot-bonus-summary-totalbox{
    transform:translateY(5px)!important;
  }

  .casino-slot-v2 .slot-bonus-summary-continue{
    bottom:28%!important;
  }
}


/* =========================================================
   SLOT V41 — AJUSTE FINO DO EVENTO COLETOR
   Só posicionamento/tamanho dos textos dentro de quadro.png.
   ========================================================= */

/* Junta todo o conteúdo mais ao centro vertical da moldura. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
  top:34%!important;
  bottom:14%!important;
  grid-template-rows:auto auto auto auto!important;
  align-content:center!important;
  gap:4px!important;
}

/* "COLETOR!" e "MOEDAS RECOLHIDAS" descem e ficam logo acima do valor. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > span,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > span{
  margin:0!important;
}

.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
  margin:2px 0 5px!important;
}

/* Valor mantém a posição geral, mas fica maior e mais destacado. */
.casino-slot-v2 .fishing-collector-popup-value{
  margin:0!important;
  gap:13px!important;
}

.casino-slot-v2 .fishing-collector-popup-value > strong{
  font-size:88px!important;
  line-height:.82!important;
}

.casino-slot-v2 .fishing-collector-popup-value > b{
  margin-bottom:7px!important;
  font-size:13px!important;
}

/* Texto de cálculo fica imediatamente por baixo do valor. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
  margin:7px 0 0!important;
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
  .casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
    top:33%!important;
    bottom:14%!important;
    gap:3px!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value > strong{
    font-size:58px!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value > b{
    font-size:9px!important;
    margin-bottom:5px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
  .casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
    margin-top:5px!important;
  }
}


/* =========================================================
   SLOT V42 — COLETOR: VALOR MAIOR + MAIS RESPIRAÇÃO
   Só mexe nos textos do evento do coletor.
   ========================================================= */

/* Número principal bastante maior. */
.casino-slot-v2 .fishing-collector-popup-value > strong{
  font-size:104px!important;
  line-height:.78!important;
}

/* "PONTOS" acompanha ligeiramente o aumento. */
.casino-slot-v2 .fishing-collector-popup-value > b{
  font-size:14px!important;
  margin-bottom:9px!important;
}

/* Dá um pouco mais de espaço acima do valor. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
  margin:3px 0 10px!important;
}

/* E um pouco mais de espaço abaixo do valor. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
  margin:12px 0 0!important;
}

/* Mantém o grupo centrado no quadro. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay .fishing-collector-popup-copy,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup .fishing-collector-popup-copy{
  gap:4px!important;
}

@media(max-width:760px){
  .casino-slot-v2 .fishing-collector-popup-value > strong{
    font-size:68px!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value > b{
    font-size:10px!important;
    margin-bottom:6px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
  .casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
    margin-bottom:7px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > em,
  .casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > em{
    margin-top:8px!important;
  }
}


/* =========================================================
   SLOT V43 — BIG / MEGA / EPIC WIN SÓ COM TEXTO
   Sem caixa, fundo, moldura ou painel.
   ========================================================= */

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay,
.casino-slot-v2 .casino-slot-stage > .fishing-win-overlay{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;

  border:0!important;
  border-radius:0!important;
  outline:0!important;

  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;

  overflow:visible!important;

  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:5px!important;
  text-align:center!important;
}

/* Remove qualquer efeito/painel rotativo antigo. */
.casino-slot-v2 .casino-slot-stage > .slot-win-overlay::before,
.casino-slot-v2 .casino-slot-stage > .fishing-win-overlay::before,
.site-slot-page .slot-win-overlay::before{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* Mesmo nos estados MEGA / EPIC nunca volta a aparecer caixa. */
.site-slot-page .slot-win-overlay.is-mega,
.site-slot-page .slot-win-overlay.is-epic,
.casino-slot-v2 .slot-win-overlay.is-mega,
.casino-slot-v2 .slot-win-overlay.is-epic{
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}

/* Texto do tipo de vitória. */
.casino-slot-v2 .slot-win-overlay > span{
  color:#9cecff!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:3px!important;
  text-shadow:
    0 2px 5px rgba(0,0,0,.72),
    0 0 18px rgba(80,216,255,.38)!important;
}

/* Valor em destaque. */
.casino-slot-v2 .slot-win-overlay > strong{
  color:#ffffff!important;
  font-size:92px!important;
  line-height:.84!important;
  font-weight:950!important;
  letter-spacing:-4px!important;
  text-shadow:
    0 5px 0 rgba(5,79,116,.72),
    0 0 22px rgba(85,222,255,.36),
    0 10px 28px rgba(0,0,0,.46)!important;
}

/* PONTOS por baixo, sem caixa. */
.casino-slot-v2 .slot-win-overlay > small{
  margin-top:5px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;

  color:#d8f7ff!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:3px!important;
  text-shadow:0 2px 6px rgba(0,0,0,.66)!important;
}

/* Mantém a animação do EPIC apenas no texto/número, sem painel. */
.site-slot-page .slot-win-overlay.is-epic strong{
  animation:miniSlotEpicText .42s ease-in-out infinite alternate!important;
}

@media(max-width:760px){
  .casino-slot-v2 .slot-win-overlay > span{
    font-size:12px!important;
  }

  .casino-slot-v2 .slot-win-overlay > strong{
    font-size:58px!important;
  }

  .casino-slot-v2 .slot-win-overlay > small{
    font-size:8px!important;
  }
}


/* =========================================================
   SLOT V44 — COLETOR: NÚMERO MAIOR + TEXTO DE CIMA UM POUCO MAIS AFASTADO
   Só mexe neste evento.
   ========================================================= */

/* Número principal bem maior. */
.casino-slot-v2 .fishing-collector-popup-value > strong{
  font-size:118px!important;
  line-height:.76!important;
}

/* "PONTOS" acompanha o novo tamanho. */
.casino-slot-v2 .fishing-collector-popup-value > b{
  font-size:15px!important;
  margin-bottom:10px!important;
}

/* O texto imediatamente acima do valor sobe só um pouco,
   criando mais respiração sem ficar demasiado afastado. */
.casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
.casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
  margin:2px 0 15px!important;
}

@media(max-width:760px){
  .casino-slot-v2 .fishing-collector-popup-value > strong{
    font-size:76px!important;
  }

  .casino-slot-v2 .fishing-collector-popup-value > b{
    font-size:11px!important;
    margin-bottom:7px!important;
  }

  .casino-slot-v2 .slot-collector-overlay .fishing-collector-popup-copy > small,
  .casino-slot-v2 .fishing-collector-popup .fishing-collector-popup-copy > small{
    margin-bottom:10px!important;
  }
}


/* =========================================================
   SLOT V45 — NEVE IGUAL À DO BACKGROUND DO SITE
   Substitui apenas as partículas próprias da slot.
   ========================================================= */

.casino-slot-v2 .slot-machine-particles,
.fishing-slot-machine .slot-machine-particles{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  overflow:hidden!important;
  pointer-events:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;

  /* remover completamente os flocos/pontos antigos da slot */
  background:none!important;
  background-image:none!important;
  animation:none!important;
}

/* Neve distante — exatamente o mesmo padrão usado no background do site */
.casino-slot-v2 .slot-machine-particles::before,
.fishing-slot-machine .slot-machine-particles::before{
  content:""!important;
  position:absolute!important;
  inset:-50%!important;
  pointer-events:none!important;

  background-image:
    radial-gradient(circle, rgba(255,255,255,.25) 1px, transparent 2px),
    radial-gradient(circle, rgba(190,220,255,.20) 2px, transparent 4px),
    radial-gradient(circle, rgba(255,255,255,.12) 3px, transparent 6px)!important;

  background-size:
    180px 180px,
    330px 330px,
    520px 520px!important;

  background-position:
    30px 80px,
    140px 200px,
    300px 50px!important;

  animation:snowFar 90s linear infinite!important;
}

/* Neve próxima — exatamente o mesmo padrão usado no background do site */
.casino-slot-v2 .slot-machine-particles::after,
.fishing-slot-machine .slot-machine-particles::after{
  content:""!important;
  position:absolute!important;
  inset:-50%!important;
  pointer-events:none!important;

  background-image:
    radial-gradient(circle, rgba(255,255,255,.32) 2px, transparent 5px),
    radial-gradient(circle, rgba(210,235,255,.22) 4px, transparent 9px),
    radial-gradient(circle, rgba(255,255,255,.25) 6px, transparent 13px)!important;

  background-size:
    420px 420px,
    700px 700px,
    1100px 1100px!important;

  background-position:
    80px 150px,
    350px 100px,
    600px 300px!important;

  filter:blur(.8px)!important;
  animation:snowNear 55s linear infinite!important;
}


/* =========================================================
   SLOT V46 — BÓNUS ARRUMADO (HUD / TRACKER / POSIÇÕES)
   ========================================================= */

/* No bónus, esconder o nome da slot e a barra superior normal. */
.casino-slot-v2.slot-bonus-active .fishing-slot-logo,
.casino-slot-v2.slot-bonus-active .casino-slot-statusbar{
  display:none!important;
}

/* O HUD do bónus passa a ocupar a área toda da zona de jogo,
   para podermos posicionar cada elemento no sítio certo. */
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip{
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:100%!important;
  z-index:46!important;
}

/* Descer ligeiramente a slot no modo bónus. */
.casino-slot-v2.slot-bonus-active .casino-slot-reels{
  margin-top:64px!important;
}

/* FREE SPINS RESTANTES bem encostado à esquerda. */
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-meta > span:nth-child(1){
  left:6px!important;
  top:86px!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-meta > span:nth-child(1) b{
  font-size:58px!important;
}

/* GANHO NO BÓNUS no canto inferior direito. */
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-meta > span:nth-child(2){
  top:auto!important;
  right:10px!important;
  bottom:112px!important;
  align-items:end!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-meta > span:nth-child(2) small{
  font-size:8px!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-meta > span:nth-child(2) b{
  font-size:44px!important;
  line-height:.9!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-meta > span:nth-child(2) em{
  font-size:8px!important;
}

/* Linha de coletores + multiplicadores novamente bem visível no topo. */
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-track{
  top:8px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(860px, calc(100% - 24px))!important;
  max-width:860px!important;
  height:92px!important;
  gap:10px!important;
  justify-content:center!important;
  align-items:flex-start!important;
}

/* Mostrar SEMPRE as 3 posições de cada nível; as não apanhadas ficam escuras. */
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(3, 60px)!important;
  gap:6px!important;
  width:192px!important;
  height:84px!important;
  align-items:center!important;
  justify-content:center!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i{
  display:block!important;
  width:60px!important;
  height:84px!important;
  margin:0!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i::before,
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  display:block!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:92px!important;
  height:86px!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
  opacity:.22!important;
  filter:grayscale(1) saturate(.55) brightness(.4)!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  opacity:1!important;
  filter:none!important;
  transform:translate(-50%,-50%) scale(1.1)!important;
}

/* Caixas dos níveis / multiplicadores de volta e com destaque. */
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-milestone{
  flex:0 0 84px!important;
  width:84px!important;
  height:84px!important;
  min-height:84px!important;
  padding:7px 5px!important;
  border-radius:16px!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-milestone span{
  font-size:8px!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-milestone strong{
  font-size:8px!important;
}
.casino-slot-v2.slot-bonus-active .fishing-bonus-strip-milestone b{
  font-size:28px!important;
}

@media (max-width: 1100px){
  .casino-slot-v2.slot-bonus-active .fishing-bonus-strip-track{
    width:min(790px, calc(100% - 16px))!important;
    gap:8px!important;
  }
  .casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group{
    grid-template-columns:repeat(3, 54px)!important;
    width:174px!important;
  }
  .casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i{
    width:54px!important;
    height:78px!important;
  }
  .casino-slot-v2.slot-bonus-active .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
    width:84px!important;
    height:78px!important;
  }
  .casino-slot-v2.slot-bonus-active .fishing-bonus-strip-milestone{
    flex-basis:78px!important;
    width:78px!important;
    height:78px!important;
    min-height:78px!important;
  }
}


/* V49 BONUS LAYOUT REPOSITION */
body.slot-bonus-active .fishing-slot-logo,
.fishing-slot-machine.slot-bonus-active .fishing-slot-logo{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-10px)!important;
}
body.slot-bonus-active #slotFeatureBar,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar{
  display:block!important;
  padding:2px 0 0!important;
  margin:2px auto 10px!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  max-width:980px!important;
  min-height:0!important;
}
body.slot-bonus-active #slotFeatureBar::before,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar::before{display:none!important}
body.slot-bonus-active #slotFeatureBar .fishing-bonus-strip-meta,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar .fishing-bonus-strip-meta{
  display:none!important;
}
body.slot-bonus-active #slotFeatureBar .fishing-bonus-strip-track,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar .fishing-bonus-strip-track{
  margin:0 auto!important;
  width:min(820px,100%)!important;
  min-width:min(820px,100%)!important;
  background:transparent!important;
}
body.slot-bonus-active .casino-side-bet,
.fishing-slot-machine.slot-bonus-active .casino-side-bet{
  align-items:flex-start!important;
  text-align:left!important;
  padding-top:0!important;
}
body.slot-bonus-active .casino-side-bet span,
.fishing-slot-machine.slot-bonus-active .casino-side-bet span{
  font-size:12px!important;
  letter-spacing:1px!important;
}
body.slot-bonus-active .casino-side-bet strong,
.fishing-slot-machine.slot-bonus-active .casino-side-bet strong{
  font-size:72px!important;
  line-height:.92!important;
}
body.slot-bonus-active .casino-side-bet small,
.fishing-slot-machine.slot-bonus-active .casino-side-bet small{
  display:none!important;
}
body.slot-bonus-active .casino-win-box span,
.fishing-slot-machine.slot-bonus-active .casino-win-box span{
  color:#d6f9ff!important;
  font-size:11px!important;
  letter-spacing:1px!important;
}
body.slot-bonus-active .casino-win-box strong,
.fishing-slot-machine.slot-bonus-active .casino-win-box strong{
  color:#97f3c1!important;
  font-size:58px!important;
  line-height:.95!important;
}
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  margin-top:10px!important;
}
body.slot-bonus-active .slot-feature-bar [data-collector-step],
.fishing-slot-machine.slot-bonus-active .slot-feature-bar [data-collector-step]{
  width:58px!important;
  height:82px!important;
}
body.slot-bonus-active .slot-feature-bar .slot-tracker-collector-img,
.fishing-slot-machine.slot-bonus-active .slot-feature-bar .slot-tracker-collector-img{
  width:82%!important;
  height:82%!important;
  object-fit:contain!important;
}


/* =========================================================
   SLOT V50 — MODAL COMPRAR BÓNUS COM comprarbonus.png
   ========================================================= */
.casino-slot-v2 .slot-buy-modal{
  position:fixed!important;
  inset:0!important;
  z-index:5000!important;
  display:grid!important;
  place-items:center!important;
  padding:18px!important;
}
.casino-slot-v2 .slot-buy-modal[hidden]{display:none!important}
.casino-slot-v2 .slot-buy-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,7,14,.82)!important;
  backdrop-filter:blur(9px)!important;
  -webkit-backdrop-filter:blur(9px)!important;
}

.casino-slot-v2 .slot-buy-dialog.slot-buy-dialog-custom{
  position:relative!important;
  z-index:2!important;
  width:min(760px,94vw)!important;
  aspect-ratio:1448 / 1086!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:url("assets/images/comprarbonus.png") center/contain no-repeat!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:block!important;
  text-align:center!important;
}

/* Scatter encaixado no círculo superior da nova moldura. */
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-scatter{
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  top:13.2%!important;
  width:16%!important;
  height:16%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 12px rgba(86,217,255,.28))!important;
}

/* Fechar no canto superior direito da área principal. */
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-close{
  position:absolute!important;
  z-index:8!important;
  top:23%!important;
  right:10.5%!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#bcecff!important;
  font:900 27px/1 Montserrat,sans-serif!important;
  cursor:pointer!important;
  opacity:.72!important;
  text-shadow:0 0 12px rgba(77,209,255,.2)!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-close:hover{opacity:1!important}

/* Texto principal dentro da caixa grande. */
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy{
  position:absolute!important;
  z-index:4!important;
  left:15%!important;
  right:15%!important;
  top:29.5%!important;
  height:23%!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  gap:7px!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy>span{
  color:#9ceaff!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:2.3px!important;
  text-shadow:0 0 12px rgba(91,216,255,.2)!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy h2{
  margin:0!important;
  color:#fff!important;
  font-size:42px!important;
  line-height:.96!important;
  font-weight:950!important;
  letter-spacing:-1.4px!important;
  text-shadow:0 4px 14px rgba(0,0,0,.25)!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy p{
  margin:5px 0 0!important;
  color:#c2e0ec!important;
  font-size:11px!important;
  line-height:1.45!important;
  font-weight:650!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy p strong{
  color:#fff!important;
  font-weight:950!important;
}

/* Custo exatamente dentro da barra horizontal central. */
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-cost{
  position:absolute!important;
  z-index:4!important;
  left:17%!important;
  right:17%!important;
  top:58.1%!important;
  height:14.3%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  gap:2px!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-cost small{
  color:#9fe8ff!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:1.7px!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-cost strong{
  color:#fff!important;
  font-size:40px!important;
  line-height:.9!important;
  font-weight:950!important;
  letter-spacing:-1px!important;
  text-shadow:0 3px 0 rgba(7,86,133,.55),0 0 16px rgba(91,215,255,.18)!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-cost span{
  color:#c8f0ff!important;
  font-size:8px!important;
  font-weight:950!important;
  letter-spacing:1.9px!important;
}

/* Botões transparentes em cima das duas zonas desenhadas na imagem. */
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-actions{
  position:absolute!important;
  z-index:5!important;
  left:16.2%!important;
  right:16.2%!important;
  bottom:8.3%!important;
  height:13%!important;
  margin:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:7.1%!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-actions button{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  cursor:pointer!important;
  font:950 14px/1 Montserrat,sans-serif!important;
  letter-spacing:1px!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-actions button:first-child{
  color:#d8f6ff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.35)!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-actions button:last-child{
  color:#3a2500!important;
  text-shadow:0 1px 0 rgba(255,255,255,.3)!important;
}
.casino-slot-v2 .slot-buy-dialog-custom .slot-buy-actions button:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.08)!important;
}

@media(max-width:760px){
  .casino-slot-v2 .slot-buy-dialog.slot-buy-dialog-custom{
    width:min(96vw,650px)!important;
  }
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-scatter{
    width:17%!important;
    height:17%!important;
  }
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy>span{font-size:8px!important}
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy h2{font-size:28px!important}
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-copy p{font-size:8px!important}
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-cost strong{font-size:29px!important}
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-actions button{font-size:10px!important}
  .casino-slot-v2 .slot-buy-dialog-custom .slot-buy-close{
    width:28px!important;
    height:28px!important;
    font-size:22px!important;
  }
}


/* =========================================================
   SLOT V53 — BIG / MEGA / EPIC COM AS IMAGENS DO UTILIZADOR
   Apenas o valor aparece dentro da zona livre.
   ========================================================= */
.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay,
.site-slot-page .slot-win-overlay.win-art-overlay{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  z-index:95!important;
  width:min(78vw,760px)!important;
  min-width:0!important;
  max-width:min(78vw,760px)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1672 / 941!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:url("assets/images/bigwin.png") center/contain no-repeat!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  display:block!important;
  overflow:visible!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay.is-mega,
.site-slot-page .slot-win-overlay.win-art-overlay.is-mega{
  width:min(70vw,680px)!important;
  max-width:min(70vw,680px)!important;
  aspect-ratio:1448 / 1086!important;
  background-image:url("assets/images/megawin.png")!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay.is-epic,
.site-slot-page .slot-win-overlay.win-art-overlay.is-epic{
  width:min(70vw,680px)!important;
  max-width:min(70vw,680px)!important;
  aspect-ratio:1448 / 1086!important;
  background-image:url("assets/images/epicwin.png")!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay > span,
.casino-slot-v2 .slot-win-overlay.win-art-overlay > small,
.site-slot-page .slot-win-overlay.win-art-overlay > span,
.site-slot-page .slot-win-overlay.win-art-overlay > small{
  display:none!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay > strong,
.site-slot-page .slot-win-overlay.win-art-overlay > strong{
  position:absolute!important;
  left:50%!important;
  top:71.2%!important;
  transform:translate(-50%,-50%)!important;
  width:58%!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-size:clamp(46px,7.4vw,92px)!important;
  line-height:.92!important;
  font-weight:950!important;
  letter-spacing:-3px!important;
  text-align:center!important;
  text-shadow:0 4px 0 rgba(5,74,137,.7),0 0 18px rgba(111,231,255,.36),0 8px 18px rgba(0,0,0,.34)!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-mega > strong,
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-epic > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-mega > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-epic > strong{
  top:74.2%!important;
  width:55%!important;
  font-size:clamp(42px,6.8vw,84px)!important;
}

@media(max-width:760px){
  .casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay,
  .site-slot-page .slot-win-overlay.win-art-overlay{
    width:min(94vw,620px)!important;
    max-width:min(94vw,620px)!important;
  }
  .casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay.is-mega,
  .casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay.is-epic,
  .site-slot-page .slot-win-overlay.win-art-overlay.is-mega,
  .site-slot-page .slot-win-overlay.win-art-overlay.is-epic{
    width:min(88vw,560px)!important;
    max-width:min(88vw,560px)!important;
  }
  .casino-slot-v2 .slot-win-overlay.win-art-overlay > strong,
  .site-slot-page .slot-win-overlay.win-art-overlay > strong{
    font-size:clamp(34px,9vw,64px)!important;
  }
}


/* =========================================================
   SLOT V54 — FIX BIG/MEGA/EPIC VISÍVEL SEM WIN
   O atributo hidden volta a ter prioridade sobre o display do artwork.
   ========================================================= */
.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay[hidden],
.site-slot-page .slot-win-overlay.win-art-overlay[hidden]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay:not([hidden]),
.site-slot-page .slot-win-overlay.win-art-overlay:not([hidden]){
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}


/* =========================================================
   SLOT V55 — CHUVA DE MOEDAS / BIG-MEGA-EPIC MAIS LONGOS
   ========================================================= */

/* Chuva reutilizável para BIG/MEGA/EPIC e fim do bónus. */
.slot-celebration-rain{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  opacity:1;
}
.slot-celebration-rain--stage{
  z-index:94;
  border-radius:inherit;
}
.slot-celebration-rain--summary{
  z-index:1;
  position:absolute;
}
.slot-celebration-rain i{
  position:absolute;
  left:var(--celebration-left);
  top:calc(-1 * var(--celebration-size) - 50px);
  width:var(--celebration-size);
  height:var(--celebration-size);
  opacity:0;
  will-change:transform,opacity;
}
.slot-celebration-rain i img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:
    drop-shadow(0 0 9px rgba(92,224,255,.62))
    drop-shadow(0 5px 9px rgba(0,0,0,.30));
}
.slot-celebration-rain.is-running i{
  animation:slotCelebrationCoinFall var(--celebration-duration) cubic-bezier(.2,.52,.37,.96) var(--celebration-delay) both;
}
@keyframes slotCelebrationCoinFall{
  0%{
    opacity:0;
    transform:translate3d(0,-10vh,0) rotate(0deg) scale(.72);
  }
  9%{opacity:1}
  86%{opacity:1}
  100%{
    opacity:0;
    transform:translate3d(var(--celebration-drift),118vh,0) rotate(var(--celebration-rotate)) scale(1.04);
  }
}

/* A moldura/valor da BIG WIN fica acima da chuva. */
.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay{
  z-index:95!important;
}

/* A caixa final do bónus fica acima da chuva, mas a chuva vê-se em todo o fundo. */
.slot-bonus-summary .slot-bonus-summary-card{
  z-index:2!important;
}
.slot-bonus-summary .slot-bonus-summary-backdrop{
  z-index:0!important;
}

/* Valores mais pequenos para caberem confortavelmente nas molduras. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay > strong,
.site-slot-page .slot-win-overlay.win-art-overlay > strong{
  width:52%!important;
  font-size:clamp(34px,5.1vw,66px)!important;
  letter-spacing:-2px!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-mega > strong,
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-epic > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-mega > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-epic > strong{
  width:50%!important;
  font-size:clamp(32px,4.7vw,60px)!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-long-amount > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-long-amount > strong{
  font-size:clamp(30px,4.2vw,54px)!important;
  width:56%!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-very-long-amount > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-very-long-amount > strong{
  font-size:clamp(26px,3.7vw,46px)!important;
  width:59%!important;
}

@media(max-width:760px){
  .casino-slot-v2 .slot-win-overlay.win-art-overlay > strong,
  .site-slot-page .slot-win-overlay.win-art-overlay > strong{
    font-size:clamp(28px,7vw,46px)!important;
  }
  .casino-slot-v2 .slot-win-overlay.win-art-overlay.is-mega > strong,
  .casino-slot-v2 .slot-win-overlay.win-art-overlay.is-epic > strong,
  .site-slot-page .slot-win-overlay.win-art-overlay.is-mega > strong,
  .site-slot-page .slot-win-overlay.win-art-overlay.is-epic > strong{
    font-size:clamp(26px,6.5vw,42px)!important;
  }
}


/* =========================================================
   SLOT V56 — BIG/MEGA/EPIC COM FUNDO DESFOCADO
   ========================================================= */
.fishing-slot-machine.is-win-celebration .casino-slot-side,
.fishing-slot-machine.is-win-celebration .casino-slot-game,
.fishing-slot-machine.is-win-celebration .slot-machine-glow,
.fishing-slot-machine.is-win-celebration .slot-machine-particles,
.fishing-slot-machine.is-win-celebration .slot-fx-layer{
  filter: blur(7px) brightness(.78) saturate(.95);
  transform: scale(.995);
  transition: filter .22s ease, transform .22s ease, opacity .22s ease;
}

.fishing-slot-machine .casino-slot-side,
.fishing-slot-machine .casino-slot-game,
.fishing-slot-machine .slot-machine-glow,
.fishing-slot-machine .slot-machine-particles,
.fishing-slot-machine .slot-fx-layer{
  transition: filter .22s ease, transform .22s ease, opacity .22s ease;
}

.fishing-slot-machine.is-win-celebration::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:rgba(5, 14, 28, .16);
  pointer-events:none;
  z-index:93;
}

.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay,
.site-slot-page .slot-win-overlay.win-art-overlay{
  z-index:95 !important;
}

.slot-celebration-rain--stage{
  z-index:94;
}


/* =========================================================
   SLOT V66 — MOEDAS DISPARADAS DO CENTRO
   BIG / MEGA / EPIC atrás da imagem principal
   ========================================================= */

/* Camada dedicada ATRÁS da arte BIG/MEGA/EPIC para as moedas saírem do centro. */
.slot-win-coin-rain{
  position:absolute!important;
  inset:0!important;
  z-index:95!important;
  overflow:hidden!important;
  pointer-events:none!important;
  border-radius:inherit!important;
}
.slot-win-coin-rain[hidden]{
  display:none!important;
}
.slot-win-coin-rain i{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:var(--win-rain-size)!important;
  height:var(--win-rain-size)!important;
  margin-left:calc(var(--win-rain-size) / -2)!important;
  margin-top:calc(var(--win-rain-size) / -2)!important;
  opacity:0;
  will-change:transform,opacity;
}
.slot-win-coin-rain i img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:
    drop-shadow(0 0 8px rgba(118,235,255,.78))
    drop-shadow(0 0 18px rgba(70,205,255,.48))
    drop-shadow(0 6px 10px rgba(0,0,0,.36))!important;
}
.slot-win-coin-rain.is-running i{
  animation:slotWinCoinBurst var(--win-rain-fall) cubic-bezier(.16,.62,.22,1) var(--win-rain-delay) both!important;
}
@keyframes slotWinCoinBurst{
  0%{
    opacity:0;
    transform:translate3d(var(--win-rain-start-x),var(--win-rain-start-y),0) rotate(0deg) scale(.18);
  }
  8%{
    opacity:1;
    transform:translate3d(var(--win-rain-start-x),var(--win-rain-start-y),0) rotate(18deg) scale(.45);
  }
  24%{
    opacity:1;
  }
  100%{
    opacity:0;
    transform:translate3d(calc(var(--win-rain-start-x) + var(--win-rain-drift)),calc(var(--win-rain-start-y) + var(--win-rain-rise)),0) rotate(var(--win-rain-rotate)) scale(var(--win-rain-scale-end));
  }
}

/* A arte fica por cima das moedas disparadas. */
.casino-slot-v2 .casino-slot-stage > .slot-win-overlay.win-art-overlay,
.site-slot-page .slot-win-overlay.win-art-overlay{
  z-index:96!important;
}

/* No bónus: criar mais espaço visual para os collectors no topo. */
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  transform:translateY(38px) scale(.91)!important;
  transform-origin:top center!important;
  margin-top:12px!important;
}

/* Deixa um pouco mais de área para a faixa dos collectors. */
body.slot-bonus-active #slotFeatureBar,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar{
  margin-bottom:2px!important;
}

body.slot-bonus-active #slotCollectorMeter,
.fishing-slot-machine.slot-bonus-active #slotCollectorMeter{
  min-height:92px!important;
}

@media(max-width:760px){
  body.slot-bonus-active #slotReels,
  .fishing-slot-machine.slot-bonus-active #slotReels{
    transform:translateY(28px) scale(.93)!important;
  }
}


/* =========================================================
   SLOT V58 — REELS DO BÓNUS AINDA MAIS PEQUENOS
   Só afeta o modo Free Spins.
   ========================================================= */

body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  transform:translateY(52px) scale(.82)!important;
  transform-origin:top center!important;
  margin-top:8px!important;
}

/* Mais espaço livre para os coletores no topo. */
body.slot-bonus-active #slotFeatureBar,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar{
  margin-bottom:0!important;
}

body.slot-bonus-active #slotCollectorMeter,
.fishing-slot-machine.slot-bonus-active #slotCollectorMeter{
  min-height:104px!important;
}

@media(max-width:760px){
  body.slot-bonus-active #slotReels,
  .fishing-slot-machine.slot-bonus-active #slotReels{
    transform:translateY(38px) scale(.86)!important;
  }
}


/* =========================================================
   SLOT V59 — BÓNUS LIMPO
   - reels voltam ao tamanho normal
   - reels descem
   - remove controlos inferiores no bónus
   - lado esquerdo fica apenas com Free Spins + Ganho no Bónus
   ========================================================= */

/* Tamanho normal da slot no bónus, apenas mais para baixo. */
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  transform:translateY(92px) scale(1)!important;
  transform-origin:top center!important;
  margin-top:0!important;
}

/* Durante o bónus, eliminar tudo o que aparece na faixa inferior. */
body.slot-bonus-active .casino-slot-bottom-controls,
body.slot-bonus-active .casino-slot-mini-stats,
.fishing-slot-machine.slot-bonus-active .casino-slot-bottom-controls,
.fishing-slot-machine.slot-bonus-active .casino-slot-mini-stats{
  display:none!important;
}

/* No lado esquerdo, durante o bónus, ficam APENAS Free Spins e Ganho no Bónus. */
body.slot-bonus-active .casino-side-feature,
body.slot-bonus-active .casino-buy-bonus,
.fishing-slot-machine.slot-bonus-active .casino-side-feature,
.fishing-slot-machine.slot-bonus-active .casino-buy-bonus{
  display:none!important;
}

body.slot-bonus-active .casino-slot-side,
.fishing-slot-machine.slot-bonus-active .casino-slot-side{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:22px!important;
  padding-top:105px!important;
}

/* Free Spins restantes sem caixa visual. */
body.slot-bonus-active .casino-side-bet,
.fishing-slot-machine.slot-bonus-active .casino-side-bet{
  position:static!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
  align-items:flex-start!important;
}
body.slot-bonus-active .casino-side-bet span,
.fishing-slot-machine.slot-bonus-active .casino-side-bet span{
  font-size:11px!important;
  line-height:1.05!important;
  letter-spacing:1.2px!important;
  color:#dff8ff!important;
}
body.slot-bonus-active .casino-side-bet strong,
.fishing-slot-machine.slot-bonus-active .casino-side-bet strong{
  margin-top:4px!important;
  font-size:68px!important;
  line-height:.9!important;
  color:#fff!important;
}
body.slot-bonus-active .casino-side-bet small,
.fishing-slot-machine.slot-bonus-active .casino-side-bet small{
  display:none!important;
}

/* Ganho no bónus logo abaixo das Free Spins. */
.casino-side-bonus-win[hidden]{display:none!important}
body.slot-bonus-active .casino-side-bonus-win,
.fishing-slot-machine.slot-bonus-active .casino-side-bonus-win{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
}
body.slot-bonus-active .casino-side-bonus-win span,
.fishing-slot-machine.slot-bonus-active .casino-side-bonus-win span{
  color:#dff8ff!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:1.2px!important;
}
body.slot-bonus-active .casino-side-bonus-win strong,
.fishing-slot-machine.slot-bonus-active .casino-side-bonus-win strong{
  margin-top:5px!important;
  color:#93f1c1!important;
  font-size:42px!important;
  line-height:.9!important;
  font-weight:950!important;
  letter-spacing:-1px!important;
  text-shadow:0 0 16px rgba(77,235,165,.2)!important;
}
body.slot-bonus-active .casino-side-bonus-win small,
.fishing-slot-machine.slot-bonus-active .casino-side-bonus-win small{
  margin-top:4px!important;
  color:#dff8ff!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:1px!important;
}

/* O antigo ganho/meta da feature bar não aparece; só o tracker fica em cima. */
body.slot-bonus-active #slotFeatureBar .fishing-bonus-strip-meta,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar .fishing-bonus-strip-meta{
  display:none!important;
}

/* Mantém espaço para os coletores/níveis no topo. */
body.slot-bonus-active #slotFeatureBar,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar{
  margin:0 auto!important;
  min-height:112px!important;
}
body.slot-bonus-active #slotCollectorMeter,
.fishing-slot-machine.slot-bonus-active #slotCollectorMeter{
  min-height:108px!important;
}

@media(max-width:760px){
  body.slot-bonus-active #slotReels,
  .fishing-slot-machine.slot-bonus-active #slotReels{
    transform:translateY(72px) scale(1)!important;
  }

  body.slot-bonus-active .casino-slot-side,
  .fishing-slot-machine.slot-bonus-active .casino-slot-side{
    gap:14px!important;
    padding-top:80px!important;
  }

  body.slot-bonus-active .casino-side-bet strong,
  .fishing-slot-machine.slot-bonus-active .casino-side-bet strong{
    font-size:48px!important;
  }

  body.slot-bonus-active .casino-side-bonus-win strong,
  .fishing-slot-machine.slot-bonus-active .casino-side-bonus-win strong{
    font-size:30px!important;
  }
}


/* =========================================================
   SLOT V61 — BÓNUS: GANHO MAIS ABAIXO + SALDO EM BAIXO
   ========================================================= */

/* Mais espaço entre FREE SPINS RESTANTES e GANHO NO BÓNUS. */
body.slot-bonus-active .casino-slot-side,
.fishing-slot-machine.slot-bonus-active .casino-slot-side{
  gap:48px!important;
}

/* Garante que o ganho não fica colado às spins restantes. */
body.slot-bonus-active .casino-side-bonus-win,
.fishing-slot-machine.slot-bonus-active .casino-side-bonus-win{
  margin-top:8px!important;
}

/* Puxa os rolos ainda mais para baixo, mantendo tamanho normal. */
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  transform:translateY(128px) scale(1)!important;
  transform-origin:top center!important;
}

/* Saldo dedicado no fundo durante o bónus. */
.casino-bonus-balance[hidden]{
  display:none!important;
}

body.slot-bonus-active .casino-bonus-balance,
.fishing-slot-machine.slot-bonus-active .casino-bonus-balance{
  position:absolute!important;
  z-index:48!important;
  left:10px!important;
  bottom:13px!important;
  display:grid!important;
  gap:3px!important;
  text-align:left!important;
  pointer-events:none!important;
}

body.slot-bonus-active .casino-bonus-balance span,
.fishing-slot-machine.slot-bonus-active .casino-bonus-balance span{
  color:#8fb4c4!important;
  font-size:7px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:1.2px!important;
}

body.slot-bonus-active .casino-bonus-balance strong,
.fishing-slot-machine.slot-bonus-active .casino-bonus-balance strong{
  color:#f5fcff!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:950!important;
  text-shadow:0 2px 8px rgba(0,0,0,.32)!important;
}

body.slot-bonus-active .casino-bonus-balance b,
.fishing-slot-machine.slot-bonus-active .casino-bonus-balance b{
  font-size:18px!important;
}

/* Mantém os restantes controlos inferiores escondidos. */
body.slot-bonus-active .casino-slot-bottom-controls,
body.slot-bonus-active .casino-slot-mini-stats,
.fishing-slot-machine.slot-bonus-active .casino-slot-bottom-controls,
.fishing-slot-machine.slot-bonus-active .casino-slot-mini-stats{
  display:none!important;
}

@media(max-width:760px){
  body.slot-bonus-active .casino-slot-side,
  .fishing-slot-machine.slot-bonus-active .casino-slot-side{
    gap:34px!important;
  }

  body.slot-bonus-active #slotReels,
  .fishing-slot-machine.slot-bonus-active #slotReels{
    transform:translateY(98px) scale(1)!important;
  }

  body.slot-bonus-active .casino-bonus-balance,
  .fishing-slot-machine.slot-bonus-active .casino-bonus-balance{
    left:7px!important;
    bottom:8px!important;
  }
}


/* =========================================================
   SLOT V62 — FINAL DO BÓNUS COM CHUVA ATÉ AO CLIQUE
   + REELS SEM QUADRADOS / DIRETO NO WALLPAPER
   ========================================================= */

/* A área inteira dos rolos fica totalmente transparente.
   Nada de painel azul, sombra, moldura ou máscara. */
.casino-slot-v2 .casino-slot-reels,
.site-slot-page .casino-slot-reels,
.site-slot-page .slot-reels-pro,
.fishing-slot-reels{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Remove as máscaras/gradientes superior e inferior da janela. */
.casino-slot-v2 .casino-slot-reels::before,
.casino-slot-v2 .casino-slot-reels::after,
.site-slot-page .slot-reels-pro::before,
.site-slot-page .slot-reels-pro::after{
  display:none!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* Cada coluna deixa de ter qualquer divisória ou "quadrado". */
.casino-slot-v2 .casino-slot-reels > .slot-reel,
.casino-slot-v2 .casino-slot-reels .slot-reel,
.site-slot-page .slot-reels-pro .slot-reel,
.fishing-slot-reels .slot-reel{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-left:0!important;
  border-right:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Nem o último rolo volta a desenhar uma linha lateral. */
.casino-slot-v2 .casino-slot-reels .slot-reel:last-of-type{
  border-right:0!important;
}

/* Cada símbolo fica solto diretamente sobre walpaper.png. */
.casino-slot-v2 .casino-slot-reels .slot-symbol,
.casino-slot-v2 .casino-slot-reels .fishing-symbol,
.site-slot-page .slot-reels-pro .slot-symbol,
.fishing-slot-reels .slot-symbol{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Retira também o sheen que podia dar a sensação de blocos/placas. */
.casino-slot-v2 .casino-slot-reels > .slot-grid-sheen,
.site-slot-page .slot-grid-sheen{
  display:none!important;
}

/* A chuva do resumo final ocupa o ecrã todo do resumo e fica
   sempre atrás da caixa principal. */
.slot-bonus-summary{
  overflow:hidden!important;
}
.slot-bonus-summary .slot-celebration-rain--summary{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
}
.slot-bonus-summary .slot-bonus-summary-card{
  position:relative!important;
  z-index:3!important;
}


/* =========================================================
   SLOT V63 — SALDO DO BÓNUS ENCOSTADO À ESQUERDA
   ========================================================= */
body.slot-bonus-active .casino-bonus-balance,
.fishing-slot-machine.slot-bonus-active .casino-bonus-balance{
  left:-126px!important;
  bottom:13px!important;
}


/* =========================================================
   SLOT V64 — BIG / MEGA / EPIC: ANIMAÇÃO CINEMÁTICA + CLICK SKIP
   ========================================================= */

/* O overlay é clicável apenas enquanto está ativo. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay:not([hidden]){
  pointer-events:auto!important;
  cursor:pointer!important;
  will-change:transform,opacity,filter!important;
}

/* ENTRADA: vem de trás, cresce, passa um pouco do tamanho e assenta. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-entering,
.site-slot-page .slot-win-overlay.win-art-overlay.is-entering{
  animation:slotWinArtEntrance 1.35s cubic-bezier(.16,.84,.18,1) both!important;
}

/* Enquanto o valor está a contar, a imagem "respira" devagar. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-holding,
.site-slot-page .slot-win-overlay.win-art-overlay.is-holding{
  animation:slotWinArtFloat 1.8s ease-in-out infinite alternate!important;
}

/* Valor ganha um pequeno impacto de entrada independente da moldura. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-entering > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-entering > strong{
  animation:slotWinAmountEntrance 1.15s .28s cubic-bezier(.15,.88,.22,1.18) both!important;
}

/* O número pulsa muito suavemente enquanto conta. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-holding > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-holding > strong{
  animation:slotWinAmountPulse 1.2s ease-in-out infinite alternate!important;
}

/* SAÍDA: pequeno zoom, rotação e dissolução. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-exiting,
.site-slot-page .slot-win-overlay.win-art-overlay.is-exiting{
  animation:slotWinArtExit 1.05s cubic-bezier(.58,.02,.84,.28) both!important;
}

/* Flash/glow por trás da imagem. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay::before,
.site-slot-page .slot-win-overlay.win-art-overlay::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  z-index:-1!important;
  left:50%!important;
  top:50%!important;
  width:74%!important;
  height:64%!important;
  transform:translate(-50%,-50%) scale(.6)!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle,rgba(164,245,255,.74) 0%,rgba(52,194,255,.24) 34%,rgba(29,106,255,.08) 58%,transparent 76%)!important;
  filter:blur(18px)!important;
  opacity:0!important;
  pointer-events:none!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-entering::before,
.site-slot-page .slot-win-overlay.win-art-overlay.is-entering::before{
  animation:slotWinGlowBurst 1.35s ease-out both!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-holding::before,
.site-slot-page .slot-win-overlay.win-art-overlay.is-holding::before{
  opacity:.62!important;
  animation:slotWinGlowPulse 1.55s ease-in-out infinite alternate!important;
}

/* Outro brilho que atravessa ligeiramente a arte durante a entrada. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay::after,
.site-slot-page .slot-win-overlay.win-art-overlay::after{
  content:""!important;
  position:absolute!important;
  z-index:2!important;
  top:10%!important;
  bottom:12%!important;
  left:-38%!important;
  width:26%!important;
  transform:skewX(-18deg)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),rgba(153,237,255,.22),transparent)!important;
  filter:blur(7px)!important;
  opacity:0!important;
  pointer-events:none!important;
  mix-blend-mode:screen!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-entering::after,
.site-slot-page .slot-win-overlay.win-art-overlay.is-entering::after{
  animation:slotWinShineSweep 1.05s .23s ease-out both!important;
}

/* Clique: acelera imediatamente o visual antes de sair. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-skip-requested,
.site-slot-page .slot-win-overlay.win-art-overlay.is-skip-requested{
  filter:brightness(1.12) drop-shadow(0 0 20px rgba(113,230,255,.42))!important;
}

@keyframes slotWinArtEntrance{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.32) rotate(-5deg);
    filter:blur(13px) brightness(1.8) drop-shadow(0 0 0 rgba(75,218,255,0));
  }
  38%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.10) rotate(1.4deg);
    filter:blur(0) brightness(1.25) drop-shadow(0 0 42px rgba(75,218,255,.72));
  }
  58%{
    transform:translate(-50%,-50%) scale(.95) rotate(-.8deg);
  }
  76%{
    transform:translate(-50%,-50%) scale(1.035) rotate(.35deg);
  }
  100%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1) rotate(0);
    filter:blur(0) brightness(1) drop-shadow(0 0 22px rgba(75,218,255,.26));
  }
}

@keyframes slotWinArtFloat{
  from{
    transform:translate(-50%,-50%) scale(.995) translateY(-3px);
    filter:brightness(1) drop-shadow(0 0 20px rgba(70,205,255,.23));
  }
  to{
    transform:translate(-50%,-50%) scale(1.018) translateY(4px);
    filter:brightness(1.08) drop-shadow(0 0 34px rgba(89,224,255,.42));
  }
}

@keyframes slotWinAmountEntrance{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.34);
    filter:blur(8px);
  }
  55%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.16);
    filter:blur(0);
  }
  78%{
    transform:translate(-50%,-50%) scale(.94);
  }
  100%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1);
  }
}

@keyframes slotWinAmountPulse{
  from{
    transform:translate(-50%,-50%) scale(1);
    text-shadow:0 3px 0 rgba(6,54,120,.72),0 0 16px rgba(104,236,255,.24),0 8px 20px rgba(0,0,0,.30);
  }
  to{
    transform:translate(-50%,-50%) scale(1.055);
    text-shadow:0 3px 0 rgba(6,54,120,.72),0 0 29px rgba(137,246,255,.55),0 8px 20px rgba(0,0,0,.30);
  }
}

@keyframes slotWinArtExit{
  0%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1) rotate(0);
    filter:blur(0) brightness(1);
  }
  30%{
    transform:translate(-50%,-50%) scale(1.08) rotate(-.7deg);
    filter:blur(0) brightness(1.22);
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.64) rotate(3deg) translateY(-18px);
    filter:blur(12px) brightness(1.4);
  }
}

@keyframes slotWinGlowBurst{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}
  34%{opacity:.95;transform:translate(-50%,-50%) scale(1.32)}
  100%{opacity:.46;transform:translate(-50%,-50%) scale(1)}
}

@keyframes slotWinGlowPulse{
  from{transform:translate(-50%,-50%) scale(.94);opacity:.42}
  to{transform:translate(-50%,-50%) scale(1.12);opacity:.78}
}

@keyframes slotWinShineSweep{
  0%{left:-38%;opacity:0}
  18%{opacity:.72}
  72%{opacity:.48}
  100%{left:112%;opacity:0}
}


/* =========================================================
   SLOT V65 — WIN FX EXTRA + FINAL SEMPRE COMPLETO
   ========================================================= */

/* Camada de energia por trás da arte BIG/MEGA/EPIC. */
.slot-win-energy-layer{
  position:absolute!important;
  inset:0!important;
  z-index:94!important;
  overflow:hidden!important;
  pointer-events:none!important;
  border-radius:inherit!important;
}

.slot-win-energy-layer[hidden]{
  display:none!important;
}

.slot-win-energy-ring{
  position:absolute;
  left:50%;
  top:50%;
  width:420px;
  height:420px;
  margin:-210px 0 0 -210px;
  border:2px solid rgba(139,238,255,.54);
  border-radius:50%;
  opacity:0;
  box-shadow:
    0 0 26px rgba(74,205,255,.38),
    inset 0 0 26px rgba(74,205,255,.16);
}

.slot-win-energy-layer.is-running .ring-a{
  animation:slotWinEnergyRingA 2.4s ease-out infinite;
}
.slot-win-energy-layer.is-running .ring-b{
  animation:slotWinEnergyRingB 2.4s .82s ease-out infinite;
}

.slot-win-energy-rays{
  position:absolute;
  left:50%;
  top:50%;
  width:640px;
  height:640px;
  margin:-320px 0 0 -320px;
  opacity:0;
  border-radius:50%;
  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(159,242,255,.17) 0deg 2deg,
      transparent 2deg 14deg
    );
  filter:blur(2px);
  mask-image:radial-gradient(circle,transparent 0 24%,#000 37% 70%,transparent 82%);
  -webkit-mask-image:radial-gradient(circle,transparent 0 24%,#000 37% 70%,transparent 82%);
}

.slot-win-energy-layer.is-running .slot-win-energy-rays{
  animation:slotWinEnergyRays 7s linear infinite;
}

.slot-win-sparks{
  position:absolute;
  inset:0;
}

.slot-win-sparks i{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--spark-size);
  height:var(--spark-size);
  margin:calc(var(--spark-size) / -2) 0 0 calc(var(--spark-size) / -2);
  border-radius:50%;
  background:rgba(231,253,255,.96);
  opacity:0;
  box-shadow:
    0 0 7px rgba(255,255,255,.95),
    0 0 15px rgba(87,219,255,.9);
}

.slot-win-energy-layer.is-running .slot-win-sparks i{
  animation:slotWinSparkFly var(--spark-duration) var(--spark-delay) cubic-bezier(.14,.7,.31,1) infinite;
}

/* Momento de impacto após a entrada. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-impact,
.site-slot-page .slot-win-overlay.win-art-overlay.is-impact{
  animation:slotWinImpact .72s cubic-bezier(.17,.9,.25,1) both!important;
}

.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-impact > strong,
.site-slot-page .slot-win-overlay.win-art-overlay.is-impact > strong{
  animation:slotWinAmountImpact .72s cubic-bezier(.17,.9,.25,1) both!important;
}

/* Mais vida durante o hold. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-holding,
.site-slot-page .slot-win-overlay.win-art-overlay.is-holding{
  animation:
    slotWinArtFloat 1.65s ease-in-out infinite alternate,
    slotWinTinyTilt 4.8s ease-in-out infinite!important;
}

/* O glow do hold também muda de intensidade. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-holding::before,
.site-slot-page .slot-win-overlay.win-art-overlay.is-holding::before{
  animation:
    slotWinGlowPulse 1.35s ease-in-out infinite alternate,
    slotWinGlowOrbit 5.2s linear infinite!important;
}

/* Fundo da slot com pulse suave durante a celebração. */
.fishing-slot-machine.is-win-stage-pulse .casino-slot-game,
.fishing-slot-machine.is-win-stage-pulse .casino-slot-side{
  animation:slotWinBackgroundBreath 2.1s ease-in-out infinite alternate!important;
}

/* Impacto rápido no cenário. */
.fishing-slot-machine.is-win-impact{
  animation:slotWinStageImpact .72s cubic-bezier(.2,.78,.25,1) both!important;
}

/* Saída final SEMPRE 1.45 s. */
.casino-slot-v2 .slot-win-overlay.win-art-overlay.is-exiting,
.site-slot-page .slot-win-overlay.win-art-overlay.is-exiting{
  animation:slotWinArtExitV65 1.45s cubic-bezier(.55,.02,.82,.26) both!important;
}

/* As partículas também fazem um último burst na saída. */
.slot-win-energy-layer.is-exiting .slot-win-energy-ring{
  animation:slotWinFinalRing 1.45s ease-out both!important;
}
.slot-win-energy-layer.is-exiting .slot-win-energy-rays{
  animation:slotWinFinalRays 1.45s ease-in both!important;
}

.fishing-slot-machine.is-win-final-burst::after{
  animation:slotWinBackdropExitFlash 1.45s ease-out both!important;
}

@keyframes slotWinEnergyRingA{
  0%{opacity:0;transform:scale(.32)}
  18%{opacity:.72}
  100%{opacity:0;transform:scale(1.58)}
}

@keyframes slotWinEnergyRingB{
  0%{opacity:0;transform:scale(.38)}
  18%{opacity:.48}
  100%{opacity:0;transform:scale(1.34)}
}

@keyframes slotWinEnergyRays{
  0%{opacity:.18;transform:rotate(0deg) scale(.9)}
  50%{opacity:.42;transform:rotate(180deg) scale(1.04)}
  100%{opacity:.18;transform:rotate(360deg) scale(.9)}
}

@keyframes slotWinSparkFly{
  0%{
    opacity:0;
    transform:translate(0,0) scale(.3);
  }
  10%{opacity:1}
  72%{opacity:.88}
  100%{
    opacity:0;
    transform:translate(var(--spark-x),var(--spark-y)) scale(1.15);
  }
}

@keyframes slotWinImpact{
  0%{transform:translate(-50%,-50%) scale(1)}
  22%{transform:translate(-50%,-50%) scale(1.09)}
  43%{transform:translate(-50%,-50%) scale(.955)}
  67%{transform:translate(-50%,-50%) scale(1.028)}
  100%{transform:translate(-50%,-50%) scale(1)}
}

@keyframes slotWinAmountImpact{
  0%{transform:translate(-50%,-50%) scale(1)}
  30%{transform:translate(-50%,-50%) scale(1.19)}
  60%{transform:translate(-50%,-50%) scale(.93)}
  100%{transform:translate(-50%,-50%) scale(1)}
}

@keyframes slotWinTinyTilt{
  0%,100%{rotate:0deg}
  25%{rotate:-.45deg}
  75%{rotate:.45deg}
}

@keyframes slotWinGlowOrbit{
  0%{filter:blur(18px) hue-rotate(0deg)}
  50%{filter:blur(23px) hue-rotate(14deg)}
  100%{filter:blur(18px) hue-rotate(0deg)}
}

@keyframes slotWinBackgroundBreath{
  from{filter:blur(7px) brightness(.72) saturate(.88)}
  to{filter:blur(8px) brightness(.84) saturate(1.04)}
}

@keyframes slotWinStageImpact{
  0%{transform:translate3d(0,0,0)}
  18%{transform:translate3d(-4px,2px,0)}
  36%{transform:translate3d(5px,-2px,0)}
  54%{transform:translate3d(-3px,1px,0)}
  72%{transform:translate3d(2px,-1px,0)}
  100%{transform:translate3d(0,0,0)}
}

@keyframes slotWinArtExitV65{
  0%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1) rotate(0deg);
    filter:blur(0) brightness(1);
  }
  18%{
    transform:translate(-50%,-50%) scale(1.075) rotate(.35deg);
    filter:blur(0) brightness(1.22);
  }
  38%{
    transform:translate(-50%,-50%) scale(.97) rotate(-.55deg);
    filter:blur(1px) brightness(1.12);
  }
  62%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1.035) rotate(.8deg);
    filter:blur(2px) brightness(1.24);
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.48) rotate(-4deg) translateY(-34px);
    filter:blur(15px) brightness(1.55);
  }
}

@keyframes slotWinFinalRing{
  0%{opacity:.7;transform:scale(.7)}
  55%{opacity:.45}
  100%{opacity:0;transform:scale(2.2)}
}

@keyframes slotWinFinalRays{
  0%{opacity:.42;transform:rotate(0deg) scale(1)}
  50%{opacity:.72}
  100%{opacity:0;transform:rotate(110deg) scale(1.6)}
}

@keyframes slotWinBackdropExitFlash{
  0%{background:rgba(5,14,28,.16)}
  30%{background:rgba(99,217,255,.14)}
  55%{background:rgba(5,14,28,.22)}
  100%{background:rgba(5,14,28,0)}
}


/* =========================================================
   SLOT V67 — MOEDAS DO CENTRO CONTÍNUAS + SAÍDA DO RESUMO DO BÓNUS
   ========================================================= */

/* Enquanto a rajada está ativa, dá mais profundidade à camada. */
.slot-win-coin-rain.is-running{
  filter: drop-shadow(0 0 10px rgba(96,228,255,.18));
}

/* Resumo do bónus: transição de saída antes de voltar ao jogo base. */
.slot-bonus-summary.is-closing .slot-bonus-summary-backdrop,
.casino-slot-v2 .slot-bonus-summary.is-closing .slot-bonus-summary-backdrop{
  animation: slotBonusSummaryBackdropOut .95s cubic-bezier(.2,.7,.2,1) both !important;
}

.slot-bonus-summary.is-closing .slot-bonus-summary-card,
.casino-slot-v2 .slot-bonus-summary.is-closing .slot-bonus-summary-card{
  animation: slotBonusSummaryCardOut .95s cubic-bezier(.18,.74,.22,1) both !important;
}

.slot-bonus-summary.is-closing .slot-bonus-summary-totalbox,
.casino-slot-v2 .slot-bonus-summary.is-closing .slot-bonus-summary-totalbox{
  animation: slotBonusSummaryTotalOut .95s cubic-bezier(.18,.74,.22,1) both !important;
}

.slot-bonus-summary.is-closing .slot-bonus-summary-continue,
.casino-slot-v2 .slot-bonus-summary.is-closing .slot-bonus-summary-continue{
  animation: slotBonusSummaryContinueOut .6s ease-out both !important;
}

@keyframes slotBonusSummaryBackdropOut {
  0%   { opacity:1; backdrop-filter:blur(10px); }
  100% { opacity:0; backdrop-filter:blur(0px); }
}

@keyframes slotBonusSummaryCardOut {
  0% {
    opacity:1;
    transform: translateY(0) scale(1);
    filter: blur(0px) brightness(1);
  }
  24% {
    opacity:1;
    transform: translateY(-6px) scale(1.03);
    filter: blur(0px) brightness(1.08);
  }
  100% {
    opacity:0;
    transform: translateY(34px) scale(.88);
    filter: blur(12px) brightness(1.16);
  }
}

@keyframes slotBonusSummaryTotalOut {
  0%   { opacity:1; transform: translateY(0) scale(1); }
  30%  { opacity:1; transform: translateY(-3px) scale(1.04); }
  100% { opacity:0; transform: translateY(24px) scale(.9); }
}

@keyframes slotBonusSummaryContinueOut {
  0%   { opacity:1; }
  100% { opacity:0; transform: translateY(8px); }
}


/* =========================================================
   SLOT V68 — TRANSIÇÃO COMPRA DE BÓNUS -> FREE SPINS
   ========================================================= */

.slot-buy-transition-fx{
  position:absolute;
  inset:0;
  z-index:5;
  overflow:hidden;
  pointer-events:none;
}

.slot-buy-transition-fx i{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--buy-coin-size);
  height:var(--buy-coin-size);
  margin-left:calc(var(--buy-coin-size) / -2);
  margin-top:calc(var(--buy-coin-size) / -2);
  opacity:0;
  will-change:transform,opacity;
}

.slot-buy-transition-fx i img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:
    drop-shadow(0 0 9px rgba(118,235,255,.82))
    drop-shadow(0 0 20px rgba(56,197,255,.45))
    drop-shadow(0 7px 10px rgba(0,0,0,.34));
}

.slot-buy-transition-fx.is-running i{
  animation:slotBuyCoinBurst var(--buy-coin-duration) cubic-bezier(.14,.68,.2,1) var(--buy-coin-delay) both;
}

.casino-slot-v2 .slot-buy-modal.is-entering-bonus .slot-buy-dialog-custom{
  animation:slotBuyBonusExit 1.55s cubic-bezier(.16,.76,.2,1) both!important;
}

.casino-slot-v2 .slot-buy-modal.is-entering-bonus .slot-buy-modal-backdrop{
  animation:slotBuyBackdropFlash 1.55s ease-out both!important;
}

.casino-slot-v2 .slot-buy-modal.is-entering-bonus .slot-buy-dialog-custom::after{
  content:"";
  position:absolute;
  inset:-8%;
  border-radius:inherit;
  background:
    radial-gradient(circle at 50% 48%,rgba(219,253,255,.62),rgba(94,214,255,.16) 30%,transparent 66%);
  opacity:0;
  pointer-events:none;
  mix-blend-mode:screen;
  animation:slotBuyIceFlash 1.55s ease-out both;
}

/* Quando já está a revelar o bónus, a janela desaparece totalmente e o
   backdrop abre como uma cortina de gelo. */
.casino-slot-v2 .slot-buy-modal.is-revealing-bonus .slot-buy-dialog-custom{
  animation:slotBuyRevealAway .52s cubic-bezier(.48,.02,.78,.26) both!important;
}

.casino-slot-v2 .slot-buy-modal.is-revealing-bonus .slot-buy-modal-backdrop{
  animation:slotBuyBackdropAway .52s ease-out both!important;
}

/* A slot por trás ganha uma pequena entrada própria ao ser revelada. */
body.slot-buy-to-bonus .casino-slot-stage{
  animation:slotBonusStageReveal 2.05s cubic-bezier(.16,.8,.2,1) both;
}

@keyframes slotBuyCoinBurst{
  0%{
    opacity:0;
    transform:translate3d(0,0,0) rotate(0deg) scale(.18);
  }
  10%{
    opacity:1;
    transform:translate3d(0,0,0) rotate(14deg) scale(.48);
  }
  100%{
    opacity:0;
    transform:translate3d(var(--buy-coin-x),var(--buy-coin-y),0) rotate(var(--buy-coin-rotate)) scale(1.08);
  }
}

@keyframes slotBuyBonusExit{
  0%{
    opacity:1;
    transform:scale(1) translateY(0);
    filter:blur(0) brightness(1);
  }
  24%{
    transform:scale(1.035) translateY(-4px);
    filter:blur(0) brightness(1.16);
  }
  52%{
    transform:scale(.985) translateY(2px);
    filter:blur(.5px) brightness(1.1);
  }
  78%{
    opacity:1;
    transform:scale(1.055) translateY(-7px);
    filter:blur(1px) brightness(1.28);
  }
  100%{
    opacity:.18;
    transform:scale(1.14) translateY(-18px);
    filter:blur(8px) brightness(1.55);
  }
}

@keyframes slotBuyBackdropFlash{
  0%{background:rgba(0,5,10,.82);backdrop-filter:blur(7px)}
  38%{background:rgba(21,91,137,.63);backdrop-filter:blur(9px)}
  72%{background:rgba(84,203,255,.32);backdrop-filter:blur(5px)}
  100%{background:rgba(178,239,255,.12);backdrop-filter:blur(2px)}
}

@keyframes slotBuyIceFlash{
  0%,22%{opacity:0;transform:scale(.78)}
  44%{opacity:.88;transform:scale(1.04)}
  100%{opacity:0;transform:scale(1.2)}
}

@keyframes slotBuyRevealAway{
  0%{opacity:.18;transform:scale(1.14) translateY(-18px);filter:blur(8px) brightness(1.55)}
  100%{opacity:0;transform:scale(.82) translateY(26px);filter:blur(18px) brightness(1.4)}
}

@keyframes slotBuyBackdropAway{
  0%{opacity:1;backdrop-filter:blur(2px)}
  100%{opacity:0;backdrop-filter:blur(0)}
}

@keyframes slotBonusStageReveal{
  0%{filter:blur(6px) brightness(.72);transform:scale(.985)}
  42%{filter:blur(2px) brightness(1.08);transform:scale(1.012)}
  100%{filter:blur(0) brightness(1);transform:scale(1)}
}


/* =========================================================
   SLOT V69 — COLETOR SÓ NO JOGO BASE + TRANSIÇÕES
   ========================================================= */

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay:not([hidden]),
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup:not([hidden]){
  transform:translate(-50%,-50%) scale(.86)!important;
  opacity:0;
  filter:blur(10px) brightness(1.35);
  will-change:transform,opacity,filter;
}

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-entering,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-entering{
  animation:slotCollectorPopupIn .68s cubic-bezier(.16,.82,.18,1.12) both!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-visible,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-visible{
  transform:translate(-50%,-50%) scale(1)!important;
  opacity:1!important;
  filter:blur(0) brightness(1)!important;
  animation:slotCollectorPopupFloat 1.15s ease-in-out infinite alternate!important;
}

.casino-slot-v2 .slot-collector-overlay.is-entering .fishing-collector-popup-value > strong,
.casino-slot-v2 .fishing-collector-popup.is-entering .fishing-collector-popup-value > strong{
  animation:slotCollectorValueIn .62s .12s cubic-bezier(.16,.9,.22,1.15) both!important;
}

.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-exiting,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-exiting{
  animation:slotCollectorPopupOut .65s cubic-bezier(.55,.02,.82,.28) both!important;
}

@keyframes slotCollectorPopupIn{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.72);filter:blur(13px) brightness(1.65)}
  58%{opacity:1;transform:translate(-50%,-50%) scale(1.055);filter:blur(0) brightness(1.15)}
  78%{transform:translate(-50%,-50%) scale(.975)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0) brightness(1)}
}

@keyframes slotCollectorPopupFloat{
  from{transform:translate(-50%,-50%) scale(.995) translateY(-2px);filter:brightness(1)}
  to{transform:translate(-50%,-50%) scale(1.012) translateY(3px);filter:brightness(1.06)}
}

@keyframes slotCollectorValueIn{
  0%{opacity:0;transform:scale(.45);filter:blur(6px)}
  62%{opacity:1;transform:scale(1.16);filter:blur(0)}
  82%{transform:scale(.94)}
  100%{opacity:1;transform:scale(1)}
}

@keyframes slotCollectorPopupOut{
  0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0) brightness(1)}
  28%{transform:translate(-50%,-50%) scale(1.035);filter:blur(0) brightness(1.12)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(.78) translateY(18px);filter:blur(14px) brightness(1.35)}
}


/* =========================================================
   SLOT V70 — COMPRA DO BÓNUS: CHUVA DE MOEDAS + ENTRADA CINEMÁTICA
   ========================================================= */

/* A camada da transição passa a ser chuva vertical, não explosão radial. */
.slot-buy-modal.is-coin-rain .slot-buy-transition-fx{
  position:absolute!important;
  inset:0!important;
  z-index:6!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

.slot-buy-modal.is-coin-rain .slot-buy-transition-fx i{
  position:absolute!important;
  left:var(--buy-coin-left)!important;
  top:calc(-1 * var(--buy-coin-size) - 70px)!important;
  width:var(--buy-coin-size)!important;
  height:var(--buy-coin-size)!important;
  margin:0!important;
  opacity:0;
  will-change:transform,opacity;
}

.slot-buy-modal.is-coin-rain .slot-buy-transition-fx i img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  filter:
    drop-shadow(0 0 8px rgba(126,238,255,.78))
    drop-shadow(0 0 18px rgba(61,196,255,.42))
    drop-shadow(0 6px 10px rgba(0,0,0,.34))!important;
}

.slot-buy-modal.is-coin-rain .slot-buy-transition-fx.is-running i{
  animation:slotBuyCoinRainFall var(--buy-coin-duration)
            cubic-bezier(.19,.52,.34,.98)
            var(--buy-coin-delay) both!important;
}

@keyframes slotBuyCoinRainFall{
  0%{
    opacity:0;
    transform:translate3d(0,-8vh,0) rotate(0deg) scale(.7);
  }
  8%{opacity:1}
  86%{opacity:1}
  100%{
    opacity:0;
    transform:translate3d(var(--buy-coin-drift),118vh,0)
              rotate(var(--buy-coin-rotate))
              scale(1.05);
  }
}

/* Entrada da transição: a caixa fica mais viva antes de desaparecer. */
.casino-slot-v2 .slot-buy-modal.is-entering-bonus .slot-buy-dialog-custom{
  animation:slotBuyBonusBuildUp 1.85s cubic-bezier(.16,.78,.2,1) both!important;
}

.casino-slot-v2 .slot-buy-modal.is-entering-bonus .slot-buy-modal-backdrop{
  animation:slotBuyBackdropBuildUp 1.85s ease-out both!important;
}

/* Glow atrás da caixa enquanto a chuva cai. */
.casino-slot-v2 .slot-buy-modal.is-entering-bonus .slot-buy-dialog-custom::after{
  content:""!important;
  position:absolute!important;
  inset:-10%!important;
  border-radius:inherit!important;
  background:
    radial-gradient(circle at 50% 48%,
      rgba(226,253,255,.72) 0%,
      rgba(91,214,255,.22) 28%,
      rgba(41,130,255,.08) 52%,
      transparent 72%)!important;
  opacity:0;
  pointer-events:none!important;
  mix-blend-mode:screen!important;
  animation:slotBuyBonusGlow 1.85s ease-in-out both!important;
}

/* Saída da caixa para revelar os Free Spins. */
.casino-slot-v2 .slot-buy-modal.is-revealing-bonus .slot-buy-dialog-custom{
  animation:slotBuyBonusCurtainOut 1.05s cubic-bezier(.48,.02,.78,.24) both!important;
}

.casino-slot-v2 .slot-buy-modal.is-revealing-bonus .slot-buy-modal-backdrop{
  animation:slotBuyBonusBackdropOut 1.05s ease-out both!important;
}

/* Flash/varrimento de gelo na passagem para o modo bónus. */
.slot-buy-modal.is-revealing-bonus::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:7;
  pointer-events:none;
  background:
    linear-gradient(
      112deg,
      transparent 0%,
      transparent 34%,
      rgba(255,255,255,.10) 41%,
      rgba(183,244,255,.76) 48%,
      rgba(90,214,255,.34) 54%,
      transparent 63%,
      transparent 100%
    );
  transform:translateX(-72%) skewX(-8deg);
  filter:blur(5px);
  mix-blend-mode:screen;
  animation:slotBuyIceSweep 1.05s ease-in-out both;
}

/* A slot que está por trás entra como se saísse de uma névoa de gelo. */
body.slot-bonus-reveal-active .casino-slot-stage{
  animation:slotPurchasedBonusStageIn 1.15s cubic-bezier(.16,.82,.2,1) both!important;
}

body.slot-bonus-reveal-active #slotReels{
  animation:slotPurchasedBonusReelsIn 1.15s cubic-bezier(.16,.82,.2,1) both!important;
}

/* Os collectors do topo também têm entrada própria. */
body.slot-bonus-reveal-active #slotCollectorMeter{
  animation:slotPurchasedBonusTrackerIn 1.15s .12s cubic-bezier(.16,.82,.2,1) both!important;
}

@keyframes slotBuyBonusBuildUp{
  0%{
    opacity:1;
    transform:scale(1) translateY(0);
    filter:blur(0) brightness(1);
  }
  32%{
    transform:scale(1.018) translateY(-2px);
    filter:blur(0) brightness(1.05);
  }
  68%{
    transform:scale(1.035) translateY(-5px);
    filter:blur(0) brightness(1.16);
  }
  100%{
    opacity:1;
    transform:scale(1.05) translateY(-7px);
    filter:blur(.4px) brightness(1.24);
  }
}

@keyframes slotBuyBackdropBuildUp{
  0%{
    background:rgba(0,5,10,.82);
    backdrop-filter:blur(7px);
  }
  60%{
    background:rgba(8,55,88,.72);
    backdrop-filter:blur(9px);
  }
  100%{
    background:rgba(35,125,177,.56);
    backdrop-filter:blur(7px);
  }
}

@keyframes slotBuyBonusGlow{
  0%{opacity:0;transform:scale(.84)}
  26%{opacity:.34}
  72%{opacity:.78;transform:scale(1.05)}
  100%{opacity:.46;transform:scale(1.12)}
}

@keyframes slotBuyBonusCurtainOut{
  0%{
    opacity:1;
    transform:scale(1.05) translateY(-7px);
    filter:blur(.4px) brightness(1.24);
  }
  24%{
    transform:scale(1.095) translateY(-10px);
    filter:blur(1px) brightness(1.38);
  }
  100%{
    opacity:0;
    transform:scale(.84) translateY(34px);
    filter:blur(17px) brightness(1.55);
  }
}

@keyframes slotBuyBonusBackdropOut{
  0%{
    opacity:1;
    backdrop-filter:blur(7px);
  }
  100%{
    opacity:0;
    backdrop-filter:blur(0);
  }
}

@keyframes slotBuyIceSweep{
  0%{
    opacity:0;
    transform:translateX(-72%) skewX(-8deg);
  }
  16%{opacity:1}
  82%{opacity:.75}
  100%{
    opacity:0;
    transform:translateX(72%) skewX(-8deg);
  }
}

@keyframes slotPurchasedBonusStageIn{
  0%{
    opacity:.55;
    filter:blur(12px) brightness(.68);
    transform:scale(.965);
  }
  42%{
    opacity:1;
    filter:blur(3px) brightness(1.12);
    transform:scale(1.012);
  }
  100%{
    opacity:1;
    filter:blur(0) brightness(1);
    transform:scale(1);
  }
}

@keyframes slotPurchasedBonusReelsIn{
  0%{
    opacity:.15;
    filter:blur(14px) brightness(.72);
  }
  45%{
    opacity:1;
    filter:blur(3px) brightness(1.14);
  }
  100%{
    opacity:1;
    filter:blur(0) brightness(1);
  }
}

@keyframes slotPurchasedBonusTrackerIn{
  0%{
    opacity:0;
    transform:translateY(-22px) scale(.94);
    filter:blur(8px);
  }
  62%{
    opacity:1;
    transform:translateY(4px) scale(1.02);
    filter:blur(0);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}


/* === V71 TRACKER DINÂMICO COM NOVAS IMAGENS === */
.casino-slot-v2 .fishing-bonus-strip{
  gap:10px!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  position:relative!important;
  display:grid!important;
  grid-template-columns:1.55fr .8fr 1.55fr .8fr 1.55fr .8fr!important;
  align-items:center!important;
  gap:10px!important;
  min-width:980px!important;
  min-height:152px!important;
  padding:12px 34px 16px 118px!important;
  box-sizing:border-box!important;
  background:url("assets/images/bonus_tracker_strip.png") center/100% 100% no-repeat!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group,
.casino-slot-v2 .fishing-bonus-strip-milestone{
  position:relative!important;
  z-index:2!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  justify-items:center!important;
  gap:4px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  width:72px!important;
  height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}
.casino-slot-v2 .slot-tracker-collector-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.18))!important;
  transform:scale(1)!important;
  opacity:1!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier .slot-tracker-collector-img{
  filter:drop-shadow(0 0 10px rgba(121,231,255,.45)) drop-shadow(0 10px 14px rgba(0,0,0,.18))!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled .slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier .slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving .slot-tracker-collector-img{
  filter:drop-shadow(0 0 14px rgba(87,232,255,.36)) drop-shadow(0 10px 14px rgba(0,0,0,.2))!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving{
  background:none!important;
  border:none!important;
  box-shadow:none!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  width:112px!important;
  height:112px!important;
  min-height:112px!important;
  padding:0!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:none!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span,
.casino-slot-v2 .fishing-bonus-strip-milestone strong,
.casino-slot-v2 .fishing-bonus-strip-milestone b{
  display:none!important;
}
.casino-slot-v2 .slot-tracker-milestone-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.18))!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-next .slot-tracker-milestone-img{
  filter:drop-shadow(0 0 14px rgba(121,231,255,.26)) drop-shadow(0 10px 14px rgba(0,0,0,.18))!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked .slot-tracker-milestone-img{
  filter:drop-shadow(0 0 18px rgba(98,240,255,.34)) drop-shadow(0 10px 14px rgba(0,0,0,.18))!important;
}
@media (max-width: 1100px){
  .casino-slot-v2 .fishing-bonus-strip-track{
    min-width:900px!important;
    min-height:136px!important;
    padding:10px 24px 14px 98px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{width:64px!important;height:64px!important}
  .casino-slot-v2 .fishing-bonus-strip-milestone{width:96px!important;height:96px!important;min-height:96px!important}
}
@media (max-width: 820px){
  .casino-slot-v2 .fishing-bonus-strip-track{
    min-width:820px!important;
    min-height:124px!important;
    padding:8px 18px 12px 86px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{width:56px!important;height:56px!important}
  .casino-slot-v2 .fishing-bonus-strip-milestone{width:84px!important;height:84px!important;min-height:84px!important}
}


/* =========================================================
   SLOT V72 — BLUR COLETOR LIMPO + TURBO NO BÓNUS + LEVEL UP EM quadro.png
   ========================================================= */

/* 1) COLETOR: elimina o retângulo estranho de backdrop blur do próprio popup. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Blur uniforme no conteúdo TODO da máquina, sem criar uma segunda área retangular. */
.casino-slot-v2 .casino-slot-stage.is-collector-popup::after{
  inset:0!important;
  border-radius:inherit!important;
  background:rgba(4,15,25,.26)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.casino-slot-v2 .casino-slot-stage.is-collector-popup .casino-slot-side,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .casino-slot-game,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-machine-glow,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-machine-particles,
.casino-slot-v2 .casino-slot-stage.is-collector-popup .slot-fx-layer{
  filter:blur(8px) brightness(.76) saturate(.88)!important;
  transform:scale(1.008)!important;
  transform-origin:center!important;
  transition:filter .24s ease, transform .24s ease!important;
}

/* O popup fica sempre totalmente nítido. */
.casino-slot-v2 .casino-slot-stage.is-collector-popup > .slot-collector-overlay,
.casino-slot-v2 .casino-slot-stage.is-collector-popup > .fishing-collector-popup{
  filter:none!important;
}

/* 2) RAIO DO MODO BÓNUS — fica disponível mesmo com os controlos normais escondidos. */
.casino-bonus-turbo[hidden]{display:none!important}

body.slot-bonus-active .casino-bonus-turbo,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo{
  position:absolute!important;
  left:112px!important;
  bottom:11px!important;
  z-index:52!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#a9edff!important;
  cursor:pointer!important;
  font:900 8px Montserrat,sans-serif!important;
  letter-spacing:.8px!important;
  text-shadow:0 0 12px rgba(75,215,255,.26)!important;
}

body.slot-bonus-active .casino-bonus-turbo svg,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo svg{
  width:27px!important;
  height:27px!important;
  overflow:visible!important;
  fill:#5ddcff!important;
  filter:drop-shadow(0 0 7px rgba(70,215,255,.58))!important;
  transition:transform .18s ease, filter .18s ease, fill .18s ease!important;
}

body.slot-bonus-active .casino-bonus-turbo:hover svg,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo:hover svg{
  transform:scale(1.12)!important;
}

body.slot-bonus-active .casino-bonus-turbo.is-active svg,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo.is-active svg{
  fill:#9af2ff!important;
  filter:drop-shadow(0 0 7px rgba(88,226,255,.85)) drop-shadow(0 0 16px rgba(88,226,255,.55))!important;
  animation:slotBonusTurboPulse .8s ease-in-out infinite alternate!important;
}

body.slot-bonus-active .casino-bonus-turbo.is-active span,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo.is-active span{
  color:#d8fbff!important;
}

@keyframes slotBonusTurboPulse{
  from{transform:scale(1) rotate(-2deg)}
  to{transform:scale(1.14) rotate(2deg)}
}

/* 3) LEVEL UP dentro de quadro.png. */
.casino-slot-v2 .slot-levelup-overlay{
  left:50%!important;
  top:50%!important;
  width:min(760px,90%)!important;
  min-height:0!important;
  aspect-ratio:1672 / 941!important;
  transform:translate(-50%,-50%) scale(.86)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:url("assets/images/quadro.png") center/contain no-repeat!important;
  box-shadow:none!important;
  overflow:visible!important;
  display:grid!important;
  place-items:center!important;
  opacity:0;
  filter:blur(10px) brightness(1.25);
  z-index:84!important;
}

.casino-slot-v2 .slot-levelup-overlay[hidden]{display:none!important}
.casino-slot-v2 .slot-levelup-overlay > img{display:none!important}

.casino-slot-v2 .slot-levelup-rays{
  inset:16% 12% 14%!important;
  border-radius:44%!important;
  opacity:.35!important;
  overflow:hidden!important;
  mix-blend-mode:screen!important;
}

.casino-slot-v2 .slot-levelup-copy{
  position:absolute!important;
  z-index:3!important;
  left:18%!important;
  right:18%!important;
  top:27%!important;
  bottom:18%!important;
  display:grid!important;
  align-content:center!important;
  justify-items:center!important;
  gap:7px!important;
  text-align:center!important;
}

.casino-slot-v2 .slot-levelup-copy span{
  color:#dffaff!important;
  font-size:15px!important;
  font-weight:950!important;
  letter-spacing:2px!important;
  text-shadow:0 0 12px rgba(91,223,255,.35)!important;
}
.casino-slot-v2 .slot-levelup-copy small{
  color:#a9dced!important;
  font-size:8px!important;
  font-weight:900!important;
  letter-spacing:1.4px!important;
}
.casino-slot-v2 .slot-levelup-copy strong{
  margin:4px 0 0!important;
  color:#f4fdff!important;
  font-size:78px!important;
  line-height:.92!important;
  font-weight:950!important;
  letter-spacing:-3px!important;
  text-shadow:0 3px 0 rgba(4,70,108,.86),0 0 30px rgba(103,230,255,.52)!important;
}
.casino-slot-v2 .slot-levelup-copy b{
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  color:#b9f5ff!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:1.2px!important;
  text-shadow:0 0 14px rgba(85,222,255,.36)!important;
}

.casino-slot-v2 .slot-levelup-overlay.is-entering{
  animation:slotLevelUpFrameIn .65s cubic-bezier(.16,.85,.2,1.12) both!important;
}
.casino-slot-v2 .slot-levelup-overlay.is-visible{
  opacity:1!important;
  filter:none!important;
  transform:translate(-50%,-50%) scale(1)!important;
  animation:slotLevelUpFrameFloat 1.15s ease-in-out infinite alternate!important;
}
.casino-slot-v2 .slot-levelup-overlay.is-exiting{
  animation:slotLevelUpFrameOut .65s cubic-bezier(.55,.02,.82,.28) both!important;
}

@keyframes slotLevelUpFrameIn{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.68);filter:blur(14px) brightness(1.55)}
  60%{opacity:1;transform:translate(-50%,-50%) scale(1.055);filter:blur(0) brightness(1.12)}
  80%{transform:translate(-50%,-50%) scale(.98)}
  100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}
}
@keyframes slotLevelUpFrameFloat{
  from{transform:translate(-50%,-50%) scale(.995) translateY(-2px)}
  to{transform:translate(-50%,-50%) scale(1.012) translateY(3px)}
}
@keyframes slotLevelUpFrameOut{
  0%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}
  28%{transform:translate(-50%,-50%) scale(1.035);filter:brightness(1.14)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(.76) translateY(20px);filter:blur(14px) brightness(1.35)}
}

/* Blur uniforme também no level up, quadro fica nítido. */
.casino-slot-v2 .casino-slot-stage.is-levelup-popup::after{
  background:rgba(4,15,25,.24)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .casino-slot-side,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .casino-slot-game,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-machine-glow,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-machine-particles,
.casino-slot-v2 .casino-slot-stage.is-levelup-popup .slot-fx-layer{
  filter:blur(8px) brightness(.76) saturate(.88)!important;
  transform:scale(1.008)!important;
}
.casino-slot-v2 .casino-slot-stage.is-levelup-popup > .slot-levelup-overlay{
  filter:none!important;
}

@media(max-width:760px){
  body.slot-bonus-active .casino-bonus-turbo,
  .fishing-slot-machine.slot-bonus-active .casino-bonus-turbo{
    left:96px!important;
    bottom:8px!important;
  }
  .casino-slot-v2 .slot-levelup-copy strong{font-size:56px!important}
  .casino-slot-v2 .slot-levelup-copy span{font-size:11px!important}
  .casino-slot-v2 .slot-levelup-copy b{font-size:10px!important}
}


/* =========================================================
   SLOT V73 — RAIO DO BÓNUS LOGO ACIMA DO SALDO
   ========================================================= */
body.slot-bonus-active .casino-bonus-turbo,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo{
  left:-126px!important;
  bottom:58px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
}

body.slot-bonus-active .casino-bonus-turbo svg,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo svg{
  width:30px!important;
  height:30px!important;
}

body.slot-bonus-active .casino-bonus-turbo span,
.fishing-slot-machine.slot-bonus-active .casino-bonus-turbo span{
  margin-left:1px!important;
}

@media(max-width:760px){
  body.slot-bonus-active .casino-bonus-turbo,
  .fishing-slot-machine.slot-bonus-active .casino-bonus-turbo{
    left:-112px!important;
    bottom:52px!important;
  }
}


/* =========================================================
   SLOT V74 — TEXTO DO LEVEL UP MAIS PARA BAIXO NO quadro.png
   ========================================================= */
.casino-slot-v2 .slot-levelup-copy{
  transform:translateY(34px)!important;
}

@media(max-width:760px){
  .casino-slot-v2 .slot-levelup-copy{
    transform:translateY(24px)!important;
  }
}


/* =========================================================
   SLOT V75 — TRACKER MAIS À ESQUERDA + FUNDO DE MADEIRA +
   COLETORES / LEVELS MENORES E LADO A LADO
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip,
.fishing-slot-page .fishing-bonus-strip{
  overflow:visible!important;
}

.casino-slot-v2 .fishing-bonus-strip-track,
.fishing-slot-page .fishing-bonus-strip-track{
  position:relative!important;
  width:min(860px,calc(100% - 10px))!important;
  max-width:860px!important;
  min-width:0!important;
  margin:0 auto 0 0!important;
  padding:10px 34px 12px 38px!important;
  min-height:92px!important;
  display:grid!important;
  grid-template-columns:152px 88px 152px 88px 152px 88px!important;
  gap:6px!important;
  align-items:center!important;
  justify-content:start!important;
  overflow:visible!important;
  background:url("assets/images/bonus_tracker_strip.png") left center/100% 100% no-repeat!important;
  border:0!important;
  box-shadow:none!important;
}

.casino-slot-v2 .fishing-bonus-collector-group,
.fishing-slot-page .fishing-bonus-collector-group{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:64px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i,
.fishing-slot-page .fishing-bonus-collector-group i{
  position:relative!important;
  flex:0 0 42px!important;
  width:42px!important;
  min-width:42px!important;
  height:56px!important;
  min-height:56px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i::before,
.casino-slot-v2 .fishing-bonus-collector-group i::after,
.fishing-slot-page .fishing-bonus-collector-group i::before,
.fishing-slot-page .fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
.fishing-slot-page .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  inset:50% auto auto 50%!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:.18!important;
  filter:grayscale(1) brightness(.42) saturate(0)!important;
  pointer-events:none!important;
  z-index:2!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img,
.fishing-slot-page .fishing-bonus-collector-group i.is-current-tier > img.slot-tracker-collector-img{
  opacity:.28!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img,
.fishing-slot-page .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.fishing-slot-page .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.fishing-slot-page .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  filter:none!important;
  z-index:4!important;
}

.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img,
.fishing-slot-page .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  filter:drop-shadow(0 0 12px rgba(105,232,255,.5))!important;
}

.casino-slot-v2 .fishing-bonus-strip-milestone,
.fishing-slot-page .fishing-bonus-strip-milestone{
  width:88px!important;
  min-width:88px!important;
  height:76px!important;
  min-height:76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

.casino-slot-v2 .slot-tracker-milestone-img,
.fishing-slot-page .slot-tracker-milestone-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.16))!important;
}

.casino-slot-v2 .fishing-bonus-strip-milestone.is-next .slot-tracker-milestone-img,
.fishing-slot-page .fishing-bonus-strip-milestone.is-next .slot-tracker-milestone-img{
  filter:drop-shadow(0 0 14px rgba(118,232,255,.24)) drop-shadow(0 8px 12px rgba(0,0,0,.16))!important;
}

.casino-slot-v2 .fishing-bonus-strip-milestone.is-unlocked .slot-tracker-milestone-img,
.fishing-slot-page .fishing-bonus-strip-milestone.is-unlocked .slot-tracker-milestone-img{
  filter:drop-shadow(0 0 16px rgba(103,240,255,.3)) drop-shadow(0 8px 12px rgba(0,0,0,.16))!important;
}

@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-strip-track,
  .fishing-slot-page .fishing-bonus-strip-track{
    width:min(790px,calc(100% - 6px))!important;
    max-width:790px!important;
    padding:9px 28px 11px 30px!important;
    grid-template-columns:144px 82px 144px 82px 144px 82px!important;
    gap:5px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i,
  .fishing-slot-page .fishing-bonus-collector-group i{
    flex-basis:40px!important;
    width:40px!important;
    min-width:40px!important;
    height:54px!important;
    min-height:54px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-milestone,
  .fishing-slot-page .fishing-bonus-strip-milestone{
    width:82px!important;
    min-width:82px!important;
    height:72px!important;
    min-height:72px!important;
  }
}

@media(max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip,
  .fishing-slot-page .fishing-bonus-strip{
    overflow-x:auto!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-track,
  .fishing-slot-page .fishing-bonus-strip-track{
    width:760px!important;
    min-width:760px!important;
  }
}


/* =========================================================
   SLOT V76 — POPUP DO COLETOR MAIS SUAVE / SEM ANIMAÇÃO AOS BREAKS
   Apenas transform + opacity (GPU), sem blur/bounce repetido.
   ========================================================= */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay:not([hidden]),
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup:not([hidden]){
  opacity:0!important;
  transform:translate3d(-50%,calc(-50% + 34px),0) scale(.965)!important;
  filter:none!important;
  will-change:transform,opacity!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

/* Entrada: sobe suavemente e assenta sem bounce. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-entering,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-entering{
  animation:slotCollectorSmoothIn .56s cubic-bezier(.18,.78,.24,1) both!important;
}

/* Parado: completamente estável, sem float infinito. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-visible,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-visible{
  opacity:1!important;
  transform:translate3d(-50%,-50%,0) scale(1)!important;
  filter:none!important;
  animation:none!important;
}

/* O valor entra ligeiramente depois, só com fade + pequeno slide. */
.casino-slot-v2 .slot-collector-overlay.is-entering .fishing-collector-popup-value > strong,
.casino-slot-v2 .fishing-collector-popup.is-entering .fishing-collector-popup-value > strong{
  animation:slotCollectorAmountSmoothIn .46s .10s cubic-bezier(.2,.78,.22,1) both!important;
}

/* O texto secundário acompanha de forma discreta. */
.casino-slot-v2 .slot-collector-overlay.is-entering .fishing-collector-popup-copy > span,
.casino-slot-v2 .slot-collector-overlay.is-entering .fishing-collector-popup-copy > small,
.casino-slot-v2 .slot-collector-overlay.is-entering .fishing-collector-popup-copy > em{
  animation:slotCollectorCopySmoothIn .42s .07s ease-out both!important;
}

/* Saída: sobe um pouco e desaparece limpa, sem blur. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-exiting,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-exiting{
  animation:slotCollectorSmoothOut .62s cubic-bezier(.45,.02,.68,.3) both!important;
}

/* Pequeno brilho horizontal que passa uma vez na entrada. */
.casino-slot-v2 .slot-collector-overlay.is-entering::after,
.casino-slot-v2 .fishing-collector-popup.is-entering::after{
  content:""!important;
  position:absolute!important;
  left:8%!important;
  top:12%!important;
  width:22%!important;
  height:76%!important;
  z-index:5!important;
  pointer-events:none!important;
  opacity:0!important;
  transform:skewX(-16deg)!important;
  background:linear-gradient(90deg,transparent,rgba(216,250,255,.20),transparent)!important;
  animation:slotCollectorSheen .70s .08s ease-out both!important;
}

@keyframes slotCollectorSmoothIn{
  0%{
    opacity:0;
    transform:translate3d(-50%,calc(-50% + 34px),0) scale(.965);
  }
  58%{
    opacity:1;
    transform:translate3d(-50%,calc(-50% - 3px),0) scale(1.006);
  }
  100%{
    opacity:1;
    transform:translate3d(-50%,-50%,0) scale(1);
  }
}

@keyframes slotCollectorAmountSmoothIn{
  0%{opacity:0;transform:translate3d(0,14px,0) scale(.94)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@keyframes slotCollectorCopySmoothIn{
  0%{opacity:0;transform:translate3d(0,8px,0)}
  100%{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes slotCollectorSmoothOut{
  0%{
    opacity:1;
    transform:translate3d(-50%,-50%,0) scale(1);
  }
  100%{
    opacity:0;
    transform:translate3d(-50%,calc(-50% - 28px),0) scale(.975);
  }
}

@keyframes slotCollectorSheen{
  0%{left:4%;opacity:0}
  22%{opacity:.75}
  100%{left:76%;opacity:0}
}


/* =========================================================
   SLOT V77 — SAÍDA DO POPUP DO COLETOR SUAVE E VISÍVEL
   ========================================================= */
/* A saída tem prioridade mesmo enquanto .is-visible continua presente. */
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-visible.is-exiting,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-visible.is-exiting,
.casino-slot-v2 .casino-slot-stage > .slot-collector-overlay.is-exiting,
.casino-slot-v2 .casino-slot-stage > .fishing-collector-popup.is-exiting{
  animation:slotCollectorSmoothExitV77 .76s cubic-bezier(.32,.02,.58,.24) both!important;
  will-change:transform,opacity!important;
}

/* O valor e os textos também saem suavemente, em vez de desaparecerem de uma vez. */
.casino-slot-v2 .slot-collector-overlay.is-exiting .fishing-collector-popup-value > strong,
.casino-slot-v2 .fishing-collector-popup.is-exiting .fishing-collector-popup-value > strong{
  animation:slotCollectorAmountOutV77 .54s ease-in both!important;
}

.casino-slot-v2 .slot-collector-overlay.is-exiting .fishing-collector-popup-copy > span,
.casino-slot-v2 .slot-collector-overlay.is-exiting .fishing-collector-popup-copy > small,
.casino-slot-v2 .slot-collector-overlay.is-exiting .fishing-collector-popup-copy > em,
.casino-slot-v2 .fishing-collector-popup.is-exiting .fishing-collector-popup-copy > span,
.casino-slot-v2 .fishing-collector-popup.is-exiting .fishing-collector-popup-copy > small,
.casino-slot-v2 .fishing-collector-popup.is-exiting .fishing-collector-popup-copy > em{
  animation:slotCollectorCopyOutV77 .48s ease-in both!important;
}

@keyframes slotCollectorSmoothExitV77{
  0%{
    opacity:1;
    transform:translate3d(-50%,-50%,0) scale(1);
  }
  24%{
    opacity:1;
    transform:translate3d(-50%,calc(-50% - 3px),0) scale(1.008);
  }
  100%{
    opacity:0;
    transform:translate3d(-50%,calc(-50% + 34px),0) scale(.955);
  }
}

@keyframes slotCollectorAmountOutV77{
  0%{opacity:1;transform:translate3d(0,0,0) scale(1)}
  100%{opacity:0;transform:translate3d(0,12px,0) scale(.94)}
}

@keyframes slotCollectorCopyOutV77{
  0%{opacity:1;transform:translate3d(0,0,0)}
  100%{opacity:0;transform:translate3d(0,8px,0)}
}


/* =========================================================
   SLOT V78 — TRACKER DO BÓNUS SOBRE pau.png
   3 collectors + level / 3 collectors + level / 3 collectors + level
   Sem sobreposição e totalmente dentro do ecrã.
   ========================================================= */
#slotFeatureBar.fishing-bonus-strip,
.fishing-bonus-strip{
  overflow:visible!important;
}

#slotCollectorMeter.fishing-bonus-strip-track,
.fishing-bonus-strip-track{
  position:relative!important;
  width:min(930px,92%)!important;
  max-width:930px!important;
  min-width:0!important;
  min-height:132px!important;
  margin:0 auto!important;
  padding:24px 62px 24px 72px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:146px 82px 146px 82px 146px 82px!important;
  gap:8px!important;
  align-items:center!important;
  justify-content:center!important;
  background:url("assets/images/pau.png") center/100% 100% no-repeat!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

#slotCollectorMeter .fishing-bonus-collector-group,
.fishing-bonus-collector-group{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  width:146px!important;
  min-width:146px!important;
  min-height:64px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

#slotCollectorMeter .fishing-bonus-collector-group i,
.fishing-bonus-collector-group i{
  position:relative!important;
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

#slotCollectorMeter .fishing-bonus-collector-group i::before,
#slotCollectorMeter .fishing-bonus-collector-group i::after,
.fishing-bonus-collector-group i::before,
.fishing-bonus-collector-group i::after{
  display:none!important;
  content:none!important;
}

/* Cada collector ocupa apenas o seu espaço: nunca fica por cima do seguinte. */
#slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  inset:50% auto auto 50%!important;
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  pointer-events:none!important;
  z-index:2!important;
}

/* O OFF já é uma imagem P/B; não lhe aplicamos aquele escurecimento excessivo antigo. */
#slotCollectorMeter .fishing-bonus-collector-group i:not(.is-filled):not(.is-complete-tier):not(.is-receiving) > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i:not(.is-filled):not(.is-complete-tier):not(.is-receiving) > img.slot-tracker-collector-img{
  opacity:.72!important;
  filter:none!important;
}

#slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  opacity:1!important;
  filter:none!important;
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  z-index:4!important;
}

#slotCollectorMeter .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  filter:drop-shadow(0 0 12px rgba(100,229,255,.58))!important;
}

#slotCollectorMeter .fishing-bonus-strip-milestone,
.fishing-bonus-strip-milestone{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

#slotCollectorMeter .slot-tracker-milestone-img,
.slot-tracker-milestone-img{
  width:76px!important;
  height:76px!important;
  max-width:76px!important;
  max-height:76px!important;
  object-fit:contain!important;
  display:block!important;
  margin:0!important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))!important;
}

#slotCollectorMeter .fishing-bonus-strip-milestone.is-next .slot-tracker-milestone-img,
.fishing-bonus-strip-milestone.is-next .slot-tracker-milestone-img{
  filter:drop-shadow(0 0 13px rgba(113,232,255,.28)) drop-shadow(0 6px 10px rgba(0,0,0,.18))!important;
}

#slotCollectorMeter .fishing-bonus-strip-milestone.is-unlocked .slot-tracker-milestone-img,
.fishing-bonus-strip-milestone.is-unlocked .slot-tracker-milestone-img{
  filter:drop-shadow(0 0 15px rgba(102,239,255,.34)) drop-shadow(0 6px 10px rgba(0,0,0,.18))!important;
}

/* Em ecrãs mais pequenos reduz tudo proporcionalmente, sem criar scroll lateral. */
@media(max-width:1100px){
  #slotCollectorMeter.fishing-bonus-strip-track,
  .fishing-bonus-strip-track{
    width:min(820px,94%)!important;
    min-height:118px!important;
    padding:20px 50px 20px 62px!important;
    grid-template-columns:132px 74px 132px 74px 132px 74px!important;
    gap:6px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group,
  .fishing-bonus-collector-group{
    width:132px!important;
    min-width:132px!important;
    gap:3px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i,
  .fishing-bonus-collector-group i{
    flex-basis:42px!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
  .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
  #slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
  #slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
  .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
  .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img{
    width:42px!important;
    height:42px!important;
    max-width:42px!important;
    max-height:42px!important;
  }
  #slotCollectorMeter .fishing-bonus-strip-milestone,
  .fishing-bonus-strip-milestone{
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
  }
  #slotCollectorMeter .slot-tracker-milestone-img,
  .slot-tracker-milestone-img{
    width:68px!important;
    height:68px!important;
    max-width:68px!important;
    max-height:68px!important;
  }
}


/* Fallback extra para garantir que o pau.png aparece sempre */
#slotCollectorMeter{background-image:url("assets/images/pau.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:100% 100%!important;}


/* =========================================================
   SLOT V80 — pau.png como imagem real atrás do tracker do bónus
   ========================================================= */
#slotFeatureBar.fishing-bonus-strip{
  position:relative!important;
  min-height:148px!important;
  overflow:visible!important;
}
#slotFeatureBar .slot-bonus-strip-bg{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(980px,96%)!important;
  max-width:980px!important;
  height:auto!important;
  display:block!important;
  pointer-events:none!important;
  user-select:none!important;
  z-index:0!important;
}
#slotFeatureBar .fishing-bonus-strip-track{
  position:relative!important;
  z-index:2!important;
  background:none!important;
}
#slotFeatureBar .fishing-bonus-strip-meta{
  position:relative!important;
  z-index:3!important;
}
@media(max-width:1100px){
  #slotFeatureBar.fishing-bonus-strip{min-height:132px!important;}
  #slotFeatureBar .slot-bonus-strip-bg{width:min(900px,97%)!important;}
}
@media(max-width:900px){
  #slotFeatureBar.fishing-bonus-strip{min-height:120px!important;}
  #slotFeatureBar .slot-bonus-strip-bg{width:min(820px,98%)!important;}
}


/* =========================================================
   SLOT V81 — pau mais baixo, sem blur, tracker maior,
   reels mais acima no bónus
   ========================================================= */

/* 1) Pau.png um pouco mais para baixo */
#slotFeatureBar.fishing-bonus-strip{
  min-height:156px!important;
}
#slotFeatureBar .slot-bonus-strip-bg{
  top:58%!important;
  transform:translate(-50%,-50%)!important;
  width:min(995px,97%)!important;
}

/* 2) Tirar desfoques visuais no bónus */
body.slot-bonus-active .casino-slot-stage,
.fishing-slot-machine.slot-bonus-active .casino-slot-stage,
body.slot-bonus-active #slotFeatureBar,
.fishing-slot-machine.slot-bonus-active #slotFeatureBar,
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels,
body.slot-bonus-active .fishing-slot-reels,
.fishing-slot-machine.slot-bonus-active .fishing-slot-reels,
body.slot-bonus-active .fishing-slot-reels .slot-reel,
.fishing-slot-machine.slot-bonus-active .fishing-slot-reels .slot-reel,
body.slot-bonus-active .fishing-symbol,
.fishing-slot-machine.slot-bonus-active .fishing-symbol{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}
body.slot-bonus-active .fishing-slot-reels .slot-reel.is-rolling .fishing-symbol,
.fishing-slot-machine.slot-bonus-active .fishing-slot-reels .slot-reel.is-rolling .fishing-symbol{
  filter:none!important;
  transform:none!important;
}
body.slot-bonus-active .fishing-symbol.is-dimmed,
.fishing-slot-machine.slot-bonus-active .fishing-symbol.is-dimmed{
  filter:none!important;
  opacity:.72!important;
}

/* 3) Bonus collectors e levels maiores no topo */
#slotCollectorMeter .fishing-bonus-collector-group,
.fishing-bonus-collector-group{
  gap:10px!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i,
.fishing-bonus-collector-group i{
  flex-basis:48px!important;
  width:48px!important;
  min-width:48px!important;
  max-width:48px!important;
  height:48px!important;
  min-height:48px!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img{
  width:48px!important;
  height:48px!important;
  max-width:48px!important;
  max-height:48px!important;
}
#slotCollectorMeter .fishing-bonus-strip-milestone,
.fishing-bonus-strip-milestone{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:82px!important;
  min-height:82px!important;
  max-height:82px!important;
}
#slotCollectorMeter .slot-tracker-milestone-img,
.slot-tracker-milestone-img{
  width:76px!important;
  height:76px!important;
  max-width:76px!important;
  max-height:76px!important;
}
#slotCollectorMeter,
.fishing-bonus-strip-track{
  align-items:center!important;
  column-gap:12px!important;
}

/* 4) Meter a slot mais para cima como antes */
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  transform:translateY(82px) scale(1)!important;
  transform-origin:top center!important;
  margin-top:0!important;
}
body.slot-bonus-active .casino-slot-side,
.fishing-slot-machine.slot-bonus-active .casino-slot-side{
  padding-top:94px!important;
}

@media(max-width:1100px){
  #slotFeatureBar .slot-bonus-strip-bg{top:60%!important;width:min(930px,98%)!important;}
}
@media(max-width:760px){
  #slotFeatureBar.fishing-bonus-strip{min-height:138px!important;}
  #slotFeatureBar .slot-bonus-strip-bg{top:60%!important;width:min(860px,99%)!important;}
  body.slot-bonus-active #slotReels,
  .fishing-slot-machine.slot-bonus-active #slotReels{
    transform:translateY(62px) scale(1)!important;
  }
  body.slot-bonus-active .casino-slot-side,
  .fishing-slot-machine.slot-bonus-active .casino-slot-side{
    padding-top:76px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i,
  .fishing-bonus-collector-group i{
    flex-basis:42px!important;
    width:42px!important; min-width:42px!important; max-width:42px!important; height:42px!important; min-height:42px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
  .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
  #slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
  #slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
  .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
  .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img{
    width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;
  }
  #slotCollectorMeter .fishing-bonus-strip-milestone,
  .fishing-bonus-strip-milestone{
    width:72px!important;min-width:72px!important;max-width:72px!important;height:72px!important;min-height:72px!important;max-height:72px!important;
  }
  #slotCollectorMeter .slot-tracker-milestone-img,
  .slot-tracker-milestone-img{
    width:66px!important;height:66px!important;max-width:66px!important;max-height:66px!important;
  }
}


/* =========================================================
   SLOT V82 — BÓNUS: SLOT MAIS PARA CIMA + ZERO DESFOQUE
   ========================================================= */

/* Tracker: nada desfocado/embaçado atrás dos collectors. */
#slotFeatureBar.fishing-bonus-strip,
#slotFeatureBar .fishing-bonus-strip-track,
#slotCollectorMeter{
  background-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#slotFeatureBar.fishing-bonus-strip::before,
#slotFeatureBar.fishing-bonus-strip::after,
#slotCollectorMeter::before,
#slotCollectorMeter::after{
  content:none!important;
  display:none!important;
  background:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#slotFeatureBar .slot-bonus-strip-bg{
  filter:none!important;
  opacity:1!important;
}

/* Remove completamente o painel/blur por trás dos símbolos durante o bónus. */
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels,
body.slot-bonus-active .fishing-slot-reels,
.fishing-slot-machine.slot-bonus-active .fishing-slot-reels{
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.slot-bonus-active #slotReels::before,
body.slot-bonus-active #slotReels::after,
.fishing-slot-machine.slot-bonus-active #slotReels::before,
.fishing-slot-machine.slot-bonus-active #slotReels::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body.slot-bonus-active #slotReels .slot-reel,
.fishing-slot-machine.slot-bonus-active #slotReels .slot-reel{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.slot-bonus-active #slotReels .fishing-symbol,
.fishing-slot-machine.slot-bonus-active #slotReels .fishing-symbol{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.slot-bonus-active #slotReels .fishing-symbol::before,
body.slot-bonus-active #slotReels .fishing-symbol::after,
.fishing-slot-machine.slot-bonus-active #slotReels .fishing-symbol::before,
.fishing-slot-machine.slot-bonus-active #slotReels .fishing-symbol::after{
  content:none!important;
  display:none!important;
  background:none!important;
}

/* Slot bastante mais para cima para voltar a caber inteira no ecrã. */
body.slot-bonus-active #slotReels,
.fishing-slot-machine.slot-bonus-active #slotReels{
  transform:translateY(18px) scale(1)!important;
  transform-origin:top center!important;
  margin-top:0!important;
}

/* HUD esquerdo acompanha ligeiramente a subida. */
body.slot-bonus-active .casino-slot-side,
.fishing-slot-machine.slot-bonus-active .casino-slot-side{
  padding-top:72px!important;
}

@media(max-width:760px){
  body.slot-bonus-active #slotReels,
  .fishing-slot-machine.slot-bonus-active #slotReels{
    transform:translateY(8px) scale(1)!important;
  }
  body.slot-bonus-active .casino-slot-side,
  .fishing-slot-machine.slot-bonus-active .casino-slot-side{
    padding-top:62px!important;
  }
}


/* =========================================================
   SLOT V83 — MÚSICA DE FUNDO + CONTROLO DE VOLUME
   ========================================================= */
.casino-slot-v2 .slot-music-control{
  position:absolute!important;
  right:22px!important;
  bottom:18px!important;
  z-index:72!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:158px!important;
  padding:5px 8px!important;
  border:1px solid rgba(125,222,255,.16)!important;
  border-radius:999px!important;
  background:rgba(2,24,36,.58)!important;
  box-shadow:0 7px 22px rgba(0,0,0,.2)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.casino-slot-v2 .slot-music-toggle{
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  cursor:pointer!important;
}
.casino-slot-v2 .slot-music-toggle svg{
  width:19px!important;
  height:19px!important;
  fill:#72e5ff!important;
  filter:drop-shadow(0 0 7px rgba(68,215,255,.35))!important;
  transition:opacity .2s ease,transform .2s ease!important;
}
.casino-slot-v2 .slot-music-toggle:hover svg{transform:scale(1.08)!important;}
.casino-slot-v2 .slot-music-toggle.is-muted svg{opacity:.35!important;}
.casino-slot-v2 .slot-music-control input[type="range"]{
  width:88px!important;
  height:4px!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  border-radius:999px!important;
  outline:none!important;
  background:linear-gradient(90deg,rgba(100,224,255,.9),rgba(116,173,199,.38))!important;
  cursor:pointer!important;
}
.casino-slot-v2 .slot-music-control input[type="range"]::-webkit-slider-thumb{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:13px!important;
  height:13px!important;
  border:2px solid #e8fbff!important;
  border-radius:50%!important;
  background:#69dcff!important;
  box-shadow:0 0 9px rgba(78,218,255,.5)!important;
}
.casino-slot-v2 .slot-music-control input[type="range"]::-moz-range-thumb{
  width:11px!important;
  height:11px!important;
  border:2px solid #e8fbff!important;
  border-radius:50%!important;
  background:#69dcff!important;
  box-shadow:0 0 9px rgba(78,218,255,.5)!important;
}
.casino-slot-v2 .slot-music-control > span{
  min-width:28px!important;
  color:#dff8ff!important;
  font-size:7px!important;
  font-weight:900!important;
  letter-spacing:.4px!important;
  text-align:right!important;
}

/* Mantém o volume disponível também durante os Free Spins. */
body.slot-bonus-active .slot-music-control,
.fishing-slot-machine.slot-bonus-active .slot-music-control{
  display:flex!important;
  right:18px!important;
  bottom:16px!important;
}

@media(max-width:760px){
  .casino-slot-v2 .slot-music-control{
    right:8px!important;
    bottom:8px!important;
    min-width:132px!important;
    gap:5px!important;
  }
  .casino-slot-v2 .slot-music-control input[type="range"]{width:68px!important;}
  .casino-slot-v2 .slot-music-control > span{display:none!important;}
}


/* =========================================================
   SLOT V84 — TRACKER DO BÓNUS MAIOR, MAIS À ESQUERDA E MAIS ABAIXO
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  overflow:visible!important;
}
.casino-slot-v2 .slot-bonus-strip-bg{
  object-position:center 58%!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  position:relative!important;
  left:-34px!important;
  top:10px!important;
  width:calc(100% + 34px)!important;
  grid-template-columns:minmax(300px,1fr) 120px minmax(300px,1fr) 120px minmax(300px,1fr) 120px!important;
  gap:8px!important;
  align-items:end!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  min-height:126px!important;
  height:126px!important;
  gap:4px!important;
  padding:0!important;
  align-items:end!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:116px!important;
  min-height:116px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  width:132%!important;
  height:132%!important;
  bottom:-3px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  width:138%!important;
  height:138%!important;
  bottom:-6px!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:118px!important;
  height:118px!important;
  width:120px!important;
  transform:translateY(8px)!important;
  justify-self:center!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:10px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:11px!important;line-height:1.02!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:36px!important;line-height:1!important}

@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-strip-track{
    left:-24px!important;
    width:calc(100% + 24px)!important;
    grid-template-columns:minmax(270px,1fr) 112px minmax(270px,1fr) 112px minmax(270px,1fr) 112px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group{
    min-height:118px!important;
    height:118px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{
    height:108px!important;
    min-height:108px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-milestone{
    min-height:112px!important;
    height:112px!important;
    width:112px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:33px!important}
}

@media(max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip{overflow-x:auto!important}
  .casino-slot-v2 .fishing-bonus-strip-track{
    left:-10px!important;
    top:8px!important;
    width:calc(100% + 10px)!important;
    min-width:1080px!important;
  }
}


/* =========================================================
   SLOT V86 — BONUS COLLECTORS MAIORES, MAIS À ESQUERDA E PATAMARES MAIS BAIXO
   ========================================================= */
.casino-slot-v2 .fishing-bonus-strip{
  overflow:visible!important;
}
.casino-slot-v2 .slot-bonus-strip-bg{
  object-position:center 60%!important;
}
.casino-slot-v2 .fishing-bonus-strip-track{
  position:relative!important;
  left:-62px!important;
  top:12px!important;
  width:calc(100% + 62px)!important;
  grid-template-columns:minmax(332px,1fr) 136px minmax(332px,1fr) 136px minmax(332px,1fr) 136px!important;
  gap:8px!important;
  align-items:end!important;
}
.casino-slot-v2 .fishing-bonus-collector-group{
  min-height:144px!important;
  height:144px!important;
  gap:3px!important;
  padding:0!important;
  align-items:end!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i{
  height:132px!important;
  min-height:132px!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  width:148%!important;
  height:148%!important;
  max-width:none!important;
  max-height:none!important;
  left:-20%!important;
  top:-8%!important;
  bottom:auto!important;
}
.casino-slot-v2 .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.casino-slot-v2 .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  width:156%!important;
  height:156%!important;
  left:-22%!important;
  top:-10%!important;
  bottom:auto!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone{
  min-height:126px!important;
  height:126px!important;
  width:136px!important;
  transform:translateY(16px)!important;
  justify-self:center!important;
}
.casino-slot-v2 .fishing-bonus-strip-milestone span{font-size:10px!important}
.casino-slot-v2 .fishing-bonus-strip-milestone strong{font-size:12px!important;line-height:1.02!important}
.casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:39px!important;line-height:1!important}

@media(max-width:1200px){
  .casino-slot-v2 .fishing-bonus-strip-track{
    left:-40px!important;
    top:10px!important;
    width:calc(100% + 40px)!important;
    grid-template-columns:minmax(300px,1fr) 126px minmax(300px,1fr) 126px minmax(300px,1fr) 126px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group{
    min-height:134px!important;
    height:134px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i{
    height:122px!important;
    min-height:122px!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-milestone{
    min-height:118px!important;
    height:118px!important;
    width:126px!important;
    transform:translateY(14px)!important;
  }
  .casino-slot-v2 .fishing-bonus-strip-milestone b{font-size:36px!important}
}

@media(max-width:900px){
  .casino-slot-v2 .fishing-bonus-strip{overflow-x:auto!important}
  .casino-slot-v2 .fishing-bonus-strip-track{
    left:-12px!important;
    top:8px!important;
    width:calc(100% + 12px)!important;
    min-width:1160px!important;
  }
  .casino-slot-v2 .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
    width:142%!important;
    height:142%!important;
    left:-18%!important;
    top:-6%!important;
  }
}


/* =========================================================
   SLOT V87 — TRACKER: COLLECTORS QUASE DO TAMANHO DOS LEVELS
   ========================================================= */
#slotFeatureBar.fishing-bonus-strip{
  overflow:visible!important;
}
#slotCollectorMeter.fishing-bonus-strip-track{
  position:relative!important;
  left:-58px!important;
  top:13px!important;
  width:calc(100% + 58px)!important;
  display:grid!important;
  grid-template-columns:254px 104px 254px 104px 254px 104px!important;
  gap:7px!important;
  align-items:end!important;
  justify-content:start!important;
}
#slotCollectorMeter .fishing-bonus-collector-group{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:254px!important;
  min-width:254px!important;
  height:110px!important;
  min-height:110px!important;
  padding:0!important;
  overflow:visible!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i{
  position:relative!important;
  flex:0 0 82px!important;
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:92px!important;
  min-height:92px!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  width:94px!important;
  height:94px!important;
  max-width:94px!important;
  max-height:94px!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  width:100px!important;
  height:100px!important;
  max-width:100px!important;
  max-height:100px!important;
  left:50%!important;
  top:48%!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
}
#slotCollectorMeter .fishing-bonus-strip-milestone{
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
  height:104px!important;
  min-height:104px!important;
  max-height:104px!important;
  transform:translateY(14px)!important;
  align-self:end!important;
  justify-self:center!important;
}
#slotCollectorMeter .slot-tracker-milestone-img{
  width:100%!important;
  height:100%!important;
  max-width:104px!important;
  max-height:104px!important;
  object-fit:contain!important;
}

@media(max-width:1200px){
  #slotCollectorMeter.fishing-bonus-strip-track{
    left:-42px!important;
    width:calc(100% + 42px)!important;
    grid-template-columns:236px 98px 236px 98px 236px 98px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group{
    width:236px!important;
    min-width:236px!important;
    gap:3px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i{
    flex-basis:76px!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img{
    width:88px!important;height:88px!important;max-width:88px!important;max-height:88px!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
  #slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
  #slotCollectorMeter .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
    width:94px!important;height:94px!important;max-width:94px!important;max-height:94px!important;
  }
  #slotCollectorMeter .fishing-bonus-strip-milestone{
    width:98px!important;min-width:98px!important;max-width:98px!important;height:98px!important;min-height:98px!important;max-height:98px!important;
    transform:translateY(13px)!important;
  }
}


/* =========================================================
   SLOT V88 — transições áudio mais suaves + tracker centrado
   ========================================================= */
#slotFeatureBar.fishing-bonus-strip{
  min-height:154px!important;
}
#slotFeatureBar .slot-bonus-strip-bg{
  top:60.5%!important;
  width:min(1000px,95%)!important;
  max-width:1000px!important;
  filter:none!important;
  opacity:1!important;
}
#slotCollectorMeter.fishing-bonus-strip-track,
.fishing-bonus-strip-track{
  width:min(960px,92%)!important;
  max-width:960px!important;
  min-height:126px!important;
  padding:18px 54px 16px 54px!important;
  grid-template-columns:156px 76px 156px 76px 156px 76px!important;
  column-gap:8px!important;
  row-gap:0!important;
  align-items:center!important;
  justify-content:center!important;
  transform:translateY(6px)!important;
  background:none!important;
}
#slotCollectorMeter .fishing-bonus-collector-group,
.fishing-bonus-collector-group{
  width:156px!important;
  min-width:156px!important;
  gap:8px!important;
  justify-content:center!important;
  transform:translateY(1px)!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i,
.fishing-bonus-collector-group i{
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  height:58px!important;
  min-height:58px!important;
  max-height:58px!important;
}
#slotCollectorMeter .fishing-bonus-collector-group i > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
#slotCollectorMeter .fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-filled > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-complete-tier > img.slot-tracker-collector-img,
.fishing-bonus-collector-group i.is-receiving > img.slot-tracker-collector-img{
  width:46px!important;
  height:46px!important;
  max-width:46px!important;
  max-height:46px!important;
}
#slotCollectorMeter .fishing-bonus-strip-milestone,
.fishing-bonus-strip-milestone{
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  height:76px!important;
  min-height:76px!important;
  max-height:76px!important;
  transform:translateY(7px)!important;
}
#slotCollectorMeter .slot-tracker-milestone-img,
.slot-tracker-milestone-img{
  width:71px!important;
  height:71px!important;
  max-width:71px!important;
  max-height:71px!important;
}
@media(max-width:1100px){
  #slotFeatureBar .slot-bonus-strip-bg{width:min(940px,97%)!important;top:61%!important;}
  #slotCollectorMeter.fishing-bonus-strip-track,
  .fishing-bonus-strip-track{
    width:min(900px,95%)!important;
    max-width:900px!important;
    padding:16px 44px 14px 44px!important;
    grid-template-columns:144px 70px 144px 70px 144px 70px!important;
    transform:translateY(5px)!important;
  }
  #slotCollectorMeter .fishing-bonus-collector-group,
  .fishing-bonus-collector-group{width:144px!important;min-width:144px!important;gap:6px!important;}
  #slotCollectorMeter .fishing-bonus-strip-milestone,
  .fishing-bonus-strip-milestone{width:70px!important;min-width:70px!important;max-width:70px!important;height:70px!important;min-height:70px!important;max-height:70px!important;transform:translateY(6px)!important;}
  #slotCollectorMeter .slot-tracker-milestone-img,
  .slot-tracker-milestone-img{width:65px!important;height:65px!important;max-width:65px!important;max-height:65px!important;}
}

/* =========================================================
   MINI-JOGOS — SLOT + BLACKJACK EM DESTAQUE
   ========================================================= */
.featured-games{
  position:relative;
  margin:0 0 58px;
  padding:26px;
  border:1px solid rgba(82,190,255,.18);
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 0%,rgba(52,177,255,.12),transparent 34%),
    radial-gradient(circle at 86% 12%,rgba(39,120,205,.10),transparent 30%),
    linear-gradient(145deg,rgba(7,23,39,.88),rgba(3,12,23,.95));
  box-shadow:0 30px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
}
.featured-games::before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(127,224,255,.12),transparent 28%,transparent 72%,rgba(72,158,255,.09));
  opacity:.75;
}
.featured-games-head{
  position:relative;
  z-index:2;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:0 0 22px;
  padding:0 2px;
}
.featured-games-head > div{min-width:0}
.featured-games-eyebrow{
  color:#75d4ff;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:2px;
}
.featured-games-head h2{
  margin-top:8px;
  color:#fff;
  font-size:clamp(24px,2.5vw,34px);
  line-height:1;
  font-weight:950;
  letter-spacing:-1px;
}
.featured-games-head p{
  width:min(470px,48%);
  margin:0;
  color:#7895ad;
  font-size:12px;
  line-height:1.65;
  text-align:right;
}
.featured-games-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.featured-game{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(96,204,255,.25);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(9,31,50,.97),rgba(4,14,26,.99));
  box-shadow:0 24px 58px rgba(0,0,0,.36);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .28s ease,box-shadow .28s ease;
}
.featured-game:hover{
  transform:translateY(-5px);
  border-color:rgba(114,220,255,.52);
  box-shadow:0 30px 74px rgba(0,0,0,.46),0 0 34px rgba(50,178,255,.12);
}
.featured-game-slot{
  box-shadow:0 24px 58px rgba(0,0,0,.38),0 0 42px rgba(41,176,255,.08);
}
.featured-game-blackjack{
  border-color:rgba(119,203,255,.20);
}
.featured-game-visual{
  position:relative;
  display:block;
  height:315px;
  overflow:hidden;
  background:#061321;
  border-bottom:1px solid rgba(104,204,255,.15);
}
.featured-game-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(1,8,16,.02) 32%,rgba(2,10,19,.35) 70%,rgba(2,10,19,.90) 100%),
    linear-gradient(90deg,rgba(3,13,24,.24),transparent 36%,transparent 72%,rgba(3,13,24,.16));
  pointer-events:none;
}
.featured-game-visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.01);
  transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease;
}
.featured-game:hover .featured-game-visual img{
  transform:scale(1.055);
  filter:brightness(1.08) saturate(1.05);
}
.featured-game-shine{
  position:absolute;
  z-index:2;
  top:-30%;
  left:-35%;
  width:30%;
  height:170%;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);
  transform:rotate(16deg);
  transition:left .75s ease;
}
.featured-game:hover .featured-game-shine{left:120%}
.featured-game-badge{
  position:absolute;
  z-index:4;
  top:17px;
  left:17px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:31px;
  padding:0 12px;
  border:1px solid rgba(142,231,255,.55);
  border-radius:999px;
  color:#dff8ff;
  background:rgba(3,32,51,.78);
  box-shadow:0 0 24px rgba(63,194,255,.18);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
}
.featured-game-badge-icon{
  color:#8bdfff;
  font-size:12px;
  filter:drop-shadow(0 0 7px rgba(103,215,255,.7));
}
.featured-game-badge strong{
  font-size:8px;
  font-weight:950;
  letter-spacing:1.2px;
}
.featured-game-badge-secondary{
  border-color:rgba(161,218,255,.38);
}
.featured-game-visual-copy{
  position:absolute;
  z-index:4;
  left:22px;
  right:22px;
  bottom:20px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  pointer-events:none;
  text-shadow:0 5px 24px rgba(0,0,0,.72);
}
.featured-game-visual-copy > span{
  color:#8edcff;
  font-size:8px;
  font-weight:950;
  letter-spacing:2.1px;
}
.featured-game-visual-copy > strong{
  margin-top:4px;
  color:#fff;
  font-size:clamp(28px,3vw,42px);
  line-height:.98;
  font-weight:950;
  letter-spacing:-1.6px;
}
.featured-game-visual-copy > small{
  margin-top:8px;
  color:#bad5e7;
  font-size:8px;
  font-weight:850;
  letter-spacing:1px;
}
.featured-game-content{
  padding:22px;
}
.featured-game-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.featured-game-kicker{
  display:block;
  color:#6fd1ff;
  font-size:8px;
  font-weight:950;
  letter-spacing:1.8px;
}
.featured-game h3{
  margin-top:7px;
  color:#fff;
  font-size:25px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.8px;
}
.featured-game-status{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid rgba(84,198,255,.30);
  border-radius:999px;
  color:#9de1ff;
  background:rgba(46,158,220,.10);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:1px;
}
.featured-game-content > p{
  min-height:58px;
  margin:13px 0 17px;
  color:#8da7bc;
  font-size:12px;
  line-height:1.62;
}
.featured-game-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:18px;
}
.featured-game-tags span{
  padding:7px 9px;
  border:1px solid rgba(93,193,250,.14);
  border-radius:9px;
  color:#87bddb;
  background:rgba(55,143,194,.055);
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.9px;
}
.featured-game-btn{
  min-height:52px;
  padding:0 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(150,229,255,.52);
  border-radius:13px;
  color:#06121d;
  background:linear-gradient(180deg,#f5fbff,#caecff);
  box-shadow:0 11px 30px rgba(55,181,244,.12);
  font-size:10px;
  font-weight:950;
  letter-spacing:1px;
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.featured-game-btn b{
  font-size:18px;
  line-height:1;
}
.featured-game-btn:hover{
  transform:translateY(-2px);
  filter:brightness(1.04);
  box-shadow:0 15px 36px rgba(60,190,255,.23);
}
.featured-game-btn-blackjack{
  background:linear-gradient(180deg,#eff9ff,#d7ecfb);
}
.minigames-section-head{
  margin:0 0 22px;
  text-align:left;
}
.minigames-section-head > span{
  color:#659cbd;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.8px;
}
.minigames-section-head h2{
  margin-top:7px;
  color:#fff;
  font-size:28px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.8px;
}
.minigames-section-head p{
  margin-top:9px;
  color:#748ea5;
  font-size:12px;
}

@media (max-width:900px){
  .featured-games{padding:20px}
  .featured-games-head{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .featured-games-head p{
    width:100%;
    text-align:left;
  }
  .featured-games-grid{grid-template-columns:1fr}
  .featured-game-visual{height:300px}
}

@media (max-width:560px){
  .featured-games{
    margin-left:-4px;
    margin-right:-4px;
    padding:13px;
    border-radius:22px;
  }
  .featured-game{border-radius:19px}
  .featured-game-visual{height:240px}
  .featured-game-visual-copy{
    left:17px;
    right:17px;
    bottom:16px;
  }
  .featured-game-visual-copy > strong{font-size:29px}
  .featured-game-visual-copy > small{
    max-width:88%;
    line-height:1.45;
  }
  .featured-game-content{padding:18px}
  .featured-game-content > p{min-height:0}
}


/* =========================================================
   MINI-JOGOS DESTAQUE V2
   - sem a caixa gigante à volta dos dois jogos
   - cards mais soltos/premium
   - CTAs sempre clicáveis
   ========================================================= */

.featured-games{
  margin:0 0 54px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.featured-games::before{
  display:none !important;
}

.featured-games-head{
  margin:0 0 20px !important;
  padding:0 2px 14px !important;
  border-bottom:1px solid rgba(93,196,255,.12);
}
.featured-games-head::after{
  content:"";
  position:absolute;
  left:2px;
  bottom:-1px;
  width:110px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#72d9ff,rgba(114,217,255,0));
  box-shadow:0 0 14px rgba(80,199,255,.3);
}

.featured-games-grid{
  gap:22px !important;
}

.featured-game{
  overflow:hidden !important;
  border:1px solid rgba(92,193,247,.21) !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 10% 0%,rgba(62,182,244,.09),transparent 32%),
    linear-gradient(180deg,rgba(6,24,39,.93),rgba(3,13,24,.98)) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.025) !important;
}
.featured-game::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(125deg,rgba(118,221,255,.07),transparent 28%,transparent 70%,rgba(50,147,231,.05));
}
.featured-game:hover{
  transform:translateY(-4px) !important;
  border-color:rgba(105,211,255,.42) !important;
  box-shadow:
    0 25px 62px rgba(0,0,0,.40),
    0 0 30px rgba(51,178,238,.10),
    inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.featured-game-slot{
  border-color:rgba(85,205,255,.28) !important;
}
.featured-game-blackjack{
  border-color:rgba(118,190,235,.20) !important;
}

.featured-game-visual{
  z-index:1;
  height:300px !important;
  border-bottom:1px solid rgba(100,200,255,.10) !important;
}

.featured-game-content{
  position:relative;
  z-index:3;
  padding:20px 22px 22px !important;
}

.featured-game-btn{
  position:relative !important;
  z-index:20 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  text-decoration:none !important;
  user-select:none;
  isolation:isolate;
}
.featured-game-btn::after{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:-1;
  border-radius:17px;
  pointer-events:none;
}
.featured-game-btn:hover{
  transform:translateY(-2px) scale(1.005) !important;
}
.featured-game-btn:active{
  transform:translateY(0) scale(.995) !important;
}

.featured-game-visual{
  cursor:pointer !important;
  pointer-events:auto !important;
}

/* A zona dos outros jogos fica claramente separada, mas sem caixa. */
.minigames-section-head{
  position:relative;
  margin:0 0 20px !important;
  padding-top:6px;
}
.minigames-section-head::before{
  content:"";
  display:block;
  width:42px;
  height:2px;
  margin-bottom:15px;
  border-radius:999px;
  background:rgba(89,197,255,.38);
}

@media (max-width:900px){
  .featured-games{
    padding:0 !important;
  }
  .featured-game-visual{
    height:280px !important;
  }
}
@media (max-width:560px){
  .featured-games{
    margin-left:0 !important;
    margin-right:0 !important;
    padding:0 !important;
  }
  .featured-game{
    border-radius:18px !important;
  }
  .featured-game-visual{
    height:230px !important;
  }
}


/* =========================================================
   BLACKJACK CHAT — ARRASTÁVEL E REDIMENSIONÁVEL DENTRO DA MESA
   24/08/2026
   ========================================================= */
.blackjack-multiplayer-page .bj-chat-panel,
.blackjack-multiplayer-page .bj-chat-panel.is-free-chat{
  position:absolute!important;
  z-index:9997!important;
  left:34px;
  top:36px;
  width:250px;
  height:205px;
  min-width:190px!important;
  min-height:145px!important;
  max-width:calc(100% - 16px)!important;
  max-height:calc(100% - 16px)!important;
  resize:none!important;
  user-select:none;
  contain:layout style;
}
.blackjack-multiplayer-page .bj-chat-panel.is-moving,
.blackjack-multiplayer-page .bj-chat-panel.is-resizing{
  transition:none!important;
  box-shadow:0 18px 46px rgba(0,0,0,.38),0 0 0 1px rgba(92,195,249,.16)!important;
}
.blackjack-multiplayer-page .bj-chat-head{
  flex:0 0 auto;
  cursor:move;
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.blackjack-multiplayer-page .bj-chat-panel.is-moving .bj-chat-head{cursor:grabbing}
.blackjack-multiplayer-page .bj-chat-head>div:first-child{min-width:0;pointer-events:none}
.blackjack-multiplayer-page .bj-chat-window-controls{
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}
.blackjack-multiplayer-page .bj-chat-window-controls button{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(91,190,243,.18);
  border-radius:6px;
  background:rgba(7,31,47,.76);
  color:#9bdcff;
  font:900 13px/1 Montserrat,sans-serif;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.blackjack-multiplayer-page .bj-chat-window-controls button:hover{
  background:rgba(18,64,89,.94);
  border-color:rgba(91,190,243,.42);
  transform:translateY(-1px);
}
.blackjack-multiplayer-page .bj-chat-window-controls button:active{transform:none}
.blackjack-multiplayer-page .bj-chat-window-controls i{margin-left:2px;flex:0 0 auto}
.blackjack-multiplayer-page .bj-chat-messages,
.blackjack-multiplayer-page .bj-chat-form,
.blackjack-multiplayer-page .bj-chat-admin{
  user-select:text;
}
.blackjack-multiplayer-page .bj-chat-resize-handle{
  position:absolute;
  z-index:5;
  right:2px;
  bottom:2px;
  width:20px;
  height:20px;
  cursor:nwse-resize;
  touch-action:none;
  user-select:none;
}
.blackjack-multiplayer-page .bj-chat-resize-handle::before,
.blackjack-multiplayer-page .bj-chat-resize-handle::after{
  content:"";
  position:absolute;
  right:4px;
  bottom:4px;
  border-right:2px solid rgba(119,207,255,.68);
  border-bottom:2px solid rgba(119,207,255,.68);
  border-radius:1px;
}
.blackjack-multiplayer-page .bj-chat-resize-handle::before{width:10px;height:10px}
.blackjack-multiplayer-page .bj-chat-resize-handle::after{width:5px;height:5px;right:8px;bottom:8px;opacity:.72}

/* As regras responsive antigas definiam tamanho/posição fixa com !important.
   A janela livre tem prioridade para manter o tamanho escolhido pelo utilizador. */
@media(max-width:680px){
  .blackjack-multiplayer-page .bj-chat-panel,
  .blackjack-multiplayer-page .bj-chat-panel.is-free-chat{
    min-width:150px!important;
    min-height:118px!important;
    max-width:calc(100% - 12px)!important;
    max-height:calc(100% - 12px)!important;
  }
  .blackjack-multiplayer-page .bj-chat-window-controls button{width:21px;height:21px;font-size:12px}
}

/* =========================================================
   GESTÃO DE PARCERIAS — 24/08/2026
   Visível apenas ao administrador; o servidor protege as APIs.
   ========================================================= */

.partnerships-section-top {
  align-items: center;
}

.partners-admin-open {
  min-height: 42px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(104, 200, 255, 0.28);
  border-radius: 9px;
  background: rgba(9, 35, 53, 0.72);
  color: #dff6ff;
  font: 900 9px/1 Montserrat, sans-serif;
  letter-spacing: 1px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.partners-admin-open[hidden],
.partners-admin-panel[hidden],
.partners-admin-form[hidden] {
  display: none !important;
}

.partners-admin-open:hover,
.partners-admin-open.is-open {
  transform: translateY(-1px);
  border-color: rgba(104, 200, 255, 0.62);
  background: rgba(16, 55, 80, 0.92);
}

.partners-admin-open > span {
  font-size: 14px;
  line-height: 1;
}

.partners-admin-panel {
  width: min(1180px, 100%);
  margin: -28px auto 34px;
  padding: 22px;
  border: 1px solid rgba(101, 199, 255, 0.20);
  border-radius: 16px;
  background:
    radial-gradient(circle at 90% 0%, rgba(64, 171, 233, .10), transparent 31%),
    rgba(4, 17, 28, .94);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}

.partners-admin-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.partners-admin-head > div:first-child > span {
  display: block;
  margin-bottom: 5px;
  color: #62c9ff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 1.8px;
}

.partners-admin-head h3 {
  margin: 0;
  color: #f4fbff;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -.5px;
}

.partners-admin-head p {
  margin-top: 7px;
  max-width: 650px;
  color: #718c9d;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.55;
}

.partners-admin-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.partners-admin-head-actions button,
.partners-admin-summary-actions button,
.partners-admin-form-actions button,
.partners-admin-form-title button {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 8px;
  background: rgba(255, 255, 255, .045);
  color: #b9d4e3;
  font: 900 8px/1 Montserrat, sans-serif;
  letter-spacing: .8px;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.partners-admin-head-actions button:hover,
.partners-admin-summary-actions button:hover,
.partners-admin-form-actions button:hover,
.partners-admin-form-title button:hover {
  transform: translateY(-1px);
  border-color: rgba(91, 195, 247, .38);
  background: rgba(42, 130, 181, .13);
  color: #eefaff;
}

#partnersAdminNew {
  border-color: rgba(74, 196, 247, .30);
  background: rgba(30, 116, 160, .20);
  color: #aee8ff;
}

#partnersAdminClose {
  width: 38px;
  padding: 0;
  font-size: 18px;
}

.partners-admin-message {
  min-height: 18px;
  padding: 10px 2px 0;
  color: #8da7b7;
  font-size: 9px;
  font-weight: 800;
}

.partners-admin-message.success { color: #54df9a; }
.partners-admin-message.error { color: #ff7e92; }

.partners-admin-list {
  display: grid;
  gap: 10px;
}

.partners-admin-item {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 13px;
  background: rgba(7, 25, 38, .72);
}

.partners-admin-item.is-disabled {
  border-color: rgba(255, 96, 114, .12);
  background: rgba(30, 16, 22, .45);
}

.partners-admin-summary {
  min-height: 82px;
  padding: 12px;
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) auto;
  gap: 15px;
  align-items: center;
}

.partners-admin-thumb {
  width: 108px;
  height: 58px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 9px;
  background: #07111a;
}

.partners-admin-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.partners-admin-item.is-disabled .partners-admin-thumb img {
  filter: grayscale(.8) brightness(.55);
}

.partners-admin-summary-copy {
  min-width: 0;
}

.partners-admin-summary-copy > span {
  display: block;
  margin-bottom: 4px;
  color: #557487;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.partners-admin-summary-copy strong {
  display: block;
  overflow: hidden;
  color: #eefaff;
  font-size: 14px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.partners-admin-summary-copy small {
  display: block;
  margin-top: 5px;
  color: #42d68d;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .7px;
}

.partners-admin-item.is-disabled .partners-admin-summary-copy small {
  color: #ef6c80;
}

.partners-admin-summary-actions {
  display: flex;
  gap: 7px;
}

.partners-admin-status.is-on {
  border-color: rgba(255, 94, 114, .22);
  color: #ff8a9c;
}

.partners-admin-status.is-off {
  border-color: rgba(62, 217, 142, .25);
  color: #6ee9aa;
}

.partners-admin-form {
  padding: 18px;
  border-top: 1px solid rgba(255, 255, 255, .06);
  background: rgba(0, 0, 0, .12);
}

.partners-admin-new-form {
  margin: 6px 0 14px;
  border: 1px solid rgba(87, 197, 251, .18);
  border-radius: 12px;
  background: rgba(5, 29, 45, .72);
}

.partners-admin-form-title {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.partners-admin-form-title span,
.partners-admin-form-title strong {
  display: block;
}

.partners-admin-form-title span {
  margin-bottom: 3px;
  color: #61caff;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.4px;
}

.partners-admin-form-title strong {
  color: #edfaff;
  font-size: 12px;
  font-weight: 950;
}

.partners-admin-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.partners-admin-fields label {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.partners-admin-fields label > span {
  color: #7190a2;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1px;
}

.partners-admin-fields label > span small {
  color: #506b7b;
  font-size: 7px;
}

.partners-admin-fields .is-wide {
  grid-column: 1 / -1;
}

.partners-admin-fields input,
.partners-admin-fields textarea,
.partners-admin-fields select {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .085);
  border-radius: 8px;
  outline: none;
  background: #071622;
  color: #e8f8ff;
  font: 700 10px/1.35 Montserrat, sans-serif;
  transition: border-color .16s ease, background .16s ease;
}

.partners-admin-fields textarea {
  min-height: 78px;
  resize: vertical;
}

.partners-admin-fields input:focus,
.partners-admin-fields textarea:focus,
.partners-admin-fields select:focus {
  border-color: rgba(80, 195, 247, .48);
  background: #091c2b;
}

.partners-admin-fields input[type="color"] {
  padding: 5px;
  cursor: pointer;
}

.partners-admin-fields input[type="file"] {
  padding: 9px;
  color: #7993a2;
}

.partners-admin-active-field {
  justify-content: flex-end;
  flex-direction: row !important;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 8px;
  background: #071622;
}

.partners-admin-active-field input {
  width: 17px;
  min-height: 17px;
  height: 17px;
  padding: 0;
  accent-color: #45c98e;
}

.partners-admin-active-field span {
  color: #b8d4e2 !important;
}

.partners-admin-form-actions {
  margin-top: 13px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.partners-admin-save-main {
  min-height: 42px;
  margin-top: 13px;
  padding: 0 17px;
  border: 1px solid rgba(82, 202, 255, .28);
  border-radius: 8px;
  background: linear-gradient(180deg, #48b9ee, #278bc2);
  color: #041019;
  font: 950 9px/1 Montserrat, sans-serif;
  letter-spacing: .8px;
  cursor: pointer;
}

.partners-admin-form-actions .partners-admin-save-main {
  margin-top: 0;
}

.partners-admin-save-main:disabled,
.partners-admin-summary-actions button:disabled {
  opacity: .45;
  cursor: wait;
  transform: none;
}

.partners-admin-empty,
.partners-empty {
  grid-column: 1 / -1;
  padding: 28px;
  border: 1px dashed rgba(255, 255, 255, .09);
  border-radius: 12px;
  color: #668293;
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.dynamic-partner-card {
  --partner-accent: #68c8ff;
}

.dynamic-partner-card .partner-label,
.dynamic-partner-card .partner-highlight-dynamic span {
  color: var(--partner-accent);
}

.dynamic-partner-card:hover {
  border-color: var(--partner-accent);
}

.dynamic-partner-card::before {
  background: radial-gradient(circle, var(--partner-accent), transparent 62%);
  opacity: 0;
}

.dynamic-partner-image {
  background: #07131d;
}

.dynamic-partner-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease, filter .35s ease;
}

.dynamic-partner-card:hover .dynamic-partner-image img {
  transform: scale(1.04);
  filter: brightness(1.08);
}

.partner-highlight-dynamic {
  border-color: color-mix(in srgb, var(--partner-accent, #68c8ff) 24%, transparent);
  background: rgba(1, 7, 13, .28);
}

@media (max-width: 760px) {
  .partnerships-section-top {
    align-items: flex-start;
  }

  .partners-admin-open {
    width: 100%;
  }

  .partners-admin-panel {
    margin-top: -12px;
    padding: 14px;
  }

  .partners-admin-head,
  .partners-admin-summary {
    grid-template-columns: 1fr;
  }

  .partners-admin-head {
    flex-direction: column;
  }

  .partners-admin-head-actions {
    width: 100%;
  }

  #partnersAdminNew {
    flex: 1;
  }

  .partners-admin-summary {
    display: grid;
  }

  .partners-admin-thumb {
    width: 100%;
    height: 100px;
  }

  .partners-admin-summary-actions {
    width: 100%;
  }

  .partners-admin-summary-actions button {
    flex: 1;
  }

  .partners-admin-fields {
    grid-template-columns: 1fr;
  }

  .partners-admin-fields .is-wide {
    grid-column: auto;
  }
}


/* =========================================================
   CRASH CHAT — MESMO SISTEMA DO BLACKJACK
   Arrastável/redimensionável apenas dentro da zona do Crash
   24/08/2026
   ========================================================= */
.crash-page .crash-chat-panel,
.crash-page .crash-chat-panel.is-free-chat{
  position:absolute!important;
  z-index:40!important;
  left:20px;
  top:72px;
  width:250px;
  height:205px;
  min-width:190px!important;
  min-height:145px!important;
  max-width:calc(100% - 16px)!important;
  max-height:calc(100% - 16px)!important;
  resize:none!important;
  user-select:none;
  contain:layout style;
}
.crash-page .crash-chat-panel.is-moving,
.crash-page .crash-chat-panel.is-resizing{
  transition:none!important;
  box-shadow:0 18px 46px rgba(0,0,0,.42),0 0 0 1px rgba(92,195,249,.18)!important;
}
.crash-page .crash-chat-panel .bj-chat-head{
  flex:0 0 auto;
  cursor:move;
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.crash-page .crash-chat-panel.is-moving .bj-chat-head{cursor:grabbing}
.crash-page .crash-chat-panel .bj-chat-head>div:first-child{min-width:0;pointer-events:none}
.crash-page .crash-chat-panel .bj-chat-window-controls{
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}
.crash-page .crash-chat-panel .bj-chat-window-controls button{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(91,190,243,.18);
  border-radius:6px;
  background:rgba(7,31,47,.76);
  color:#9bdcff;
  font:900 13px/1 Montserrat,sans-serif;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.crash-page .crash-chat-panel .bj-chat-window-controls button:hover{
  background:rgba(18,64,89,.94);
  border-color:rgba(91,190,243,.42);
  transform:translateY(-1px);
}
.crash-page .crash-chat-panel .bj-chat-window-controls button:active{transform:none}
.crash-page .crash-chat-panel .bj-chat-window-controls i{margin-left:2px;flex:0 0 auto}
.crash-page .crash-chat-panel .bj-chat-messages,
.crash-page .crash-chat-panel .bj-chat-form,
.crash-page .crash-chat-panel .bj-chat-admin{user-select:text}
.crash-page .crash-chat-panel .bj-chat-resize-handle{
  position:absolute;
  z-index:5;
  right:2px;
  bottom:2px;
  width:20px;
  height:20px;
  cursor:nwse-resize;
  touch-action:none;
  user-select:none;
}
.crash-page .crash-chat-panel .bj-chat-resize-handle::before,
.crash-page .crash-chat-panel .bj-chat-resize-handle::after{
  content:"";
  position:absolute;
  right:4px;
  bottom:4px;
  border-right:2px solid rgba(119,207,255,.68);
  border-bottom:2px solid rgba(119,207,255,.68);
  border-radius:1px;
}
.crash-page .crash-chat-panel .bj-chat-resize-handle::before{width:10px;height:10px}
.crash-page .crash-chat-panel .bj-chat-resize-handle::after{width:5px;height:5px;right:8px;bottom:8px;opacity:.72}

@media(max-width:680px){
  .crash-page .crash-chat-panel,
  .crash-page .crash-chat-panel.is-free-chat{
    min-width:150px!important;
    min-height:118px!important;
    max-width:calc(100% - 12px)!important;
    max-height:calc(100% - 12px)!important;
  }
  .crash-page .crash-chat-panel .bj-chat-window-controls button{width:21px;height:21px;font-size:12px}
}


/* Multiplayer live indicator: Blackjack + Crash */
.multiplayer-live-pill{
  position:absolute;
  z-index:5;
  top:17px;
  right:17px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:31px;
  padding:0 12px;
  border:1px solid rgba(255,88,103,.48);
  border-radius:999px;
  color:#fff0f1;
  background:rgba(54,8,16,.76);
  box-shadow:0 0 22px rgba(255,57,79,.16);
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  pointer-events:none;
}
.multiplayer-live-pill strong{
  font-size:8px;
  font-weight:950;
  letter-spacing:1.25px;
}
.multiplayer-live-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#ff4057;
  box-shadow:0 0 0 0 rgba(255,64,87,.55),0 0 10px rgba(255,64,87,.72);
  animation:multiplayerLivePulse 1.35s ease-out infinite;
}
.multiplayer-live-pill-small{
  top:15px;
  right:15px;
  min-height:29px;
  padding:0 11px;
}
.multiplayer-live-pill-left{
  left:15px;
  right:auto;
}
@keyframes multiplayerLivePulse{
  0%{box-shadow:0 0 0 0 rgba(255,64,87,.55),0 0 10px rgba(255,64,87,.72)}
  70%{box-shadow:0 0 0 7px rgba(255,64,87,0),0 0 10px rgba(255,64,87,.52)}
  100%{box-shadow:0 0 0 0 rgba(255,64,87,0),0 0 10px rgba(255,64,87,.52)}
}
@media (prefers-reduced-motion: reduce){
  .multiplayer-live-dot{animation:none}
}

/* ========================= */
/* LIVE — SPOTIFY NOW PLAYING / TOP BAR */
/* ========================= */

.live-now-playing[hidden] {
  display: none !important;
}

.live-bar {
  position: relative;
}

/* Apenas capa + texto, sem caixa/botão. Fica junto ao bloco LIVE/TWITCH. */
.live-now-playing {
  position: absolute;
  left: 145px;
  top: 50%;
  z-index: 4;
  transform: translateY(-50%);

  width: min(340px, 42%);
  min-width: 0;
  height: 46px;

  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 11px;

  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
  cursor: default;
}

.live-now-playing-cover-wrap {
  position: relative;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08);
}

/* A capa funciona como um pequeno disco e roda devagar enquanto a música toca. */
.live-now-playing-cover {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 50%;
  animation: spotifyCoverSpin 16s linear infinite;
  transform-origin: 50% 50%;
}

.live-now-playing-cover-wrap::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: rgba(2, 9, 15, 0.88);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.30);
  pointer-events: none;
}

.live-now-playing-cover[src=""] {
  display: none;
}

.live-now-playing-fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: grid;
  place-items: center;
  color: rgba(30,215,96,0.76);
  font-size: 14px;
  font-weight: 800;
}

.live-now-playing-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.live-now-playing-label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: rgba(255,255,255,0.36);
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: 1.35px;
  line-height: 1;
}

.live-now-playing-pulse {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: #ff4057;
  box-shadow: 0 0 8px rgba(255,64,87,0.55);
  animation: spotifyNowPlayingPulse 1.7s ease-in-out infinite;
}

.live-now-playing-copy strong,
.live-now-playing-copy > span:last-child {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-now-playing-copy strong {
  color: rgba(255,255,255,0.92);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.1px;
  line-height: 1.2;
}

.live-now-playing-copy > span:last-child {
  color: rgba(255,255,255,0.40);
  font-size: 7.5px;
  line-height: 1.15;
}

@keyframes spotifyNowPlayingPulse {
  0%, 100% { opacity: 0.45; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1); }
}

@keyframes spotifyCoverSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
  .live-now-playing {
    left: 135px;
    width: min(315px, 48%);
  }

  .live-bar-right {
    display: none;
  }
}

@media (max-width: 600px) {
  .live-bar {
    min-height: 72px;
  }

  .live-now-playing {
    left: 105px;
    width: calc(100% - 120px);
    grid-template-columns: 34px minmax(0, 1fr);
    height: 40px;
  }

  .live-now-playing-cover-wrap {
    width: 34px;
    height: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .live-now-playing-pulse,
  .live-now-playing-cover {
    animation: none;
  }
}


/* =========================================================
   SLOT V110 — ROTAÇÃO CONTÍNUA / GPU (SEM SALTOS DE setInterval)
   Mantém a lógica e os resultados; altera apenas a apresentação dos rolos.
   ========================================================= */
.casino-slot-v2 .casino-slot-reels .slot-reel,
.fishing-slot-reels .slot-reel{
  position:relative!important;
  overflow:hidden!important;
  contain:layout paint;
}

.casino-slot-v2 .casino-slot-reels .slot-spin-track,
.fishing-slot-reels .slot-spin-track{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0!important;
  margin:0!important;
  pointer-events:none!important;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translate3d(0,-600%,0);
  animation:slotReelContinuousScroll var(--slot-spin-duration,575ms) linear infinite!important;
}

/* Cada símbolo continua a ocupar exatamente 1/3 da janela do rolo. */
.casino-slot-v2 .casino-slot-reels .slot-spin-track > .fishing-symbol,
.fishing-slot-reels .slot-spin-track > .fishing-symbol{
  flex:0 0 33.333333%!important;
  width:100%!important;
  height:33.333333%!important;
  min-height:33.333333%!important;
  max-height:33.333333%!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  filter:none!important;
  opacity:1!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* O blur fica numa única layer em vez de ser recalculado símbolo a símbolo. */
.casino-slot-v2 .casino-slot-reels .slot-reel.is-rolling .slot-spin-track,
.fishing-slot-reels .slot-reel.is-rolling .slot-spin-track{
  filter:blur(1.15px) brightness(.98);
}
.slot-turbo-active .casino-slot-v2 .casino-slot-reels .slot-reel.is-rolling .slot-spin-track,
.slot-turbo-active .fishing-slot-reels .slot-reel.is-rolling .slot-spin-track{
  filter:blur(1.55px) brightness(1.01);
}

/* Desativa o antigo “abanão” por símbolo: agora é a tira inteira que roda. */
.casino-slot-v2 .casino-slot-reels .slot-reel.is-rolling .slot-spin-track .fishing-symbol,
.fishing-slot-reels .slot-reel.is-rolling .slot-spin-track .fishing-symbol,
body.slot-bonus-active .fishing-slot-reels .slot-reel.is-rolling .slot-spin-track .fishing-symbol,
.fishing-slot-machine.slot-bonus-active .fishing-slot-reels .slot-reel.is-rolling .slot-spin-track .fishing-symbol{
  transform:none!important;
  filter:none!important;
  animation:none!important;
}

/* O suspense abranda sem mudar de técnica de rendering. */
.casino-slot-v2 .casino-slot-reels .slot-reel.is-smooth-anticipation .slot-spin-track,
.fishing-slot-reels .slot-reel.is-smooth-anticipation .slot-spin-track{
  filter:blur(.75px) brightness(1.03);
}

/* Paragem curta e elástica, sem o esticão brusco do movimento antigo. */
.casino-slot-v2 .casino-slot-reels .slot-reel.is-stopped,
.fishing-slot-reels .slot-reel.is-stopped,
.site-slot-page .slot-reel.is-stopped{
  animation:slotReelSmoothStop .255s cubic-bezier(.18,.82,.24,1.08)!important;
  transform-origin:center center!important;
}

@keyframes slotReelContinuousScroll{
  from{transform:translate3d(0,-600%,0)}
  to{transform:translate3d(0,0,0)}
}

@keyframes slotReelSmoothStop{
  0%{transform:translate3d(0,-12px,0);filter:brightness(.98)}
  58%{transform:translate3d(0,3px,0);filter:brightness(1.035)}
  100%{transform:translate3d(0,0,0);filter:brightness(1)}
}

@media (prefers-reduced-motion: reduce){
  .casino-slot-v2 .casino-slot-reels .slot-spin-track,
  .fishing-slot-reels .slot-spin-track{
    animation-duration:900ms!important;
  }
}


/* =========================
   PREVISÕES LIVE
   ========================= */
.live-prediction-zone {
  margin-top: 22px;
  border: 1px solid rgba(255,255,255,.11);
  background:
    radial-gradient(circle at 8% 0%, rgba(119,72,255,.16), transparent 34%),
    linear-gradient(145deg, rgba(13,16,26,.98), rgba(8,10,18,.98));
  box-shadow: 0 26px 65px rgba(0,0,0,.28);
  border-radius: 22px;
  padding: 24px;
  overflow: hidden;
  position: relative;
}

.live-prediction-zone[hidden] { display: none !important; }

.live-prediction-zone::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(135,88,255,.9), rgba(255,255,255,.7), transparent);
  opacity: .8;
}

.live-prediction-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}

.live-prediction-kicker {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  font-size: 12px;
  letter-spacing: .14em;
  color: rgba(255,255,255,.62);
  font-weight: 800;
}

.live-prediction-pulse {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff3b4d;
  box-shadow: 0 0 0 0 rgba(255,59,77,.45);
  animation: livePredictionPulse 1.25s ease-out infinite;
}

@keyframes livePredictionPulse {
  0% { box-shadow: 0 0 0 0 rgba(255,59,77,.45); opacity: 1; }
  70% { box-shadow: 0 0 0 9px rgba(255,59,77,0); opacity: .9; }
  100% { box-shadow: 0 0 0 0 rgba(255,59,77,0); opacity: 1; }
}

.live-prediction-head h3 {
  margin: 10px 0 0;
  font-size: clamp(23px, 3vw, 38px);
  line-height: 1.02;
  letter-spacing: -.03em;
  color: #fff;
}

.live-prediction-state {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .08em;
  font-weight: 900;
  color: #d7cfff;
  background: rgba(119,72,255,.13);
  border: 1px solid rgba(150,114,255,.28);
}

.live-prediction-state.is-locked {
  color: rgba(255,255,255,.62);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}

.live-prediction-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 18px;
  color: rgba(255,255,255,.5);
  font-size: 11px;
  letter-spacing: .05em;
}

.live-prediction-meta strong { color: #fff; }

.live-prediction-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.live-prediction-option {
  appearance: none;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
  color: #fff;
  border-radius: 16px;
  padding: 17px;
  cursor: pointer;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.live-prediction-option:hover:not(:disabled) { transform: translateY(-2px); }
.live-prediction-option.is-yes {
  border-color: rgba(86, 225, 145, .32);
  background: linear-gradient(180deg, rgba(55, 168, 105, .11), rgba(255,255,255,.035));
}
.live-prediction-option.is-no {
  border-color: rgba(255,100,130,.24);
  background: linear-gradient(180deg, rgba(180, 46, 83, .09), rgba(255,255,255,.03));
}
.live-prediction-option.is-yes.is-selected {
  border-color: rgba(86,225,145,.7);
  box-shadow: 0 0 0 3px rgba(86,225,145,.10);
  background: rgba(45, 161, 96, .16);
}
.live-prediction-option.is-no.is-selected {
  border-color: rgba(255,100,130,.64);
  box-shadow: 0 0 0 3px rgba(255,80,118,.08);
  background: rgba(255,80,118,.07);
}
.live-prediction-option:disabled { cursor: default; opacity: .9; }

.live-prediction-option-top,
.live-prediction-option-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.live-prediction-option-top strong { font-size: 20px; letter-spacing: .03em; }
.live-prediction-option.is-yes .live-prediction-option-top strong { color: #8dffbc; }
.live-prediction-option.is-no .live-prediction-option-top strong { color: #ffb3c2; }
.live-prediction-option-top em { font-style: normal; font-size: 15px; font-weight: 900; color: #8dffbc; }
.live-prediction-option.is-no .live-prediction-option-top em { color: #ff8fa7; }

.live-prediction-bar {
  display: block;
  height: 7px;
  margin: 14px 0 10px;
  background: rgba(255,255,255,.07);
  border-radius: 999px;
  overflow: hidden;
}

.live-prediction-bar i {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #1eb86f, #71f0a8);
  transition: width .35s ease;
}

.live-prediction-option.is-no .live-prediction-bar i { background: linear-gradient(90deg, #d93b61, #ff7d99); }
.live-prediction-option-bottom { font-size: 11px; color: rgba(255,255,255,.5); }
.live-prediction-option.is-yes .live-prediction-option-bottom b { color: #8dffbc; }
.live-prediction-option.is-no .live-prediction-option-bottom b { color: #ffb3c2; }
.live-prediction-option-bottom b { color: rgba(255,255,255,.9); }

.live-prediction-bet {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr);
  gap: 12px;
  margin-top: 14px;
}

.live-prediction-amount-wrap {
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
  border-radius: 14px;
  padding: 11px 12px;
}

.live-prediction-amount-wrap label {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  letter-spacing: .08em;
  font-weight: 800;
}

.live-prediction-amount-line { display: grid; grid-template-columns: minmax(100px, 1fr) auto auto auto; gap: 7px; }
.live-prediction-amount-line input,
.live-prediction-amount-line button,
.live-prediction-submit,
.live-prediction-admin input,
.live-prediction-admin button {
  font: inherit;
}

.live-prediction-amount-line input {
  min-width: 0;
  height: 38px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.055);
  color: #fff;
  padding: 0 11px;
  outline: none;
}

.live-prediction-amount-line button {
  height: 38px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  background: rgba(255,255,255,.055);
  color: rgba(255,255,255,.82);
  padding: 0 11px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
}

.live-prediction-submit {
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #7748ff, #9d70ff);
  color: #fff;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  padding: 0 18px;
  min-height: 62px;
  box-shadow: 0 14px 30px rgba(98,55,222,.2);
}

.live-prediction-submit:disabled { cursor: not-allowed; opacity: .45; box-shadow: none; }
.live-prediction-mybet,
.live-prediction-message,
.live-prediction-recent {
  margin-top: 12px;
  border-radius: 12px;
  padding: 11px 13px;
  font-size: 12px;
}
.live-prediction-mybet { background: rgba(119,72,255,.08); border: 1px solid rgba(135,94,255,.18); color: rgba(255,255,255,.78); }
.live-prediction-message { min-height: 18px; padding: 0; color: rgba(255,255,255,.58); }
.live-prediction-message.is-error { color: #ff9bad; }
.live-prediction-message.is-success { color: #b9ffd0; }
.live-prediction-recent { display: flex; gap: 10px; flex-wrap: wrap; background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.07); color: rgba(255,255,255,.5); }
.live-prediction-recent span { font-weight: 800; letter-spacing: .06em; }
.live-prediction-recent strong { color: rgba(255,255,255,.85); }

.live-prediction-activity {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 15px;
  background: rgba(255,255,255,.025);
}

.live-prediction-activity[hidden] { display: none !important; }

.live-prediction-activity-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.live-prediction-activity-head > div { display: grid; gap: 4px; min-width: 0; }
.live-prediction-activity-head strong { color: rgba(255,255,255,.48); font-size: 9px; letter-spacing: .06em; }
.live-prediction-activity-kicker { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.live-prediction-activity-dot { width: 7px; height: 7px; border-radius: 999px; background: #ff4f69; box-shadow: 0 0 0 4px rgba(255,79,105,.08); animation: predictionActivityPulse 1.4s ease-in-out infinite; }
.live-prediction-activity-auto { flex: 0 0 auto; color: rgba(255,255,255,.38); font-size: 8px; font-weight: 900; letter-spacing: .08em; }

.live-prediction-activity-list { display: grid; }
.live-prediction-activity-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 11px 2px;
  border-bottom: 1px solid rgba(255,255,255,.055);
}
.live-prediction-activity-row:last-child { border-bottom: 0; }
.live-prediction-activity-row.is-new { animation: predictionActivityEnter .45s ease both; }
.live-prediction-activity-avatar {
  position: relative;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(142,111,255,.28);
  background: rgba(119,72,255,.12);
  color: #d8ceff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
}
.live-prediction-activity-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}
.live-prediction-activity-row.is-no .live-prediction-activity-avatar { border-color: rgba(255,92,124,.24); background: rgba(255,76,114,.08); color: #ffc3cf; }
.live-prediction-activity-copy { min-width: 0; display: grid; gap: 3px; }
.live-prediction-activity-row-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.live-prediction-activity-row-top strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgba(255,255,255,.9); font-size: 11px; font-weight: 900; }
.live-prediction-activity-row-top time { flex: 0 0 auto; color: rgba(255,255,255,.3); font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.live-prediction-activity-detail { color: rgba(255,255,255,.43); font-size: 9px; font-weight: 800; letter-spacing: .035em; }
.live-prediction-activity-detail b { color: #fff; }
.live-prediction-activity-detail em { font-style: normal; color: #55e6a5; font-weight: 900; }
.live-prediction-activity-row.is-no .live-prediction-activity-detail em { color: #ff657f; }
.live-prediction-activity-empty { padding: 18px 2px 5px; color: rgba(255,255,255,.28); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-align: center; }

@keyframes predictionActivityEnter {
  from { opacity: 0; transform: translateY(-7px); background: rgba(125,78,255,.11); }
  to { opacity: 1; transform: translateY(0); background: transparent; }
}
@keyframes predictionActivityPulse {
  0%, 100% { opacity: .45; }
  50% { opacity: 1; }
}

@media (max-width: 680px) {
  .live-prediction-activity { padding: 13px; }
  .live-prediction-activity-head { align-items: flex-start; }
  .live-prediction-activity-auto { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .live-prediction-activity-dot,
  .live-prediction-activity-row.is-new { animation: none !important; }
}

.live-prediction-admin {
  margin-top: 18px;
  padding-top: 17px;
  border-top: 1px dashed rgba(255,255,255,.12);
}
.live-prediction-admin-title { color: #ad92ff; font-size: 10px; letter-spacing: .09em; font-weight: 900; margin-bottom: 10px; }
.live-prediction-admin-create { display: grid; gap: 8px; }
.live-prediction-admin-create > input,
.live-prediction-admin-row input {
  height: 42px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.045);
  color: #fff;
  padding: 0 12px;
  outline: none;
}
.live-prediction-admin-row { display: grid; grid-template-columns: 110px 110px 120px minmax(150px, 1fr); gap: 8px; }
.live-prediction-admin button {
  min-height: 42px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.07);
  color: #fff;
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
}
.live-prediction-admin-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.live-prediction-admin-actions .is-yes { background: rgba(80,205,132,.12); border-color: rgba(80,205,132,.22); }
.live-prediction-admin-actions .is-no { background: rgba(255,76,114,.12); border-color: rgba(255,76,114,.22); }
.live-prediction-admin-actions .is-cancel { color: rgba(255,255,255,.62); }

@media (max-width: 780px) {
  .live-prediction-zone { padding: 18px; border-radius: 18px; }
  .live-prediction-head { display: grid; gap: 12px; }
  .live-prediction-state { justify-self: start; }
  .live-prediction-options { grid-template-columns: 1fr; }
  .live-prediction-bet { grid-template-columns: 1fr; }
  .live-prediction-amount-line { grid-template-columns: minmax(0,1fr) repeat(3, auto); }
  .live-prediction-admin-row { grid-template-columns: 1fr 1fr; }
  .live-prediction-admin-row button { grid-column: 1 / -1; }
  .live-prediction-admin-actions { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .live-prediction-amount-line { grid-template-columns: 1fr 1fr 1fr; }
  .live-prediction-amount-line input { grid-column: 1 / -1; }
  .live-prediction-admin-row { grid-template-columns: 1fr; }
  .live-prediction-admin-row button { grid-column: auto; }
  .live-prediction-admin-actions { grid-template-columns: 1fr; }
}

/* =========================
   PÁGINA PREVISÕES + LINK LIVE
   ========================= */
.live-predictions-nav[hidden] {
  display: none !important;
}

.live-predictions-nav {
  position: relative;
  z-index: 3;
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  margin-left: 24px;
  color: rgba(255,255,255,.78);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.2px;
  line-height: 1;
  white-space: nowrap;
  transition: color .2s ease, text-shadow .2s ease;
}

.live-predictions-nav:hover,
.live-predictions-nav.active {
  color: #fff;
  text-shadow: 0 0 12px rgba(255,64,86,.28);
}

/* Sublinhado vermelho das PREVISÕES — igual ao efeito do menu normal */
.live-predictions-nav::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -9px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff334d, #ff7386);
  box-shadow: 0 0 10px rgba(255, 51, 77, .62);
  transition: width .25s ease;
}

.live-predictions-nav:hover::after {
  width: 100%;
}

.live-predictions-nav.active::after {
  width: 0;
}

.live-predictions-nav::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: #ff4056;
  box-shadow: 0 0 0 0 rgba(255,64,86,.48);
  animation: livePredictionsNavPulse 1.3s ease-out infinite;
}

@keyframes livePredictionsNavPulse {
  0% { box-shadow: 0 0 0 0 rgba(255,64,86,.48); opacity: 1; }
  70% { box-shadow: 0 0 0 6px rgba(255,64,86,0); opacity: .9; }
  100% { box-shadow: 0 0 0 0 rgba(255,64,86,0); opacity: 1; }
}

@media (max-width: 1180px) {
  .live-predictions-nav {
    margin-left: 16px;
    font-size: 10px;
    letter-spacing: .9px;
  }
}

@media (max-width: 760px) {
  .live-predictions-nav {
    margin-left: 12px;
    font-size: 9px;
  }
}

.predictions-page {
  min-height: 100vh;
  background: #050914;
}

.predictions-page-main {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - 76px);
  padding: 112px 30px 70px;
}

.predictions-page-shell {
  width: min(1320px, 100%);
  margin: 0 auto;
}

.predictions-standalone.live-prediction-zone {
  margin-top: 0;
}

.predictions-offline-card {
  min-height: 360px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background:
    radial-gradient(circle at 10% 0%, rgba(119,72,255,.14), transparent 34%),
    linear-gradient(145deg, rgba(13,16,26,.98), rgba(8,10,18,.98));
  display: grid;
  place-content: center;
  text-align: center;
  padding: 42px;
  box-shadow: 0 26px 65px rgba(0,0,0,.28);
}

.predictions-offline-card[hidden] {
  display: none !important;
}

.predictions-offline-card > span {
  color: #a88cff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}

.predictions-offline-card h1 {
  max-width: 820px;
  margin: 12px auto 0;
  color: #fff;
  font-size: clamp(28px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -.04em;
}

.predictions-offline-card p {
  max-width: 650px;
  margin: 16px auto 0;
  color: rgba(255,255,255,.55);
  font-size: 13px;
  line-height: 1.7;
}

@media (max-width: 780px) {
  .predictions-page-main { padding: 92px 14px 44px; }
  .predictions-offline-card { min-height: 300px; padding: 28px 18px; border-radius: 18px; }
}

/* ===================================================== */
/* PREVISÕES LIVE — ALTURA ESTÁVEL + CORES DOS LADOS     */
/* ===================================================== */

/* A área de atividade nunca faz a caixa crescer: os participantes novos
   entram dentro da mesma janela e a lista pode ser percorrida. */
.predictions-standalone .live-prediction-activity-list {
  height: 126px;
  min-height: 126px;
  max-height: 126px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.18) transparent;
}
.predictions-standalone .live-prediction-activity-list::-webkit-scrollbar { width: 5px; }
.predictions-standalone .live-prediction-activity-list::-webkit-scrollbar-track { background: transparent; }
.predictions-standalone .live-prediction-activity-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 999px; }
.predictions-standalone .live-prediction-activity-empty {
  min-height: 126px;
  display: grid;
  place-items: center;
  padding: 0 8px;
}
.predictions-standalone .live-prediction-activity-row { min-height: 62px; }

/* SIM verde / NÃO vermelho também nos cartões principais. */
.live-prediction-option.is-yes .live-prediction-option-top strong,
.live-prediction-option.is-yes .live-prediction-option-top em,
.live-prediction-option.is-yes .live-prediction-option-bottom b { color: #74f2ad !important; }
.live-prediction-option.is-no .live-prediction-option-top strong,
.live-prediction-option.is-no .live-prediction-option-top em,
.live-prediction-option.is-no .live-prediction-option-bottom b { color: #ff93aa !important; }
.live-prediction-option.is-yes .live-prediction-bar i { background: linear-gradient(90deg, #1eb86f, #71f0a8) !important; }
.live-prediction-option.is-no .live-prediction-bar i { background: linear-gradient(90deg, #d93b61, #ff7d99) !important; }

/* ===================================================== */
/* ROLETA EUROPEIA — MESA DE NÚMEROS                     */
/* ===================================================== */

.live-roulette-zone {
  position: relative;
  margin-top: 18px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 5%, rgba(62,198,255,.06), transparent 24%),
    radial-gradient(circle at 92% 8%, rgba(130,76,255,.10), transparent 27%),
    rgba(7,9,18,.93);
  box-shadow: 0 28px 80px rgba(0,0,0,.24);
}
.live-roulette-zone[hidden] { display: none !important; }
.live-roulette-zone::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), transparent 96%);
}

.live-roulette-head,
.live-roulette-table-shell { position: relative; z-index: 1; }

.live-roulette-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.live-roulette-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.55);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
}
.live-roulette-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4f69;
  box-shadow: 0 0 0 5px rgba(255,79,105,.08);
  animation: liveRoulettePulse 1.45s ease-in-out infinite;
}
@keyframes liveRoulettePulse {
  0%,100% { opacity:.55; transform:scale(.86); }
  50% { opacity:1; transform:scale(1.08); }
}

.live-roulette-head h2 {
  margin: 8px 0 6px;
  color: #fff;
  font-size: clamp(27px, 2.5vw, 40px);
  line-height: .95;
  letter-spacing: -.035em;
  font-weight: 950;
}
.live-roulette-head p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.43);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .035em;
}
.live-roulette-head p b { color: rgba(255,255,255,.78); }

.live-roulette-head-actions {
  min-width: 176px;
  display: grid;
  align-content: start;
  gap: 8px;
}
.live-roulette-countdown-wrap {
  min-width: 176px;
  padding: 11px 14px;
  display: grid;
  gap: 3px;
  text-align: right;
  border: 1px solid rgba(151,118,255,.22);
  border-radius: 14px;
  background: rgba(113,73,226,.08);
}
.live-roulette-countdown-wrap span {
  color: rgba(255,255,255,.4);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .09em;
}
.live-roulette-countdown-wrap strong {
  color: #dcd2ff;
  font-size: 20px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.live-roulette-zone.is-spinning .live-roulette-countdown-wrap strong { color:#fff; }

.live-roulette-table-shell {
  margin-top: 20px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(196,235,206,.18);
  border-radius: 18px;
  background:
    radial-gradient(circle at 24% 8%, rgba(255,255,255,.045), transparent 35%),
    radial-gradient(circle at 80% 78%, rgba(0,0,0,.16), transparent 40%),
    linear-gradient(145deg, #064628, #073a24 55%, #052f1e);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 0 80px rgba(0,0,0,.20),
    0 20px 54px rgba(0,0,0,.18);
}
.live-roulette-table-shell::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.14) 0 1px, transparent 1.3px),
    radial-gradient(circle at 70% 62%, rgba(0,0,0,.16) 0 1px, transparent 1.3px);
  background-size: 7px 7px, 9px 9px;
  mix-blend-mode: soft-light;
}

.live-roulette-table-stats,
.live-roulette-betting-board,
.live-roulette-bet-controls,
.live-roulette-myentry,
.live-roulette-message,
.live-roulette-recent,
.live-roulette-admin-row { position:relative; z-index:1; }

.live-roulette-table-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.live-roulette-table-stats > div {
  min-width:0;
  padding:10px 12px;
  display:grid;
  gap:3px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(0,0,0,.17);
}
.live-roulette-table-stats > div > span {
  color:rgba(255,255,255,.58);
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
}
.live-roulette-table-stats strong {
  color:#fff;
  font-size:20px;
  font-weight:950;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
}
.live-roulette-table-stats strong span {
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
}

.live-roulette-betting-board {
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  border:2px solid rgba(255,255,255,.88);
  border-radius:7px;
  overflow:hidden;
  background:rgba(0,0,0,.12);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}

.live-roulette-number-grid {
  min-width:760px;
  display:grid;
  grid-template-columns:repeat(12,minmax(58px,1fr));
  grid-template-rows:repeat(3,66px);
}

.live-roulette-number {
  position:relative;
  min-width:0;
  min-height:0;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-left:1px solid rgba(255,255,255,.92);
  border-bottom:1px solid rgba(255,255,255,.92);
  border-radius:0;
  color:#fff;
  font:inherit;
  cursor:pointer;
  isolation:isolate;
  transition:filter .13s ease, transform .13s ease, box-shadow .13s ease;
}
.live-roulette-number-grid .live-roulette-number:nth-child(3n + 1) { border-bottom:0; }
.live-roulette-number.is-red { background:linear-gradient(145deg,#da2533,#b41726); }
.live-roulette-number.is-black { background:linear-gradient(145deg,#23262a,#101214); }
.live-roulette-number.is-green { background:linear-gradient(145deg,#159a50,#08753b); }

.live-roulette-number.is-zero {
  min-height:198px;
  border-left:0;
  border-bottom:0;
}
.live-roulette-number > span {
  position:relative;
  z-index:2;
  font-size:clamp(17px,1.55vw,24px);
  font-weight:950;
  line-height:1;
  text-shadow:0 2px 5px rgba(0,0,0,.38);
  transform:rotate(-7deg);
}
.live-roulette-number > i {
  position:absolute;
  z-index:4;
  right:5px;
  bottom:5px;
  min-width:0;
  height:0;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:50%;
  opacity:0;
  color:#0b1321;
  background:
    radial-gradient(circle at 34% 28%, #fff 0 16%, #e4efff 38%, #91b9ed 67%, #557eb7 100%);
  border:2px solid rgba(255,255,255,.95);
  box-shadow:0 4px 10px rgba(0,0,0,.45), inset 0 0 0 2px rgba(12,41,77,.22);
  font-style:normal;
  font-size:8px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  transition:width .16s ease,height .16s ease,opacity .16s ease;
}
.live-roulette-number > i.has-bet {
  width:30px;
  height:30px;
  opacity:1;
}
.live-roulette-number:not(:disabled):hover {
  z-index:6;
  filter:brightness(1.13);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.34);
}
.live-roulette-number:not(:disabled):active { transform:scale(.96); }
.live-roulette-number.is-placing { filter:brightness(1.32); }
.live-roulette-number:disabled { cursor:not-allowed; opacity:.72; }

.live-roulette-bet-controls {
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(400px,1.5fr) auto;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(0,0,0,.17);
}
.live-roulette-bet-copy {
  min-width:0;
  display:grid;
  gap:3px;
}
.live-roulette-bet-copy span {
  color:rgba(255,255,255,.48);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.live-roulette-bet-copy strong {
  color:#fff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.04em;
}
.live-roulette-chip-row {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
.live-roulette-chip-row > button {
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:3px dashed rgba(255,255,255,.58);
  border-radius:50%;
  color:#fff;
  background:radial-gradient(circle at 34% 28%, #8565ff, #4c32b7 70%);
  box-shadow:0 5px 12px rgba(0,0,0,.28);
  font:inherit;
  font-size:10px;
  font-weight:950;
  cursor:pointer;
  transition:transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.live-roulette-chip-row > button:nth-child(2) { background:radial-gradient(circle at 34% 28%, #31a4ff, #1762ad 70%); }
.live-roulette-chip-row > button:nth-child(3) { background:radial-gradient(circle at 34% 28%, #f0b33e, #9d6410 70%); }
.live-roulette-chip-row > button:nth-child(4) { background:radial-gradient(circle at 34% 28%, #e55365, #9e2737 70%); }
.live-roulette-chip-row > button:nth-child(5) { background:radial-gradient(circle at 34% 28%, #2fd17d, #13844b 70%); }
.live-roulette-chip-row > button.is-selected {
  transform:translateY(-3px) scale(1.08);
  box-shadow:0 7px 18px rgba(0,0,0,.34),0 0 0 3px rgba(255,255,255,.28);
  filter:brightness(1.08);
}
.live-roulette-chip-row > button:disabled { opacity:.45; cursor:not-allowed; transform:none; }

.live-roulette-custom-chip {
  height:42px;
  min-width:92px;
  padding:5px 8px;
  display:grid;
  grid-template-columns:auto 48px;
  align-items:center;
  gap:6px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  background:rgba(255,255,255,.045);
}
.live-roulette-custom-chip span {
  color:rgba(255,255,255,.46);
  font-size:7px;
  font-weight:900;
}
.live-roulette-custom-chip input {
  width:48px;
  height:30px;
  padding:0 5px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:7px;
  outline:0;
  color:#fff;
  background:rgba(0,0,0,.25);
  text-align:center;
  font:inherit;
  font-size:10px;
  font-weight:950;
}
.live-roulette-custom-chip input:focus { border-color:rgba(255,255,255,.45); }
.live-roulette-custom-chip input:disabled { opacity:.5; }

.live-roulette-clear-bets,
.live-roulette-admin-row button {
  min-height:40px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:9px;
  color:#fff;
  background:rgba(0,0,0,.24);
  font:inherit;
  font-size:8px;
  font-weight:950;
  letter-spacing:.04em;
  cursor:pointer;
}
.live-roulette-clear-bets:hover,
.live-roulette-admin-row button:hover { background:rgba(0,0,0,.34); }
.live-roulette-clear-bets:disabled,
.live-roulette-admin-row button:disabled { opacity:.42; cursor:not-allowed; }

.live-roulette-myentry,
.live-roulette-message {
  min-height:17px;
  margin-top:8px;
  color:rgba(255,255,255,.64);
  font-size:8px;
  font-weight:850;
  line-height:1.5;
}
.live-roulette-myentry { color:#d8e7ff; }
.live-roulette-message.is-error { color:#ffb1bb; }
.live-roulette-message.is-success { color:#9df5bf; }

.live-roulette-recent {
  margin-top:12px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:rgba(0,0,0,.14);
}
.live-roulette-recent > span {
  flex:0 0 auto;
  color:rgba(255,255,255,.48);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.live-roulette-recent-numbers {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.live-roulette-recent-number {
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  color:#fff;
  font-size:9px;
  font-weight:950;
  box-shadow:0 3px 8px rgba(0,0,0,.24);
}
.live-roulette-recent-number.is-red { background:#c81d2d; }
.live-roulette-recent-number.is-black { background:#151719; }
.live-roulette-recent-number.is-green { background:#0b8b45; }

.live-roulette-admin-row {
  margin-top:12px;
  padding-top:12px;
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid rgba(255,255,255,.11);
}
.live-roulette-admin-row label {
  color:rgba(255,255,255,.46);
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.live-roulette-admin-row input {
  width:74px;
  height:40px;
  padding:0 9px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  outline:0;
  color:#fff;
  background:rgba(0,0,0,.22);
  text-align:center;
  font:inherit;
  font-size:10px;
  font-weight:950;
}
.live-roulette-admin-row .live-roulette-admin-spin {
  margin-left:auto;
  border-color:rgba(126,89,255,.42);
  background:linear-gradient(135deg,#6f45f1,#976aff);
  box-shadow:0 10px 24px rgba(67,39,156,.20);
}

@media (max-width: 920px) {
  .live-roulette-head { flex-direction:column; }
  .live-roulette-head-actions { width:100%; min-width:0; grid-template-columns:1fr auto; }
  .live-roulette-countdown-wrap { min-width:0; text-align:left; }
  .live-roulette-table-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .live-roulette-table-shell { overflow-x:auto; }
  .live-roulette-betting-board { min-width:900px; }
  .live-roulette-bet-controls {
    min-width:900px;
    grid-template-columns:180px minmax(430px,1fr) auto;
  }
  .live-roulette-recent,
  .live-roulette-admin-row { min-width:900px; }
}

@media (max-width: 620px) {
  .live-roulette-zone { padding:16px; border-radius:16px; }
  .live-roulette-table-shell { padding:12px; }
  .live-roulette-table-stats { min-width:760px; grid-template-columns:repeat(4,minmax(150px,1fr)); }
}

/* ===================================================== */
/* SLOT RUMBLE — TORNEIO LIVE                            */
/* ===================================================== */
.slot-rumble-zone {
  position: relative;
  margin-top: 18px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  background:
    radial-gradient(circle at 14% 10%, rgba(92,158,255,.14), transparent 30%),
    radial-gradient(circle at 88% 100%, rgba(122,74,255,.10), transparent 35%),
    linear-gradient(145deg, rgba(5,10,27,.96), rgba(5,7,17,.92));
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.slot-rumble-zone[hidden] { display: none !important; }
.slot-rumble-zone::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.72), transparent 84%);
}
.slot-rumble-head, .slot-rumble-prizebar, .slot-rumble-layout { position: relative; z-index: 2; }
.slot-rumble-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.slot-rumble-kicker { display:inline-flex; align-items:center; gap:8px; color:#a9c8ff; font-size:8px; font-weight:950; letter-spacing:.12em; }
.slot-rumble-kicker span { width:7px; height:7px; border-radius:50%; background:#5d9cff; box-shadow:0 0 0 4px rgba(93,156,255,.09),0 0 16px rgba(93,156,255,.45); }
.slot-rumble-head h2 { margin:8px 0 0; color:#fff; font-size:clamp(32px,4vw,54px); line-height:.92; letter-spacing:-.045em; font-weight:950; }
.slot-rumble-head p { max-width:740px; margin:12px 0 0; color:rgba(255,255,255,.48); font-size:10px; line-height:1.65; font-weight:750; letter-spacing:.025em; }
.slot-rumble-head p b { color:#fff; }
.slot-rumble-state { flex:0 0 auto; padding:10px 13px; border:1px solid rgba(99,158,255,.24); border-radius:999px; background:rgba(78,139,255,.08); color:#a9c8ff; font-size:8px; font-weight:950; letter-spacing:.08em; }
.slot-rumble-state.is-running { border-color:rgba(255,194,83,.28); background:rgba(255,187,60,.08); color:#ffd483; }
.slot-rumble-prizebar { margin-top:18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.slot-rumble-prizebar > div { min-width:0; padding:12px 13px; border:1px solid rgba(255,255,255,.07); border-radius:13px; background:rgba(255,255,255,.025); display:grid; gap:4px; }
.slot-rumble-prizebar span { color:rgba(255,255,255,.34); font-size:7px; font-weight:900; letter-spacing:.07em; }
.slot-rumble-prizebar strong { color:#fff; font-size:15px; font-weight:950; }
.slot-rumble-prizebar .is-first { border-color:rgba(255,205,86,.16); background:rgba(255,198,70,.04); }
.slot-rumble-prizebar .is-first strong { color:#ffd86b; }
.slot-rumble-prizebar .is-second strong { color:#c5d6f4; }
.slot-rumble-layout { margin-top:12px; display:grid; grid-template-columns:minmax(250px,.78fr) minmax(0,1.42fr); gap:12px; }
.slot-rumble-entry-panel, .slot-rumble-table-panel { min-width:0; border:1px solid rgba(255,255,255,.075); border-radius:16px; background:rgba(255,255,255,.022); }
.slot-rumble-entry-panel { padding:17px; }
.slot-rumble-panel-label { color:#80adff; font-size:7px; font-weight:950; letter-spacing:.09em; }
.slot-rumble-entry-panel h3 { margin:7px 0 0; color:#fff; font-size:20px; font-weight:950; letter-spacing:-.025em; }
.slot-rumble-entry-panel > p { min-height:32px; margin:7px 0 0; color:rgba(255,255,255,.42); font-size:9px; line-height:1.55; }
.slot-rumble-entry-form { margin-top:13px; display:grid; gap:8px; }
.slot-rumble-entry-form[hidden] { display:none !important; }
.slot-rumble-entry-form input { width:100%; height:41px; padding:0 12px; border:1px solid rgba(255,255,255,.10); border-radius:10px; outline:none; background:rgba(0,0,0,.22); color:#fff; font:800 10px/1 Montserrat,sans-serif; text-transform:uppercase; }
.slot-rumble-entry-form input:focus { border-color:rgba(93,156,255,.55); box-shadow:0 0 0 3px rgba(93,156,255,.08); }
.slot-rumble-entry-form button { min-height:41px; border:1px solid rgba(93,156,255,.24); border-radius:10px; background:linear-gradient(135deg,rgba(53,115,235,.94),rgba(92,73,221,.92)); color:#fff; font-size:8px; font-weight:950; letter-spacing:.06em; cursor:pointer; }
.slot-rumble-entry-form button:disabled { opacity:.42; cursor:not-allowed; }
.slot-rumble-myentry { margin-top:10px; padding:10px 11px; border:1px solid rgba(93,156,255,.16); border-radius:10px; background:rgba(93,156,255,.06); color:#bfd5ff; font-size:8px; font-weight:900; line-height:1.45; }
.slot-rumble-myentry[hidden] { display:none!important; }
.slot-rumble-message { min-height:17px; margin-top:8px; color:rgba(255,255,255,.42); font-size:8px; font-weight:750; line-height:1.45; }
.slot-rumble-message.is-error { color:#ff9caf; }
.slot-rumble-message.is-success { color:#92efb6; }
.slot-rumble-last { margin-top:11px; padding-top:11px; border-top:1px solid rgba(255,255,255,.065); display:grid; gap:4px; }
.slot-rumble-last[hidden]{display:none!important;}
.slot-rumble-last span { color:rgba(255,255,255,.3); font-size:6px; font-weight:950; letter-spacing:.08em; }
.slot-rumble-last strong { color:#fff; font-size:8px; line-height:1.45; }
.slot-rumble-admin { margin-top:13px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); }
.slot-rumble-admin[hidden]{display:none!important;}
.slot-rumble-admin > span { display:block; margin-bottom:8px; color:#a98fff; font-size:6px; font-weight:950; letter-spacing:.08em; }
.slot-rumble-admin-actions { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.slot-rumble-admin-actions button { min-height:34px; padding:0 9px; border:1px solid rgba(255,255,255,.10); border-radius:9px; background:rgba(255,255,255,.045); color:#fff; font-size:7px; font-weight:950; cursor:pointer; }
.slot-rumble-admin-actions button:disabled { opacity:.32; cursor:not-allowed; }
.slot-rumble-admin-actions .is-danger { color:#ff9caf; border-color:rgba(255,91,124,.15); }
.slot-rumble-table-panel { overflow:hidden; }
.slot-rumble-table-head { min-height:54px; padding:0 14px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid rgba(255,255,255,.07); }
.slot-rumble-table-head > div { display:grid; gap:3px; }
.slot-rumble-table-head span { color:#fff; font-size:9px; font-weight:950; letter-spacing:.065em; }
.slot-rumble-table-head strong, .slot-rumble-table-head small { color:rgba(255,255,255,.32); font-size:6px; font-weight:900; letter-spacing:.07em; }
.slot-rumble-table { height:264px; min-height:264px; max-height:264px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.15) transparent; }
.slot-rumble-row { min-height:66px; display:grid; grid-template-columns:30px 38px minmax(0,1fr) auto; align-items:center; gap:9px; padding:9px 12px; border-bottom:1px solid rgba(255,255,255,.055); transition:background .2s ease; }
.slot-rumble-row:last-child{border-bottom:0;}
.slot-rumble-row.is-played { background:rgba(255,255,255,.012); }
.slot-rumble-row.is-leader { background:linear-gradient(90deg,rgba(255,200,72,.07),transparent); }
.slot-rumble-place { color:rgba(255,255,255,.34); font-size:12px; font-weight:950; text-align:center; }
.slot-rumble-row.is-leader .slot-rumble-place { color:#ffd86b; }
.slot-rumble-avatar { position:relative; width:38px; height:38px; overflow:hidden; display:grid; place-items:center; border:1px solid rgba(93,156,255,.22); border-radius:10px; background:rgba(93,156,255,.08); color:#bed5ff; font-size:9px; font-weight:950; }
.slot-rumble-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.slot-rumble-player { min-width:0; display:grid; gap:3px; }
.slot-rumble-player strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#fff; font-size:10px; font-weight:950; }
.slot-rumble-player span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#86b1ff; font-size:7px; font-weight:900; letter-spacing:.04em; }
.slot-rumble-score { min-width:70px; color:rgba(255,255,255,.32); font-size:9px; font-weight:950; text-align:right; }
.slot-rumble-row.is-played .slot-rumble-score { color:#fff; font-size:14px; }
.slot-rumble-row.is-leader .slot-rumble-score { color:#ffd86b; }
.slot-rumble-score-admin { grid-column:1 / -1; display:grid; grid-template-columns:90px auto; justify-content:end; gap:6px; padding:0 0 3px; }
.slot-rumble-score-admin input { width:90px; height:31px; padding:0 9px; border:1px solid rgba(255,255,255,.09); border-radius:8px; outline:none; background:rgba(0,0,0,.22); color:#fff; font:850 9px/1 Montserrat,sans-serif; }
.slot-rumble-score-admin input:focus { border-color:rgba(93,156,255,.5); }
.slot-rumble-score-admin button { height:31px; padding:0 10px; border:1px solid rgba(93,156,255,.18); border-radius:8px; background:rgba(93,156,255,.10); color:#c8dcff; font-size:7px; font-weight:950; cursor:pointer; }
.slot-rumble-empty { min-height:264px; display:grid; place-items:center; padding:20px; color:rgba(255,255,255,.25); font-size:8px; font-weight:900; letter-spacing:.07em; text-align:center; }

@media (max-width: 900px) {
  .slot-rumble-head { display:grid; }
  .slot-rumble-state { justify-self:start; }
  .slot-rumble-prizebar { grid-template-columns:1fr 1fr; }
  .slot-rumble-layout { grid-template-columns:1fr; }
  .slot-rumble-table { height:300px; min-height:300px; max-height:300px; }
  .slot-rumble-empty { min-height:300px; }
}
@media (max-width: 540px) {
  .slot-rumble-zone { padding:16px; border-radius:18px; }
  .slot-rumble-prizebar { gap:6px; }
  .slot-rumble-prizebar > div { padding:10px; }
  .slot-rumble-admin-actions { grid-template-columns:1fr; }
  .slot-rumble-row { grid-template-columns:24px 34px minmax(0,1fr) auto; padding:8px; gap:7px; }
  .slot-rumble-avatar { width:34px; height:34px; }
}


/* =========================================================
   GESTÃO DOS JOGOS LIVE — CRIAÇÃO DINÂMICA / ADMIN ONLY
   ========================================================= */
.live-games-admin-hub {
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid rgba(150, 112, 255, .20);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(21, 21, 38, .96), rgba(11, 12, 23, .96));
  box-shadow: 0 18px 50px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255,255,255,.035);
}
.live-games-admin-hub[hidden] { display:none !important; }
.live-games-admin-hub-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:11px;
  padding:0 2px 10px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.live-games-admin-hub-head > div { display:grid; gap:3px; }
.live-games-admin-hub-head span {
  color:#a98fff;
  font-size:7px;
  font-weight:950;
  letter-spacing:.12em;
}
.live-games-admin-hub-head strong {
  color:#fff;
  font-size:16px;
  font-weight:950;
  letter-spacing:.02em;
}
.live-games-admin-hub-head small {
  color:rgba(255,255,255,.38);
  font-size:7px;
  font-weight:850;
  letter-spacing:.055em;
  text-align:right;
}
.live-games-admin-hub-grid {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);
  gap:10px;
}
.live-games-admin-card {
  min-width:0;
  padding:12px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(255,255,255,.025);
}
.live-games-admin-card-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px;
}
.live-games-admin-card-head > span {
  color:rgba(255,255,255,.82);
  font-size:8px;
  font-weight:950;
  letter-spacing:.08em;
}
.live-games-admin-card-head > strong {
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.03);
  font-size:6px;
  font-weight:950;
  letter-spacing:.07em;
}
.live-games-admin-card-head > strong.is-active {
  color:#8cffad;
  border-color:rgba(86,238,134,.18);
  background:rgba(60,213,112,.08);
}
.live-games-admin-card > p {
  min-height:28px;
  margin:0 0 10px;
  color:rgba(255,255,255,.48);
  font-size:7px;
  line-height:1.55;
  font-weight:750;
}
.live-games-admin-hub .live-prediction-admin-create[hidden],
.live-games-admin-hub .live-games-admin-create-rumble[hidden],
.live-games-admin-active-note[hidden] { display:none !important; }
.live-games-admin-hub .live-prediction-admin-create > input,
.live-games-admin-hub .live-prediction-admin-row input {
  min-height:34px;
}
.live-games-admin-hub .live-prediction-admin-row button,
.live-games-admin-create-rumble {
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(145,70,255,.34);
  border-radius:9px;
  background:linear-gradient(180deg, rgba(145,70,255,.28), rgba(94,45,179,.20));
  color:#fff;
  font-size:7px;
  font-weight:950;
  letter-spacing:.05em;
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.live-games-admin-hub .live-prediction-admin-row button:hover,
.live-games-admin-create-rumble:hover {
  transform:translateY(-1px);
  border-color:rgba(178,139,255,.60);
  background:linear-gradient(180deg, rgba(145,70,255,.38), rgba(94,45,179,.28));
}
.live-games-admin-create-rumble { width:100%; }
.live-games-admin-active-note {
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border:1px solid rgba(73,226,121,.15);
  border-radius:9px;
  background:rgba(73,226,121,.055);
  color:#8cffad;
  font-size:7px;
  font-weight:900;
  letter-spacing:.045em;
  text-align:center;
}

@media (max-width: 900px) {
  .live-games-admin-hub-grid { grid-template-columns:1fr; }
  .live-games-admin-hub-head { align-items:flex-start; flex-direction:column; }
  .live-games-admin-hub-head small { text-align:left; }
}


/* ===================================================== */
/* ROLETA DA LIVE — VERSÃO COMPACTA                      */
/* ===================================================== */
@media (min-width: 921px) {
  .live-roulette-zone {
    padding: 16px 18px !important;
    border-radius: 18px !important;
  }
  .live-roulette-head {
    gap: 14px !important;
    padding-bottom: 11px !important;
  }
  .live-roulette-kicker {
    gap: 6px !important;
    font-size: 7px !important;
  }
  .live-roulette-pulse {
    width: 6px !important;
    height: 6px !important;
  }
  .live-roulette-head h2 {
    margin: 5px 0 4px !important;
    font-size: clamp(24px, 2.15vw, 34px) !important;
  }
  .live-roulette-head p {
    max-width: 650px !important;
    font-size: 7px !important;
    line-height: 1.4 !important;
  }
  .live-roulette-countdown-wrap {
    min-width: 132px !important;
    padding: 8px 11px !important;
    border-radius: 11px !important;
  }
  .live-roulette-countdown-wrap span { font-size: 6px !important; }
  .live-roulette-countdown-wrap strong { font-size: 17px !important; }

  .live-roulette-layout {
    margin-top: 12px !important;
    grid-template-columns: 245px minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .live-roulette-wheel-panel {
    min-height: 246px !important;
    border-radius: 14px !important;
  }
  .live-roulette-wheel {
    width: 202px !important;
    border-width: 5px !important;
    box-shadow: 0 0 0 1px rgba(112,81,255,.20), 0 0 34px rgba(105,69,255,.12), inset 0 0 26px rgba(0,0,0,.30) !important;
  }
  .live-roulette-wheel::before { inset: 5px !important; }
  .live-roulette-wheel-center {
    width: 76px !important;
    height: 76px !important;
  }
  .live-roulette-wheel-center span,
  .live-roulette-wheel-center small { font-size: 5px !important; }
  .live-roulette-wheel-center strong { font-size: 21px !important; }
  .live-roulette-pointer {
    top: 8px !important;
    border-left-width: 11px !important;
    border-right-width: 11px !important;
    border-top-width: 19px !important;
  }
  .live-roulette-sound {
    top: 8px !important;
    left: 8px !important;
    min-height: 24px !important;
    padding: 0 7px !important;
    border-radius: 7px !important;
    font-size: 5px !important;
  }
  .live-roulette-result {
    bottom: 8px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    font-size: 7px !important;
  }

  .live-roulette-side { gap: 8px !important; }
  .live-roulette-meta { gap: 6px !important; }
  .live-roulette-meta > div {
    padding: 7px 9px !important;
    border-radius: 9px !important;
  }
  .live-roulette-meta span { font-size: 5px !important; }
  .live-roulette-meta strong { font-size: 11px !important; }
  .live-roulette-entry {
    padding: 8px 9px !important;
    border-radius: 10px !important;
  }
  .live-roulette-entry label {
    margin-bottom: 5px !important;
    font-size: 6px !important;
  }
  .live-roulette-entry-line { gap: 5px !important; }
  .live-roulette-entry-line input,
  .live-roulette-entry-line button,
  .live-roulette-enter,
  .live-roulette-admin-spin {
    min-height: 31px !important;
    border-radius: 8px !important;
    font-size: 8px !important;
  }
  .live-roulette-entry-line input { padding: 0 9px !important; }
  .live-roulette-entry-line button { padding: 0 9px !important; }
  .live-roulette-enter { margin-top: 5px !important; }
  .live-roulette-myentry,
  .live-roulette-message {
    margin-top: 5px !important;
    min-height: 10px !important;
    font-size: 6px !important;
    line-height: 1.3 !important;
  }

  .live-roulette-players { border-radius: 10px !important; }
  .live-roulette-players-head {
    min-height: 27px !important;
    padding: 0 9px !important;
  }
  .live-roulette-players-head span { font-size: 6px !important; }
  .live-roulette-players-head small { font-size: 5px !important; }
  .live-roulette-players-list {
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;
  }
  .live-roulette-player {
    min-height: 39px !important;
    padding: 5px 9px !important;
    grid-template-columns: 27px minmax(0,1fr) auto !important;
    gap: 7px !important;
  }
  .live-roulette-player-avatar {
    width: 27px !important;
    height: 27px !important;
    border-radius: 8px !important;
    font-size: 7px !important;
  }
  .live-roulette-player-copy { gap: 1px !important; }
  .live-roulette-player-copy strong { font-size: 8px !important; }
  .live-roulette-player-copy span { font-size: 6px !important; }
  .live-roulette-player-chance { font-size: 9px !important; }
  .live-roulette-empty {
    min-height: 78px !important;
    font-size: 6px !important;
  }
  .live-roulette-last {
    min-height: 27px !important;
    padding: 5px 8px !important;
    gap: 6px !important;
    border-radius: 9px !important;
  }
  .live-roulette-last span { font-size: 5px !important; }
  .live-roulette-last strong { font-size: 7px !important; }
  .live-roulette-admin-time {
    padding: 7px !important;
    border-radius: 9px !important;
  }
  .live-roulette-admin-time > label { margin-bottom: 5px !important; font-size: 5px !important; }
  .live-roulette-admin-time > div { grid-template-columns: 78px minmax(120px,1fr) !important; gap: 5px !important; }
  .live-roulette-admin-time input,
  .live-roulette-admin-time button { min-height: 29px !important; border-radius: 7px !important; font-size: 7px !important; }
  .live-roulette-admin-time small { margin-top: 4px !important; font-size: 5px !important; }
}

/* ===================================================== */
/* SLOT RUMBLE — MODERAÇÃO DO NOME DA SLOT               */
/* ===================================================== */
.slot-rumble-edit-admin {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  justify-content: end;
  gap: 6px;
  padding: 0 0 3px;
}
.slot-rumble-edit-admin input,
.slot-rumble-edit-admin button {
  height: 31px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 8px;
  outline: none;
  font: 850 8px/1 Montserrat,sans-serif;
}
.slot-rumble-edit-admin input {
  min-width: 0;
  padding: 0 9px;
  background: rgba(0,0,0,.22);
  color: #fff;
  text-transform: uppercase;
}
.slot-rumble-edit-admin input:focus {
  border-color: rgba(93,156,255,.5);
  box-shadow: 0 0 0 3px rgba(93,156,255,.07);
}
.slot-rumble-edit-admin button {
  padding: 0 11px;
  background: rgba(93,156,255,.10);
  border-color: rgba(93,156,255,.18);
  color: #c8dcff;
  font-size: 7px;
  font-weight: 950;
  cursor: pointer;
}
.slot-rumble-edit-admin button:hover { background: rgba(93,156,255,.16); }
.slot-rumble-edit-admin button:disabled { opacity: .4; cursor: not-allowed; }

@media (max-width: 620px) {
  .slot-rumble-edit-admin { grid-template-columns: minmax(0,1fr) auto; }
}


/* =========================================================
   JOGOS LIVE — 2 ATIVIDADES LADO A LADO
   ========================================================= */
.live-games-stage {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.live-games-stage > section {
  min-width: 0;
  margin-top: 0 !important;
}

/* A gestão continua no topo; três controlos na mesma linha em desktop. */
@media (min-width: 1081px) {
  .live-games-admin-hub-grid {
    grid-template-columns: minmax(0, 1.5fr) minmax(230px, .75fr) minmax(230px, .75fr) !important;
  }
}
.live-games-admin-active-note.is-hidden-game {
  color: #ffb3bf;
  border-color: rgba(255,91,124,.14);
  background: rgba(255,91,124,.05);
}

/* ROLETA: cartão horizontal de meia largura, mas roda volta a ter presença. */
@media (min-width: 901px) {
  .live-games-stage .live-roulette-zone {
    padding: 18px !important;
    border-radius: 18px !important;
  }
  .live-games-stage .live-roulette-head {
    min-height: 76px;
    gap: 10px !important;
    padding-bottom: 11px !important;
  }
  .live-games-stage .live-roulette-head h2 {
    margin: 5px 0 4px !important;
    font-size: 27px !important;
  }
  .live-games-stage .live-roulette-head p {
    max-width: 430px !important;
    font-size: 6.7px !important;
    line-height: 1.45 !important;
  }
  .live-games-stage .live-roulette-countdown-wrap {
    min-width: 106px !important;
    padding: 8px 9px !important;
  }
  .live-games-stage .live-roulette-countdown-wrap strong {
    font-size: 16px !important;
  }

  .live-games-stage .live-roulette-layout {
    margin-top: 12px !important;
    display: grid !important;
    grid-template-columns: 252px minmax(0, 1fr) !important;
    gap: 11px !important;
  }
  .live-games-stage .live-roulette-wheel-panel {
    min-height: 276px !important;
  }
  .live-games-stage .live-roulette-wheel {
    width: 242px !important;
    border-width: 6px !important;
  }
  .live-games-stage .live-roulette-wheel-center {
    width: 82px !important;
    height: 82px !important;
  }
  .live-games-stage .live-roulette-wheel-center strong {
    font-size: 22px !important;
  }
  .live-games-stage .live-roulette-pointer {
    top: 7px !important;
    border-left-width: 12px !important;
    border-right-width: 12px !important;
    border-top-width: 21px !important;
  }

  .live-games-stage .live-roulette-side {
    gap: 7px !important;
  }
  .live-games-stage .live-roulette-meta {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 5px !important;
  }
  .live-games-stage .live-roulette-meta > div {
    min-width: 0;
    padding: 7px !important;
  }
  .live-games-stage .live-roulette-meta span {
    font-size: 4.7px !important;
  }
  .live-games-stage .live-roulette-meta strong {
    font-size: 10px !important;
  }
  .live-games-stage .live-roulette-entry {
    padding: 8px !important;
  }
  .live-games-stage .live-roulette-entry-line {
    grid-template-columns: minmax(0,1fr) auto auto auto;
  }
  .live-games-stage .live-roulette-entry-line input,
  .live-games-stage .live-roulette-entry-line button,
  .live-games-stage .live-roulette-enter {
    min-height: 30px !important;
  }
  .live-games-stage .live-roulette-entry-line button {
    padding: 0 7px !important;
  }
  .live-games-stage .live-roulette-players-list {
    height: 90px !important;
    min-height: 90px !important;
    max-height: 90px !important;
  }
  .live-games-stage .live-roulette-empty {
    min-height: 90px !important;
  }
  .live-games-stage .live-roulette-admin-time > div {
    grid-template-columns: 70px minmax(0,1fr) !important;
  }
}

/* PREVISÃO adaptada ao cartão de meia largura. */
@media (min-width: 901px) {
  .live-games-stage .live-prediction-zone {
    padding: 18px;
    border-radius: 18px;
  }
  .live-games-stage .live-prediction-head {
    gap: 12px;
  }
  .live-games-stage .live-prediction-head h3 {
    font-size: clamp(22px, 2vw, 29px);
  }
  .live-games-stage .live-prediction-kicker {
    font-size: 8px;
  }
  .live-games-stage .live-prediction-meta {
    gap: 10px;
    flex-wrap: wrap;
  }
  .live-games-stage .live-prediction-options {
    gap: 8px;
  }
  .live-games-stage .live-prediction-option {
    padding: 14px;
  }
  .live-games-stage .live-prediction-bet {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .live-games-stage .live-prediction-submit {
    min-height: 45px;
  }
  .live-games-stage .live-prediction-admin-actions {
    grid-template-columns: 1fr 1fr;
  }
}

/* SLOT RUMBLE adaptado à meia largura. */
@media (min-width: 901px) {
  .live-games-stage .slot-rumble-zone {
    padding: 18px;
    border-radius: 18px;
  }
  .live-games-stage .slot-rumble-head {
    gap: 12px;
  }
  .live-games-stage .slot-rumble-head h2 {
    font-size: 34px;
  }
  .live-games-stage .slot-rumble-head p {
    font-size: 8px;
    line-height: 1.5;
  }
  .live-games-stage .slot-rumble-prizebar {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }
  .live-games-stage .slot-rumble-prizebar > div {
    padding: 9px 10px;
  }
  .live-games-stage .slot-rumble-layout {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .live-games-stage .slot-rumble-entry-panel {
    padding: 13px;
  }
  .live-games-stage .slot-rumble-table {
    height: 230px;
    min-height: 230px;
    max-height: 230px;
  }
  .live-games-stage .slot-rumble-empty {
    min-height: 230px;
  }
}

/* Tablet/telemóvel: uma atividade por linha. */
@media (max-width: 900px) {
  .live-games-stage {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}


/* =========================================================
   ROLETA DA LIVE — RODA MAIOR DENTRO DO CARTÃO HORIZONTAL
   ========================================================= */
@media (min-width: 901px) {
  .live-games-stage .live-roulette-layout {
    grid-template-columns: 310px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  .live-games-stage .live-roulette-wheel-panel {
    min-height: 330px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .live-games-stage .live-roulette-wheel {
    width: 300px !important;
    height: 300px !important;
    max-width: 300px !important;
    max-height: 300px !important;
    border-width: 7px !important;
  }

  .live-games-stage .live-roulette-wheel-center {
    width: 94px !important;
    height: 94px !important;
  }

  .live-games-stage .live-roulette-wheel-center strong {
    font-size: 25px !important;
  }

  .live-games-stage .live-roulette-pointer {
    top: 4px !important;
    border-left-width: 14px !important;
    border-right-width: 14px !important;
    border-top-width: 24px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .live-games-stage .live-roulette-layout {
    grid-template-columns: 270px minmax(0, 1fr) !important;
  }

  .live-games-stage .live-roulette-wheel-panel {
    min-height: 290px !important;
  }

  .live-games-stage .live-roulette-wheel {
    width: 262px !important;
    height: 262px !important;
  }
}


/* =========================================================
   TORNEIO DE SLOTS — ELIMINATÓRIAS 1V1
   ========================================================= */
.slot-tournament-zone {
  position: relative;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(122, 102, 255, .23);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(109, 65, 255, .12), transparent 36%),
    linear-gradient(145deg, rgba(10, 17, 29, .97), rgba(7, 10, 18, .98));
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  overflow: hidden;
}
.slot-tournament-zone[hidden] { display: none !important; }

.slot-tournament-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.slot-tournament-kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,.55);
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .1em;
}
.slot-tournament-kicker > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff4f69;
  box-shadow: 0 0 12px rgba(255,79,105,.75);
}
.slot-tournament-head h2 {
  margin: 5px 0 4px;
  color: #fff;
  font-size: 30px;
  line-height: .95;
  letter-spacing: -.035em;
}
.slot-tournament-head p {
  margin: 0;
  max-width: 520px;
  color: rgba(255,255,255,.46);
  font-size: 7px;
  line-height: 1.5;
  font-weight: 850;
}
.slot-tournament-state {
  align-self: flex-start;
  flex: 0 0 auto;
  padding: 9px 11px;
  border: 1px solid rgba(145,90,255,.38);
  border-radius: 12px;
  background: rgba(87,52,171,.14);
  color: #d8c8ff;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .08em;
}
.slot-tournament-state.is-running {
  color: #8fffb2;
  border-color: rgba(85,238,134,.28);
  background: rgba(43,157,80,.1);
}

.slot-tournament-meta {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 6px;
  margin-top: 10px;
}
.slot-tournament-meta > div {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
}
.slot-tournament-meta span {
  display: block;
  margin-bottom: 3px;
  color: rgba(255,255,255,.37);
  font-size: 5.5px;
  font-weight: 950;
  letter-spacing: .07em;
}
.slot-tournament-meta strong {
  color: #fff;
  font-size: 10px;
}
.slot-tournament-meta .is-first strong { color: #72f6a6; }
.slot-tournament-meta .is-second strong { color: #e6caff; }

.slot-tournament-entry {
  margin-top: 9px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(255,255,255,.022);
}
.slot-tournament-entry > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.slot-tournament-entry > div:first-child > span {
  color: #fff;
  font-size: 6px;
  font-weight: 950;
}
.slot-tournament-entry > div:first-child > strong {
  color: rgba(255,255,255,.42);
  font-size: 5.5px;
  text-align: right;
}
.slot-tournament-entry-line {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px;
  margin-top: 8px;
}
.slot-tournament-entry-line input,
.slot-tournament-edit-slot input,
.slot-tournament-match-admin input,
.slot-tournament-admin-create-row input {
  min-width: 0;
  height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  outline: none;
  background: rgba(255,255,255,.035);
  color: #fff;
  font: inherit;
  font-size: 8px;
  font-weight: 850;
}
.slot-tournament-entry-line input:focus,
.slot-tournament-edit-slot input:focus,
.slot-tournament-match-admin input:focus,
.slot-tournament-admin-create-row input:focus {
  border-color: rgba(129,83,255,.58);
  box-shadow: 0 0 0 2px rgba(129,83,255,.09);
}
.slot-tournament-entry-line button,
.slot-tournament-edit-slot button,
.slot-tournament-match-admin button,
.slot-tournament-admin-actions button,
.slot-tournament-admin-create-row button {
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  font: inherit;
  font-size: 6.5px;
  font-weight: 950;
}
.slot-tournament-entry-line button {
  min-width: 115px;
  padding: 0 13px;
  background: linear-gradient(135deg,#7045ff,#9a65ff);
  color: #fff;
}
.slot-tournament-entry-line button:disabled,
.slot-tournament-admin-actions button:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.slot-tournament-myentry {
  margin-top: 7px;
  padding: 7px 9px;
  border: 1px solid rgba(95,231,139,.16);
  border-radius: 8px;
  background: rgba(47,168,83,.07);
  color: #8fffb2;
  font-size: 6.5px;
  font-weight: 900;
}
.slot-tournament-message {
  min-height: 12px;
  margin-top: 5px;
  color: rgba(255,255,255,.45);
  font-size: 6px;
  font-weight: 850;
}
.slot-tournament-message.is-error { color: #ff8ba0; }
.slot-tournament-message.is-success { color: #83f5a7; }

.slot-tournament-round-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 10px;
  margin-top: 10px;
  padding: 0 2px 6px;
}
.slot-tournament-round-head span {
  display: block;
  color: rgba(255,255,255,.36);
  font-size: 5px;
  font-weight: 950;
}
.slot-tournament-round-head strong {
  display: block;
  margin-top: 2px;
  color: #fff;
  font-size: 8px;
}
.slot-tournament-round-head small {
  color: rgba(255,255,255,.25);
  font-size: 4.8px;
  font-weight: 900;
}

.slot-tournament-bracket {
  height: 278px;
  min-height: 278px;
  max-height: 278px;
  overflow: auto;
  padding-right: 3px;
}
.slot-tournament-empty {
  min-height: 100%;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(255,255,255,.07);
  border-radius: 12px;
  color: rgba(255,255,255,.25);
  font-size: 6px;
  font-weight: 900;
}

.slot-tournament-registration-row {
  display: grid;
  grid-template-columns: 23px 30px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 5px 8px;
  border-bottom: 1px solid rgba(255,255,255,.055);
}
.slot-tournament-registration-row > span {
  color: rgba(255,255,255,.25);
  font-size: 6px;
  font-weight: 950;
}
.slot-tournament-avatar {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(125,89,255,.28);
  border-radius: 50%;
  background: rgba(105,65,200,.14);
  color: #fff;
  font-size: 8px;
  font-weight: 950;
}
.slot-tournament-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slot-tournament-registration-copy {
  min-width: 0;
}
.slot-tournament-registration-copy > strong {
  display: block;
  overflow: hidden;
  color: #fff;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.slot-tournament-registration-copy > small {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: rgba(255,255,255,.38);
  font-size: 5.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.slot-tournament-edit-slot {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 5px;
  margin-top: 3px;
}
.slot-tournament-edit-slot input {
  height: 27px;
  font-size: 6px;
}
.slot-tournament-edit-slot button {
  padding: 0 7px;
  background: rgba(118,77,245,.18);
  color: #cbb8ff;
}

.slot-tournament-match {
  padding: 8px;
  margin-bottom: 7px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 12px;
  background: rgba(255,255,255,.018);
}
.slot-tournament-match.is-resolved {
  border-color: rgba(104,233,146,.13);
}
.slot-tournament-match-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.slot-tournament-match-head span {
  color: rgba(255,255,255,.34);
  font-size: 5px;
  font-weight: 950;
}
.slot-tournament-match-head strong {
  color: #cab8ff;
  font-size: 5px;
  font-weight: 950;
}
.slot-tournament-player {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 5px 7px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 9px;
  background: rgba(255,255,255,.025);
}
.slot-tournament-player.is-winner {
  border-color: rgba(92,236,139,.27);
  background: rgba(48,161,82,.07);
}
.slot-tournament-player.is-loser {
  opacity: .56;
}
.slot-tournament-player-copy {
  min-width: 0;
}
.slot-tournament-player-copy > strong {
  display: block;
  overflow: hidden;
  color: #fff;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.slot-tournament-player-copy > span {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: rgba(255,255,255,.4);
  font-size: 5.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.slot-tournament-player > em {
  color: #d7c8ff;
  font-size: 7px;
  font-style: normal;
  font-weight: 950;
}
.slot-tournament-bye {
  grid-column: 1 / -1;
  color: rgba(255,255,255,.3);
  font-size: 6px;
  font-weight: 950;
  text-align: center;
}
.slot-tournament-vs {
  padding: 3px 0;
  color: rgba(255,255,255,.22);
  font-size: 6px;
  font-weight: 950;
  text-align: center;
}
.slot-tournament-match-admin {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 5px;
  margin-top: 7px;
}
.slot-tournament-match-admin input {
  height: 30px;
}
.slot-tournament-match-admin button {
  padding: 0 9px;
  background: linear-gradient(135deg,#7045ff,#9562ff);
  color: #fff;
}

.slot-tournament-admin {
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.slot-tournament-admin > span {
  display: block;
  margin-bottom: 6px;
  color: #b997ff;
  font-size: 5.5px;
  font-weight: 950;
}
.slot-tournament-admin-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px;
}
.slot-tournament-admin-actions button {
  min-height: 32px;
  background: rgba(255,255,255,.07);
  color: #fff;
}
.slot-tournament-admin-actions button.is-danger {
  color: #ff9daf;
  background: rgba(180,42,68,.12);
}

.slot-tournament-last {
  margin-top: 7px;
  padding: 7px 9px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 9px;
  color: rgba(255,255,255,.38);
  font-size: 5.5px;
}
.slot-tournament-last span { margin-right: 6px; font-weight: 950; }
.slot-tournament-last strong { color: #fff; }

.slot-tournament-admin-create-row {
  display: grid;
  grid-template-columns: 76px minmax(0,1fr);
  gap: 6px;
  margin-top: 8px;
}
.slot-tournament-admin-create-row input {
  height: 32px;
}
.slot-tournament-admin-create-row button {
  margin-top: 0 !important;
}

/* 4 controlos de admin ficam organizados 2x2, sem esmagar os formulários. */
@media (min-width: 1081px) {
  .live-games-admin-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  .slot-tournament-meta {
    grid-template-columns: 1fr 1fr;
  }
  .slot-tournament-meta > div:nth-child(3) {
    grid-column: 1 / -1;
  }
  .slot-tournament-entry > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }
  .slot-tournament-entry > div:first-child > strong {
    text-align: left;
  }
  .slot-tournament-entry-line,
  .slot-tournament-match-admin,
  .slot-tournament-admin-actions {
    grid-template-columns: 1fr;
  }
  .slot-tournament-entry-line button {
    min-height: 36px;
  }
}


/* =========================================================
   JOGOS LIVE — VOLTAR A 1 ATIVIDADE POR LINHA / TAMANHO GRANDE
   ========================================================= */
.live-games-stage {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 22px !important;
}

.live-games-stage > section {
  width: 100% !important;
  max-width: none !important;
}

/* ROLETA DA LIVE — volta ao formato grande do início */
@media (min-width: 921px) {
  .live-games-stage .live-roulette-zone {
    padding: 24px !important;
    border-radius: 22px !important;
  }

  .live-games-stage .live-roulette-head {
    min-height: auto !important;
    gap: 20px !important;
    padding-bottom: 18px !important;
  }

  .live-games-stage .live-roulette-kicker {
    gap: 8px !important;
    font-size: 9px !important;
  }

  .live-games-stage .live-roulette-pulse {
    width: 8px !important;
    height: 8px !important;
  }

  .live-games-stage .live-roulette-head h2 {
    margin: 8px 0 6px !important;
    font-size: clamp(32px, 3vw, 44px) !important;
  }

  .live-games-stage .live-roulette-head p {
    max-width: 760px !important;
    font-size: 9px !important;
    line-height: 1.55 !important;
  }

  .live-games-stage .live-roulette-countdown-wrap {
    min-width: 156px !important;
    padding: 11px 14px !important;
    border-radius: 14px !important;
  }

  .live-games-stage .live-roulette-countdown-wrap span {
    font-size: 7px !important;
  }

  .live-games-stage .live-roulette-countdown-wrap strong {
    font-size: 22px !important;
  }

  .live-games-stage .live-roulette-layout {
    margin-top: 20px !important;
    grid-template-columns: minmax(430px, .82fr) minmax(520px, 1.18fr) !important;
    gap: 24px !important;
  }

  .live-games-stage .live-roulette-wheel-panel {
    min-height: 450px !important;
    border-radius: 18px !important;
    display: grid !important;
    place-items: center !important;
  }

  .live-games-stage .live-roulette-wheel {
    width: 390px !important;
    height: 390px !important;
    max-width: 390px !important;
    max-height: 390px !important;
    border-width: 8px !important;
  }

  .live-games-stage .live-roulette-wheel::before {
    inset: 10px !important;
  }

  .live-games-stage .live-roulette-wheel-center {
    width: 118px !important;
    height: 118px !important;
  }

  .live-games-stage .live-roulette-wheel-center span,
  .live-games-stage .live-roulette-wheel-center small {
    font-size: 7px !important;
  }

  .live-games-stage .live-roulette-wheel-center strong {
    font-size: 30px !important;
  }

  .live-games-stage .live-roulette-pointer {
    top: 12px !important;
    border-left-width: 15px !important;
    border-right-width: 15px !important;
    border-top-width: 26px !important;
  }

  .live-games-stage .live-roulette-sound {
    top: 12px !important;
    left: 12px !important;
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 9px !important;
    font-size: 7px !important;
  }

  .live-games-stage .live-roulette-side {
    gap: 12px !important;
  }

  .live-games-stage .live-roulette-meta {
    gap: 8px !important;
  }

  .live-games-stage .live-roulette-meta > div {
    padding: 11px 12px !important;
    border-radius: 12px !important;
  }

  .live-games-stage .live-roulette-meta span {
    font-size: 7px !important;
  }

  .live-games-stage .live-roulette-meta strong {
    font-size: 14px !important;
  }

  .live-games-stage .live-roulette-entry {
    padding: 13px !important;
    border-radius: 14px !important;
  }

  .live-games-stage .live-roulette-entry label {
    margin-bottom: 7px !important;
    font-size: 8px !important;
  }

  .live-games-stage .live-roulette-entry-line {
    grid-template-columns: minmax(100px, 1fr) auto auto auto !important;
    gap: 7px !important;
  }

  .live-games-stage .live-roulette-entry-line input,
  .live-games-stage .live-roulette-entry-line button,
  .live-games-stage .live-roulette-enter,
  .live-games-stage .live-roulette-admin-spin {
    min-height: 38px !important;
    border-radius: 10px !important;
  }

  .live-games-stage .live-roulette-entry-line button {
    padding: 0 11px !important;
  }

  .live-games-stage .live-roulette-enter {
    margin-top: 8px !important;
  }

  .live-games-stage .live-roulette-players {
    border-radius: 14px !important;
  }

  .live-games-stage .live-roulette-players-head {
    min-height: 34px !important;
    padding: 0 12px !important;
  }

  .live-games-stage .live-roulette-players-head span {
    font-size: 8px !important;
  }

  .live-games-stage .live-roulette-players-head small {
    font-size: 6px !important;
  }

  .live-games-stage .live-roulette-players-list {
    height: 126px !important;
    min-height: 126px !important;
    max-height: 126px !important;
  }

  .live-games-stage .live-roulette-empty {
    min-height: 126px !important;
  }
}

/* As restantes atividades também passam a ocupar a largura toda. */
@media (min-width: 921px) {
  .live-games-stage .live-prediction-zone,
  .live-games-stage .slot-rumble-zone,
  .live-games-stage .slot-tournament-zone {
    width: 100% !important;
    padding: 24px !important;
    border-radius: 22px !important;
  }

  .live-games-stage .live-prediction-head h3 {
    font-size: clamp(32px, 3vw, 42px) !important;
  }

  .live-games-stage .slot-rumble-head h2,
  .live-games-stage .slot-tournament-head h2 {
    font-size: 40px !important;
  }

  .live-games-stage .slot-rumble-layout {
    grid-template-columns: minmax(300px, .75fr) minmax(520px, 1.25fr) !important;
    gap: 18px !important;
  }

  .live-games-stage .slot-rumble-table,
  .live-games-stage .slot-rumble-empty {
    height: 320px !important;
    min-height: 320px !important;
    max-height: 320px !important;
  }

  .live-games-stage .slot-tournament-bracket {
    height: 340px !important;
    min-height: 340px !important;
    max-height: 340px !important;
  }
}

@media (max-width: 1100px) and (min-width: 921px) {
  .live-games-stage .live-roulette-layout {
    grid-template-columns: 360px minmax(0, 1fr) !important;
  }

  .live-games-stage .live-roulette-wheel-panel {
    min-height: 390px !important;
  }

  .live-games-stage .live-roulette-wheel {
    width: 340px !important;
    height: 340px !important;
  }
}


/* =========================================================
   HOME — FAIXA / SPOILER DOS JOGOS DA LIVE
   Só é mostrada pelo JS quando a Twitch está LIVE.
   ========================================================= */
.home-live-games-promo {
  position: fixed;
  top: 82px;
  left: 50%;
  z-index: 920;
  width: min(860px, calc(100% - 32px));
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 0 16px 0 12px;
  border: 1px solid rgba(167, 105, 255, .38);
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(88, 28, 213, .98), rgba(125, 43, 241, .98) 55%, rgba(87, 28, 197, .98));
  box-shadow:
    0 12px 34px rgba(36, 10, 93, .42),
    0 0 26px rgba(126, 61, 255, .14);
  color: #fff;
  text-decoration: none;
  transform: translate(-50%, -8px);
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition:
    opacity .22s ease,
    transform .22s ease,
    filter .18s ease;
}

.home-live-games-promo[hidden] {
  display: none !important;
}

.home-live-games-promo::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(105deg, transparent 0 34%, rgba(255,255,255,.10) 45%, transparent 57%);
  transform: translateX(-80%);
  animation: homeLivePromoSweep 4.2s ease-in-out infinite;
}

.home-live-games-promo.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.home-live-games-promo:hover {
  filter: brightness(1.12);
  transform: translate(-50%, -1px);
}

.home-live-games-promo-live {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 25px;
  padding: 0 9px;
  border-radius: 5px;
  background: #fff;
  color: #31105f;
  font-size: 9px;
  font-weight: 1000;
  letter-spacing: .04em;
}

.home-live-games-promo-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff3f5f;
  box-shadow: 0 0 10px rgba(255,63,95,.72);
  animation: homeLivePromoPulse 1.15s ease-in-out infinite;
}

.home-live-games-promo-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.home-live-games-promo-copy strong {
  flex: 0 0 auto;
  color: #fff;
  font-size: 12px;
  font-weight: 1000;
  letter-spacing: .015em;
}

.home-live-games-promo-copy small {
  overflow: hidden;
  color: rgba(255,255,255,.78);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .04em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-live-games-promo-cta {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  margin-left: auto;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(255,255,255,.75);
  color: #fff;
  font-size: 9px;
  font-weight: 1000;
  white-space: nowrap;
}

.home-live-games-promo-cta b {
  margin-left: 3px;
  font-size: 11px;
}

@keyframes homeLivePromoPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .45; transform: scale(.82); }
}

@keyframes homeLivePromoSweep {
  0%, 65% { transform: translateX(-85%); }
  82%, 100% { transform: translateX(110%); }
}

@media (max-width: 760px) {
  .home-live-games-promo {
    top: 76px;
    width: calc(100% - 20px);
    min-height: 40px;
    gap: 8px;
    padding: 0 10px;
  }

  .home-live-games-promo-live {
    height: 23px;
    padding: 0 7px;
    font-size: 8px;
  }

  .home-live-games-promo-copy strong {
    font-size: 10px;
  }

  .home-live-games-promo-copy small {
    display: none;
  }

  .home-live-games-promo-cta {
    font-size: 8px;
  }
}


/* LIVE HOME BANNER — indicador minimalista */
.home-live-games-promo-live {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  display: grid !important;
  place-items: center !important;
}

.home-live-games-promo-live i {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #ff3f5f !important;
  box-shadow: 0 0 10px rgba(255,63,95,.8) !important;
}


/* =========================================================
   ROLETA DA LIVE — NOMES DOS PARTICIPANTES MAIS SIMPLES
   ========================================================= */
.live-roulette-svg-name {
  fill: #ffffff !important;
  font-size: 7px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  paint-order: normal !important;
  stroke: none !important;
  stroke-width: 0 !important;
  filter: none !important;
}

.live-roulette-svg-initials {
  fill: #ffffff !important;
  font-size: 7px !important;
  font-weight: 800 !important;
  paint-order: normal !important;
  stroke: none !important;
  stroke-width: 0 !important;
  filter: none !important;
}


/* =========================================================
   SLOT RUMBLE — PÓDIO FINAL (fica visível até o admin fechar)
   ========================================================= */
.slot-rumble-layout[hidden] {
  display: none !important;
}

.slot-rumble-state.is-finished {
  border-color: rgba(255, 205, 86, .32) !important;
  background: rgba(255, 198, 70, .09) !important;
  color: #ffe08a !important;
}

.slot-rumble-podium {
  position: relative;
  z-index: 3;
  margin-top: 20px;
  padding: 24px 22px 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 213, 91, .13);
  border-radius: 18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 202, 73, .11), transparent 36%),
    linear-gradient(145deg, rgba(14, 17, 30, .88), rgba(7, 9, 18, .92));
}

.slot-rumble-podium[hidden] {
  display: none !important;
}

.slot-rumble-podium::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.04), transparent 32%),
    linear-gradient(110deg, transparent 35%, rgba(255,255,255,.035) 50%, transparent 65%);
}

.slot-rumble-podium-head {
  position: relative;
  z-index: 2;
  text-align: center;
}

.slot-rumble-podium-head > span {
  color: #ffd86b;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .16em;
}

.slot-rumble-podium-head h3 {
  margin: 7px 0 0;
  color: #fff;
  font-size: clamp(27px, 3vw, 42px);
  font-weight: 950;
  letter-spacing: -.035em;
}

.slot-rumble-podium-head p {
  margin: 7px 0 0;
  color: rgba(255,255,255,.37);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .04em;
}

.slot-rumble-podium-grid {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 34px auto 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 14px;
}

.slot-rumble-podium-card {
  position: relative;
  width: min(260px, 31%);
  min-height: 245px;
  padding: 24px 14px 17px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid rgba(255,255,255,.085);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}

.slot-rumble-podium-card.is-place-1 {
  order: 2;
  min-height: 285px;
  transform: translateY(-20px);
  border-color: rgba(255, 208, 78, .32);
  background:
    radial-gradient(circle at 50% 5%, rgba(255,205,79,.16), transparent 38%),
    rgba(255, 201, 62, .035);
  box-shadow: 0 22px 55px rgba(0,0,0,.28), 0 0 35px rgba(255,198,62,.055);
}

.slot-rumble-podium-card.is-place-2 {
  order: 1;
  border-color: rgba(201,218,244,.18);
}

.slot-rumble-podium-card.is-place-3 {
  order: 3;
  border-color: rgba(214,145,86,.17);
}

.slot-rumble-podium-medal {
  position: absolute;
  top: -15px;
  left: 50%;
  min-width: 48px;
  height: 30px;
  padding: 0 10px;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: #131827;
  color: #fff;
  font-size: 10px;
  font-weight: 950;
}

.is-place-1 .slot-rumble-podium-medal {
  background: linear-gradient(135deg,#ffcd48,#b77b0a);
  color: #181007;
  border-color: rgba(255,225,128,.52);
}

.is-place-2 .slot-rumble-podium-medal {
  background: linear-gradient(135deg,#dfe8f5,#718198);
  color: #111722;
}

.is-place-3 .slot-rumble-podium-medal {
  background: linear-gradient(135deg,#d89965,#80502f);
  color: #170f0a;
}

.slot-rumble-podium-card .slot-rumble-podium-avatar {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  border-radius: 50%;
  border-width: 2px;
  box-shadow: 0 0 0 5px rgba(255,255,255,.035);
}

.is-place-1 .slot-rumble-podium-avatar {
  width: 88px;
  height: 88px;
  flex-basis: 88px;
  border-color: rgba(255,205,72,.55);
  box-shadow: 0 0 0 6px rgba(255,203,66,.055), 0 0 24px rgba(255,197,54,.10);
}

.slot-rumble-podium-place {
  margin-top: 13px;
  color: rgba(255,255,255,.42);
  font-size: 6px;
  font-weight: 950;
  letter-spacing: .11em;
}

.is-place-1 .slot-rumble-podium-place {
  color: #ffd86b;
}

.slot-rumble-podium-name {
  max-width: 100%;
  margin-top: 5px;
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.slot-rumble-podium-slot {
  max-width: 100%;
  margin-top: 5px;
  overflow: hidden;
  color: #8db7ff;
  font-size: 7px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.slot-rumble-podium-score {
  margin-top: 16px;
  color: #fff;
  font-size: 27px;
  font-weight: 950;
  letter-spacing: -.035em;
}

.is-place-1 .slot-rumble-podium-score {
  color: #ffd86b;
  font-size: 34px;
}

.slot-rumble-podium-payout {
  margin-top: 8px;
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}

.is-place-1 .slot-rumble-podium-payout {
  color: #8df0ad;
}

.is-place-2 .slot-rumble-podium-payout {
  color: #b7d2ff;
}

.slot-rumble-podium-admin {
  position: relative;
  z-index: 2;
  margin: 16px auto 0;
  max-width: 900px;
  display: flex;
  justify-content: center;
}

.slot-rumble-podium-admin[hidden] {
  display: none !important;
}

.slot-rumble-podium-admin button {
  min-width: 230px;
  min-height: 39px;
  padding: 0 20px;
  border: 1px solid rgba(169,143,255,.26);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(96,55,190,.85), rgba(121,74,225,.88));
  color: #fff;
  font: 950 8px/1 Montserrat,sans-serif;
  letter-spacing: .06em;
  cursor: pointer;
}

.slot-rumble-podium-admin button:hover {
  filter: brightness(1.12);
}

@media (max-width: 760px) {
  .slot-rumble-podium-grid {
    margin-top: 24px;
    flex-direction: column;
    align-items: stretch;
  }

  .slot-rumble-podium-card,
  .slot-rumble-podium-card.is-place-1 {
    order: initial;
    width: 100%;
    min-height: 0;
    transform: none;
  }

  .slot-rumble-podium-card.is-place-1 { order: 1; }
  .slot-rumble-podium-card.is-place-2 { order: 2; }
  .slot-rumble-podium-card.is-place-3 { order: 3; }
}


/* =========================================================
   TOP VIEWERS DA LIVE — PÓDIO POSICIONADO SOBRE podio.png
   ========================================================= */
.live-viewers-zone {
  margin-top: 22px;
  padding: 24px 22px;
  border: 1px solid rgba(104, 91, 255, .22);
  border-radius: 24px;
  background:
    radial-gradient(circle at 50% 15%, rgba(49, 146, 255, .065), transparent 38%),
    linear-gradient(180deg, rgba(8, 12, 27, .97), rgba(5, 8, 20, .98));
  box-shadow: 0 22px 60px rgba(0,0,0,.24);
}
.live-viewers-zone[hidden] { display: none !important; }

.live-viewers-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}
.live-viewers-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.60);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .1em;
}
.live-viewers-kicker > span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #55d9ff;
  box-shadow: 0 0 14px rgba(85,217,255,.75);
}
.live-viewers-head h2 {
  margin: 7px 0 5px;
  color: #fff;
  font-size: clamp(30px, 3vw, 43px);
  line-height: .96;
  letter-spacing: -.035em;
}
.live-viewers-head p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.42);
  font-size: 8px;
  line-height: 1.55;
  font-weight: 800;
}
.live-viewers-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 7px;
}
.live-viewers-meta > div {
  min-width: 130px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.live-viewers-meta span {
  display: block;
  color: rgba(255,255,255,.35);
  font-size: 5.5px;
  font-weight: 950;
}
.live-viewers-meta strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}

.live-viewers-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(320px, .72fr);
  gap: 16px;
}
.live-viewers-podium-card,
.live-viewers-list-card {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 18px;
  background: rgba(255,255,255,.018);
}
.live-viewers-podium-card { padding: 12px; }

/* O wrapper usa a mesma proporção do PNG. Desta forma os jogadores ficam
   presos aos blocos do pódio mesmo que o ecrã aumente ou diminua. */
.live-viewers-podium-graphic {
  position: relative;
  width: min(100%, 820px);
  aspect-ratio: 1 / 1;
  min-height: 0 !important;
  margin: 0 auto;
  overflow: visible;
}
.live-viewers-podium-graphic > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 18px 40px rgba(41,198,255,.12));
  pointer-events: none;
  user-select: none;
}

.live-viewers-spot {
  position: absolute;
  width: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
  transform: translate(-50%, -50%) !important;
  z-index: 3;
}
.live-viewers-spot[hidden] { display: none !important; }

/* Centros visuais dos três blocos do PNG */
.live-viewers-spot.is-first  { left: 50.0% !important; top: 43.0% !important; bottom: auto !important; }
.live-viewers-spot.is-second { left: 22.2% !important; top: 55.0% !important; bottom: auto !important; }
.live-viewers-spot.is-third  { left: 79.0% !important; top: 64.0% !important; bottom: auto !important; }

.live-viewers-spot-avatar {
  position: relative;
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  display: grid;
  place-items: center;
  overflow: visible;
  border: 2px solid rgba(255,255,255,.96);
  border-radius: 50%;
  background: rgba(10, 20, 42, .88);
  box-shadow: 0 8px 22px rgba(0,0,0,.26), 0 0 18px rgba(74,213,255,.10);
}
.live-viewers-spot.is-first .live-viewers-spot-avatar {
  width: 82px;
  height: 82px;
  flex-basis: 82px;
}
.live-viewers-spot-avatar img,
.live-viewers-row-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}
.live-viewers-spot-initials {
  color: #fff;
  font-size: 15px;
  font-weight: 950;
}
.live-viewers-spot-avatar > span {
  position: absolute;
  right: -4px;
  bottom: -4px;
  min-width: 25px;
  height: 25px;
  padding: 0 6px;
  display: grid;
  place-items: center;
  border: 2px solid #fff;
  border-radius: 999px;
  background: #0a1021;
  color: #fff;
  font-size: 9px;
  font-weight: 950;
}
.live-viewers-spot.is-first .live-viewers-spot-avatar > span {
  background: linear-gradient(135deg, #ffd95b, #b77b0a);
  color: #171007;
}

.live-viewers-spot-name {
  width: 100%;
  overflow: hidden;
  color: #fff;
  font-size: 9px;
  line-height: 1.05;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 2px 8px rgba(0,0,0,.8);
}
.live-viewers-spot-points {
  color: #75ecff;
  font-size: 8px;
  line-height: 1;
  font-weight: 950;
  text-shadow: 0 2px 8px rgba(0,0,0,.75);
}
.live-viewers-spot-minutes {
  color: rgba(255,255,255,.82);
  font-size: 7px;
  line-height: 1;
  font-style: normal;
  font-weight: 850;
  text-shadow: 0 2px 7px rgba(0,0,0,.8);
}
.live-viewers-empty {
  position: absolute;
  left: 50%;
  top: 84%;
  transform: translate(-50%, -50%);
  width: max-content;
  max-width: 72%;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 9px;
  background: rgba(4,9,20,.72);
  color: rgba(255,255,255,.48);
  font-size: 6px;
  font-weight: 900;
  text-align: center;
}
.live-viewers-empty[hidden] { display: none !important; }

.live-viewers-list-card { padding: 13px; }
.live-viewers-list-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 1px 2px 10px;
}
.live-viewers-list-head span,
.live-viewers-list-head strong,
.live-viewers-list-head small { display: block; }
.live-viewers-list-head span { color: #fff; font-size: 7px; font-weight: 950; }
.live-viewers-list-head strong { margin-top: 3px; color: rgba(255,255,255,.34); font-size: 5px; font-weight: 900; }
.live-viewers-list-head small { color: #74eaff; font-size: 6px; font-weight: 950; }
.live-viewers-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 510px;
  overflow: auto;
  padding-right: 2px;
}
.live-viewers-row {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 11px;
  background: rgba(255,255,255,.022);
}
.live-viewers-row-rank {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: rgba(96,93,245,.12);
  color: #c8c1ff;
  font-size: 8px;
  font-weight: 950;
}
.live-viewers-row-user { min-width: 0; display: flex; align-items: center; gap: 7px; }
.live-viewers-row-avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  background: rgba(255,255,255,.055);
  color: #fff;
  font-size: 7px;
  font-weight: 950;
}
.live-viewers-row-copy { min-width: 0; }
.live-viewers-row-copy strong,
.live-viewers-row-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-viewers-row-copy strong { color: #fff; font-size: 7px; font-weight: 950; }
.live-viewers-row-copy span { margin-top: 2px; color: rgba(255,255,255,.38); font-size: 5.5px; font-weight: 850; }
.live-viewers-row-score { text-align: right; }
.live-viewers-row-score strong { display: block; color: #72eaff; font-size: 8px; font-weight: 950; }
.live-viewers-row-score span { display: block; margin-top: 1px; color: rgba(255,255,255,.32); font-size: 5px; font-weight: 900; }
.live-viewers-list-empty {
  padding: 18px 10px;
  border: 1px dashed rgba(255,255,255,.08);
  border-radius: 11px;
  color: rgba(255,255,255,.35);
  font-size: 6px;
  font-weight: 900;
  text-align: center;
}

@media (max-width: 1050px) {
  .live-viewers-layout { grid-template-columns: 1fr; }
  .live-viewers-podium-graphic { width: min(100%, 760px); }
}
@media (max-width: 720px) {
  .live-viewers-zone { padding: 17px 12px; border-radius: 18px; }
  .live-viewers-head { flex-direction: column; }
  .live-viewers-meta { width: 100%; }
  .live-viewers-podium-card { padding: 4px; }
  .live-viewers-spot { width: 106px; }
  .live-viewers-spot-avatar { width: 54px; height: 54px; flex-basis: 54px; }
  .live-viewers-spot.is-first .live-viewers-spot-avatar { width: 62px; height: 62px; flex-basis: 62px; }
  .live-viewers-spot-name { font-size: 7px; }
  .live-viewers-spot-points { font-size: 6.5px; }
  .live-viewers-spot-minutes { font-size: 6px; }
}
\n\n/* =========================================================\n   TOP VIEWERS — VERSÃO COMPACTA + PRÉMIOS FINAIS\n   ========================================================= */\n.live-viewers-zone {\n  padding: 17px 18px !important;\n  border-radius: 19px !important;\n}\n\n.live-viewers-head {\n  align-items: center !important;\n  margin-bottom: 12px !important;\n}\n\n.live-viewers-kicker {\n  font-size: 6.5px !important;\n}\n\n.live-viewers-kicker > span {\n  width: 7px !important;\n  height: 7px !important;\n}\n\n.live-viewers-head h2 {\n  margin: 5px 0 3px !important;\n  font-size: clamp(23px, 2vw, 31px) !important;\n  letter-spacing: -.025em !important;\n}\n\n.live-viewers-head p {\n  max-width: 660px !important;\n  font-size: 6.5px !important;\n  line-height: 1.4 !important;\n}\n\n.live-viewers-meta {\n  gap: 6px !important;\n}\n.live-viewers-meta > div {\n  min-width: 108px !important;\n  padding: 8px 10px !important;\n  border-radius: 10px !important;\n}\n.live-viewers-meta span { font-size: 4.8px !important; }\n.live-viewers-meta strong { margin-top: 3px !important; font-size: 10px !important; }\n\n.live-viewers-layout {\n  grid-template-columns: minmax(430px, .92fr) minmax(330px, 1.08fr) !important;\n  gap: 12px !important;\n  align-items: stretch !important;\n}\n\n.live-viewers-podium-card {\n  padding: 6px !important;\n  display: flex !important;\n  align-items: center !important;\n  justify-content: center !important;\n}\n\n.live-viewers-podium-graphic {\n  width: min(100%, 545px) !important;\n  aspect-ratio: 1 / 1 !important;\n}\n\n/* Posições afinadas à arte do podio.png */\n.live-viewers-spot.is-first  { left: 50.0% !important; top: 42.0% !important; }\n.live-viewers-spot.is-second { left: 22.0% !important; top: 54.0% !important; }\n.live-viewers-spot.is-third  { left: 79.0% !important; top: 63.0% !important; }\n\n.live-viewers-spot {\n  width: 118px !important;\n  gap: 3px !important;\n}\n.live-viewers-spot-avatar {\n  width: 52px !important;\n  height: 52px !important;\n  flex-basis: 52px !important;\n  border-width: 2px !important;\n}\n.live-viewers-spot.is-first .live-viewers-spot-avatar {\n  width: 60px !important;\n  height: 60px !important;\n  flex-basis: 60px !important;\n}\n.live-viewers-spot-avatar > span {\n  min-width: 20px !important;\n  height: 20px !important;\n  padding: 0 4px !important;\n  font-size: 7px !important;\n}\n.live-viewers-spot-name { font-size: 7px !important; }\n.live-viewers-spot-points { font-size: 6.5px !important; }\n.live-viewers-spot-minutes { font-size: 5.8px !important; }\n.live-viewers-spot-reward {\n  display: block;\n  margin-top: 2px;\n  color: #8fffb3;\n  font-size: 5.2px;\n  line-height: 1;\n  font-weight: 950;\n  font-style: normal;\n  text-shadow: 0 2px 7px rgba(0,0,0,.75);\n}\n.live-viewers-spot.is-first .live-viewers-spot-reward { color: #ffe187; }\n\n.live-viewers-empty {\n  top: 86% !important;\n  max-width: 66% !important;\n  padding: 6px 8px !important;\n  font-size: 5px !important;\n}\n\n.live-viewers-list-card { padding: 10px !important; }\n.live-viewers-list-head { padding-bottom: 7px !important; }\n.live-viewers-list-head span { font-size: 6.5px !important; }\n.live-viewers-list-head strong { font-size: 4.7px !important; }\n.live-viewers-list-head small { font-size: 5.4px !important; }\n.live-viewers-list {\n  max-height: 420px !important;\n  gap: 5px !important;\n}\n.live-viewers-row {\n  grid-template-columns: 27px minmax(0,1fr) auto !important;\n  gap: 7px !important;\n  padding: 6px 7px !important;\n  border-radius: 9px !important;\n}\n.live-viewers-row-rank {\n  width: 27px !important;\n  height: 27px !important;\n  font-size: 7px !important;\n}\n.live-viewers-row-avatar {\n  width: 29px !important;\n  height: 29px !important;\n  flex-basis: 29px !important;\n}\n.live-viewers-row-copy strong { font-size: 6.5px !important; }\n.live-viewers-row-copy span { font-size: 5px !important; }\n.live-viewers-row-score strong { font-size: 7px !important; }\n.live-viewers-row-score span { font-size: 4.5px !important; }\n\n.live-viewers-row.is-rank-1 { border-color: rgba(255,214,91,.16) !important; }\n.live-viewers-row.is-rank-2 { border-color: rgba(210,225,255,.11) !important; }\n.live-viewers-row.is-rank-3 { border-color: rgba(224,157,103,.11) !important; }\n\n@media (max-width: 1000px) {\n  .live-viewers-layout { grid-template-columns: 1fr !important; }\n  .live-viewers-podium-graphic { width: min(100%, 500px) !important; }\n}\n

/* =========================================================
   TOP VIEWERS — TAMANHO FINAL EQUILIBRADO
   Caixa/pódio menores + tipografia realmente legível
   ========================================================= */
.live-viewers-zone {
  padding: 18px 20px !important;
  border-radius: 20px !important;
}

.live-viewers-head {
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 14px !important;
}

.live-viewers-kicker {
  gap: 8px !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
}

.live-viewers-kicker > span {
  width: 8px !important;
  height: 8px !important;
}

.live-viewers-head h2 {
  margin: 6px 0 5px !important;
  font-size: clamp(28px, 2.2vw, 34px) !important;
  line-height: 1 !important;
  letter-spacing: -.025em !important;
}

.live-viewers-head p {
  max-width: 720px !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  font-weight: 750 !important;
}

.live-viewers-meta {
  gap: 8px !important;
}

.live-viewers-meta > div {
  min-width: 125px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
}

.live-viewers-meta span {
  font-size: 8px !important;
  letter-spacing: .06em !important;
}

.live-viewers-meta strong {
  margin-top: 4px !important;
  font-size: 14px !important;
}

/* Menos área vazia e duas colunas mais equilibradas */
.live-viewers-layout {
  grid-template-columns: minmax(390px, .92fr) minmax(360px, 1.08fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.live-viewers-podium-card {
  min-height: 0 !important;
  padding: 8px 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.live-viewers-podium-graphic {
  width: min(100%, 430px) !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  margin: 0 auto !important;
}

/* Mantém os jogadores presos aos três blocos da arte */
.live-viewers-spot.is-first {
  left: 50% !important;
  top: 42% !important;
}

.live-viewers-spot.is-second {
  left: 22% !important;
  top: 54% !important;
}

.live-viewers-spot.is-third {
  left: 79% !important;
  top: 63% !important;
}

.live-viewers-spot {
  width: 132px !important;
  gap: 4px !important;
}

.live-viewers-spot-avatar {
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
  border-width: 2px !important;
}

.live-viewers-spot.is-first .live-viewers-spot-avatar {
  width: 62px !important;
  height: 62px !important;
  flex-basis: 62px !important;
}

.live-viewers-spot-avatar > span {
  min-width: 22px !important;
  height: 22px !important;
  padding: 0 5px !important;
  font-size: 9px !important;
}

.live-viewers-spot-initials {
  font-size: 13px !important;
}

.live-viewers-spot-name {
  font-size: 11px !important;
  line-height: 1.1 !important;
}

.live-viewers-spot-points {
  font-size: 10px !important;
}

.live-viewers-spot-minutes {
  font-size: 9px !important;
}

.live-viewers-spot-reward {
  display: block !important;
  margin-top: 2px !important;
  color: #8fffb3 !important;
  font-size: 9px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  font-style: normal !important;
}

.live-viewers-spot.is-first .live-viewers-spot-reward {
  color: #ffe187 !important;
}

.live-viewers-empty {
  top: 87% !important;
  max-width: 76% !important;
  padding: 7px 10px !important;
  font-size: 8px !important;
  line-height: 1.25 !important;
}

/* TOP 10 mais curto, mas com letras maiores */
.live-viewers-list-card {
  min-height: 0 !important;
  padding: 12px !important;
}

.live-viewers-list-head {
  align-items: flex-start !important;
  padding: 1px 2px 10px !important;
}

.live-viewers-list-head span {
  font-size: 10px !important;
}

.live-viewers-list-head strong {
  margin-top: 3px !important;
  font-size: 8px !important;
}

.live-viewers-list-head small {
  font-size: 9px !important;
  line-height: 1.25 !important;
  text-align: right !important;
}

.live-viewers-list {
  max-height: 365px !important;
  gap: 6px !important;
}

.live-viewers-row {
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  gap: 9px !important;
  padding: 8px 9px !important;
  border-radius: 11px !important;
}

.live-viewers-row-rank {
  width: 34px !important;
  height: 34px !important;
  font-size: 10px !important;
}

.live-viewers-row-avatar {
  width: 35px !important;
  height: 35px !important;
  flex-basis: 35px !important;
  font-size: 9px !important;
}

.live-viewers-row-copy strong {
  font-size: 10px !important;
}

.live-viewers-row-copy span {
  margin-top: 3px !important;
  font-size: 8px !important;
}

.live-viewers-row-score strong {
  font-size: 11px !important;
}

.live-viewers-row-score span {
  margin-top: 2px !important;
  font-size: 7px !important;
}

.live-viewers-list-empty {
  padding: 16px 12px !important;
  font-size: 9px !important;
}

/* Desktop largo: a secção deixa de parecer gigante */
@media (min-width: 1200px) {
  .live-viewers-podium-graphic {
    width: 420px !important;
  }

  .live-viewers-list {
    max-height: 355px !important;
  }
}

@media (max-width: 1000px) {
  .live-viewers-layout {
    grid-template-columns: 1fr !important;
  }

  .live-viewers-podium-graphic {
    width: min(100%, 430px) !important;
  }
}

@media (max-width: 720px) {
  .live-viewers-zone {
    padding: 15px 12px !important;
  }

  .live-viewers-head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .live-viewers-meta {
    width: 100% !important;
  }

  .live-viewers-podium-graphic {
    width: min(100%, 390px) !important;
  }

  .live-viewers-head h2 {
    font-size: 27px !important;
  }

  .live-viewers-spot {
    width: 105px !important;
  }

  .live-viewers-spot-name {
    font-size: 9px !important;
  }

  .live-viewers-spot-points,
  .live-viewers-spot-reward {
    font-size: 8px !important;
  }

  .live-viewers-spot-minutes {
    font-size: 7px !important;
  }
}


/* TOP VIEWERS — botões de simulação local */
.live-viewers-test-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.live-viewers-test-actions .live-games-admin-create-rumble {
  margin-top: 0 !important;
}

@media (max-width: 680px) {
  .live-viewers-test-actions {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   TOP VIEWERS — POSICIONAMENTO FINAL DO PÓDIO
   Avatares/textos alinhados com os 3 blocos do podio.png
   ========================================================= */
.live-viewers-podium-graphic {
  width: min(100%, 470px) !important;
}

.live-viewers-spot {
  transform: translate(-50%, 0) !important;
  gap: 2px !important;
}

.live-viewers-spot.is-first {
  left: 50.2% !important;
  top: 33.8% !important;
  width: 106px !important;
}

.live-viewers-spot.is-second {
  left: 20.0% !important;
  top: 50.8% !important;
  width: 95px !important;
}

.live-viewers-spot.is-third {
  left: 80.1% !important;
  top: 55.8% !important;
  width: 95px !important;
}

.live-viewers-spot-avatar {
  width: 48px !important;
  height: 48px !important;
  flex-basis: 48px !important;
}

.live-viewers-spot.is-first .live-viewers-spot-avatar {
  width: 56px !important;
  height: 56px !important;
  flex-basis: 56px !important;
}

.live-viewers-spot-avatar > span {
  min-width: 19px !important;
  height: 19px !important;
  font-size: 8px !important;
  right: -3px !important;
  bottom: -3px !important;
}

.live-viewers-spot-name {
  font-size: 8px !important;
  line-height: 1.05 !important;
  letter-spacing: .01em !important;
}

.live-viewers-spot-points {
  font-size: 7px !important;
  line-height: 1 !important;
}

.live-viewers-spot-minutes {
  font-size: 6px !important;
  line-height: 1 !important;
}

.live-viewers-spot-reward {
  font-size: 6px !important;
  line-height: 1.05 !important;
  margin-top: 1px !important;
}

.live-viewers-empty {
  top: 89% !important;
}


/* =========================================================
   TOP VIEWERS — VIEWERS EM CIMA DOS BLOCOS DE GELO
   A base de cada conjunto fica ancorada à superfície do bloco.
   ========================================================= */
.live-viewers-spot {
  transform: translate(-50%, -100%) translateY(-5px) !important;
}

/* 1.º — topo do bloco alto central */
.live-viewers-spot.is-first {
  left: 50.2% !important;
  top: 25.0% !important;
  width: 110px !important;
}

/* 2.º — topo do bloco esquerdo */
.live-viewers-spot.is-second {
  left: 22.0% !important;
  top: 38.0% !important;
  width: 100px !important;
}

/* 3.º — topo do bloco direito */
.live-viewers-spot.is-third {
  left: 79.2% !important;
  top: 49.5% !important;
  width: 100px !important;
}

/* Um pouco mais compactos para não invadirem o bloco de cima */
.live-viewers-spot-avatar {
  width: 46px !important;
  height: 46px !important;
  flex-basis: 46px !important;
}

.live-viewers-spot.is-first .live-viewers-spot-avatar {
  width: 54px !important;
  height: 54px !important;
  flex-basis: 54px !important;
}

.live-viewers-spot-name {
  font-size: 8px !important;
}

.live-viewers-spot-points {
  font-size: 7px !important;
}

.live-viewers-spot-minutes,
.live-viewers-spot-reward {
  font-size: 6px !important;
}


/* =========================================================
   TOP VIEWERS — SUBIR MAIS O CONTEÚDO SOBRE O PÓDIO
   ========================================================= */
.live-viewers-spot {
  transform: translate(-50%, -100%) translateY(-10px) !important;
}

/* 1.º — bloco central */
.live-viewers-spot.is-first {
  top: 22.2% !important;
}

/* 2.º — bloco esquerdo */
.live-viewers-spot.is-second {
  top: 35.0% !important;
}

/* 3.º — bloco direito */
.live-viewers-spot.is-third {
  top: 46.5% !important;
}


/* =========================================================
   TOP VIEWERS — DESCER UM POUCO O PÓDIO COMPLETO
   Desce a arte do pódio e os viewers juntos para melhor centragem.
   ========================================================= */
.live-viewers-podium-card {
  align-items: flex-start !important;
}

.live-viewers-podium-graphic {
  margin-top: 30px !important;
}


/* =========================================================
   TOP VIEWERS — TEXTO DO PÓDIO SIMPLIFICADO
   Apenas NOME + PRÉMIO FINAL
   ========================================================= */
.live-viewers-spot-minutes,
.live-viewers-spot-reward {
  display: none !important;
}

.live-viewers-spot-name {
  margin-top: 3px !important;
}

.live-viewers-spot-points {
  display: block !important;
  margin-top: 2px !important;
  color: #8fffb3 !important;
  font-size: 8px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
}

.live-viewers-spot.is-first .live-viewers-spot-points {
  color: #ffe187 !important;
}


/* =========================================================
   TOP VIEWERS — BOTÃO ADMIN PARA MOSTRAR PÓDIO NO OBS
   ========================================================= */
.live-viewers-obs-show {
  appearance: none;
  border: 1px solid rgba(116, 196, 255, .42);
  border-radius: 10px;
  min-height: 38px;
  padding: 0 14px;
  background: linear-gradient(180deg, rgba(28, 132, 218, .96), rgba(15, 82, 158, .96));
  box-shadow: 0 8px 22px rgba(0, 84, 170, .24), inset 0 1px 0 rgba(255,255,255,.14);
  color: #fff;
  font: inherit;
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .055em;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}
.live-viewers-obs-show:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.08); }
.live-viewers-obs-show:active:not(:disabled) { transform: translateY(0); }
.live-viewers-obs-show:disabled { opacity: .45; cursor: not-allowed; }
.live-viewers-obs-show[hidden] { display: none !important; }

@media (max-width: 760px) {
  .live-viewers-obs-show { width: 100%; min-height: 36px; }
}


/* =========================================================
   ROLETA — BOTÃO ADMIN "MOSTRAR ROLETA NO OBS" DENTRO DA CAIXA
   ========================================================= */
.live-roulette-head-actions .live-roulette-obs-show {
  width: 100%;
  min-height: 38px;
  justify-self: stretch;
}

@media (max-width: 760px) {
  .live-roulette-head {
    align-items: stretch;
  }

  .live-roulette-head-actions {
    width: 100%;
    min-width: 0;
  }

  .live-roulette-countdown-wrap {
    min-width: 0;
  }

  .live-roulette-head-actions .live-roulette-obs-show {
    width: 100%;
  }
}


/* =========================================================
   PREVISÃO LIVE — BOTÃO OBS DENTRO DA PRÓPRIA CAIXA
   ========================================================= */
.live-prediction-head-actions {
  min-width: 184px;
  display: grid;
  justify-items: stretch;
  align-content: start;
  gap: 8px;
}

.live-prediction-head-actions .live-prediction-state {
  width: 100%;
  text-align: center;
}

.live-prediction-head-actions .live-prediction-obs-show {
  width: 100%;
  min-height: 38px;
}

@media (max-width: 760px) {
  .live-prediction-head-actions {
    width: 100%;
    min-width: 0;
  }
}


/* ROLETA EUROPEIA — logo exato no histórico/notificações */
.notification-item-icon img[src*="roletaeuropeia.png"] {
  width: 36px !important;
  height: 36px !important;
  max-width: none !important;
  object-fit: contain !important;
  filter: drop-shadow(0 0 6px rgba(91,191,255,.34)) !important;
}
@media (max-width: 850px) {
  .notification-item-icon img[src*="roletaeuropeia.png"] {
    width: 34px !important;
    height: 34px !important;
  }
}


/* =========================================================
   CORRIDA DE BOLAS · 5 CORES
   ========================================================= */
.ball-race-zone {
  position: relative; overflow: hidden; padding: 22px; border: 1px solid rgba(111,195,255,.2); border-radius: 20px;
  background: radial-gradient(circle at 14% -12%,rgba(58,154,218,.18),transparent 38%),linear-gradient(145deg,rgba(4,20,31,.98),rgba(5,31,43,.97));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035),0 24px 60px rgba(0,0,0,.24);
}
.ball-race-zone::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:radial-gradient(circle at 16px 16px,rgba(255,255,255,.4) 0 1px,transparent 1.5px); background-size:36px 36px; }
.ball-race-zone > * { position:relative; z-index:1; }
.ball-race-head { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:16px; }
.ball-race-kicker { display:inline-flex; gap:7px; align-items:center; color:#7fd5ff; font-size:9px; font-weight:900; letter-spacing:.14em; }
.ball-race-kicker > span { width:7px;height:7px;border-radius:50%;background:#4cc7ff;box-shadow:0 0 12px #4cc7ff; }
.ball-race-head h2 { margin:4px 0 4px; color:#fff; font-size:27px; line-height:1; font-weight:950; letter-spacing:-.035em; }
.ball-race-head p { margin:0; max-width:690px; color:rgba(225,242,252,.64); font-size:10px; font-weight:750; line-height:1.55; letter-spacing:.02em; }
.ball-race-head-actions { min-width:180px; display:grid; gap:8px; }
.ball-race-state { padding:10px 14px; border-radius:11px; border:1px solid rgba(83,211,154,.28); background:rgba(33,136,90,.12); color:#8ff0bc; text-align:center; font-size:9px; font-weight:950; letter-spacing:.08em; }
.ball-race-state.is-racing { border-color:rgba(91,191,255,.35);background:rgba(32,114,181,.15);color:#a7ddff; }
.ball-race-state.is-finished { border-color:rgba(255,212,93,.3);background:rgba(174,119,24,.14);color:#ffe092; }
.ball-race-meta { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-bottom:15px; }
.ball-race-meta > div { min-height:57px; padding:10px 12px; border:1px solid rgba(128,203,244,.14); border-radius:12px; background:rgba(0,9,15,.34); display:grid; align-content:center; }
.ball-race-meta span { color:rgba(204,231,245,.45);font-size:8px;font-weight:900;letter-spacing:.08em; }
.ball-race-meta strong { margin-top:2px;color:#fff;font-size:16px;font-weight:950; }
.ball-race-balls { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:10px 0 14px; }
.ball-race-bet-ball { position:relative; min-width:0; min-height:150px; padding:14px 8px 11px; border-radius:16px; border:1px solid rgba(255,255,255,.12); background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.18)); color:#fff; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:5px; transition:transform .16s ease,border-color .16s ease,background .16s ease,opacity .16s ease; }
.ball-race-bet-ball:hover:not(:disabled){ transform:translateY(-2px);border-color:rgba(255,255,255,.28);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(0,0,0,.16)); }
.ball-race-bet-ball:disabled { opacity:.42;cursor:not-allowed; }
.ball-race-bet-ball.is-mine { border-color:rgba(255,255,255,.46); box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }
.ball-race-marble,.ball-race-result-ball { width:62px;height:62px;border-radius:50%;position:relative;box-shadow:inset -12px -15px 18px rgba(0,0,0,.34),inset 10px 9px 14px rgba(255,255,255,.28),0 9px 18px rgba(0,0,0,.28); }
.ball-race-marble::after,.ball-race-result-ball::after { content:"";position:absolute;width:18px;height:12px;border-radius:50%;left:12px;top:9px;background:rgba(255,255,255,.48);filter:blur(1px);transform:rotate(-28deg); }
.ball-race-bet-ball.is-red .ball-race-marble,.ball-race-result-ball.is-red{background:radial-gradient(circle at 30% 24%,#ff9caa 0 7%,#ff4057 30%,#b40d2b 72%,#540718 100%)}
.ball-race-bet-ball.is-blue .ball-race-marble,.ball-race-result-ball.is-blue{background:radial-gradient(circle at 30% 24%,#b7e7ff 0 7%,#38a8ff 30%,#0867bf 72%,#05315c 100%)}
.ball-race-bet-ball.is-green .ball-race-marble,.ball-race-result-ball.is-green{background:radial-gradient(circle at 30% 24%,#c4ffdd 0 7%,#43d982 30%,#118b4c 72%,#064826 100%)}
.ball-race-bet-ball.is-orange .ball-race-marble,.ball-race-result-ball.is-orange{background:radial-gradient(circle at 30% 24%,#ffe0a6 0 7%,#ff9d35 30%,#cf5c08 72%,#642a03 100%)}
.ball-race-bet-ball.is-purple .ball-race-marble,.ball-race-result-ball.is-purple{background:radial-gradient(circle at 30% 24%,#ebd6ff 0 7%,#a865ff 30%,#6530ba 72%,#30175c 100%)}
.ball-race-bet-ball strong { font-size:10px;font-weight:950;letter-spacing:.04em; }
.ball-race-bet-ball small { color:rgba(221,239,249,.52);font-size:7px;font-weight:850; }
.ball-race-bet-ball em { width:100%;margin-top:2px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);color:#fff;font-style:normal;font-size:8px;font-weight:950; }
.ball-race-bet-controls { display:grid; grid-template-columns:minmax(160px,.8fr) minmax(360px,1.5fr) auto; align-items:center; gap:12px; padding:12px;border:1px solid rgba(122,202,244,.13);border-radius:14px;background:rgba(0,9,15,.34); }
.ball-race-bet-copy { display:grid;gap:2px; }.ball-race-bet-copy span{color:rgba(206,233,247,.43);font-size:7px;font-weight:900;letter-spacing:.08em}.ball-race-bet-copy strong{color:#fff;font-size:9px;font-weight:950}
.ball-race-chip-row { display:flex;align-items:stretch;gap:7px; }.ball-race-chip-row button,.ball-race-chip-row label{min-height:42px;border:1px solid rgba(128,206,247,.15);border-radius:10px;background:rgba(7,31,44,.82);color:#dff5ff;font:inherit;font-size:9px;font-weight:950}.ball-race-chip-row button{min-width:48px;cursor:pointer}.ball-race-chip-row button.is-selected{border-color:rgba(85,193,255,.58);background:rgba(20,117,180,.28);box-shadow:inset 0 0 0 1px rgba(90,198,255,.12)}.ball-race-chip-row label{display:flex;align-items:center;gap:6px;padding:0 9px}.ball-race-chip-row label span{font-size:7px;color:rgba(221,241,250,.46)}.ball-race-chip-row input{width:74px;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:11px;font-weight:950}.ball-race-clear{min-height:42px;padding:0 13px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:8px;font-weight:950;cursor:pointer}.ball-race-clear:disabled{opacity:.38;cursor:not-allowed}
.ball-race-myentry,.ball-race-message,.ball-race-last { margin-top:10px;padding:10px 12px;border-radius:11px;border:1px solid rgba(126,203,243,.13);background:rgba(0,10,16,.27);color:#ccefff;font-size:9px;font-weight:850 }.ball-race-message:empty{display:none}.ball-race-message.is-error{border-color:rgba(255,85,105,.23);color:#ff9bab}.ball-race-message.is-success{border-color:rgba(62,219,145,.22);color:#91efbd}
.ball-race-result { margin-top:13px;display:flex;align-items:center;gap:13px;padding:14px;border:1px solid rgba(255,215,102,.24);border-radius:14px;background:linear-gradient(90deg,rgba(113,77,12,.23),rgba(8,25,34,.3)); }.ball-race-result[hidden]{display:none}.ball-race-result>span{color:#ffdb7a;font-size:8px;font-weight:950;letter-spacing:.1em}.ball-race-result-ball{width:44px;height:44px;flex:0 0 auto}.ball-race-result>div:last-child{display:grid;gap:2px}.ball-race-result strong{color:#fff;font-size:12px;font-weight:950}.ball-race-result small{color:rgba(224,239,248,.58);font-size:8px;font-weight:800}
.ball-race-admin { margin-top:13px;padding:12px;border:1px dashed rgba(103,193,241,.24);border-radius:13px;background:rgba(10,45,63,.16) }.ball-race-admin>span{display:block;margin-bottom:8px;color:#76d4ff;font-size:8px;font-weight:950;letter-spacing:.08em}.ball-race-admin-actions{display:flex;gap:8px;flex-wrap:wrap}.ball-race-admin-actions button{min-height:39px;padding:0 15px;border:1px solid rgba(92,194,248,.25);border-radius:10px;background:linear-gradient(180deg,rgba(25,124,190,.88),rgba(12,77,133,.92));color:#fff;font:inherit;font-size:8px;font-weight:950;cursor:pointer}.ball-race-admin-actions button.is-danger{border-color:rgba(255,79,99,.25);background:linear-gradient(180deg,rgba(157,39,55,.78),rgba(98,21,34,.84))}.ball-race-admin-actions button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:900px){.ball-race-balls{grid-template-columns:repeat(3,minmax(0,1fr))}.ball-race-bet-controls{grid-template-columns:1fr}.ball-race-chip-row{flex-wrap:wrap}}
@media(max-width:620px){.ball-race-head{display:grid}.ball-race-head-actions{min-width:0}.ball-race-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.ball-race-balls{grid-template-columns:repeat(2,minmax(0,1fr))}.ball-race-bet-ball{min-height:135px}.ball-race-marble{width:54px;height:54px}}


/* ===================================================== */
/* ROLETA DA LIVE (VIEWERS) — RESTAURADA EM PARALELO    */
/* ===================================================== */
.viewer-roulette-zone {
  position: relative;
  margin-top: 18px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  background:
    radial-gradient(circle at 8% 5%, rgba(62,198,255,.08), transparent 24%),
    radial-gradient(circle at 92% 8%, rgba(130,76,255,.12), transparent 27%),
    rgba(7,9,18,.90);
  box-shadow: 0 28px 80px rgba(0,0,0,.22);
}
.viewer-roulette-zone[hidden] { display: none !important; }
.viewer-roulette-zone::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 95%);
}
.viewer-roulette-head,
.viewer-roulette-layout { position: relative; z-index: 1; }
.viewer-roulette-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.viewer-roulette-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,.55);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
}
.viewer-roulette-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4f69;
  box-shadow: 0 0 0 5px rgba(255,79,105,.08);
  animation: liveRoulettePulse 1.45s ease-in-out infinite;
}
.viewer-roulette-head h2 {
  margin: 8px 0 6px;
  color: #fff;
  font-size: clamp(26px, 2.5vw, 40px);
  line-height: .95;
  letter-spacing: -.035em;
  font-weight: 950;
}
.viewer-roulette-head p {
  margin: 0;
  max-width: 720px;
  color: rgba(255,255,255,.42);
  font-size: 9px;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .035em;
}
.viewer-roulette-head-actions {
  min-width: 156px;
  display: grid;
  align-content: start;
  gap: 8px;
}

.viewer-roulette-countdown-wrap {
  min-width: 156px;
  padding: 11px 14px;
  display: grid;
  gap: 3px;
  text-align: right;
  border: 1px solid rgba(151,118,255,.22);
  border-radius: 14px;
  background: rgba(113,73,226,.08);
}
.viewer-roulette-countdown-wrap span {
  color: rgba(255,255,255,.4);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .09em;
}
.viewer-roulette-countdown-wrap strong {
  color: #dcd2ff;
  font-size: 20px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.viewer-roulette-zone.is-spinning .viewer-roulette-countdown-wrap strong { color: #fff; }
.viewer-roulette-zone.is-spinning .viewer-roulette-countdown-wrap span::after { content: " · A RODAR"; color: #ff8298; }

.viewer-roulette-layout {
  margin-top: 20px;
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(420px, 1.22fr);
  gap: 24px;
  align-items: stretch;
}
.viewer-roulette-wheel-panel {
  position: relative;
  min-height: 350px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 18px;
  background: radial-gradient(circle at 50% 48%, rgba(119,72,255,.10), transparent 56%), rgba(255,255,255,.018);
  overflow: hidden;
}
.viewer-roulette-wheel {
  position: relative;
  width: min(300px, 72vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(255,255,255,.08) 0 100%);
  border: 8px solid rgba(255,255,255,.11);
  box-shadow: 0 0 0 1px rgba(151,120,255,.22), 0 0 52px rgba(105,69,255,.11), inset 0 0 38px rgba(0,0,0,.34);
  transform: rotate(0deg);
  will-change: transform;
}
.viewer-roulette-wheel::before {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.13);
  pointer-events: none;
}
.viewer-roulette-wheel-center {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 118px;
  height: 118px;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  display: grid;
  place-content: center;
  text-align: center;
  background: #090b15;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 15px 42px rgba(0,0,0,.38), inset 0 0 26px rgba(120,75,255,.09);
}
.viewer-roulette-wheel-center span,
.viewer-roulette-wheel-center small { color: rgba(255,255,255,.38); font-size: 7px; font-weight: 900; letter-spacing: .12em; }
.viewer-roulette-wheel-center strong { margin: 2px 0; color: #fff; font-size: 28px; font-weight: 950; font-variant-numeric: tabular-nums; }
.viewer-roulette-pointer {
  position: absolute;
  z-index: 4;
  top: 12px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 26px solid #fff;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.4));
}
.viewer-roulette-result {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  width: calc(100% - 30px);
  max-width: 360px;
  padding: 11px 14px;
  border-radius: 12px;
  text-align: center;
  color: #fff;
  background: rgba(9,11,21,.94);
  border: 1px solid rgba(121,239,174,.25);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .035em;
}
.viewer-roulette-result strong { color: #79efae; }

.viewer-roulette-side { min-width: 0; display: grid; align-content: start; gap: 12px; }
.viewer-roulette-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 8px;
}
.viewer-roulette-meta > div {
  min-width: 0;
  padding: 11px 12px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.viewer-roulette-meta span { color: rgba(255,255,255,.35); font-size: 7px; font-weight: 900; letter-spacing: .07em; }
.viewer-roulette-meta strong { color: #fff; font-size: 14px; font-weight: 950; }
.viewer-roulette-entry {
  padding: 13px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.02);
}
.viewer-roulette-entry label { display: block; margin: 0 0 7px; color: rgba(255,255,255,.42); font-size: 8px; font-weight: 900; letter-spacing: .06em; }
.viewer-roulette-entry-line {
  display: grid;
  grid-template-columns: minmax(100px,1fr) auto auto auto;
  gap: 7px;
}
.viewer-roulette-entry-line input,
.viewer-roulette-entry-line button,
.viewer-roulette-enter,
.viewer-roulette-admin-spin {
  min-height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.11);
  font: inherit;
  font-weight: 900;
}
.viewer-roulette-entry-line input {
  width: 100%;
  min-width: 0;
  padding: 0 12px;
  color: #fff;
  background: rgba(255,255,255,.04);
  outline: none;
}
.viewer-roulette-entry-line input:focus { border-color: rgba(154,121,255,.48); }
.viewer-roulette-entry-line button {
  padding: 0 11px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.045);
  cursor: pointer;
}
.viewer-roulette-enter {
  width: 100%;
  margin-top: 8px;
  color: #fff;
  border-color: rgba(126,89,255,.38);
  background: linear-gradient(135deg, #6f45f1, #976aff);
  box-shadow: 0 12px 30px rgba(116,72,255,.13);
  cursor: pointer;
}
.viewer-roulette-enter:disabled,
.viewer-roulette-entry-line button:disabled { opacity: .42; cursor: not-allowed; }
.viewer-roulette-myentry,
.viewer-roulette-message {
  margin-top: 8px;
  min-height: 16px;
  color: rgba(255,255,255,.48);
  font-size: 8px;
  font-weight: 800;
  line-height: 1.5;
}
.viewer-roulette-myentry { color: #c8b9ff; }
.viewer-roulette-message.is-error { color: #ff93aa; }
.viewer-roulette-message.is-success { color: #79efae; }

.viewer-roulette-players {
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255,255,255,.018);
}
.viewer-roulette-players-head {
  min-height: 34px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.viewer-roulette-players-head span { color: #fff; font-size: 8px; font-weight: 900; letter-spacing: .065em; }
.viewer-roulette-players-head small { color: rgba(255,255,255,.28); font-size: 6px; font-weight: 900; letter-spacing: .07em; }
.viewer-roulette-players-list {
  height: 126px;
  min-height: 126px;
  max-height: 126px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.16) transparent;
}
.viewer-roulette-player {
  min-height: 62px;
  padding: 8px 12px;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.viewer-roulette-player:last-child { border-bottom: 0; }
.viewer-roulette-player-avatar {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 10px;
  color: #d8ccff;
  border: 1px solid rgba(137,102,255,.35);
  background: rgba(104,69,221,.12);
  font-size: 9px;
  font-weight: 950;
}
.viewer-roulette-player-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.viewer-roulette-player-copy { min-width: 0; display: grid; gap: 3px; }
.viewer-roulette-player-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: rgba(255,255,255,.9); font-size: 10px; font-weight: 900; }
.viewer-roulette-player-copy span { color: rgba(255,255,255,.38); font-size: 8px; font-weight: 800; }
.viewer-roulette-player-chance { color: #c9baff; font-size: 11px; font-weight: 950; }
.viewer-roulette-empty { min-height: 126px; display: grid; place-items: center; padding: 8px; color: rgba(255,255,255,.28); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-align: center; }
.viewer-roulette-last {
  min-height: 34px;
  padding: 8px 11px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 11px;
  background: rgba(255,255,255,.02);
}
.viewer-roulette-last span { color: rgba(255,255,255,.34); font-size: 7px; font-weight: 900; letter-spacing: .07em; }
.viewer-roulette-last strong { color: rgba(255,255,255,.82); font-size: 9px; font-weight: 900; }
.viewer-roulette-admin-spin {
  width: 100%;
  color: #fff;
  border-color: rgba(255,255,255,.13);
  background: rgba(255,255,255,.045);
  cursor: pointer;
}
.viewer-roulette-admin-spin:hover { border-color: rgba(157,122,255,.38); background: rgba(116,72,255,.10); }

@keyframes liveRoulettePulse {
  0%,100% { opacity: .55; transform: scale(.9); }
  50% { opacity: 1; transform: scale(1.12); }
}

@media (max-width: 920px) {
  .viewer-roulette-layout { grid-template-columns: 1fr; }
  .viewer-roulette-wheel-panel { min-height: 330px; }
}
@media (max-width: 620px) {
  .viewer-roulette-zone { padding: 16px; border-radius: 18px; }
  .viewer-roulette-head { display: grid; }
  .viewer-roulette-countdown-wrap { min-width: 0; width: 100%; text-align: left; }
  .viewer-roulette-meta { grid-template-columns: 1fr 1fr; }
  .viewer-roulette-meta > div:last-child { grid-column: 1 / -1; }
  .viewer-roulette-entry-line { grid-template-columns: 1fr 1fr 1fr; }
  .viewer-roulette-entry-line input { grid-column: 1 / -1; }
  .viewer-roulette-players-head small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .viewer-roulette-pulse { animation: none !important; }
  .viewer-roulette-wheel { transition-duration: .01ms !important; }
}
.viewer-roulette-sound {
  position: absolute;
  z-index: 6;
  top: 12px;
  left: 12px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 9px;
  color: rgba(255,255,255,.62);
  background: rgba(7,9,18,.72);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .07em;
  cursor: pointer;
}
.viewer-roulette-sound:hover { border-color: rgba(153,120,255,.34); color: #fff; }
.viewer-roulette-sound.is-off { opacity: .48; }

/* ===================================================== */
/* ROLETA LIVE V2 — AVATARES/NOMES + TEMPO ADMIN          */
/* ===================================================== */
.viewer-roulette-wheel {
  border-width: 7px;
  border-color: rgba(255,255,255,.16);
  box-shadow:
    0 0 0 2px rgba(112,81,255,.20),
    0 0 0 7px rgba(255,255,255,.025),
    0 0 58px rgba(105,69,255,.15),
    inset 0 0 42px rgba(0,0,0,.30);
}

.viewer-roulette-wheel::before {
  inset: 7px;
  border-color: rgba(255,255,255,.18);
  box-shadow: inset 0 0 24px rgba(255,255,255,.025);
}

.viewer-roulette-wheel-label {
  --roulette-label-angle: 0deg;
  --roulette-label-counter: 0deg;
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 88px;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 4px;
  transform:
    translate(-50%, -50%)
    rotate(var(--roulette-label-angle))
    translateY(-106px)
    rotate(var(--roulette-label-counter));
  transform-origin: center;
  pointer-events: none;
  text-align: center;
}

.viewer-roulette-wheel-avatar {
  position: relative;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.92);
  background: rgba(7,9,18,.92);
  color: #fff;
  box-shadow: 0 4px 14px rgba(0,0,0,.38);
  font-size: 9px;
  font-weight: 950;
}

.viewer-roulette-wheel-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.viewer-roulette-wheel-label b {
  max-width: 88px;
  padding: 3px 6px;
  overflow: hidden;
  border-radius: 6px;
  color: #fff;
  background: rgba(7,9,18,.82);
  box-shadow: 0 2px 8px rgba(0,0,0,.28);
  font-size: 7px;
  font-weight: 950;
  line-height: 1.05;
  letter-spacing: .02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.viewer-roulette-wheel-label.is-compact {
  width: 48px;
}
.viewer-roulette-wheel-label.is-compact .viewer-roulette-wheel-avatar {
  width: 30px;
  height: 30px;
}
.viewer-roulette-wheel-label.is-compact b {
  max-width: 48px;
  font-size: 6px;
}
.viewer-roulette-wheel-label.is-tiny b {
  display: none;
}
.viewer-roulette-wheel-label.is-tiny .viewer-roulette-wheel-avatar {
  width: 24px;
  height: 24px;
  border-width: 1px;
}

.viewer-roulette-wheel-center {
  width: 106px;
  height: 106px;
  z-index: 3;
  border: 2px solid rgba(255,255,255,.14);
  box-shadow: 0 15px 42px rgba(0,0,0,.44), inset 0 0 26px rgba(120,75,255,.11);
}

.viewer-roulette-admin-time {
  padding: 11px;
  border: 1px solid rgba(157,122,255,.18);
  border-radius: 12px;
  background: rgba(116,72,255,.055);
}
.viewer-roulette-admin-time[hidden] { display: none !important; }
.viewer-roulette-admin-time > label {
  display: block;
  margin-bottom: 7px;
  color: #bfaeff;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .08em;
}
.viewer-roulette-admin-time > div {
  display: grid;
  grid-template-columns: 100px minmax(150px,1fr);
  gap: 7px;
}
.viewer-roulette-admin-time input,
.viewer-roulette-admin-time button {
  min-height: 36px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 9px;
  font: inherit;
  font-weight: 900;
}
.viewer-roulette-admin-time input {
  min-width: 0;
  padding: 0 11px;
  color: #fff;
  background: rgba(255,255,255,.045);
  outline: none;
}
.viewer-roulette-admin-time input:focus { border-color: rgba(154,121,255,.52); }
.viewer-roulette-admin-time button {
  color: #fff;
  background: rgba(116,72,255,.16);
  cursor: pointer;
}
.viewer-roulette-admin-time button:hover { border-color: rgba(157,122,255,.42); background: rgba(116,72,255,.23); }
.viewer-roulette-admin-time button:disabled { opacity: .45; cursor: not-allowed; }
.viewer-roulette-admin-time small {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.30);
  font-size: 6px;
  font-weight: 850;
  line-height: 1.35;
  letter-spacing: .05em;
}

@media (max-width: 620px) {
  .viewer-roulette-wheel-label {
    transform:
      translate(-50%, -50%)
      rotate(var(--roulette-label-angle))
      translateY(-98px)
      rotate(var(--roulette-label-counter));
  }
  .viewer-roulette-wheel-label b { display: none; }
  .viewer-roulette-wheel-avatar { width: 30px; height: 30px; }
  .viewer-roulette-admin-time > div { grid-template-columns: 84px minmax(0,1fr); }
}


/* ===================================================== */
/* ROLETA LIVE V3 — roda vetorial corrigida               */
/* ===================================================== */
.viewer-roulette-wheel {
  overflow: hidden;
  background: none !important;
  isolation: isolate;
}

.viewer-roulette-wheel-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 50%;
  overflow: hidden;
  pointer-events: none;
}

.viewer-roulette-sector {
  filter: drop-shadow(0 0 1px rgba(0,0,0,.08));
}

.viewer-roulette-segment-label {
  pointer-events: none;
}

.viewer-roulette-svg-name,
.viewer-roulette-svg-initials {
  fill: #fff;
  font-family: inherit;
  font-weight: 950;
  paint-order: stroke fill;
  stroke: rgba(5,7,14,.92);
  stroke-linejoin: round;
}

.viewer-roulette-svg-name {
  font-size: 8px;
  letter-spacing: .15px;
  stroke-width: 3px;
}

.viewer-roulette-svg-initials {
  font-size: 8px;
  stroke-width: 2px;
}

/* A versão antiga criava badges HTML por cima das fatias. */
.viewer-roulette-wheel > .viewer-roulette-wheel-label {
  display: none !important;
}

.viewer-roulette-wheel::before {
  z-index: 5;
}

.viewer-roulette-wheel-center {
  z-index: 8;
}

.viewer-roulette-pointer {
  z-index: 12;
}

@media (max-width: 620px) {
  .viewer-roulette-svg-name { font-size: 7px; }
}





/* =========================================================
   PARCERIAS — COR INDEPENDENTE DO TÍTULO DO DESTAQUE
   28/08/2026
   ========================================================= */
.partner-highlight-dynamic .partner-code-text > span,
.partner-highlight-dynamic .partner-offer-text > span {
  color: var(--partner-highlight-title, var(--partner-accent, #68c8ff)) !important;
}

/* =========================================================
   PARCERIAS — CARROSSEL HORIZONTAL AUTOMÁTICO
   18/09/2026
   - Sempre uma única linha de casinos
   - Só desliza quando os cartões não cabem no ecrã
   - Pára ao passar o rato / focar um cartão
   ========================================================= */
.partners-grid {
  display: flex !important;
  grid-template-columns: none !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-block: 12px 30px;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-behavior: auto !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}

.partners-grid::-webkit-scrollbar {
  display: none;
}

.partners-grid > .partner-card {
  flex: 0 0 calc((100% - 48px) / 3) !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

.partners-grid > .partners-empty {
  flex: 1 0 100%;
}

/* As cópias só servem para tornar o movimento infinito e sem salto. */
.partners-grid > .partner-card[data-partner-slider-clone="1"] {
  pointer-events: auto;
}

@media (max-width: 1180px) {
  .partners-grid > .partner-card {
    flex-basis: calc((100% - 24px) / 2) !important;
  }
}

@media (max-width: 760px) {
  .partners-grid {
    gap: 22px !important;
    padding-block: 10px 24px;
  }

  .partners-grid > .partner-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* =========================================================
   PARCERIAS — CARROSSEL V4 / PISTA TRANSFORM
   18/09/2026
   ========================================================= */
.partners-grid {
  --partners-gap: 24px;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: var(--partners-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-block: 12px 30px !important;
  overflow: hidden !important;
  scroll-behavior: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  touch-action: pan-y !important;
}

.partners-grid::-webkit-scrollbar {
  display: none !important;
}

/* Linha normal quando todos os cartões ainda cabem no ecrã. */
.partners-grid > .partner-card {
  flex: 0 0 var(--partners-card-width, calc((100% - 48px) / 3)) !important;
  width: var(--partners-card-width, calc((100% - 48px) / 3)) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.partners-grid.is-auto-sliding {
  justify-content: flex-start !important;
  gap: 0 !important;
}

.partners-marquee-track {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate3d(0,0,0);
  will-change: transform;
}

.partners-marquee-group {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: var(--partners-gap) !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  padding: 0 var(--partners-gap) 0 0 !important;
  margin: 0 !important;
}

.partners-marquee-group > .partner-card {
  flex: 0 0 var(--partners-card-width) !important;
  width: var(--partners-card-width) !important;
  min-width: var(--partners-card-width) !important;
  max-width: var(--partners-card-width) !important;
  margin: 0 !important;
}

.partners-grid.is-slider-paused .partners-marquee-track {
  will-change: auto;
}

.partners-grid > .partners-empty {
  flex: 1 0 100% !important;
}

@media (max-width: 1180px) {
  .partners-grid > .partner-card {
    flex-basis: var(--partners-card-width, calc((100% - 24px) / 2)) !important;
    width: var(--partners-card-width, calc((100% - 24px) / 2)) !important;
  }
}

@media (max-width: 760px) {
  .partners-grid {
    --partners-gap: 22px;
    padding-block: 10px 24px !important;
  }

  .partners-grid > .partner-card {
    flex: 0 0 var(--partners-card-width, 100%) !important;
    width: var(--partners-card-width, 100%) !important;
    max-width: var(--partners-card-width, 100%) !important;
  }
}


/* =========================================================
   PARCERIAS — V7 FULL-BLEED + FADE NAS EXTREMIDADES
   Mantém a pista transform da V4 (que já estava a deslizar corretamente).
   ========================================================= */
.partnerships-section .partners-grid {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 12px 0 30px !important;
  overflow: hidden !important;
  justify-content: flex-start !important;

  /* O cartão desaparece progressivamente ao chegar ao limite do ecrã. */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    rgba(0,0,0,.28) 18px,
    #000 72px,
    #000 calc(100% - 72px),
    rgba(0,0,0,.28) calc(100% - 18px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    rgba(0,0,0,.28) 18px,
    #000 72px,
    #000 calc(100% - 72px),
    rgba(0,0,0,.28) calc(100% - 18px),
    transparent 100%
  );
}

/* Quando há poucos cartões, continuam centrados como antes. */
.partnerships-section .partners-grid.partners-static-row {
  justify-content: center !important;
}

@media (max-width: 760px) {
  .partnerships-section .partners-grid {
    padding: 10px 0 24px !important;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.35) 10px,
      #000 38px,
      #000 calc(100% - 38px),
      rgba(0,0,0,.35) calc(100% - 10px),
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.35) 10px,
      #000 38px,
      #000 calc(100% - 38px),
      rgba(0,0,0,.35) calc(100% - 10px),
      transparent 100%
    );
  }
}


/* =========================================================
   PARCERIAS — V8 TAMANHO COMPACTO DOS CARTÕES
   Mantém o full-bleed/fade/slider da V7, mas volta ao tamanho
   visual antigo dos cartões em desktop.
   ========================================================= */
@media (min-width: 1181px) {
  .partnerships-section .partners-grid > .partner-card,
  .partnerships-section .partners-marquee-group > .partner-card {
    max-width: 420px !important;
  }
}


/* =========================================================
   PARCERIAS — V9 MOVIMENTO MAIS FLUIDO + EXTREMIDADES ESCURAS
   - Web Animations no compositor (sem micro-paragens no loop)
   - Fade lateral mais evidente
   ========================================================= */
.partnerships-section .partners-grid {
  position: relative !important;
  isolation: isolate;

  /* Fade um pouco mais largo, para a entrada/saída do cartão ser suave. */
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    rgba(0,0,0,.20) 24px,
    rgba(0,0,0,.72) 72px,
    #000 118px,
    #000 calc(100% - 118px),
    rgba(0,0,0,.72) calc(100% - 72px),
    rgba(0,0,0,.20) calc(100% - 24px),
    transparent 100%
  ) !important;
  mask-image: linear-gradient(
    to right,
    transparent 0,
    rgba(0,0,0,.20) 24px,
    rgba(0,0,0,.72) 72px,
    #000 118px,
    #000 calc(100% - 118px),
    rgba(0,0,0,.72) calc(100% - 72px),
    rgba(0,0,0,.20) calc(100% - 24px),
    transparent 100%
  ) !important;
}

.partnerships-section .partners-grid.is-auto-sliding::before,
.partnerships-section .partners-grid.is-auto-sliding::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 105px;
  z-index: 10;
  pointer-events: none;
}

.partnerships-section .partners-grid.is-auto-sliding::before {
  left: 0;
  background: linear-gradient(
    to right,
    rgba(1,7,15,.92) 0%,
    rgba(1,7,15,.62) 34%,
    rgba(1,7,15,.22) 68%,
    rgba(1,7,15,0) 100%
  );
}

.partnerships-section .partners-grid.is-auto-sliding::after {
  right: 0;
  background: linear-gradient(
    to left,
    rgba(1,7,15,.92) 0%,
    rgba(1,7,15,.62) 34%,
    rgba(1,7,15,.22) 68%,
    rgba(1,7,15,0) 100%
  );
}

.partnerships-section .partners-marquee-track {
  z-index: 1;
}

@media (max-width: 760px) {
  .partnerships-section .partners-grid {
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.30) 12px,
      rgba(0,0,0,.76) 34px,
      #000 58px,
      #000 calc(100% - 58px),
      rgba(0,0,0,.76) calc(100% - 34px),
      rgba(0,0,0,.30) calc(100% - 12px),
      transparent 100%
    ) !important;
    mask-image: linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.30) 12px,
      rgba(0,0,0,.76) 34px,
      #000 58px,
      #000 calc(100% - 58px),
      rgba(0,0,0,.76) calc(100% - 34px),
      rgba(0,0,0,.30) calc(100% - 12px),
      transparent 100%
    ) !important;
  }

  .partnerships-section .partners-grid.is-auto-sliding::before,
  .partnerships-section .partners-grid.is-auto-sliding::after {
    width: 54px;
  }
}


/* =========================================================
   PARCERIAS — V10 CONVEYOR 100% CONTÍNUO + FADE MAIS ESCURO
   - Sem reinício de loop: os cartões são reciclados um a um
   - Pista otimizada para composição GPU
   - Extremidades mais negras e mais largas
   ========================================================= */
.partnerships-section .partners-marquee-track {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  gap: var(--partners-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  contain: layout paint style;
}

.partnerships-section .partners-marquee-track > .partner-card {
  flex: 0 0 var(--partners-card-width) !important;
  width: var(--partners-card-width) !important;
  min-width: var(--partners-card-width) !important;
  max-width: var(--partners-card-width) !important;
  margin: 0 !important;
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* No conveyor não existe animação CSS/WAAPI a pausar/reiniciar. */
.partnerships-section .partners-grid.is-slider-paused .partners-marquee-track {
  will-change: transform !important;
}

.partnerships-section .partners-grid {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    rgba(0,0,0,.12) 18px,
    rgba(0,0,0,.42) 52px,
    rgba(0,0,0,.82) 104px,
    #000 160px,
    #000 calc(100% - 160px),
    rgba(0,0,0,.82) calc(100% - 104px),
    rgba(0,0,0,.42) calc(100% - 52px),
    rgba(0,0,0,.12) calc(100% - 18px),
    transparent 100%
  ) !important;
  mask-image: linear-gradient(
    to right,
    transparent 0,
    rgba(0,0,0,.12) 18px,
    rgba(0,0,0,.42) 52px,
    rgba(0,0,0,.82) 104px,
    #000 160px,
    #000 calc(100% - 160px),
    rgba(0,0,0,.82) calc(100% - 104px),
    rgba(0,0,0,.42) calc(100% - 52px),
    rgba(0,0,0,.12) calc(100% - 18px),
    transparent 100%
  ) !important;
}

.partnerships-section .partners-grid.is-auto-sliding::before,
.partnerships-section .partners-grid.is-auto-sliding::after {
  width: 165px !important;
  background: none;
}

.partnerships-section .partners-grid.is-auto-sliding::before {
  background: linear-gradient(
    to right,
    rgba(1,7,15,.995) 0%,
    rgba(1,7,15,.90) 22%,
    rgba(1,7,15,.66) 48%,
    rgba(1,7,15,.30) 72%,
    rgba(1,7,15,0) 100%
  ) !important;
}

.partnerships-section .partners-grid.is-auto-sliding::after {
  background: linear-gradient(
    to left,
    rgba(1,7,15,.995) 0%,
    rgba(1,7,15,.90) 22%,
    rgba(1,7,15,.66) 48%,
    rgba(1,7,15,.30) 72%,
    rgba(1,7,15,0) 100%
  ) !important;
}

@media (max-width: 760px) {
  .partnerships-section .partners-grid.is-auto-sliding::before,
  .partnerships-section .partners-grid.is-auto-sliding::after {
    width: 72px !important;
  }

  .partnerships-section .partners-grid {
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.42) 18px,
      #000 62px,
      #000 calc(100% - 62px),
      rgba(0,0,0,.42) calc(100% - 18px),
      transparent 100%
    ) !important;
    mask-image: linear-gradient(
      to right,
      transparent 0,
      rgba(0,0,0,.42) 18px,
      #000 62px,
      #000 calc(100% - 62px),
      rgba(0,0,0,.42) calc(100% - 18px),
      transparent 100%
    ) !important;
  }
}


/* =========================================================
   TODAS AS PARCERIAS — V11
   18/09/2026
   ========================================================= */
.partners-section-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 0;
  position: relative;
  top: 34px;
}

.partners-view-all {
  position: relative;
  isolation: isolate;
  min-width: 224px;
  height: 44px;
  padding: 0 15px 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  overflow: hidden;
  border: 1px solid rgba(63, 151, 209, .34);
  border-radius: 10px;
  background:
    linear-gradient(135deg,
      rgba(4, 16, 29, .98) 0%,
      rgba(5, 22, 38, .98) 45%,
      rgba(8, 46, 76, .98) 100%);
  color: #f7fcff;
  text-decoration: none;
  cursor: pointer;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    inset 0 0 0 1px rgba(81, 188, 255, .05),
    0 10px 24px rgba(0,0,0,.24),
    0 0 18px rgba(36, 161, 233, .10);
  transition:
    transform .18s ease,
    border-color .18s ease,
    box-shadow .22s ease,
    filter .18s ease;
}

.partners-view-all::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(circle at 16% 50%, rgba(43, 172, 246, .08), transparent 34%),
    radial-gradient(circle at 88% 0%, rgba(74, 205, 255, .16), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 52%);
  pointer-events: none;
}

.partners-view-all::after {
  content: "";
  position: absolute;
  top: -70%;
  left: -30%;
  width: 22%;
  height: 240%;
  transform: rotate(17deg);
  background: linear-gradient(90deg, transparent, rgba(202, 244, 255, .22), transparent);
  opacity: 0;
  pointer-events: none;
}

.partners-view-all-label {
  position: relative;
  z-index: 1;
  color: #f4fbff;
  font: 900 10px/1 Montserrat, sans-serif;
  letter-spacing: 1.05px;
  white-space: nowrap;
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
}

.partners-view-all-arrow {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8fdcff;
  font: 900 17px/1 Montserrat, sans-serif;
  line-height: 1;
  filter: drop-shadow(0 0 7px rgba(72, 195, 255, .28));
  transition: transform .18s ease, color .18s ease, filter .18s ease;
}

.partners-view-all:hover {
  transform: translateY(-1px);
  border-color: rgba(88, 189, 247, .48);
  filter: brightness(1.055);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    inset 0 0 0 1px rgba(96, 205, 255, .07),
    0 12px 26px rgba(0,0,0,.24),
    0 0 22px rgba(47, 176, 244, .14),
    0 0 38px rgba(47, 176, 244, .05);
}

.partners-view-all:hover::after {
  opacity: 1;
  animation: partnersButtonShine .72s ease forwards;
}

.partners-view-all:hover .partners-view-all-arrow {
  transform: translateX(3px);
  color: #d8f6ff;
  filter: drop-shadow(0 0 9px rgba(84, 206, 255, .42));
}

.partners-view-all:active {
  transform: translateY(0);
}

@keyframes partnersButtonShine {
  from { left: -34%; }
  to { left: 118%; }
}


@media (max-width: 760px) {
  .partners-section-actions {
    top: 16px;
  }
}
@media (max-width: 620px) {
  .partners-view-all {
    min-width: 210px;
    height: 44px;
    padding-left: 16px;
  }

  .partners-view-all-label {
    font-size: 9px;
    letter-spacing: 1.15px;
  }
}

.all-partners-page {
  min-height: 100vh;
  background: #020a13;
}

.all-partners-main {
  min-height: calc(100vh - 70px);
}

.all-partners-section {
  min-height: 100vh;
  padding-top: 138px !important;
  padding-bottom: 90px !important;
}

.all-partners-head {
  width: min(1440px, 100%);
  margin: 0 auto 42px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

.all-partners-head-copy h1 {
  margin: 0 0 10px;
  color: #fff;
  font-size: clamp(30px, 3vw, 46px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -1.4px;
}

.all-partners-head-copy p {
  margin: 0;
  max-width: 650px;
  color: rgba(255,255,255,.56);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 600;
}

.all-partners-back {
  min-height: 42px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(104, 200, 255, 0.28);
  border-radius: 9px;
  background: rgba(9, 35, 53, 0.72);
  color: #dff6ff;
  text-decoration: none;
  font: 900 9px/1 Montserrat, sans-serif;
  letter-spacing: 1px;
  white-space: nowrap;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.all-partners-back:hover {
  transform: translateY(-1px);
  border-color: rgba(104, 200, 255, 0.62);
  background: rgba(16, 55, 80, 0.92);
}

.all-partners-grid {
  width: min(1440px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

.all-partners-grid .partner-card {
  width: 100%;
  max-width: none;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

.all-partners-grid .partner-card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.all-partners-grid .partner-description {
  margin-bottom: 22px;
}

.all-partners-grid .partner-code,
.all-partners-grid .partner-offer {
  margin-top: auto;
}

.all-partners-grid .partner-button {
  margin-top: 14px;
}

.all-partners-loading,
.all-partners-empty,
.all-partners-error {
  grid-column: 1 / -1;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: rgba(4,17,28,.72);
  color: rgba(255,255,255,.62);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2px;
}

.all-partners-error {
  color: #ff8e9f;
}

@media (max-width: 1180px) {
  .all-partners-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .partners-section-actions {
    width: 100%;
    justify-content: flex-start;
    margin-top: 8px;
  }

  .partnerships-section-top {
    align-items: flex-start !important;
  }

  .all-partners-section {
    padding-top: 112px !important;
  }

  .all-partners-head {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 28px;
  }

  .all-partners-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   REDES — CORES SUAVES POR PLATAFORMA — V17
   18/09/2026
   Mantém o visual escuro do site, mas cada cartão recebe
   uma presença de cor muito subtil inspirada na plataforma.
   ========================================================= */
#redes .social-card {
  border-color: rgba(255,255,255,.09) !important;
  background: rgba(3,8,14,.70) !important;
  box-shadow: 0 10px 35px rgba(0,0,0,.16) !important;
}

/* TWITCH — roxo suave */
#redes .social-card:nth-child(1) {
  border-color: rgba(150,72,255,.20) !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(150,72,255,.115), transparent 34%),
    linear-gradient(135deg, rgba(31,17,49,.78), rgba(5,9,16,.74) 64%) !important;
  box-shadow:
    inset 0 0 34px rgba(150,72,255,.022),
    0 10px 35px rgba(0,0,0,.16) !important;
}
#redes .social-card:nth-child(1)::after {
  background-color: rgba(232,218,255,.98) !important;
}
#redes .social-card:nth-child(1):hover {
  border-color: rgba(161,91,255,.36) !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(150,72,255,.17), transparent 36%),
    linear-gradient(135deg, rgba(37,20,58,.90), rgba(6,10,18,.82) 66%) !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.25),
    0 0 30px rgba(150,72,255,.075) !important;
}

/* TELEGRAM — azul/ciano suave */
#redes .social-card:nth-child(2) {
  border-color: rgba(18,120,174,.23) !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(18,120,174,.13), transparent 35%),
    linear-gradient(135deg, rgba(7,29,43,.82), rgba(4,10,17,.72) 64%) !important;
  box-shadow:
    inset 0 0 34px rgba(18,120,174,.024),
    0 10px 35px rgba(0,0,0,.16) !important;
}
#redes .social-card:nth-child(2)::after {
  background-color: rgba(207,240,255,.98) !important;
}
#redes .social-card:nth-child(2):hover {
  border-color: rgba(45,160,214,.39) !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(18,120,174,.19), transparent 36%),
    linear-gradient(135deg, rgba(8,36,53,.91), rgba(5,11,19,.82) 66%) !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.25),
    0 0 30px rgba(18,120,174,.08) !important;
}

/* INSTAGRAM — rosa/laranja em gradiente, mas muito discreto */
#redes .social-card:nth-child(3) {
  border-color: rgba(255,63,126,.18) !important;
  background:
    radial-gradient(circle at 4% 12%, rgba(255,191,66,.09), transparent 31%),
    radial-gradient(circle at 13% 58%, rgba(255,27,94,.105), transparent 36%),
    radial-gradient(circle at 25% 100%, rgba(187,45,255,.075), transparent 38%),
    linear-gradient(135deg, rgba(35,13,29,.76), rgba(5,9,16,.73) 66%) !important;
  box-shadow:
    inset 0 0 34px rgba(255,27,94,.018),
    0 10px 35px rgba(0,0,0,.16) !important;
}
#redes .social-card:nth-child(3)::after {
  background-color: rgba(255,226,238,.98) !important;
}
#redes .social-card:nth-child(3):hover {
  border-color: rgba(255,78,140,.34) !important;
  background:
    radial-gradient(circle at 4% 12%, rgba(255,191,66,.13), transparent 31%),
    radial-gradient(circle at 13% 58%, rgba(255,27,94,.15), transparent 36%),
    radial-gradient(circle at 25% 100%, rgba(187,45,255,.11), transparent 38%),
    linear-gradient(135deg, rgba(42,16,34,.88), rgba(6,10,17,.82) 67%) !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.25),
    0 0 30px rgba(255,27,94,.065) !important;
}

/* DISCORD — azul/índigo suave */
#redes .social-card:nth-child(4),
#redes .social-card.discord-card {
  border-color: rgba(69,83,254,.20) !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(69,83,254,.12), transparent 35%),
    linear-gradient(135deg, rgba(17,22,54,.79), rgba(5,9,17,.73) 65%) !important;
  box-shadow:
    inset 0 0 34px rgba(69,83,254,.022),
    0 10px 35px rgba(0,0,0,.16) !important;
}
#redes .social-card:nth-child(4)::after,
#redes .social-card.discord-card::after {
  background-color: rgba(220,224,255,.98) !important;
}
#redes .social-card:nth-child(4):hover,
#redes .social-card.discord-card:hover {
  border-color: rgba(91,105,255,.38) !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(69,83,254,.18), transparent 36%),
    linear-gradient(135deg, rgba(20,27,65,.90), rgba(6,10,18,.82) 66%) !important;
  box-shadow:
    0 18px 45px rgba(0,0,0,.25),
    0 0 30px rgba(69,83,254,.075) !important;
}

/* Texto pequeno ganha apenas um toque da cor do respetivo botão. */
#redes .social-card:nth-child(1) span { color: rgba(205,178,255,.62) !important; }
#redes .social-card:nth-child(2) span { color: rgba(145,216,247,.62) !important; }
#redes .social-card:nth-child(3) span { color: rgba(255,170,199,.62) !important; }
#redes .social-card:nth-child(4) span { color: rgba(170,178,255,.62) !important; }

/* =========================================================
   AVISO DE ENTRADA PERSONALIZÁVEL — 21/09/2026
   Configurável em GERIR PARCERIAS.
   ========================================================= */

body.site-welcome-open {
  overflow: hidden;
}

.site-welcome-popup[hidden] {
  display: none !important;
}

.site-welcome-popup {
  position: fixed;
  inset: 0;
  z-index: 99998;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at 50% 16%, rgba(61, 156, 218, .10), transparent 34%),
    rgba(1, 6, 13, .72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .19s ease, visibility .19s ease;
}

.site-welcome-popup.is-visible {
  opacity: 1;
  visibility: visible;
}

.site-welcome-popup.is-preview::before {
  content: "PRÉ-VISUALIZAÇÃO";
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  background: rgba(2, 11, 20, .88);
  color: rgba(255,255,255,.72);
  font: 900 7px/1 Montserrat, sans-serif;
  letter-spacing: 1.4px;
}

.site-welcome-shell {
  --welcome-bg: #101f31;
  --welcome-accent: #68c8ff;
  --welcome-text: #f4fbff;
  --welcome-muted: #8ea7b9;
  --welcome-button: #35bff2;
  --welcome-button-text: #041019;
  --welcome-card-led-angle: 0deg;

  position: relative;
  width: min(490px, 100%);
  max-height: calc(100vh - 48px);
  padding: 2px;
  border-radius: 22px;
  box-sizing: border-box;
  background:
    conic-gradient(
      from var(--welcome-card-led-angle),
      transparent 0deg 18deg,
      color-mix(in srgb, var(--welcome-accent) 52%, transparent) 28deg,
      color-mix(in srgb, var(--welcome-accent) 100%, white 10%) 38deg,
      color-mix(in srgb, var(--welcome-accent) 62%, transparent) 48deg,
      transparent 62deg 190deg,
      color-mix(in srgb, var(--welcome-accent) 38%, transparent) 202deg,
      color-mix(in srgb, var(--welcome-accent) 95%, white 14%) 212deg,
      color-mix(in srgb, var(--welcome-accent) 42%, transparent) 222deg,
      transparent 236deg 360deg
    ),
    color-mix(in srgb, var(--welcome-accent) 24%, rgba(255,255,255,.04));
  box-shadow:
    0 38px 120px rgba(0,0,0,.68),
    0 0 14px color-mix(in srgb, var(--welcome-accent) 16%, transparent),
    0 0 34px color-mix(in srgb, var(--welcome-accent) 9%, transparent);
  transform: translateY(14px) scale(.985);
  transition: transform .22s cubic-bezier(.22,1,.36,1);
  animation:
    welcomeCardLedRotate 10s linear infinite,
    welcomeCardLedBreath 3.2s ease-in-out infinite;
}

.site-welcome-popup.is-visible .site-welcome-shell {
  transform: translateY(0) scale(1);
}

.site-welcome-card {
  position: relative;
  width: 100%;
  max-height: calc(100vh - 52px);
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  border: 1px solid color-mix(in srgb, var(--welcome-accent) 20%, transparent);
  border-radius: 19px;
  background:
    radial-gradient(circle at 82% 0%, color-mix(in srgb, var(--welcome-accent) 14%, transparent), transparent 34%),
    var(--welcome-bg);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.012),
    0 0 28px rgba(0,0,0,.24);
  color: var(--welcome-text);
}

.site-welcome-card::-webkit-scrollbar { width: 5px; }
.site-welcome-card::-webkit-scrollbar-track { background: transparent; }
.site-welcome-card::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--welcome-accent) 24%, transparent);
}

@property --welcome-card-led-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

@keyframes welcomeCardLedRotate {
  to { --welcome-card-led-angle: 360deg; }
}

@keyframes welcomeCardLedBreath {
  0%, 100% {
    box-shadow:
      0 38px 120px rgba(0,0,0,.68),
      0 0 12px color-mix(in srgb, var(--welcome-accent) 13%, transparent),
      0 0 28px color-mix(in srgb, var(--welcome-accent) 7%, transparent);
  }
  50% {
    box-shadow:
      0 38px 120px rgba(0,0,0,.68),
      0 0 18px color-mix(in srgb, var(--welcome-accent) 23%, transparent),
      0 0 42px color-mix(in srgb, var(--welcome-accent) 13%, transparent);
  }
}

.site-welcome-card::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  top: 0;
  height: 1px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--welcome-accent) 54%, transparent), transparent);
  opacity: .7;
  pointer-events: none;
}

.site-welcome-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  background: rgba(2, 9, 16, .58);
  color: var(--welcome-text);
  font: 500 20px/1 Arial, sans-serif;
  cursor: pointer;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.site-welcome-close:hover {
  transform: rotate(5deg) scale(1.05);
  border-color: color-mix(in srgb, var(--welcome-accent) 55%, transparent);
  background: color-mix(in srgb, var(--welcome-accent) 13%, rgba(2,9,16,.72));
}

.site-welcome-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 6.9;
  overflow: hidden;
  border-bottom: 1px solid color-mix(in srgb, var(--welcome-accent) 18%, transparent);
  background: color-mix(in srgb, var(--welcome-bg) 80%, #000 20%);
}

.site-welcome-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, color-mix(in srgb, var(--welcome-bg) 88%, transparent));
  pointer-events: none;
}

.site-welcome-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.site-welcome-content {
  padding: 27px 32px 29px;
  text-align: center;
}

.site-welcome-card:not(.has-image) .site-welcome-content {
  padding-top: 36px;
}

.site-welcome-brand {
  margin-bottom: 16px;
  color: var(--welcome-text);
  font: 950 12px/1 Montserrat, sans-serif;
  letter-spacing: 1.3px;
}

.site-welcome-badge {
  width: max-content;
  max-width: 100%;
  margin: 0 auto 10px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--welcome-accent) 32%, transparent);
  border-radius: 999px;
  background: linear-gradient(180deg,
    color-mix(in srgb, var(--welcome-bg) 72%, rgba(0,0,0,.08)),
    color-mix(in srgb, var(--welcome-bg) 86%, rgba(0,0,0,.16)));
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--welcome-accent) 12%, transparent),
    0 6px 18px rgba(0,0,0,.22),
    0 0 14px color-mix(in srgb, var(--welcome-accent) 12%, transparent);
  color: color-mix(in srgb, var(--welcome-accent) 96%, white 4%);
  font: 950 6.5px/1 Montserrat, sans-serif;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

/* Quando existe imagem, a etiqueta fica sobre a imagem no canto superior esquerdo. */
.site-welcome-card.has-image .site-welcome-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  max-width: calc(100% - 88px);
  margin: 0;
}

.site-welcome-card h2 {
  margin: 0;
  color: var(--welcome-text);
  font: 950 clamp(23px, 3.7vw, 31px)/1.02 Montserrat, sans-serif;
  letter-spacing: -1.25px;
  text-wrap: balance;
}

.site-welcome-subtitle {
  margin-top: 8px;
  color: var(--welcome-accent);
  font: 900 9.2px/1.25 Montserrat, sans-serif;
  letter-spacing: .7px;
}

.site-welcome-copy {
  margin: 16px auto 0;
  max-width: 395px;
  color: var(--welcome-muted);
  font: 650 10.7px/1.65 Montserrat, sans-serif;
  white-space: pre-line;
}

.site-welcome-cta {
  width: 100%;
  min-height: 45px;
  margin-top: 22px;
  padding: 0 18px;
  border: 0;
  border-radius: 11px;
  background: var(--welcome-button);
  color: var(--welcome-button-text);
  box-shadow:
    0 12px 28px color-mix(in srgb, var(--welcome-button) 18%, transparent),
    inset 0 1px 0 rgba(255,255,255,.14);
  font: 950 9.3px/1 Montserrat, sans-serif;
  letter-spacing: .5px;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.site-welcome-cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow:
    0 15px 34px color-mix(in srgb, var(--welcome-button) 25%, transparent),
    inset 0 1px 0 rgba(255,255,255,.17);
}

.site-welcome-note {
  margin: 19px auto 0;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, var(--welcome-text) 9%, transparent);
  color: color-mix(in srgb, var(--welcome-muted) 76%, transparent);
  font: 650 8px/1.55 Montserrat, sans-serif;
}

/* Gestão do aviso dentro de GERIR PARCERIAS */
.welcome-popup-admin {
  margin: 5px 0 16px;
  overflow: hidden;
  border: 1px solid rgba(104,200,255,.18);
  border-radius: 13px;
  background:
    radial-gradient(circle at 95% 0%, rgba(55,164,224,.10), transparent 34%),
    rgba(5, 24, 38, .72);
}

.welcome-popup-admin-head {
  padding: 16px 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid rgba(255,255,255,.065);
}

.welcome-popup-admin-head > div:first-child > span,
.welcome-popup-admin-head > div:first-child > strong {
  display: block;
}

.welcome-popup-admin-head > div:first-child > span {
  margin-bottom: 5px;
  color: #69ceff;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: 1.5px;
}

.welcome-popup-admin-head > div:first-child > strong {
  color: #eefaff;
  font-size: 13px;
  font-weight: 950;
}

.welcome-popup-admin-head p {
  max-width: 700px;
  margin: 6px 0 0;
  color: #718c9d;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.55;
}

.welcome-popup-admin-state {
  flex: 0 0 auto;
  min-width: 88px;
  padding: 9px 11px;
  border: 1px solid rgba(255,95,118,.22);
  border-radius: 999px;
  background: rgba(120,24,43,.10);
  color: #ff8da0;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: 1px;
  text-align: center;
}

.welcome-popup-admin-state.is-active {
  border-color: rgba(72,221,145,.25);
  background: rgba(35,132,83,.11);
  color: #75e9ad;
}

.welcome-popup-admin-form {
  padding: 18px !important;
  border-top: 0 !important;
  background: transparent !important;
}

.welcome-popup-active-field {
  grid-column: 1 / -1;
  justify-content: flex-start !important;
}

.welcome-popup-remove-image {
  justify-content: flex-start !important;
}

.welcome-popup-image-status {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px dashed rgba(255,255,255,.10);
  border-radius: 8px;
  background: rgba(3,14,23,.48);
  color: #607c8c;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .8px;
}

.welcome-popup-image-status.has-image {
  border-color: rgba(72,221,145,.18);
  color: #6edda7;
}

.welcome-popup-admin-actions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.welcome-popup-admin-actions .partners-admin-save-main {
  margin-top: 0;
}

.welcome-popup-preview-btn {
  min-height: 42px;
  padding: 0 17px;
  border: 1px solid rgba(104,200,255,.22);
  border-radius: 8px;
  background: rgba(35,103,142,.14);
  color: #aee7ff;
  font: 950 8px/1 Montserrat, sans-serif;
  letter-spacing: .8px;
  cursor: pointer;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.welcome-popup-preview-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(104,200,255,.45);
  background: rgba(40,130,179,.21);
}

.welcome-popup-preview-btn:disabled {
  opacity: .45;
  cursor: wait;
  transform: none;
}

.welcome-popup-admin-message {
  min-height: 18px;
  padding-top: 10px;
  color: #829dac;
  font-size: 8px;
  font-weight: 800;
}

.welcome-popup-admin-message.success { color: #63dfa0; }
.welcome-popup-admin-message.error { color: #ff7e92; }

@media (max-width: 760px) {
  .site-welcome-popup { padding: 14px; }
  .site-welcome-shell { max-height: calc(100vh - 28px); border-radius: 19px; }
  .site-welcome-card { max-height: calc(100vh - 32px); border-radius: 16px; }
  .site-welcome-content { padding: 27px 22px 26px; }
  .site-welcome-card:not(.has-image) .site-welcome-content { padding-top: 34px; }
  .site-welcome-card h2 { font-size: 26px; }
  .site-welcome-copy { font-size: 10.5px; }
  .site-welcome-media { aspect-ratio: 16 / 8; }
  .welcome-popup-admin-head { flex-direction: column; }
  .welcome-popup-admin-state { min-width: 0; }
  .welcome-popup-admin-actions { flex-direction: column-reverse; }
  .welcome-popup-preview-btn,
  .welcome-popup-admin-actions .partners-admin-save-main { width: 100%; }
}
