* {
  margin: 0;
  box-sizing: border-box;
  font-family: "Luckiest Guy", cursive;
}

body {
  background: #21070C;
}

img {
  max-width: 100%;
}

p,
li {
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  color: #FAFFE5;
  font-size: 14px;
  line-height: 22px;
}

p span,
li span {
  font-family: inherit;
  color: white;
  font-weight: bold;
}

ol {
  list-style: none;
  counter-reset: counter;
}

ol li {
  counter-increment: counter;
  position: relative;
}

ol li::before {
  content: counter(counter) ". ";
  position: absolute;
  right: calc(100% + 4px);
  top: 2px;
  color: #F5EEB6;
  font-family: "Luckiest Guy", cursive;
}

ol,
ul {
  padding-left: 10px;
}

h1,
h2 {
  font-size: 30px;
}

h3 {
  font-size: 22px;
}

h4 {
  font-size: 18px;
}

h1,
h2,
h3,
h4 {
  line-height: 130%;
  text-align: center;
  color: white;
}

.highlighted {
  color: #F5EEB6;
}

.text-center {
  text-align: center;
}

section {
  padding-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

a {
  text-decoration: none;
}

.link {
  font-family: "Roboto Condensed", sans-serif;
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  grid-column-gap: 8px;
  transition: color .2s;
  cursor: pointer;
  color: rgb(221 120 118);
}

.button {
  display: block;
  text-align: center;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  border-radius: 35px / 50px;
  cursor: pointer;
  box-shadow: 0 2px 10px 0 rgb(50 14 6 / .36);
  border-image: url(../img/button-default.webp) 40 fill / 40px stretch;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: rgb(10 62 8);
  background-size: 100% 100%;
  background-image: url(../img/button-default.webp), linear-gradient( 180deg, rgb(41 183 37) 0%, rgb(18 88 2) 100% );
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

.button-secondary {
  -webkit-text-stroke-color: rgb(56 11 19);
  background-image: url(../img/button-secondary.webp), linear-gradient( 180deg, rgb(41 183 37) 0%, rgb(18 88 2) 100% );
  border-image: url(../img/button-secondary.webp) 40 fill / 40px stretch;
}

.button-cta {
  -webkit-text-stroke-color: rgb(56 11 19);
  background-image: url(../img/button-cta.webp);
  border-image: url(../img/button-cta.webp) 40 fill / 40px stretch;
  width: 220px;
  height: 96px;
  font-size: 28px;
}

.button-content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: inline-grid;
  grid-auto-flow: column;
  place-items: center center;
  justify-content: center;
  grid-column-gap: 8px;
  width: 100%;
  background: linear-gradient( 180deg, rgb(255 255 255) 0%, rgb(243 235 164) 30%, rgb(162 110 43) 70%, rgb(243 235 164) 100% );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
  filter: drop-shadow(0 2px 0 rgb(0 0 0 / .4));
}

.button-content:before,
.button-content:after {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: 35px / 50px;
  content: "";
  filter: unset;
}

header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 18px;
  gap: 12px;
  background: #421616;
  border-bottom: 2px solid #7A5941;
}

.header-actions {
  display: flex;
  gap: 12px;
}

.header-button {
  width: 150px;
  height: 36px;
}

.container {
  padding: 0 20px;
}

.banner {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}

.banner-content {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 0 0 30px;
}

.banner-content .welcome-bonus {
  color: #FFF;
  text-align: center;
  text-shadow: 0 3px 1px #1C2127, 0 3px 0 rgba(28, 33, 39, 0.15);
  -webkit-text-stroke-width: 4px;
  -webkit-text-stroke-color: #1C2127;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  text-transform: uppercase;
  paint-order: stroke fill;
}

.banner-content .welcome-label {
  background: url(../img/welcome-label.png) no-repeat center/cover;
  padding: 5px 20px;
  font-size: 14px;
}

.banner-content .welcome-label span {
  color: #FFB940;
  text-align: center;
  text-shadow: 0 2px 0 #312023;
  -webkit-text-stroke-width: 0.6px;
  -webkit-text-stroke-color: #312023;
  font-size: 14px;
  line-height: 125%;
  letter-spacing: 0.16px;
  text-transform: uppercase;
  paint-order: stroke fill;
}

.game-list {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, 1fr);
}

.game-item {
  position: relative;
  display: grid;
}

.game-content-wrapper {
  display: grid;
  grid-area: 1 / 1 / 2 / -1;
  grid-template-rows: 1fr min-content;
  min-width: 100%;
  contain: content;
  position: relative;
  z-index: 1;
  background-image: url(../img/games/game-placeholder.png);
  background-size: 90% 90%;
  background-position: center;
  background-repeat: no-repeat;
  filter: drop-shadow(0 4px 8px rgb(0 0 0 / .4));
  pointer-events: none;
}

.game-content-wrapper:before {
  position: absolute;
  inset: 0;
  background: url(../img/games/game-border.webp) center center no-repeat;
  background-size: 100% 100%;
  content: "";
  z-index: 2;
  pointer-events: none;
}

.game-content {
  position: relative;
  z-index: 1;
  grid-area: 1 / 1 / 2 / -1;
  display: grid;
  grid-template-rows: min-content 1fr;
  grid-template-columns: 1fr min-content;
  border-radius: 18px;
  pointer-events: none;
}

.game-content:before {
  grid-area: 1 / 1 / -1 / -1;
  aspect-ratio: 2 / 3;
  width: 100%;
  content: "";
}

.game-link {
  position: relative;
  grid-area: 1 / 1 / -1 / -1;
  border-radius: 18px;
  z-index: 1;
}

.game-picture {
  position: relative;
  overflow: hidden;
  grid-area: 1 / 1 / -1 / -1;
  background-image: url(../img/games/game-loading.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50px 39px;
  border-radius: 18px;
  contain: content;
  padding: 7% 5%;
}

.game-picture img {
  position: absolute;
  inset: 5%;
  width: 90%;
  height: 90%;
  object-fit: cover;
  object-position: top;
}

.game-actions {
  margin: 7% 5%;
  display: grid;
  position: relative;
  grid-area: 1 / 1 / -1 / -1;
  grid-auto-rows: min-content;
  grid-template-columns: auto;
  align-content: center;
  justify-content: center;
  justify-items: center;
  grid-row-gap: 8px;
  background: url(../img/games/game-hover.webp) center/cover;
  opacity: 0;
  transition: opacity .2s;
  pointer-events: none;
  box-shadow: -6px -6px 17px rgb(0 0 0 / .5) inset, 6px 6px 17px rgb(0 0 0 / .5) inset;
}

.game-actions .play {
  z-index: 1;
  display: inline-grid;
  font-size: 14px;
  min-height: 36px;
  padding: 0 16px;
  pointer-events: all;
  box-shadow: 0 2px 10px 0 rgb(50 14 6 / .36);
}

.game-actions .demo-link {
  z-index: 1;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  pointer-events: all;
}

.button-wrapper {
  display: flex;
  justify-content: center;
}

.table {
  border-radius: 16px;
  overflow: hidden;
  border: 3px solid #7B4D31;
}

.table .table-header .title {
  padding: 16px 12px;
  text-transform: uppercase;
  background: #A15E24;
}

.table .table-header .title:last-child {
  background: linear-gradient(90deg, #A15E24 0%, #65340A 100%);
}

.table .table-row .title.as-header span,
.table .table-row .desc.as-header span {
  text-align: center;
  text-shadow: 0 2px 0 #312023;
  -webkit-text-stroke-width: 0.6px;
  -webkit-text-stroke-color: #312023;
  font-size: 20px;
  line-height: 125%;
  letter-spacing: 0.16px;
  color: #F5EEB6;
  paint-order: stroke fill;
  z-index: 2;
}

.table .table-header .title + .title {
  border-left: 3px solid #7B4D31;
}

.table .table-header {
  display: grid;
  grid-template-columns: 120px 1fr;
  text-align: left;
}

.table .table-header,
.table .table-body {
  grid-template-columns: 140px 1fr;
}

.table .table-row:nth-child(odd) .title,
.table .table-row:nth-child(odd) .desc {
  background: linear-gradient(180deg, #5D2221 0%, #6F2626 100%);
}

.table .table-row:nth-child(even) .title,
.table .table-row:nth-child(even) .desc {
  background: #4D1B1A;
}

.table .table-body {
  display: grid;
  gap: 3px;
  grid-template-rows: auto auto;
  background-color: #7B4D31;
}

.table .table-row {
  display: contents;
}

.table .table-row .title {
  justify-content: center;
  text-align: center;
}

.table .table-row .title:not(.as-header) span {
  font-size: 14px;
  padding: 16px 12px;
  line-height: 125%;
  letter-spacing: 0.16px;
  background: linear-gradient(180deg, #F5EEB6 0%, #B28642 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.table .table-row .title,
.table .table-row .desc {
  display: flex;
  align-items: center;
  position: relative;
}

.table .table-row .title img,
.table .table-row .desc img {
  height: 100%;
  position: absolute;
  pointer-events: none;
  z-index: 1;
}

.table .table-row .title img {
  left: 0;
}

.table .table-row .desc img {
  left: 10%;
}

.table .table-row .desc {
  padding: 16px 12px;
}

.table .table-row .desc p {
  font-size: 12px;
}

.table .table-row .title.as-header,
.table .table-row .desc.as-header {
  background: linear-gradient(90deg, #A15E24 0%, #65340A 100%);
}

.table .table-row .title.as-header {
  background: #A15E24;
}

a:has(.rabbit-image) {
  max-width: 520px;
  margin: 0 auto;
}

.payment-table,
.security-table {
  border-radius: 16px;
  border: 3px solid #7B4D31;
  overflow: hidden;
  display: grid;
}

.payment-table {
  grid-template-columns: repeat(4, 1fr);
}

.security-table {
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 0;
}

.payment-table-header,
.payment-table-title,
.security-table-title {
  text-align: center;
  text-shadow: 0 2px 0 #312023;
  -webkit-text-stroke-width: 0.6px;
  -webkit-text-stroke-color: #312023;
  line-height: 125%;
  letter-spacing: 0.16px;
  color: #F5EEB6;
  paint-order: stroke fill;
  z-index: 2;
}

.payment-table-header {
  font-size: 18px;
  background: linear-gradient(90deg, #A15E24 0%, #65340A 100%);
  grid-column: 1 / 5;
  position: relative;
  padding: 16px 12px;
}

.payment-table-title,
.security-table-title {
  font-size: 12px;
  padding: 12px;
  background: linear-gradient(180deg, #5D2221 0%, #6F2626 100%);
  border-bottom: 3px solid #7B4D31;
}

.payment-table-header span {
  z-index: 2;
}

.payment-table-header img {
  position: absolute;
  z-index: 1;
  pointer-events: none;
  height: 100%;
  top: 0;
}

.payment-table-header img:first-child {
  left: 0;
}

.payment-table-header img:last-child {
  left: 60%;
}

.payment-table-desc,
.security-table-desc {
  padding: 12px;
  text-align: center;
  background: #4D1B1A;
}

.payment-table-title:not(:last-child),
.payment-table-desc:not(:last-child),
.security-table-title:not(:last-child) {
  border-right: 3px solid #7B4D31;
}

.payment-table-desc p,
.security-table-desc p {
  font-size: 14px;
}

.security-table-title,
.security-table-desc {
  display: flex;
  justify-content: center;
}

.security-table-desc {
  border-bottom: 3px solid #7B4D31;
  border-right: 3px solid #7B4D31;
}

.border-right-none {
  border-right: 0 !important;
}

.faq-section {
  padding-bottom: 30px;
}

.faq {
  border: 3px solid #803231;
  background: linear-gradient(180deg, #5B2120 0%, #712727 100%);
  border-radius: 12px;
  overflow: hidden;
  padding: 0 20px;
  height: max-content;
  cursor: pointer;
  box-shadow: 0 6px 16px 0 rgba(37, 14, 61, 0.10);
}

.faq-list {
  display: grid;
  gap: 12px;
  max-width: 520px;
  margin: 0 auto;
  padding-bottom: 30px;
}

.faq-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 32px 0 0;
  font-size: 14px;
  position: relative;
  text-shadow: 0 2px 0 #312023;
  -webkit-text-stroke-width: 0.6px;
  -webkit-text-stroke-color: #312023;
  line-height: 125%;
  letter-spacing: 0.16px;
  color: #F5EEB6;
  paint-order: stroke fill;
  z-index: 2;
}

.faq-header .icon {
  position: absolute;
  right: 0;
  width: 28px;
}

.faq .icon-minus {
  opacity: 0;
}

.faq.active .icon-plus {
  opacity: 0;
}

.faq.active .icon-minus {
  opacity: 1;
}

.faq-body {
  padding-top: 10px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  color: white;
}

.faq-body p {
  margin-bottom: 10px;
}

footer {
  background: #471E1C;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  padding: 16px 20px;
}

footer p {
  font-size: 12px;
  color: #D07D79;
}

footer span {
  color: inherit;
  font-size: inherit;
}

@media (hover: hover) and (pointer: fine) {
  .button-primary:hover {
    -webkit-text-stroke-color: rgb(100 143 43);
    border-image: url(../img/button-default-hover.webp) 40 fill / 40px stretch;
    background-image: url(../img/button-default-hover.webp), linear-gradient(rgb(100 143 43), rgb(100 143 43));
  }

  .button-secondary:hover {
    -webkit-text-stroke-color: rgb(143 35 103);
    background-image: url(../img/button-secondary-hover.webp), linear-gradient( 180deg, rgb(41 183 37) 0%, rgb(18 88 2) 100% );
    border-image: url(../img/button-secondary-hover.webp) 40 fill / 40px stretch;
  }

  .button-primary.button-cta:hover {
    background-image: url(../img/button-cta-hover.webp);
    border-image: url(../img/button-cta-hover.webp) 40 fill / 40px stretch;
  }

  .game-item:hover .game-actions {
    opacity: 1;
  }

  .link:hover {
    color: rgb(221 93 90);
  }
}

@media screen and (min-width: 768px) {
  h1,
  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 26px;
  }

  h4 {
    font-size: 22px;
  }

  p,
  li {
    font-size: 16px;
  }

  header {
    flex-direction: row;
  }

  .header-logo {
    margin-right: auto;
  }

  .header-button {
    width: 180px;
  }

  .banner {
    justify-content: flex-start;
    align-items: center;
  }

  .banner-content {
    padding: 40px 20px;
  }

  .game-list {
    gap: 20px;
  }

  .table .table-header,
  .table .table-body {
    grid-template-columns: 200px 1fr;
  }

  .payment-table-header img:last-child {
    left: 30%;
  }
}

@media screen and (min-width: 1200px) {
  .container {
    max-width: 1228px;
    margin: 0 auto;
  }

  .banner {
    max-width: 1248px;
    margin: 0 auto;
  }

  .banner-content {
    padding: 90px 40px;
  }

  .game-list {
    grid-template-columns: repeat(6, 1fr);
    gap: 25px;
  }

  .table .table-body .title {
    grid-row: 1;
  }

  .table .table-row {
    grid-row: 2;
  }

  .table .table-row .title.as-header,
  .table .table-row .desc.as-header {
    justify-content: center;
  }

  .table .table-row .title.as-header {
    background: linear-gradient(90deg, #A15E24 0%, #65340A 100%);
  }

  .table .table-row .title span {
    font-size: 16px;
  }

  .table .table-row .desc p {
    font-size: 14px;
  }

  .table:not(.bonus-table) .table-row .desc p {
    text-align: center;
  }


  .table .table-body:has(.desc) {
    grid-template-columns: repeat(7, 1fr);
    grid-template-rows: auto auto;
  }

  .table .table-row .title img,
  .table .table-row .desc img {
    opacity: 0;
  }

  .payment-table-header {
    font-size: 20px;
  }
}
