/* =========================================
   LotusQuestPlay — Main Stylesheet
   Social Casino for India | 18+ Only
   Palette: Emerald Green + Rose Gold + Ivory
   ========================================= */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Rajdhani:wght@400;500;600;700&family=Nunito:wght@400;600;700&display=swap');

/* --- CSS Variables — Emerald & Rose Gold --- */
:root {
  --rg-light:     #F4C2A1;
  --rg-mid:       #E8956D;
  --rg-dark:      #C96B3A;
  --em-deep:      #022C22;
  --em-dark:      #064E3B;
  --em-mid:       #065F46;
  --em-light:     #047857;
  --em-glow:      #10B981;
  --pink-light:   #FBCFE8;
  --pink-mid:     #F472B6;
  --pink-deep:    #DB2777;
  --ivory:        #FFF8F0;
  --crimson:      #BE123C;
  --teal:         #2DD4BF;
  --white:        #FFFFFF;
  --white-80:     rgba(255,255,255,0.85);
  --white-60:     rgba(255,255,255,0.6);
  --white-20:     rgba(255,255,255,0.12);
  --black:        #011A12;
  --card-bg:      rgba(4,78,59,0.55);
  --card-border:  rgba(244,194,161,0.3);
  --navbar-h:     80px;
  --radius-sm:    8px;
  --radius-md:    16px;
  --radius-lg:    24px;
  --shadow-rg:    0 0 20px rgba(232,149,109,0.35), 0 0 40px rgba(201,107,58,0.18);
  --shadow-card:  0 8px 32px rgba(0,0,0,0.45);
  --transition:   all 0.3s cubic-bezier(0.4,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

body {
  font-family: 'Rajdhani', 'Nunito', sans-serif;
  background: var(--black);
  color: var(--white);
  line-height: 1.6;
  overflow-x: hidden;
  min-height: 100vh;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,   rgba(6,95,70,0.5)  0%, transparent 70%),
    radial-gradient(ellipse 60% 40% at 80% 80%,   rgba(4,78,59,0.35) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 20% 60%,   rgba(16,185,129,0.15) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

/* =========================================
   TYPOGRAPHY
   ========================================= */
h1,h2,h3,h4,h5,h6 { font-family:'Cinzel',Georgia,serif; font-weight:700; line-height:1.2; }

.section-title {
  font-size: clamp(1.8rem,4vw,2.8rem);
  text-align: center;
  margin-bottom: 0.5rem;
  background: linear-gradient(135deg, var(--rg-light), var(--rg-mid), var(--rg-dark));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.section-subtitle { text-align:center; color:var(--white-60); font-size:1.1rem; margin-bottom:3rem; font-family:'Rajdhani',sans-serif; }

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

/* =========================================
   LAYOUT UTILITIES
   ========================================= */
.container { max-width:1200px; margin:0 auto; padding:0 20px; }
.section { position:relative; padding:80px 0; z-index:1; }
.section--dark { background:rgba(0,0,0,0.25); }

/* =========================================
   BUTTONS
   ========================================= */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px; border:none; border-radius:50px;
  font-family:'Cinzel',serif; font-size:1rem; font-weight:700;
  cursor:pointer; text-decoration:none; transition:var(--transition);
  letter-spacing:0.5px; position:relative; overflow:hidden; white-space:nowrap;
}
.btn::before { content:''; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,0.15),transparent); opacity:0; transition:opacity 0.3s; }
.btn:hover::before { opacity:1; }

.btn-primary {
  background: linear-gradient(135deg, var(--rg-light), var(--rg-mid), var(--rg-dark));
  color: var(--black);
  box-shadow: var(--shadow-rg);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 0 30px rgba(232,149,109,0.6), 0 0 60px rgba(201,107,58,0.3); }

.btn-secondary { background:transparent; color:var(--rg-light); border:2px solid var(--rg-light); }
.btn-secondary:hover { background:var(--rg-light); color:var(--black); transform:translateY(-2px); }

.btn-game {
  background: linear-gradient(135deg, var(--em-mid), var(--em-light), var(--em-glow));
  color: var(--white);
  box-shadow: 0 0 20px rgba(16,185,129,0.35);
  font-size:1.1rem; padding:16px 40px;
}
.btn-game:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 0 40px rgba(16,185,129,0.65); }

.btn-danger { background:linear-gradient(135deg,var(--crimson),#7F1D1D); color:var(--white); box-shadow:0 0 20px rgba(190,18,60,0.4); }

/* =========================================
   NAVIGATION
   ========================================= */
.navbar {
  position:fixed; top:0; left:0; right:0; height:var(--navbar-h); z-index:1000;
  background:rgba(1,26,18,0.95); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--card-border); transition:var(--transition);
}
.navbar.scrolled { background:rgba(1,26,18,0.98); box-shadow:0 4px 30px rgba(0,0,0,0.5); }

.navbar-inner { display:flex; align-items:center; justify-content:space-between; height:100%; max-width:1200px; margin:0 auto; padding:0 20px; }

.navbar-logo { display:flex; align-items:center; text-decoration:none; gap:10px; }
.navbar-logo img { height:50px; width:auto; }
.navbar-logo-text { font-family:'Cinzel',serif; font-size:1.2rem; font-weight:900; background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.navbar-menu { display:flex; align-items:center; gap:6px; list-style:none; }
.navbar-menu a { color:var(--white-80); text-decoration:none; font-family:'Rajdhani',sans-serif; font-size:1rem; font-weight:600; padding:8px 14px; border-radius:var(--radius-sm); transition:var(--transition); letter-spacing:0.5px; }
.navbar-menu a:hover, .navbar-menu a.active { color:var(--rg-light); background:var(--white-20); }
.navbar-menu .nav-badge { background:var(--pink-deep); color:var(--white); font-size:0.65rem; padding:2px 6px; border-radius:10px; margin-left:4px; font-family:'Nunito',sans-serif; vertical-align:top; }

.navbar-age-badge { background:linear-gradient(135deg,var(--crimson),#7F1D1D); color:var(--white); font-size:0.8rem; font-weight:700; padding:6px 14px; border-radius:20px; font-family:'Cinzel',serif; white-space:nowrap; border:1px solid rgba(190,18,60,0.5); }

.navbar-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
.navbar-toggle span { display:block; width:24px; height:2px; background:var(--rg-light); border-radius:2px; transition:var(--transition); }

/* =========================================
   AGE GATE POPUP
   ========================================= */
.age-gate-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.96); z-index:10000; display:flex; align-items:center; justify-content:center; padding:20px; backdrop-filter:blur(10px); }
.age-gate-overlay.hidden { display:none; }

.age-gate-box {
  background: linear-gradient(145deg, var(--em-dark), var(--em-deep));
  border: 2px solid var(--rg-mid);
  border-radius: var(--radius-lg);
  max-width: 480px; width:100%; padding:48px 40px; text-align:center;
  box-shadow: var(--shadow-rg), 0 30px 80px rgba(0,0,0,0.8);
  animation: popIn 0.5s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes popIn { from{opacity:0;transform:scale(0.8) translateY(30px);} to{opacity:1;transform:scale(1) translateY(0);} }

.age-gate-crown { font-size:4rem; margin-bottom:16px; display:block; filter:drop-shadow(0 0 15px rgba(244,194,161,0.6)); }
.age-gate-box h2 { font-size:1.8rem; margin-bottom:8px; background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.age-gate-box p { color:var(--white-60); margin-bottom:24px; font-size:0.95rem; line-height:1.7; }
.age-gate-warning { background:rgba(190,18,60,0.15); border:1px solid rgba(190,18,60,0.4); border-radius:var(--radius-sm); padding:12px 16px; margin-bottom:24px; font-size:0.85rem; color:#FCA5A5; }
.age-gate-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.age-gate-disclaimer { margin-top:20px; font-size:0.78rem; color:var(--white-60); line-height:1.5; }

/* =========================================
   HERO SECTION
   ========================================= */
.hero { min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; padding-top:var(--navbar-h); }

.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 100% 80% at 50% 50%, rgba(6,95,70,0.55) 0%, transparent 70%),
    linear-gradient(180deg, var(--black) 0%, rgba(4,40,28,0.95) 50%, var(--black) 100%);
  z-index:0;
}

.hero-particles { position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none; }

.particle { position:absolute; width:4px; height:4px; border-radius:50%; background:var(--rg-light); animation:float linear infinite; opacity:0; }
@keyframes float { 0%{opacity:0;transform:translateY(100vh) rotate(0deg);} 10%{opacity:1;} 90%{opacity:1;} 100%{opacity:0;transform:translateY(-10vh) rotate(720deg);} }

.hero-content { position:relative; z-index:2; max-width:800px; margin:0 auto; text-align:center; padding:60px 20px; }

.hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(244,194,161,0.1); border:1px solid rgba(244,194,161,0.4); color:var(--rg-light); padding:8px 20px; border-radius:50px; font-size:0.9rem; font-weight:600; margin-bottom:24px; letter-spacing:1px; font-family:'Rajdhani',sans-serif; animation:fadeInDown 0.8s ease both; }

.hero-title { font-size:clamp(2.5rem,7vw,5rem); font-weight:900; line-height:1.1; margin-bottom:16px; animation:fadeInUp 0.8s 0.2s ease both; }
.hero-title span { display:block; background:linear-gradient(135deg, var(--rg-light) 0%, var(--rg-mid) 40%, var(--pink-mid) 70%, var(--rg-dark) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.hero-tagline { font-size:clamp(1rem,2.5vw,1.4rem); color:var(--white-80); margin-bottom:40px; animation:fadeInUp 0.8s 0.4s ease both; font-family:'Rajdhani',sans-serif; }
.hero-cta { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; animation:fadeInUp 0.8s 0.6s ease both; margin-bottom:48px; }

.hero-stats { display:flex; justify-content:center; gap:40px; flex-wrap:wrap; animation:fadeInUp 0.8s 0.8s ease both; }
.hero-stat { text-align:center; }
.hero-stat-num { font-size:2rem; font-weight:900; background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; font-family:'Cinzel',serif; }
.hero-stat-label { font-size:0.85rem; color:var(--white-60); text-transform:uppercase; letter-spacing:1px; }

.hero-cards { position:absolute; width:100%; height:100%; pointer-events:none; z-index:1; }
.floating-card { position:absolute; width:60px; height:84px; border-radius:8px; background:linear-gradient(145deg,#fff,#f0f0f0); display:flex; align-items:center; justify-content:center; font-size:2rem; box-shadow:0 10px 30px rgba(0,0,0,0.4); animation:floatCard 6s ease-in-out infinite; }
.floating-card:nth-child(1){left:5%;top:30%;animation-delay:0s;}
.floating-card:nth-child(2){left:8%;top:60%;animation-delay:1s;}
.floating-card:nth-child(3){right:5%;top:25%;animation-delay:2s;}
.floating-card:nth-child(4){right:8%;top:55%;animation-delay:3s;}
.floating-card:nth-child(5){left:15%;top:15%;animation-delay:1.5s;font-size:1.5rem;width:46px;height:64px;}
.floating-card:nth-child(6){right:15%;top:70%;animation-delay:2.5s;font-size:1.5rem;width:46px;height:64px;}
@keyframes floatCard { 0%,100%{transform:translateY(0px) rotate(-5deg);} 50%{transform:translateY(-20px) rotate(5deg);} }

/* =========================================
   FEATURES / TRUST SECTION
   ========================================= */
.features-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:24px; }

.feature-card {
  background: var(--card-bg); border:1px solid var(--card-border);
  border-radius:var(--radius-md); padding:32px 24px; text-align:center;
  transition:var(--transition); backdrop-filter:blur(10px); position:relative; overflow:hidden;
}
.feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--rg-light),var(--rg-mid)); transform:scaleX(0); transition:transform 0.3s; }
.feature-card:hover::before { transform:scaleX(1); }
.feature-card:hover { transform:translateY(-8px); border-color:rgba(244,194,161,0.5); box-shadow:var(--shadow-card),0 0 30px rgba(244,194,161,0.08); }

.feature-icon { width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg,var(--em-mid),var(--em-glow)); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; font-size:1.8rem; box-shadow:0 0 20px rgba(16,185,129,0.35); }
.feature-card h3 { font-size:1.2rem; margin-bottom:12px; color:var(--rg-light); }
.feature-card p { color:var(--white-60); font-size:0.95rem; line-height:1.7; }

/* =========================================
   GAMES SECTION
   ========================================= */
.games-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:28px; }

.game-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-md); overflow:hidden; transition:var(--transition); backdrop-filter:blur(10px); position:relative; }
.game-card:hover { transform:translateY(-10px); border-color:rgba(244,194,161,0.6); box-shadow:var(--shadow-card),0 0 40px rgba(244,194,161,0.12); }

.game-preview { position:relative; height:220px; overflow:hidden; }
.game-preview canvas { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.game-card:hover .game-preview canvas { transform:scale(1.05); }

.game-preview-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(4,40,28,0.9),transparent 60%); display:flex; align-items:flex-end; padding:20px; }

.game-tag { background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); color:var(--black); font-size:0.75rem; font-weight:700; padding:4px 12px; border-radius:20px; font-family:'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:1px; }

.game-body { padding:24px; }
.game-body h3 { font-size:1.4rem; margin-bottom:8px; background:linear-gradient(135deg,var(--white),var(--rg-light)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.game-body p { color:var(--white-60); font-size:0.9rem; margin-bottom:20px; line-height:1.6; }

.game-meta { display:flex; gap:16px; margin-bottom:20px; flex-wrap:wrap; }
.game-meta-item { display:flex; align-items:center; gap:6px; font-size:0.85rem; color:var(--white-60); }
.game-meta-item i { color:var(--rg-light); }
.game-online { width:8px; height:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 6px var(--teal); animation:pulse 2s ease infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:0.6;transform:scale(0.8);} }

/* =========================================
   RESPONSIBLE GAMING HIGHLIGHT
   ========================================= */
.rg-banner { background:linear-gradient(135deg,rgba(190,18,60,0.12),rgba(127,29,29,0.15)); border:1px solid rgba(190,18,60,0.35); border-radius:var(--radius-md); padding:32px; display:flex; align-items:center; gap:24px; margin:40px 0; flex-wrap:wrap; }
.rg-banner-icon { font-size:3rem; flex-shrink:0; filter:drop-shadow(0 0 10px rgba(190,18,60,0.6)); }
.rg-banner-content h3 { color:#FCA5A5; margin-bottom:8px; font-size:1.3rem; }
.rg-banner-content p { color:var(--white-60); font-size:0.95rem; line-height:1.7; }

/* =========================================
   TICKER / MARQUEE
   ========================================= */
.ticker-bar { background:linear-gradient(90deg,var(--em-dark),var(--em-mid),var(--em-dark)); border-top:1px solid var(--card-border); border-bottom:1px solid var(--card-border); overflow:hidden; padding:10px 0; white-space:nowrap; }
.ticker-inner { display:inline-flex; animation:ticker 30s linear infinite; gap:60px; }
.ticker-item { display:inline-flex; align-items:center; gap:8px; font-size:0.9rem; font-family:'Rajdhani',sans-serif; }
.ticker-item .ticker-icon { color:var(--rg-light); }
.ticker-item .ticker-val  { color:var(--teal); font-weight:700; }
.ticker-item .ticker-sep  { color:var(--white-20); }
@keyframes ticker { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* =========================================
   FOOTER
   ========================================= */
footer { background:var(--em-deep); border-top:1px solid var(--card-border); padding:60px 0 0; position:relative; z-index:1; }

.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.footer-brand p { color:var(--white-60); font-size:0.9rem; line-height:1.8; margin:16px 0; }
.footer-brand img { height:52px; width:auto; margin-bottom:8px; }

.footer-heading { font-family:'Cinzel',serif; font-size:1rem; color:var(--rg-light); margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid var(--card-border); }

.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links a { color:var(--white-60); text-decoration:none; font-size:0.9rem; transition:var(--transition); display:flex; align-items:center; gap:8px; }
.footer-links a:hover { color:var(--rg-light); padding-left:4px; }
.footer-links a i { font-size:0.75rem; color:var(--rg-mid); }

.footer-contact-item { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; font-size:0.9rem; color:var(--white-60); }
.footer-contact-item i { color:var(--rg-light); font-size:1rem; margin-top:2px; flex-shrink:0; }

.footer-regulators { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:20px 0; }
.regulator-badge { background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-sm); padding:7px 13px; font-size:0.8rem; font-weight:700; color:var(--white-80); text-decoration:none; transition:var(--transition); text-align:center; }
.regulator-badge:hover { border-color:var(--rg-mid); color:var(--rg-light); }

.footer-bottom { border-top:1px solid var(--card-border); padding:24px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.footer-bottom-left { font-size:0.85rem; color:var(--white-60); line-height:1.6; }
.footer-bottom-right { display:flex; align-items:center; gap:12px; }

.age-seal { background:linear-gradient(135deg,var(--crimson),#7F1D1D); color:var(--white); font-family:'Cinzel',serif; font-size:1rem; font-weight:900; width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:2px solid var(--crimson); box-shadow:0 0 15px rgba(190,18,60,0.5); }
.social-logo-badge { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:6px; padding:6px 12px; font-size:0.78rem; color:var(--white-60); white-space:nowrap; }

/* =========================================
   CARD / GLASS PANELS
   ========================================= */
.glass-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-md); backdrop-filter:blur(12px); padding:32px; }
.divider { width:80px; height:3px; background:linear-gradient(90deg,var(--rg-light),var(--rg-mid)); margin:16px auto; border-radius:3px; }

/* =========================================
   ANIMATIONS
   ========================================= */
@keyframes fadeInDown { from{opacity:0;transform:translateY(-20px);} to{opacity:1;transform:translateY(0);} }
@keyframes fadeInUp   { from{opacity:0;transform:translateY(20px);}  to{opacity:1;transform:translateY(0);} }
@keyframes fadeIn     { from{opacity:0;} to{opacity:1;} }
@keyframes fadeOut    { to{opacity:0;pointer-events:none;} }

@keyframes shimmer { 0%{background-position:-200% center;} 100%{background-position:200% center;} }

.shimmer-text {
  background: linear-gradient(90deg, var(--rg-dark) 0%, var(--rg-light) 30%, var(--pink-mid) 50%, var(--rg-light) 70%, var(--rg-dark) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: shimmer 3s linear infinite;
}

@keyframes glowPulse { 0%,100%{box-shadow:0 0 20px rgba(232,149,109,0.3);} 50%{box-shadow:0 0 40px rgba(232,149,109,0.7),0 0 80px rgba(201,107,58,0.3);} }
@keyframes winFlash  { 0%,100%{filter:brightness(1);} 50%{filter:brightness(2.2);} }

/* =========================================
   MOBILE MENU
   ========================================= */
.mobile-menu { position:fixed; top:var(--navbar-h); left:0; right:0; background:rgba(1,26,18,0.98); backdrop-filter:blur(20px); z-index:999; transform:translateY(-100%); transition:transform 0.3s ease; border-bottom:1px solid var(--card-border); padding:20px; }
.mobile-menu.open { transform:translateY(0); }
.mobile-menu ul { list-style:none; display:flex; flex-direction:column; gap:4px; }
.mobile-menu a { display:flex; align-items:center; gap:12px; color:var(--white-80); text-decoration:none; font-family:'Rajdhani',sans-serif; font-size:1.1rem; font-weight:600; padding:14px 16px; border-radius:var(--radius-sm); transition:var(--transition); }
.mobile-menu a:hover { color:var(--rg-light); background:var(--white-20); }

/* =========================================
   WIN CELEBRATION
   ========================================= */
.win-celebration { position:fixed; inset:0; pointer-events:none; z-index:5000; display:none; }
.win-celebration.active { display:block; }
.confetti-piece { position:absolute; width:10px; height:10px; animation:confettiFall linear forwards; }
@keyframes confettiFall { 0%{transform:translateY(-10px) rotate(0deg);opacity:1;} 100%{transform:translateY(100vh) rotate(720deg);opacity:0;} }

/* =========================================
   TOAST
   ========================================= */
.toast-container { position:fixed; top:100px; right:20px; z-index:9000; display:flex; flex-direction:column; gap:12px; pointer-events:none; }
.toast { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-sm); padding:14px 20px; min-width:260px; max-width:360px; backdrop-filter:blur(12px); display:flex; align-items:center; gap:12px; animation:toastIn 0.4s cubic-bezier(0.34,1.56,0.64,1); pointer-events:auto; font-size:0.9rem; }
.toast.win  { border-color:#4ade80; }
.toast.lose { border-color:#f87171; }
.toast.info { border-color:var(--rg-mid); }
.toast-icon { font-size:1.2rem; }
.toast.win  .toast-icon { color:#4ade80; }
.toast.lose .toast-icon { color:#f87171; }
.toast.info .toast-icon { color:var(--rg-light); }
@keyframes toastIn { from{opacity:0;transform:translateX(100%);} to{opacity:1;transform:translateX(0);} }

/* =========================================
   BALANCE BAR
   ========================================= */
.balance-bar { background:linear-gradient(135deg,var(--em-dark),var(--em-deep)); border:1px solid var(--card-border); border-radius:var(--radius-md); padding:20px 28px; display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; flex-wrap:wrap; gap:16px; box-shadow:var(--shadow-rg); }
.balance-item { text-align:center; }
.balance-label { font-size:0.75rem; text-transform:uppercase; letter-spacing:2px; color:var(--white-60); font-family:'Rajdhani',sans-serif; display:block; margin-bottom:4px; }
.balance-value { font-family:'Cinzel',serif; font-size:1.6rem; font-weight:900; background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.balance-value.win-flash { animation:winFlash 0.6s ease; }

/* =========================================
   SLOT MACHINE
   ========================================= */
.slot-machine { background:linear-gradient(145deg,#022c22,#011a12); border:3px solid var(--rg-mid); border-radius:24px; padding:36px; max-width:600px; margin:0 auto; box-shadow:var(--shadow-rg),inset 0 0 50px rgba(0,0,0,0.5); position:relative; }
.slot-machine::before { content:''; position:absolute; inset:4px; border:1px solid rgba(244,194,161,0.15); border-radius:20px; pointer-events:none; }

.slot-lights { display:flex; justify-content:space-between; margin-bottom:24px; }
.slot-light { width:14px; height:14px; border-radius:50%; background:var(--rg-light); box-shadow:0 0 10px var(--rg-light); animation:blinkLights 1s ease infinite alternate; }
.slot-light:nth-child(2n) { background:var(--pink-mid); box-shadow:0 0 10px var(--pink-mid); animation-delay:0.5s; }
.slot-light:nth-child(3n) { background:var(--teal); box-shadow:0 0 10px var(--teal); animation-delay:0.25s; }
@keyframes blinkLights { from{opacity:1;} to{opacity:0.3;} }

.slot-reels-wrapper { background:rgba(0,0,0,0.5); border:2px solid var(--rg-dark); border-radius:12px; padding:16px; margin-bottom:24px; position:relative; }
.slot-reels-wrapper::before { content:''; position:absolute; top:0; left:0; right:0; height:50px; z-index:2; pointer-events:none; background:linear-gradient(to bottom,rgba(0,0,0,0.8),transparent); border-radius:10px 10px 0 0; }
.slot-reels-wrapper::after  { content:''; position:absolute; bottom:0; left:0; right:0; height:50px; z-index:2; pointer-events:none; background:linear-gradient(to top,rgba(0,0,0,0.8),transparent); border-radius:0 0 10px 10px; }

.win-line { position:absolute; top:50%; left:16px; right:16px; height:2px; background:rgba(244,194,161,0.3); transform:translateY(-50%); z-index:3; }
.win-line.active { background:var(--rg-light); box-shadow:0 0 10px var(--rg-light),0 0 20px var(--rg-mid); animation:lineGlow 0.5s ease infinite alternate; }
@keyframes lineGlow { from{box-shadow:0 0 5px var(--rg-light);} to{box-shadow:0 0 20px var(--rg-light),0 0 40px var(--rg-mid);} }

.slot-reels { display:flex; justify-content:center; gap:12px; }
.slot-reel { width:120px; height:120px; overflow:hidden; border-radius:8px; background:rgba(0,0,0,0.3); position:relative; }
.reel-strip { display:flex; flex-direction:column; transition:transform 0.1s linear; will-change:transform; }
.reel-symbol { width:120px; height:120px; display:flex; align-items:center; justify-content:center; font-size:3.5rem; flex-shrink:0; user-select:none; }

.slot-result-banner { min-height:48px; display:flex; align-items:center; justify-content:center; font-family:'Cinzel',serif; font-size:1.3rem; font-weight:700; color:var(--rg-light); margin-bottom:20px; text-align:center; letter-spacing:1px; }

.slot-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }

.bet-control { display:flex; align-items:center; gap:8px; background:rgba(0,0,0,0.3); border:1px solid var(--card-border); border-radius:8px; padding:8px 16px; }
.bet-btn { width:32px; height:32px; border-radius:50%; border:1px solid var(--rg-mid); background:transparent; color:var(--rg-light); font-size:1.2rem; cursor:pointer; transition:var(--transition); display:flex; align-items:center; justify-content:center; }
.bet-btn:hover { background:var(--rg-mid); color:var(--black); }
.bet-amount { font-family:'Cinzel',serif; font-size:1.1rem; font-weight:700; color:var(--rg-light); min-width:60px; text-align:center; }

.spin-btn { flex:1; max-width:200px; min-height:56px; background:linear-gradient(135deg,var(--rg-light),var(--rg-mid),var(--rg-dark)); border:none; border-radius:50px; font-family:'Cinzel',serif; font-size:1.2rem; font-weight:900; color:var(--black); cursor:pointer; transition:var(--transition); letter-spacing:1px; box-shadow:var(--shadow-rg); text-transform:uppercase; position:relative; overflow:hidden; }
.spin-btn::after { content:''; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,0.3),transparent); opacity:0; transition:opacity 0.3s; }
.spin-btn:hover:not(:disabled)::after { opacity:1; }
.spin-btn:hover:not(:disabled) { transform:scale(1.05); box-shadow:0 0 40px rgba(232,149,109,0.8); }
.spin-btn:disabled { opacity:0.6; cursor:not-allowed; transform:none; }
.spin-btn.spinning { animation:glowPulse 0.5s ease infinite; }

/* =========================================
   HI-LO GAME
   ========================================= */
.hilo-game { background:linear-gradient(145deg,#0d2b1a,#0a1f12); border:3px solid #2D6A4F; border-radius:24px; padding:36px; max-width:640px; margin:0 auto; box-shadow:0 0 40px rgba(45,106,79,0.3),inset 0 0 50px rgba(0,0,0,0.5); position:relative; overflow:hidden; }
.hilo-game::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,0.02) 1px,transparent 0); background-size:20px 20px; pointer-events:none; }

.hilo-card-display { display:flex; align-items:center; justify-content:center; gap:40px; margin:32px 0; flex-wrap:wrap; }

.playing-card { width:120px; height:168px; background:white; border-radius:12px; box-shadow:0 15px 40px rgba(0,0,0,0.6),0 0 0 2px rgba(0,0,0,0.1); display:flex; align-items:center; justify-content:center; position:relative; transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.playing-card.flip-in { animation:cardFlip 0.5s ease; }
@keyframes cardFlip { 0%{transform:rotateY(90deg) scale(0.8);} 100%{transform:rotateY(0deg) scale(1);} }
@keyframes cardReveal { 0%{transform:rotateY(90deg) scale(0.8);opacity:0;} 100%{transform:rotateY(0) scale(1);opacity:1;} }
.card-reveal { animation:cardReveal 0.5s cubic-bezier(0.34,1.56,0.64,1); }

.playing-card .card-rank { position:absolute; top:10px; left:10px; font-size:1.1rem; font-weight:900; font-family:'Georgia',serif; }
.playing-card .card-rank-bottom { position:absolute; bottom:10px; right:10px; font-size:1.1rem; font-weight:900; font-family:'Georgia',serif; transform:rotate(180deg); }
.playing-card .card-suit { font-size:3.5rem; line-height:1; }
.playing-card.red .card-rank, .playing-card.red .card-rank-bottom { color:#DC143C; }
.playing-card.black .card-rank, .playing-card.black .card-rank-bottom { color:#111; }

.card-question { width:120px; height:168px; background:linear-gradient(135deg,#064E3B,#065F46); border-radius:12px; border:3px solid #10B981; display:flex; align-items:center; justify-content:center; font-size:3rem; color:rgba(255,255,255,0.3); box-shadow:0 15px 40px rgba(0,0,0,0.6); }

.hilo-arrows { display:flex; flex-direction:column; align-items:center; gap:8px; }
.arrow-hint { font-size:2rem; opacity:0.3; animation:arrowBounce 1.5s ease infinite; }
.arrow-hint.up   { color:#4ade80; }
.arrow-hint.down { color:#f87171; animation-delay:0.5s; }
@keyframes arrowBounce { 0%,100%{transform:translateY(0);opacity:0.3;} 50%{transform:translateY(-5px);opacity:0.8;} }

.hilo-buttons { display:flex; gap:16px; justify-content:center; margin:24px 0; flex-wrap:wrap; }
.hilo-btn { flex:1; max-width:200px; padding:18px 24px; border:none; border-radius:12px; font-family:'Cinzel',serif; font-size:1rem; font-weight:700; cursor:pointer; transition:var(--transition); display:flex; align-items:center; justify-content:center; gap:8px; letter-spacing:0.5px; position:relative; overflow:hidden; }
.hilo-btn::before { content:''; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,0.2),transparent); opacity:0; transition:opacity 0.3s; }
.hilo-btn:hover:not(:disabled)::before { opacity:1; }
.hilo-btn-higher { background:linear-gradient(135deg,#166534,#15803d); color:white; box-shadow:0 0 20px rgba(22,101,52,0.4); }
.hilo-btn-higher:hover:not(:disabled) { transform:translateY(-3px); box-shadow:0 0 35px rgba(22,101,52,0.7); }
.hilo-btn-lower  { background:linear-gradient(135deg,#991b1b,#b91c1c); color:white; box-shadow:0 0 20px rgba(153,27,27,0.4); }
.hilo-btn-lower:hover:not(:disabled)  { transform:translateY(-3px); box-shadow:0 0 35px rgba(153,27,27,0.7); }
.hilo-btn:disabled { opacity:0.5; cursor:not-allowed; transform:none; }

.hilo-result { text-align:center; font-family:'Cinzel',serif; font-size:1.4rem; font-weight:700; min-height:48px; display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.hilo-result.win  { color:#4ade80; text-shadow:0 0 20px rgba(74,222,128,0.6); }
.hilo-result.lose { color:#f87171; text-shadow:0 0 20px rgba(248,113,113,0.6); }

.hilo-streak { display:flex; justify-content:center; gap:8px; margin-bottom:16px; }
.streak-dot { width:12px; height:12px; border-radius:50%; background:rgba(255,255,255,0.2); transition:var(--transition); }
.streak-dot.win  { background:#4ade80; box-shadow:0 0 8px rgba(74,222,128,0.6); }
.streak-dot.lose { background:#f87171; box-shadow:0 0 8px rgba(248,113,113,0.6); }

/* =========================================
   RESPONSIBLE GAMING PAGE
   ========================================= */
.rg-hero { background:linear-gradient(135deg,rgba(190,18,60,0.15),rgba(127,29,29,0.1)); border-radius:var(--radius-lg); padding:60px 40px; text-align:center; margin-bottom:48px; border:1px solid rgba(190,18,60,0.25); }
.rg-quiz { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-md); padding:32px; margin:32px 0; }
.quiz-item { padding:16px 0; border-bottom:1px solid var(--card-border); display:flex; align-items:center; gap:16px; cursor:pointer; transition:var(--transition); }
.quiz-item:last-child { border-bottom:none; }
.quiz-item:hover { padding-left:8px; }
.quiz-checkbox { width:24px; height:24px; border:2px solid var(--card-border); border-radius:4px; flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:var(--transition); }
.quiz-checkbox.checked { background:var(--teal); border-color:var(--teal); }
.quiz-score { font-size:2rem; font-family:'Cinzel',serif; font-weight:900; text-align:center; margin:16px 0; }
.quiz-score.safe  { color:#4ade80; }
.quiz-score.risk  { color:#fbbf24; }
.quiz-score.help  { color:#f87171; }

/* =========================================
   CONTACT PAGE
   ========================================= */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:40px; }
.contact-info-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-md); padding:36px; height:fit-content; }
.contact-method { display:flex; align-items:flex-start; gap:16px; padding:20px 0; border-bottom:1px solid var(--card-border); }
.contact-method:last-child { border-bottom:none; }
.contact-method-icon { width:48px; height:48px; border-radius:12px; background:linear-gradient(135deg,var(--em-mid),var(--em-glow)); display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.contact-method-text h4 { color:var(--rg-light); margin-bottom:4px; font-size:1rem; }
.contact-method-text p, .contact-method-text a { color:var(--white-60); font-size:0.9rem; text-decoration:none; transition:var(--transition); }
.contact-method-text a:hover { color:var(--rg-light); }
.contact-form-card { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-md); padding:36px; }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:0.9rem; font-weight:600; color:var(--white-80); margin-bottom:8px; font-family:'Rajdhani',sans-serif; }
.form-group input, .form-group textarea, .form-group select { width:100%; background:rgba(0,0,0,0.3); border:1px solid var(--card-border); border-radius:var(--radius-sm); color:var(--white); font-size:1rem; padding:14px 16px; font-family:'Rajdhani',sans-serif; transition:var(--transition); outline:none; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color:var(--rg-mid); box-shadow:0 0 0 3px rgba(232,149,109,0.15); }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--white-60); }
.form-group textarea { resize:vertical; min-height:120px; }
.form-group select option { background:#022c22; color:#fff; }
.form-success { background:rgba(45,212,191,0.1); border:1px solid var(--teal); border-radius:var(--radius-sm); padding:16px 20px; color:var(--teal); margin-top:16px; display:none; font-size:0.95rem; }

/* =========================================
   TERMS PAGE
   ========================================= */
.terms-section { background:var(--card-bg); border:1px solid var(--card-border); border-radius:var(--radius-md); padding:32px; margin-bottom:24px; }
.terms-section h3 { color:var(--rg-light); margin-bottom:16px; font-size:1.2rem; display:flex; align-items:center; gap:12px; }
.terms-section p, .terms-section li { color:var(--white-60); font-size:0.95rem; line-height:1.8; margin-bottom:10px; }
.terms-section ul, .terms-section ol { padding-left:20px; }

/* Accordion */
.accordion-item { border:1px solid var(--card-border); border-radius:var(--radius-sm); margin-bottom:8px; overflow:hidden; }
.accordion-header { background:rgba(255,255,255,0.04); padding:16px 20px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; transition:var(--transition); font-weight:600; font-family:'Rajdhani',sans-serif; font-size:1.05rem; }
.accordion-header:hover { background:rgba(244,194,161,0.05); color:var(--rg-light); }
.accordion-header i.toggle { transition:transform 0.3s; }
.accordion-body { max-height:0; overflow:hidden; transition:max-height 0.4s ease,padding 0.3s; padding:0 20px; }
.accordion-body.open { max-height:600px; padding:16px 20px; }
.accordion-body p, .accordion-body li { color:var(--white-60); font-size:0.95rem; line-height:1.8; }
.accordion-body ul { padding-left:20px; }

/* Game-specific extras */
.paytable-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.paytable-row { background:rgba(0,0,0,0.3); border:1px solid var(--card-border); border-radius:8px; padding:12px; text-align:center; }
.paytable-symbols { font-size:1.4rem; margin-bottom:4px; letter-spacing:2px; }
.paytable-mul { color:var(--rg-light); font-family:'Cinzel',serif; font-weight:700; font-size:1rem; }
.paytable-label { color:var(--white-60); font-size:0.75rem; }

.history-list { max-height:220px; overflow-y:auto; }
.history-item { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; border-bottom:1px solid rgba(255,255,255,0.05); font-size:0.85rem; }
.history-item.win-row  { background:rgba(74,222,128,0.05); }
.history-item.lose-row { background:rgba(248,113,113,0.05); }
.history-symbols { letter-spacing:4px; font-size:1rem; }
.history-coins { font-family:'Cinzel',serif; font-weight:700; }
.history-coins.positive { color:#4ade80; }
.history-coins.negative { color:#f87171; }

.jackpot-flash { animation:jackpotAnim 0.3s ease infinite alternate; }
@keyframes jackpotAnim { from{color:var(--rg-light);} to{color:var(--pink-mid);} }

.sound-toggle, .autoplay-btn { background:rgba(255,255,255,0.07); border:1px solid var(--card-border); border-radius:8px; padding:8px 14px; color:var(--white-60); cursor:pointer; font-size:0.85rem; transition:var(--transition); font-family:'Rajdhani',sans-serif; }
.sound-toggle:hover, .sound-toggle.active,
.autoplay-btn:hover, .autoplay-btn.active { background:rgba(244,194,161,0.1); border-color:var(--rg-mid); color:var(--rg-light); }

.multiplier-path { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin:16px 0; }
.mult-badge { background:rgba(0,0,0,0.3); border:1px solid rgba(255,255,255,0.1); border-radius:6px; padding:4px 10px; font-size:0.8rem; font-family:'Cinzel',serif; color:var(--white-60); transition:var(--transition); }
.mult-badge.current { background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); color:var(--black); border-color:var(--rg-light); transform:scale(1.1); }
.mult-badge.passed  { background:rgba(74,222,128,0.15); border-color:#4ade80; color:#4ade80; }

.probability-bar { background:rgba(0,0,0,0.3); border:1px solid var(--card-border); border-radius:8px; padding:16px; margin:16px 0; }
.prob-row { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.prob-label { width:70px; font-size:0.85rem; color:var(--white-60); }
.prob-bar { flex:1; height:10px; border-radius:5px; background:rgba(255,255,255,0.1); overflow:hidden; }
.prob-fill { height:100%; border-radius:5px; transition:width 0.5s ease; }
.prob-fill.higher { background:linear-gradient(90deg,#16a34a,#4ade80); }
.prob-fill.lower  { background:linear-gradient(90deg,#dc2626,#f87171); }
.prob-fill.equal  { background:linear-gradient(90deg,#ca8a04,#fbbf24); }
.prob-val { width:40px; font-size:0.85rem; font-weight:700; text-align:right; }

.cashout-btn { background:linear-gradient(135deg,var(--teal),#059669); border:none; border-radius:12px; padding:14px 28px; font-family:'Cinzel',serif; font-size:0.95rem; font-weight:700; color:white; cursor:pointer; transition:var(--transition); box-shadow:0 0 20px rgba(45,212,191,0.3); }
.cashout-btn:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 0 35px rgba(45,212,191,0.6); }
.cashout-btn:disabled { opacity:0.5; cursor:not-allowed; }

.round-start-btn { background:linear-gradient(135deg,var(--rg-light),var(--rg-mid)); border:none; border-radius:12px; padding:14px 36px; font-family:'Cinzel',serif; font-size:1rem; font-weight:900; color:var(--black); cursor:pointer; transition:var(--transition); box-shadow:var(--shadow-rg); }
.round-start-btn:hover { transform:scale(1.05); box-shadow:0 0 40px rgba(232,149,109,0.8); }

.history-table { width:100%; border-collapse:collapse; font-size:0.85rem; }
.history-table th { padding:8px 12px; text-align:left; color:var(--rg-light); font-family:'Cinzel',serif; font-size:0.8rem; border-bottom:1px solid var(--card-border); }
.history-table td { padding:8px 12px; border-bottom:1px solid rgba(255,255,255,0.05); color:var(--white-60); }
.history-table tr.win-tr  td { background:rgba(74,222,128,0.05); }
.history-table tr.lose-tr td { background:rgba(248,113,113,0.05); }
.td-win  { color:#4ade80; font-weight:700; }
.td-lose { color:#f87171; font-weight:700; }

.previous-cards { display:flex; gap:6px; justify-content:center; flex-wrap:wrap; margin-bottom:16px; min-height:50px; }
.mini-card { width:36px; height:50px; border-radius:5px; background:white; display:flex; align-items:center; justify-content:center; font-size:0.9rem; font-weight:700; box-shadow:0 4px 10px rgba(0,0,0,0.4); flex-shrink:0; }
.mini-card.red   { color:#DC143C; }
.mini-card.black { color:#111; }

.helpline-card { background:rgba(190,18,60,0.08); border:1px solid rgba(190,18,60,0.25); border-radius:var(--radius-md); padding:24px; margin-bottom:16px; display:flex; align-items:flex-start; gap:16px; }
.helpline-card .icon { font-size:2rem; flex-shrink:0; }
.helpline-card h4 { color:#FCA5A5; margin-bottom:4px; font-size:1.05rem; }
.helpline-card p, .helpline-card a { color:var(--white-60); font-size:0.9rem; line-height:1.7; text-decoration:none; }
.helpline-card a { color:var(--rg-light); }

.tips-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; margin:24px 0; }
.tip-card { background:rgba(0,0,0,0.25); border:1px solid var(--card-border); border-radius:var(--radius-md); padding:24px; text-align:center; transition:var(--transition); }
.tip-card:hover { border-color:rgba(244,194,161,0.4); transform:translateY(-4px); }
.tip-icon { font-size:2.5rem; margin-bottom:12px; }
.tip-card h4 { color:var(--rg-light); margin-bottom:8px; font-size:1rem; }
.tip-card p { color:var(--white-60); font-size:0.88rem; line-height:1.6; }

.filter-btn { background:rgba(255,255,255,0.05); border:1px solid var(--card-border); border-radius:30px; padding:10px 22px; color:var(--white-60); cursor:pointer; font-family:'Rajdhani',sans-serif; font-size:0.95rem; transition:var(--transition); }
.filter-btn.active, .filter-btn:hover { background:rgba(244,194,161,0.1); border-color:var(--rg-mid); color:var(--rg-light); }

.coming-soon-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.6); backdrop-filter:blur(2px); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center; }
.coming-soon-badge { background:linear-gradient(135deg,var(--em-mid),var(--em-glow)); color:white; font-family:'Cinzel',serif; font-size:1.1rem; font-weight:700; padding:12px 28px; border-radius:30px; box-shadow:0 0 20px rgba(16,185,129,0.5); }

/* Map */
.map-container { position:relative; border-radius:var(--radius-md); overflow:hidden; border:2px solid var(--card-border); }
.map-container iframe { display:block; width:100%; height:420px; filter:grayscale(30%) contrast(1.1); }

/* =========================================
   GAME INTERFACE
   ========================================= */
.game-interface { min-height:100vh; padding-top:var(--navbar-h); padding-bottom:60px; }

/* Section divider */
.section-divider { text-align:center; padding:8px 0; }
.section-divider span { display:inline-block; width:60px; height:2px; background:linear-gradient(90deg,var(--rg-light),var(--rg-mid)); border-radius:2px; margin:0 8px; vertical-align:middle; }
.section-divider i { color:var(--rg-light); font-size:1.2rem; }

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width:1024px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  :root { --navbar-h:70px; }
  .navbar-menu { display:none; }
  .navbar-age-badge { display:none; }
  .navbar-toggle { display:flex; }
  .hero-cards { display:none; }
  .footer-grid { grid-template-columns:1fr; }
  .slot-machine, .hilo-game { padding:24px 16px; }
  .slot-reel { width:90px; height:90px; }
  .reel-symbol { width:90px; height:90px; font-size:2.8rem; }
  .balance-bar { flex-direction:column; text-align:center; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .games-grid { grid-template-columns:1fr; }
  .hilo-card-display { gap:20px; }
}
@media (max-width:480px) {
  .section { padding:50px 0; }
  .slot-reel { width:80px; height:80px; }
  .reel-symbol { width:80px; height:80px; font-size:2.4rem; }
  .slot-controls { flex-direction:column; align-items:center; }
  .age-gate-box { padding:32px 24px; }
  .features-grid { grid-template-columns:1fr; }
}
