:root {
  --felt: #0a3d2e;
  --felt-dark: #062a20;
  --gold: #d4af37;
  --gold-bright: #f4d160;
  --ink: #fdf6e3;
  --ink-dim: #cfc7ad;
  --card-bg: #0f4a38;
  --red: #b5332c;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  background: var(--felt-dark);
  color: var(--ink);
  line-height: 1.5;
}
a { color: var(--gold-bright); text-decoration: none; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

.casino-header {
  background: linear-gradient(180deg, var(--felt), var(--felt-dark));
  border-bottom: 3px solid var(--gold);
  padding: 18px 0;
}
.casino-header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}
.logo {
  font-size: 22px;
  font-weight: bold;
  color: var(--gold-bright);
  margin: 0;
  letter-spacing: 0.02em;
}
.casino-nav { display: flex; gap: 20px; }
.casino-nav a { color: var(--ink); font-size: 15px; }
.casino-nav a:hover { color: var(--gold-bright); }

.btn-primary {
  background: linear-gradient(180deg, var(--gold-bright), var(--gold));
  color: #1a1200;
  padding: 10px 18px;
  border-radius: 6px;
  font-weight: bold;
  display: inline-block;
}
.btn-secondary {
  background: transparent;
  border: 2px solid var(--gold);
  color: var(--gold-bright);
  padding: 8px 16px;
  border-radius: 6px;
  display: inline-block;
}
.btn-primary.large, .btn-secondary.large { padding: 16px 28px; font-size: 18px; }
.btn-play {
  background: var(--red);
  color: #fff;
  padding: 8px 16px;
  border-radius: 6px;
  display: inline-block;
  font-weight: bold;
}

.hero {
  background:
    radial-gradient(900px 400px at 50% -20%, rgba(212,175,55,0.15), transparent 60%),
    var(--felt);
  padding: 72px 0;
  text-align: center;
}
.hero h1 {
  font-size: clamp(32px, 5vw, 56px);
  color: var(--gold-bright);
  margin: 0 0 16px;
}
.hero-sub {
  max-width: 60ch;
  margin: 0 auto 32px;
  color: var(--ink-dim);
  font-size: 18px;
}
.hero-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 28px; }
.odds-ticker {
  font-size: 14px;
  color: var(--gold-bright);
  background: rgba(0,0,0,0.25);
  display: inline-block;
  padding: 8px 16px;
  border-radius: 20px;
}

.game-section { padding: 56px 0; }
.game-section.alt { background: rgba(0,0,0,0.15); }
.game-section h2 {
  color: var(--gold-bright);
  font-size: 28px;
  margin: 0 0 28px;
  text-align: center;
}
.game-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
}
.game-card {
  background: var(--card-bg);
  border: 1px solid rgba(212,175,55,0.35);
  border-radius: 10px;
  padding: 20px;
  text-align: center;
}
.game-thumb { font-size: 48px; margin-bottom: 8px; }
.game-card h3 { margin: 0 0 6px; color: var(--ink); }
.rtp { color: var(--ink-dim); font-size: 13px; margin: 0 0 14px; }

.bonus-banner {
  background: linear-gradient(90deg, var(--red), #7a211c);
  padding: 48px 0;
  text-align: center;
}
.bonus-banner h2 { margin: 0 0 12px; font-size: 26px; }
.bonus-banner p { color: #ffe6e2; max-width: 60ch; margin: 0 auto 24px; }

.vip-section { padding: 56px 0; text-align: center; }
.vip-section h2 { color: var(--gold-bright); }
.vip-section p { max-width: 60ch; margin: 12px auto 0; color: var(--ink-dim); }

.casino-footer {
  background: #051a13;
  border-top: 3px solid var(--gold);
  padding: 32px 0;
  font-size: 13px;
  color: var(--ink-dim);
}
.disclaimer {
  max-width: 70ch;
  margin: 0 0 12px;
}
.disclaimer strong { color: var(--gold-bright); }
.fine { margin: 0; }
