/* ================================================================
   MAIN STYLESHEET — Vegas Sweeps 777
   ================================================================
   Table of Contents:
   1. Reset & Variables
   2. Layout
   3. Background Noise
   4. Top Promo Banner
   5. Header
   6. Hero
   7. Trust Strip
   8. Payment Badges
   9. Quick Links
   10. Social Proof
   11. Section Head
   12. Games Grid (Sign-up Cards)
   13. Download Section (Download Cards)
   14. Footer
   15. Animations
   16. Responsive
   ================================================================ */

/* ====== 1. RESET & VARIABLES ====== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --bg: #0a0e1a;
  --surface: #111827;
  --surface-2: #1a2236;
  /* Updated to match download-page.css */
  --border: #1e293b;
  /* Updated to solid color for cleaner borders */
  --text: #e2e8f0;
  /* Updated to slightly softer white */
  --text-muted: #94a3b8;
  --primary: #3b82f6;
  --primary-light: #60a5fa;
  --success: #10b981;
  --success-light: #34d399;
  --gold: #facc15;
  /* Updated to brighter gold */
  --gold-light: #fde047;
  --radius: 16px;
  --shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.5);
  /* Cleaner shadow */
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: "Outfit", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

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

img {
  display: block;
  max-width: 100%;
}

li {
  list-style: none;
}

/* ====== 2. LAYOUT ====== */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ====== 3. BACKGROUND NOISE ====== */
.bg-noise {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.03;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ====== 4. TOP PROMO BANNER ====== */
.top-banner {
  background: linear-gradient(135deg, #7c3aed, var(--primary), #06b6d4);
  background-size: 200% 100%;
  animation: bannerGradient 6s ease infinite;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  color: white;
  letter-spacing: 0.3px;
  position: relative;
  overflow: hidden;
}

@keyframes bannerGradient {

  0%,
  100% {
    background-position: 0% center;
  }

  50% {
    background-position: 100% center;
  }
}

.top-banner::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg,
      transparent,
      rgba(255, 255, 255, 0.12),
      transparent);
  animation: bannerShimmer 4s ease-in-out infinite;
}

@keyframes bannerShimmer {
  0% {
    left: -100%;
  }

  100% {
    left: 200%;
  }
}

.tb-text {
  white-space: nowrap;
}

.tb-text strong {
  color: #fde047;
  text-shadow: 0 1px 4px rgba(253, 224, 71, 0.3);
}

.tb-code {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fde047;
  padding: 3px 12px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 800;
  font-family: "Outfit", monospace;
  letter-spacing: 1.5px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.tb-code:hover {
  background: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
  transform: scale(1.05);
}

.tb-code:active {
  transform: scale(0.97);
}

/* Copied tooltip */
.tb-code.copied::after {
  content: "Copied!";
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--success);
  color: white;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 4px 10px;
  border-radius: 6px;
  white-space: nowrap;
  animation: tooltipPop 0.3s ease;
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}

@keyframes tooltipPop {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* ====== 5. HEADER ====== */
.site-header {
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
  background: rgba(10, 14, 26, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  position: sticky;
  top: 0;
  z-index: 100;
}

.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.logo img {
  height: 72px;
  width: auto;
  border-radius: 8px;
  object-fit: contain;
}

.logo .accent {
  color: var(--gold);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.site-nav a {
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-muted);
  border-radius: 8px;
  transition:
    color 0.2s,
    background 0.2s;
}

.site-nav a:hover {
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
}

/* Hamburger — desktop hidden */
.hamburger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  flex-direction: column;
  gap: 4px;
  z-index: 110;
}

.hamburger span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--text);
  border-radius: 2px;
  transition:
    transform 0.3s,
    opacity 0.2s;
}

.hamburger.active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* Mobile nav extras — desktop hidden */
.mobile-nav-extras {
  display: none;
}

.breadcrumb {
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}

.breadcrumb .container {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--text-muted);
}

.breadcrumb a {
  color: var(--primary-light);
  font-weight: 500;
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: var(--text);
}

.breadcrumb span:last-child {
  color: var(--text-muted);
  font-weight: 400;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-stats {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: var(--text-muted);
  font-weight: 500;
  min-width: 120px;
  white-space: nowrap;
}

.live-dot {
  width: 8px;
  height: 8px;
  background: var(--success);
  border-radius: 50%;
  animation: livePulse 2s ease-in-out infinite;
}

@keyframes livePulse {

  0%,
  100% {
    opacity: 1;
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  }

  50% {
    opacity: 0.7;
    box-shadow: 0 0 0 5px rgba(16, 185, 129, 0);
  }
}

/* ====== 6. HERO ====== */
.hero {
  text-align: center;
  padding: 40px 0 24px;
  position: relative;
  overflow: hidden;
}

/* Animated gradient orbs */
.hero::before,
.hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.35;
  pointer-events: none;
  z-index: 0;
}

.hero::before {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.5), transparent 70%);
  top: -120px;
  left: -80px;
  animation: heroOrbFloat 8s ease-in-out infinite;
}

.hero::after {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, rgba(124, 58, 237, 0.45), transparent 70%);
  bottom: -100px;
  right: -60px;
  animation: heroOrbFloat 10s ease-in-out infinite reverse;
}

@keyframes heroOrbFloat {

  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }

  33% {
    transform: translate(30px, -20px) scale(1.1);
  }

  66% {
    transform: translate(-20px, 15px) scale(0.95);
  }
}

/* All hero children above the orbs */
.hero .container {
  position: relative;
  z-index: 1;
}

.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(37, 99, 235, 0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: var(--primary-light);
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 20px;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.15);
}

.hero h1 {
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.0px;
  margin-bottom: 16px;
  color: var(--text);
}

.hero .gradient {
  background: linear-gradient(135deg, var(--gold), #fb923c, var(--gold));
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: heroTextShimmer 3s ease-in-out infinite;
}

@keyframes heroTextShimmer {

  0%,
  100% {
    background-position: 0% center;
  }

  50% {
    background-position: 100% center;
  }
}

.hero p {
  font-size: 15px;
  color: var(--text-muted);
  max-width: 500px;
  margin: 0 auto 20px;
  line-height: 1.55;
}

/* ====== 7. (trust strip removed) ====== */

/* ====== 8. PAYMENT BADGES ====== */
.payment-strip {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}

.pay-badge {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 5px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  transition: all 0.2s ease;
}

.pay-badge:hover {
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-1px);
}

.pay-badge img {
  height: 16px;
  width: auto;
}

/* ====== 9. (quick links removed) ====== */

/* ====== 10. SOCIAL PROOF (inline) ====== */
.social-inline {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 12px;
  color: var(--text-muted);
  margin-bottom: 28px;
}

.social-inline strong {
  color: var(--gold);
  font-weight: 700;
}

.si-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.4;
}

.si-link {
  font-size: 11.5px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.si-dep {
  background: rgba(16, 185, 129, 0.12);
  color: var(--success);
}

.si-dep:hover {
  background: rgba(16, 185, 129, 0.22);
}

.si-wdw {
  background: var(--surface);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.si-wdw:hover {
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--text);
}

/* Deposit / Withdraw row */
.funds-row {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 28px;
}

.funds-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 20px;
  border-radius: 10px;
  transition: all 0.2s ease;
  text-decoration: none;
}

.funds-btn ion-icon {
  font-size: 16px;
}

.funds-dep {
  background: rgba(16, 185, 129, 0.12);
  color: var(--success);
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.funds-dep:hover {
  background: rgba(16, 185, 129, 0.22);
  border-color: rgba(16, 185, 129, 0.4);
}

.funds-wdw {
  background: var(--surface);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.funds-wdw:hover {
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--text);
}

/* ====== 11. SECTION HEAD ====== */
.section-head {
  text-align: center;
  margin-bottom: 28px;
}

.section-head h2 {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 6px;
}

.section-head p {
  color: var(--text-muted);
  font-size: 14px;
}

/* ====== 12. GAMES GRID (Sign-up Cards) ====== */
.games-section {
  padding-bottom: 40px;
}

.games-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.game-card {
  display: block;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  text-decoration: none;
  color: inherit;
}

.game-card:hover {
  border-color: var(--primary);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.5);
}

.gc-banner {
  position: relative;
  height: 160px;
  overflow: hidden;
  background: var(--surface-2);
}

.gc-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.game-card:hover .gc-banner img {
  transform: scale(1.08);
}

.gc-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(15, 23, 42, 0.6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Specific badge colors via modifier classes if needed, for now standardizing */

.gc-body {
  padding: 16px;
}

.gc-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.gc-name {
  font-size: 17px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--text);
}

.gc-bonus {
  font-size: 13px;
  font-weight: 700;
  color: var(--success-light);
  background: rgba(16, 185, 129, 0.1);
  padding: 2px 8px;
  border-radius: 6px;
  white-space: nowrap;
}

.gc-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 12.5px;
  color: var(--text-muted);
}

.gc-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.gc-meta ion-icon {
  font-size: 14px;
  color: var(--primary);
  /* Accent icon color */
}

.gc-meta ion-icon[name="star"] {
  color: var(--gold);
}

.gc-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 16px;
  background: linear-gradient(135deg, var(--primary), #2563eb);
  color: white;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.2s ease;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.gc-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.4);
}

.gc-cta ion-icon {
  font-size: 18px;
}

/* Featured card */
.game-card.featured {
  border-color: rgba(250, 204, 21, 0.3);
  box-shadow: 0 10px 40px -10px rgba(250, 204, 21, 0.15);
  animation: featuredGlow 3s ease-in-out infinite;
}

@keyframes featuredGlow {

  0%,
  100% {
    box-shadow: 0 10px 40px -10px rgba(250, 204, 21, 0.15),
      0 0 20px -5px rgba(250, 204, 21, 0.08);
  }

  50% {
    box-shadow: 0 10px 40px -10px rgba(250, 204, 21, 0.3),
      0 0 35px -5px rgba(250, 204, 21, 0.18);
  }
}

.game-card.featured:hover {
  border-color: var(--gold);
  box-shadow: 0 20px 50px -10px rgba(250, 204, 21, 0.25);
  animation: none;
}

.game-card.featured .gc-badge {
  background: linear-gradient(135deg, var(--gold), #eab308);
  color: #000;
  border: none;
  text-shadow: none;
}

.game-card.featured .gc-cta {
  background: linear-gradient(135deg, var(--success), #059669);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
}

.game-card.featured .gc-cta:hover {
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4);
}

/* Show All Games Toggle */
.games-grid-extra[style*="contents"] {
  display: contents !important;
}

.btn-show-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 28px;
  background: var(--surface);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 12px;
  color: var(--primary-light);
  font-size: 14px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 0 20px -8px rgba(59, 130, 246, 0.15);
}

.btn-show-all:hover {
  border-color: var(--primary);
  color: #fff;
  background: rgba(59, 130, 246, 0.1);
  box-shadow: 0 0 28px -6px rgba(59, 130, 246, 0.3);
  transform: translateY(-2px);
}

.btn-show-all ion-icon {
  font-size: 18px;
}

.show-all-wrap {
  text-align: center;
  margin-top: 24px;
}

/* ====== 13. DOWNLOAD SECTION (App Listing Style) ====== */
.download-section {
  position: relative;
  padding: 56px 0 48px;
  overflow: hidden;
}

.download-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      transparent 0%,
      rgba(16, 185, 129, 0.04) 40%,
      rgba(16, 185, 129, 0.02) 100%);
  pointer-events: none;
}

.dl-head {
  text-align: center;
  margin-bottom: 32px;
}

.dl-head h2 {
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 800;
  letter-spacing: -0.5px;
  margin-bottom: 6px;
}

.dl-head .gradient {
  background: linear-gradient(135deg, var(--success), var(--success-light));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.dl-head p {
  font-size: 15px;
  color: var(--text-muted);
  max-width: 420px;
  margin: 0 auto;
}

/* App listing rows */
.al-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}

.al-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  background: var(--surface);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}

.al-row:hover {
  background: var(--surface-2);
}

.al-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1px solid var(--border);
}

.al-info {
  flex: 1;
  min-width: 0;
}

.al-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.al-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--text-muted);
}

.al-meta span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.al-meta ion-icon {
  font-size: 12px;
  color: #facc15;
}

.al-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.5;
}

.al-install {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 16px;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.al-install ion-icon {
  font-size: 14px;
}

.al-row:hover .al-install {
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3);
}

.al-row.featured {
  background: rgba(16, 185, 129, 0.04);
}

.al-row.featured .al-name::after {
  content: "★";
  margin-left: 6px;
  color: var(--gold);
  font-size: 12px;
}

/* ====== 14. FOOTER ====== */
.site-footer {
  border-top: 1px solid var(--border);
  padding: 48px 0 24px;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 32px;
}

.footer-brand .logo {
  margin-bottom: 12px;
}

.footer-desc {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.6;
  max-width: 280px;
}

.footer-links h4 {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text);
}

.footer-links a {
  display: block;
  font-size: 13px;
  color: var(--text-muted);
  padding: 4px 0;
  transition: color 0.2s;
}

.footer-links a:hover {
  color: var(--primary-light);
}

.footer-bottom {
  border-top: 1px solid var(--border);
  padding-top: 20px;
  text-align: center;
}

.footer-bottom p {
  font-size: 12px;
  color: var(--text-muted);
}

/* ====== 15. ANIMATIONS (Intersection Observer) ====== */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.anim {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.5s ease,
    transform 0.5s ease;
}

.anim.in-view {
  opacity: 1;
  transform: translateY(0);
}

.d1 {
  transition-delay: 0.05s;
}

.d2 {
  transition-delay: 0.1s;
}

.d3 {
  transition-delay: 0.15s;
}

.d4 {
  transition-delay: 0.2s;
}

.d5 {
  transition-delay: 0.25s;
}

.d6 {
  transition-delay: 0.3s;
}

.d7 {
  transition-delay: 0.05s;
}

.d8 {
  transition-delay: 0.1s;
}

.d9 {
  transition-delay: 0.15s;
}

.d10 {
  transition-delay: 0.2s;
}

.d11 {
  transition-delay: 0.25s;
}

.d12 {
  transition-delay: 0.05s;
}

.d13 {
  transition-delay: 0.1s;
}

.d14 {
  transition-delay: 0.15s;
}

.d15 {
  transition-delay: 0.2s;
}

.d16 {
  transition-delay: 0.25s;
}

/* ====== 16. HERO CTA ====== */
.hero-cta {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.btn-hero-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: linear-gradient(135deg, var(--primary), #2563eb);
  color: white;
  border-radius: 50px;
  /* Pill shape for hero */
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  border: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 15px rgba(59, 130, 246, 0.3);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.btn-hero-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, 0.5);
}

.btn-hero-primary ion-icon {
  font-size: 18px;
}

.btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 24px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text);
  border-radius: 50px;
  /* Pill shape for hero */
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: all 0.25s ease;
}

.btn-hero-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-2px);
}

.btn-hero-secondary ion-icon {
  font-size: 18px;
}

/* ====== 17. URGENCY COUNTDOWN ====== */
.hero-urgency {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  font-size: 12px;
  color: var(--text-muted);
  font-weight: 500;
}

.hero-urgency ion-icon {
  font-size: 14px;
  color: var(--gold);
}

.hero-urgency strong {
  color: var(--gold);
  font-variant-numeric: tabular-nums;
}

.urgency-dot {
  width: 4px;
  height: 4px;
  background: var(--text-muted);
  border-radius: 50%;
}

/* ====== 18. BACK TO TOP ====== */
.back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text);
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 90;
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--primary);
  border-color: var(--primary);
}

/* ====== 19. FLOATING MOBILE CTA ====== */
.floating-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  background: rgba(10, 14, 26, 0.95);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-top: 1px solid var(--border);
  z-index: 95;
  transform: translateY(100%);
  transition: transform 0.3s ease;
}

.floating-cta.visible {
  transform: translateY(0);
}

.floating-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  background: linear-gradient(135deg, var(--success), #059669);
  color: white;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 700;
  font-family: inherit;
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
}

.floating-cta-btn ion-icon {
  font-size: 20px;
}

/* ====== 20. WINNER TOAST NOTIFICATIONS (REMOVED) ====== */
/* Styles removed as per user request */

/* ====== 21. SEO CONTENT SECTION ====== */
.seo-content {
  padding: 60px 0 40px;
}

.seo-block {
  margin-bottom: 40px;
}

.seo-block h2 {
  font-size: 28px;
  font-weight: 800;
  color: var(--text);
  margin-bottom: 16px;
  letter-spacing: -0.5px;
}

.seo-block h3 {
  font-size: 22px;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 12px;
}

.seo-block p {
  font-size: 15px;
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 12px;
}

.seo-block p strong {
  color: var(--text);
}

.seo-steps {
  list-style: decimal;
  padding-left: 24px;
  margin: 16px 0;
}

.seo-steps li {
  font-size: 15px;
  color: var(--text-muted);
  line-height: 1.7;
  margin-bottom: 8px;
  padding-left: 4px;
}

.seo-steps li strong {
  color: var(--text);
}

.seo-games-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0;
}

.seo-games-list span {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}

.seo-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 20px;
}

.seo-feature {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
}

.seo-feature ion-icon {
  font-size: 28px;
  color: var(--accent);
  flex-shrink: 0;
  margin-top: 2px;
}

.seo-feature strong {
  display: block;
  font-size: 15px;
  color: var(--text);
  margin-bottom: 4px;
}

.seo-feature p {
  font-size: 13px;
  color: var(--text-muted);
  line-height: 1.5;
  margin: 0;
}

/* ====== 22. FAQ SECTION ====== */
.faq-section {
  padding: 40px 0 60px;
}

.faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 12px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.2s;
}

.faq-item:hover,
.faq-item[open] {
  border-color: var(--accent);
}

.faq-item summary {
  padding: 18px 24px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary::after {
  content: "+";
  font-size: 22px;
  font-weight: 300;
  color: var(--text-muted);
  transition: transform 0.2s;
  flex-shrink: 0;
}

.faq-item[open] summary::after {
  content: "−";
  color: var(--accent);
}

.faq-answer {
  padding: 0 24px 18px;
}

.faq-answer p {
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0;
}

.faq-answer p strong {
  color: var(--text);
}

/* ====== 23. RESPONSIVE ====== */
@media (max-width: 768px) {
  .container {
    padding: 0 16px;
  }

  .top-banner {
    font-size: 12px;
    padding: 8px 12px;
  }

  .site-header {
    padding: 12px 0;
  }

  .logo {
    font-size: 17px;
    gap: 8px;
  }

  .logo img {
    height: 54px;
  }

  .hero {
    padding: 24px 0 16px;
  }

  .hero h1 {
    font-size: 24px;
    letter-spacing: -0.7px;
  }

  .hero h1 br {
    display: none;
  }

  .hero p {
    font-size: 13.5px;
    margin-bottom: 16px;
    line-height: 1.5;
  }

  .hero-badge {
    font-size: 11px;
    padding: 4px 10px;
    margin-bottom: 10px;
  }

  .payment-strip {
    gap: 5px;
    margin-bottom: 12px;
  }

  .pay-badge {
    padding: 4px 8px;
    font-size: 11px;
    gap: 4px;
    border-radius: 6px;
  }

  .pay-badge img {
    height: 14px;
  }

  .social-inline {
    gap: 4px 12px;
    font-size: 11px;
    margin-bottom: 20px;
  }

  .games-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .gc-banner {
    height: 120px;
  }

  .gc-body {
    padding: 10px 12px 14px;
  }

  .gc-name {
    font-size: 14px;
  }

  .gc-meta {
    font-size: 11px;
    gap: 8px;
  }

  .gc-cta {
    padding: 8px;
    font-size: 11.5px;
  }

  .gc-bonus {
    font-size: 11px;
  }

  .download-section {
    padding: 36px 0 32px;
  }

  .dl-head h2 {
    font-size: 20px;
  }

  .dl-head p {
    font-size: 13px;
  }

  .al-row {
    padding: 10px 14px;
    gap: 10px;
  }

  .al-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
  }

  .al-name {
    font-size: 13px;
  }

  .al-meta {
    font-size: 10.5px;
  }

  .al-install {
    padding: 6px 12px;
    font-size: 11px;
  }

  .section-head h2 {
    font-size: 20px;
  }

  .section-head p {
    font-size: 13px;
  }

  .header-stats span {
    display: none;
  }

  .btn-hero-primary {
    padding: 11px 20px;
    font-size: 14px;
  }

  .btn-hero-secondary {
    padding: 11px 18px;
    font-size: 14px;
  }

  .hero-urgency {
    font-size: 11px;
    gap: 5px;
    margin-bottom: 14px;
  }

  .floating-cta {
    display: block;
  }

  .back-to-top {
    bottom: 80px;
    right: 16px;
    width: 40px;
    height: 40px;
    font-size: 20px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .site-footer {
    padding: 32px 0 20px;
  }

  .footer-desc {
    max-width: 100%;
  }

  .winner-toast-container {
    bottom: 80px;
    left: 12px;
    right: 12px;
  }

  .winner-toast {
    min-width: unset;
    max-width: 100%;
    padding: 10px 12px;
  }

  .seo-content {
    padding: 40px 0 24px;
  }

  .seo-features {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .seo-block h2 {
    font-size: 22px;
  }

  .seo-block h3 {
    font-size: 18px;
  }

  .seo-block p {
    font-size: 14px;
  }

  .seo-feature {
    padding: 16px;
  }

  .seo-games-list span {
    font-size: 12px;
    padding: 5px 10px;
  }

  .faq-section {
    padding: 24px 0 40px;
  }

  .faq-item summary {
    padding: 14px 16px;
    font-size: 14px;
    gap: 8px;
  }

  .faq-answer {
    padding: 0 16px 14px;
  }

  .faq-answer p {
    font-size: 13px;
  }

  .site-nav {
    /* Mobile drawer */
    position: fixed;
    top: 0;
    right: 0;
    width: 280px;
    height: 100dvh;
    background:
      linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(10, 14, 26, 0.99) 100%);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 72px 20px 24px;
    z-index: 105;
    border-left: 1px solid rgba(59, 130, 246, 0.15);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateX(100%);
    overflow-y: auto;
    display: flex;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.4);
  }

  .site-nav.open {
    transform: translateX(0);
  }

  .site-nav a {
    padding: 14px 16px;
    font-size: 15px;
    border-radius: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  }

  .site-nav a:hover,
  .site-nav a:active {
    background: rgba(255, 255, 255, 0.06);
  }

  .mobile-nav-extras {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
  }

  .mnav-funds {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s;
  }

  .mnav-funds ion-icon {
    font-size: 18px;
  }

  .mnav-dep {
    background: rgba(16, 185, 129, 0.1);
    color: var(--success);
    border: 1px solid rgba(16, 185, 129, 0.2);
  }

  .mnav-wdw {
    background: var(--surface);
    color: var(--text-muted);
    border: 1px solid var(--border);
  }

  .mnav-stats {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-muted);
    padding: 8px 16px;
  }

  .mnav-stats strong {
    color: var(--gold);
  }

  .hamburger {
    display: flex;
  }

  .header-stats {
    display: none;
  }

  /* Backdrop overlay */
  .nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 104;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.3s,
      visibility 0.3s;
  }

  .nav-backdrop.active {
    opacity: 1;
    visibility: visible;
  }

  .breadcrumb {
    display: none;
  }

  .download-section {
    padding: 48px 0 40px;
  }

  .games-section {
    padding-bottom: 40px;
  }
}

@media (max-width: 480px) {
  .container {
    padding: 0 14px;
  }

  .hero h1 {
    font-size: 24px;
    letter-spacing: -0.4px;
  }

  .hero p {
    font-size: 12.5px;
  }

  .hero-cta {
    flex-direction: column;
  }

  .btn-hero-primary,
  .btn-hero-secondary {
    width: 100%;
    justify-content: center;
    padding: 11px 18px;
    font-size: 13px;
  }

  .pay-badge span {
    display: none;
  }

  .pay-badge {
    padding: 4px 8px;
  }

  .social-inline {
    font-size: 10.5px;
    gap: 3px 10px;
  }

  .si-dot {
    width: 2px;
    height: 2px;
  }
}

@media (max-width: 380px) {
  .logo {
    font-size: 15px;
    gap: 6px;
  }

  .logo img {
    height: 44px;
  }

  .hero h1 {
    font-size: 18px;
  }

  .games-grid {
    gap: 8px;
  }

  .gc-body {
    padding: 8px 10px 12px;
  }

  .gc-name {
    font-size: 13px;
  }

  .gc-bonus {
    font-size: 10px;
  }

  .gc-cta {
    padding: 7px;
    font-size: 10.5px;
    gap: 4px;
  }

  .gc-cta ion-icon {
    font-size: 13px;
  }

  .gc-banner {
    height: 100px;
  }

  .al-row {
    padding: 8px 10px;
    gap: 8px;
  }

  .al-icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
  }

  .al-name {
    font-size: 12px;
  }

  .al-meta {
    font-size: 10px;
    gap: 4px;
  }

  .al-install {
    padding: 5px 10px;
    font-size: 10px;
    gap: 3px;
  }

  .top-banner {
    font-size: 11px;
    padding: 7px 10px;
  }

  .top-banner .code {
    padding: 1px 6px;
  }

  .seo-block h2 {
    font-size: 20px;
  }

  .faq-item summary {
    font-size: 13px;
    padding: 12px 14px;
  }
}