/* Casino Drive - Core Stylesheet */
/* All classes use v8b2- prefix for namespace isolation */
/* Color palette: #0D1117 | #87CEEB | #5F9EA0 | #00CED1 */

:root {
  --v8b2-bg-dark: #0D1117;
  --v8b2-bg-card: #151B23;
  --v8b2-bg-section: #1A2332;
  --v8b2-sky: #87CEEB;
  --v8b2-teal: #5F9EA0;
  --v8b2-cyan: #00CED1;
  --v8b2-text-light: #E8F0FE;
  --v8b2-text-muted: #8B9CB6;
  --v8b2-border: #2A3A4E;
  --v8b2-gold: #F0C040;
  --v8b2-green: #2ECC71;
  --v8b2-radius: 8px;
  --v8b2-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

/* Reset and base */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 62.5%; scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--v8b2-bg-dark); color: var(--v8b2-text-light); line-height: 1.5rem; max-width: 430px; margin: 0 auto; -webkit-font-smoothing: antialiased; }
a { color: var(--v8b2-cyan); text-decoration: none; }
a:hover { color: var(--v8b2-sky); }
img { max-width: 100%; height: auto; display: block; }

/* === HEADER === */
.v8b2-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: linear-gradient(180deg, #0D1117, #131A24); border-bottom: 1px solid var(--v8b2-border); padding: 0 1.2rem; height: 5.6rem; display: flex; align-items: center; justify-content: space-between; max-width: 430px; margin: 0 auto; }
.v8b2-logo-area { display: flex; align-items: center; gap: 0.8rem; }
.v8b2-logo-area img { width: 3.2rem; height: 3.2rem; border-radius: 0.6rem; }
.v8b2-site-name { font-size: 1.8rem; font-weight: 700; color: var(--v8b2-cyan); letter-spacing: 0.5px; }
.v8b2-header-actions { display: flex; align-items: center; gap: 0.6rem; }
.v8b2-btn-register { background: linear-gradient(135deg, var(--v8b2-cyan), var(--v8b2-teal)); color: var(--v8b2-bg-dark); font-size: 1.2rem; font-weight: 700; padding: 0.6rem 1.2rem; border: none; border-radius: var(--v8b2-radius); cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.v8b2-btn-register:hover { transform: scale(1.05); box-shadow: 0 0 12px rgba(0, 206, 209, 0.5); }
.v8b2-btn-login { background: transparent; color: var(--v8b2-sky); font-size: 1.2rem; font-weight: 600; padding: 0.6rem 1.2rem; border: 1px solid var(--v8b2-sky); border-radius: var(--v8b2-radius); cursor: pointer; transition: background 0.2s; }
.v8b2-btn-login:hover { background: rgba(135, 206, 235, 0.1); }
.v8b2-menu-toggle { background: none; border: none; color: var(--v8b2-text-light); font-size: 2.4rem; cursor: pointer; padding: 0.4rem; display: flex; align-items: center; }

/* === MOBILE MENU === */
.v8b2-mobile-menu { position: fixed; top: 0; right: -280px; width: 280px; height: 100%; background: var(--v8b2-bg-dark); z-index: 9999; transition: right 0.3s ease; padding: 2rem 1.5rem; border-left: 1px solid var(--v8b2-border); overflow-y: auto; }
.v8b2-menu-active { right: 0 !important; }
.v8b2-menu-close { position: absolute; top: 1rem; right: 1rem; background: none; border: none; color: var(--v8b2-text-light); font-size: 2.4rem; cursor: pointer; }
.v8b2-menu-links { list-style: none; margin-top: 4rem; }
.v8b2-menu-links li { border-bottom: 1px solid var(--v8b2-border); }
.v8b2-menu-links a { display: block; padding: 1.2rem 0; font-size: 1.4rem; color: var(--v8b2-text-light); transition: color 0.2s; }
.v8b2-menu-links a:hover { color: var(--v8b2-cyan); }

/* === OVERLAY === */
.v8b2-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); z-index: 9998; opacity: 0; pointer-events: none; transition: opacity 0.3s; }
.v8b2-overlay-active { opacity: 1; pointer-events: auto; }

/* === CAROUSEL === */
.v8b2-carousel { position: relative; width: 100%; overflow: hidden; margin-top: 5.6rem; border-radius: 0 0 1.2rem 1.2rem; }
.v8b2-carousel-slide { display: none; width: 100%; cursor: pointer; }
.v8b2-carousel-slide img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
.v8b2-slide-active { display: block; }
.v8b2-carousel-dots { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.6rem; }
.v8b2-carousel-dot { width: 0.8rem; height: 0.8rem; border-radius: 50%; background: rgba(255, 255, 255, 0.4); cursor: pointer; transition: background 0.3s; }
.v8b2-dot-active { background: var(--v8b2-cyan); }

/* === MAIN CONTENT === */
.v8b2-main { padding: 1.6rem; padding-top: 1rem; }
.v8b2-section { margin-bottom: 2.4rem; }
.v8b2-section-title { font-size: 2rem; font-weight: 700; color: var(--v8b2-cyan); margin-bottom: 1.2rem; padding-bottom: 0.6rem; border-bottom: 2px solid var(--v8b2-teal); }

/* === GAME GRID === */
.v8b2-game-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.8rem; }
.v8b2-game-item { display: flex; flex-direction: column; align-items: center; cursor: pointer; transition: transform 0.2s; }
.v8b2-game-item:hover { transform: scale(1.05); }
.v8b2-game-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 1rem; border: 2px solid var(--v8b2-border); transition: border-color 0.2s; }
.v8b2-game-item:hover img { border-color: var(--v8b2-cyan); }
.v8b2-game-name { font-size: 1rem; color: var(--v8b2-text-muted); text-align: center; margin-top: 0.3rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.v8b2-category-label { font-size: 1.4rem; font-weight: 600; color: var(--v8b2-gold); margin: 1.6rem 0 0.8rem; padding-left: 0.4rem; border-left: 3px solid var(--v8b2-cyan); }

/* === CONTENT CARDS === */
.v8b2-card { background: var(--v8b2-bg-card); border-radius: var(--v8b2-radius); padding: 1.6rem; margin-bottom: 1.2rem; border: 1px solid var(--v8b2-border); }
.v8b2-card h3 { font-size: 1.5rem; color: var(--v8b2-sky); margin-bottom: 0.8rem; }
.v8b2-card p { font-size: 1.3rem; color: var(--v8b2-text-muted); line-height: 1.8; }
.v8b2-promo-link { display: inline-block; color: var(--v8b2-cyan); font-weight: 700; font-size: 1.3rem; cursor: pointer; text-decoration: underline; transition: color 0.2s; }
.v8b2-promo-link:hover { color: var(--v8b2-gold); }
.v8b2-promo-btn { display: inline-block; background: linear-gradient(135deg, var(--v8b2-cyan), var(--v8b2-teal)); color: var(--v8b2-bg-dark); font-weight: 700; font-size: 1.4rem; padding: 1rem 2rem; border: none; border-radius: var(--v8b2-radius); cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.v8b2-promo-btn:hover { transform: scale(1.05); box-shadow: 0 0 16px rgba(0, 206, 209, 0.4); }
.v8b2-promo-btn-lg { display: block; width: 100%; text-align: center; background: linear-gradient(135deg, var(--v8b2-gold), #E6A817); color: var(--v8b2-bg-dark); font-weight: 700; font-size: 1.6rem; padding: 1.4rem; border: none; border-radius: var(--v8b2-radius); cursor: pointer; margin: 1.6rem 0; transition: transform 0.2s; }
.v8b2-promo-btn-lg:hover { transform: scale(1.02); }

/* === FOOTER === */
.v8b2-footer { background: var(--v8b2-bg-card); border-top: 1px solid var(--v8b2-border); padding: 2rem 1.6rem 10rem; }
.v8b2-footer-desc { font-size: 1.2rem; color: var(--v8b2-text-muted); line-height: 1.6; margin-bottom: 1.6rem; }
.v8b2-footer-links { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 1.6rem; }
.v8b2-footer-link { background: var(--v8b2-bg-section); color: var(--v8b2-text-light); font-size: 1.1rem; padding: 0.5rem 1rem; border-radius: 0.4rem; transition: background 0.2s; }
.v8b2-footer-link:hover { background: var(--v8b2-teal); color: #fff; }
.v8b2-footer-copy { font-size: 1.1rem; color: var(--v8b2-text-muted); text-align: center; margin-top: 1.2rem; }

/* === BOTTOM NAV === */
.v8b2-bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000; background: linear-gradient(180deg, #131A24, #0D1117); border-top: 1px solid var(--v8b2-border); display: flex; justify-content: space-around; align-items: center; height: 60px; max-width: 430px; margin: 0 auto; padding: 0 0.4rem; }
.v8b2-bottom-nav-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 60px; min-height: 52px; background: none; border: none; color: var(--v8b2-text-muted); cursor: pointer; transition: color 0.2s, transform 0.15s; gap: 0.2rem; -webkit-tap-highlight-color: transparent; }
.v8b2-bottom-nav-btn:active { transform: scale(0.9); }
.v8b2-bottom-nav-btn:hover, .v8b2-nav-active { color: var(--v8b2-cyan); }
.v8b2-bottom-nav-btn .v8b2-nav-icon { font-size: 2.2rem; line-height: 1; }
.v8b2-bottom-nav-btn .v8b2-nav-label { font-size: 1rem; line-height: 1.2; }
.v8b2-nav-active .v8b2-nav-label { color: var(--v8b2-cyan); font-weight: 600; }

/* === UTILITIES === */
.v8b2-container { max-width: 430px; margin: 0 auto; }

/* === WINNER / TESTIMONIAL / PAYMENT / FAQ === */
.v8b2-winner-item { display: flex; align-items: center; justify-content: space-between; padding: 0.8rem 1.2rem; background: var(--v8b2-bg-section); border-radius: 0.6rem; margin-bottom: 0.6rem; border: 1px solid var(--v8b2-border); }
.v8b2-winner-name { font-size: 1.2rem; color: var(--v8b2-sky); font-weight: 600; }
.v8b2-winner-game { font-size: 1.1rem; color: var(--v8b2-text-muted); }
.v8b2-winner-amount { font-size: 1.3rem; color: var(--v8b2-green); font-weight: 700; }
.v8b2-testimonial { background: var(--v8b2-bg-section); border-radius: var(--v8b2-radius); padding: 1.2rem 1.6rem; margin-bottom: 1rem; border-left: 3px solid var(--v8b2-cyan); }
.v8b2-testimonial-text { font-size: 1.3rem; color: var(--v8b2-text-muted); font-style: italic; line-height: 1.6; }
.v8b2-testimonial-author { font-size: 1.2rem; color: var(--v8b2-sky); font-weight: 600; margin-top: 0.6rem; }
.v8b2-payment-row { display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; margin: 1rem 0; }
.v8b2-payment-item { background: var(--v8b2-bg-section); border: 1px solid var(--v8b2-border); border-radius: 0.6rem; padding: 0.6rem 1.2rem; font-size: 1.2rem; color: var(--v8b2-text-muted); }
.v8b2-faq-item { margin-bottom: 1rem; }
.v8b2-faq-q { font-size: 1.4rem; font-weight: 600; color: var(--v8b2-sky); margin-bottom: 0.4rem; }
.v8b2-faq-a { font-size: 1.3rem; color: var(--v8b2-text-muted); line-height: 1.6; padding-left: 1rem; border-left: 2px solid var(--v8b2-teal); }

/* === RESPONSIVE === */
@media (max-width: 768px) { .v8b2-main { padding-bottom: 80px; } .v8b2-footer { padding-bottom: 10rem; } }
@media (min-width: 769px) { .v8b2-bottom-nav { display: none; } }
