.gb-fr-disclaimer-box { text-align:center; margin:0 auto; }
.gb-fr-disclaimer-box h2 { text-align:center; }
.bwb-gsw-game-stats { text-align:left !important; }

/* Frontend section */
.bwb-bonus-section { max-width:100% !important; margin:0 auto !important; padding:0 !important; }
.bwb-bonus-container { display:flex !important; flex-wrap:wrap !important; justify-content:space-between !important; }

.bwb-bonus-flag {
  max-height:20px !important;
  vertical-align:middle !important;
  margin-right:6px !important;
  border-radius:2px;
}

.bwb-bonus-heading-box {
  text-align:left !important;
  margin:0 0 10px 0 !important;
}

.disclaimer-box { text-align:center; margin:0 auto; }

.bwb-bonus-heading-box {
  display:flex;
  align-items:center;
  gap:6px;
}

.bwb-bonus-heading-box .bwb-bonus-flag {
  max-height:28px;
  display:block;
}

.bwb-bonus-heading-title {
  margin:0; /* don’t add extra top spacing */
}

.bwb-bonus-box {
  position:relative !important;
  overflow:hidden !important;
  background-color:#232323 !important;
  background:radial-gradient(circle at top, #333333 0, #232323 45%, #141414 100%) !important;
  border-radius:6px !important;
  padding:10px !important;
  width:calc(25% - 8px) !important;
  box-sizing:border-box !important;
  color:#fff !important;
  text-align:center !important;
  margin-bottom:20px !important;
  box-shadow:
    0 18px 35px rgba(0,0,0,0.85),
    inset 0 0 18px rgba(0,0,0,0.7) !important;
}
.bwb-bonus-box:nth-child(4n) { margin-right:0 !important; }

/* Swoop / highlight effect inside each box */
.bwb-bonus-box::before {
  content:"";
  position:absolute;
  top:-40%;
  left:-15%;
  width:150%;
  height:70%;
  background:radial-gradient(circle at top, rgba(255,255,255,0.12), transparent 60%);
  opacity:0.7;
  pointer-events:none;
}

/* Ensure content sits above the swoop */
.bwb-bonus-box > * {
  position:relative;
  z-index:1;
}

.bwb-bonus-logo {
  width:100% !important;
  max-width:200px !important;
  height:auto !important;
  margin-bottom:4px !important;
}

.bwb-bonus-text p {
  margin:2px 0 !important;
  line-height:1 !important;
  font-size:16px !important;
  font-weight:bold !important;
}
@media (min-width:1024px){
  .bwb-bonus-text p { font-size:22px !important; }
}

.bwb-bonus-button {
  display:inline-flex !important;
  justify-content:center;
  align-items:center;
  margin:10px auto !important;
  padding:6px 20px 10px 20px!important;
  background-color:#28a745 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-weight:bold !important;
  font-size:20px !important;
  border-radius:4px !important;
  white-space:nowrap !important;
  width:auto !important;
  max-width:none !important; /* allow button to grow with text */
}

.bwb-bonus-button:hover {
  background-color:#218838 !important;
  color:#fff !important;
}

.bwb-bonus-heading {
  font-family:'Roboto', sans-serif;
  font-size:150% !important;
  margin-top:10px !important;
  margin-bottom:20px !important;
  text-align:center !important;
}
@media (max-width:600px){
  .bwb-bonus-heading { line-height:1; font-size:1rem; }
}

.bwb-bonus-terms {
  font-size:12px !important;
  margin-top:5px !important;
  color:#ccc !important;
  white-space:nowrap !important;
  margin-bottom:0 !important;
}

/* Tablet: 2 columns */
@media (max-width:1024px){
  .bwb-bonus-box {
    width:calc(50% - 4px) !important;
    margin-right:5px !important;
  }
  .bwb-bonus-box:nth-child(2n){
    margin-right:0 !important;
  }
}

/* Very small phones fallback */
@media (max-width:360px){
  .bwb-bonus-box {
    width:100% !important;
    margin-right:0 !important;
  }
  .bwb-bonus-terms {
    font-size:10px !important;
  }
}

/* Mobile: 1 column + bigger text/button, better spacing */
@media (max-width:768px){
  .bwb-bonus-box {
    width:100% !important;
    margin-right:0 !important;
    padding:14px !important;
  }

  .bwb-bonus-logo {
    max-width:220px !important;
    margin-bottom:6px !important;
  }

  .bwb-bonus-text p {
    font-size:24px !important;
    line-height:1.25 !important;
  }

  .bwb-bonus-button {
    width:auto !important;          /* no more full width */
    max-width:260px !important;     /* cap it so it doesn’t get crazy wide */
    font-size:18px !important;
    padding:10px 48px 12px 48px !important;
    margin:10px auto !important;    /* center the button in the box */
  }

  .bwb-bonus-terms {
    font-size:11px !important;
    white-space:normal !important; /* allow wrapping on small screens */
  }
}

/* Keep compatibility: older .disclaimer-box also styled */
.disclaimer-box { text-align:center; margin:0 auto; }