/* =============================================================
   Zone Casino - theme-459c.css
   All custom classes use prefix: vcd4-
   Palette: #7B68EE #BA55D3 #808080 #20B2AA #1A1A1A #00E5FF
   Mobile-first. Root font 62.5% (1rem = 10px).
   ============================================================= */

:root{
  --vcd4-violet:#7B68EE;
  --vcd4-magenta:#BA55D3;
  --vcd4-gray:#808080;
  --vcd4-teal:#20B2AA;
  --vcd4-dark:#1A1A1A;
  --vcd4-cyan:#00E5FF;
  --vcd4-bg:#140a2a;
  --vcd4-bg2:#1f1142;
  --vcd4-card:#241451;
  --vcd4-card2:#2d1a63;
  --vcd4-text:#f3f0ff;
  --vcd4-muted:#b9a7e0;
  --vcd4-gold:#ffd86b;
  --vcd4-radius:1.4rem;
}

*{ box-sizing:border-box; -webkit-tap-highlight-color:transparent; }
html{ font-size:62.5%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  background:radial-gradient(1200px 600px at 80% -10%,rgba(123,104,238,.45),transparent 60%),
             radial-gradient(900px 500px at -10% 10%,rgba(186,85,211,.40),transparent 60%),
             linear-gradient(180deg,#0f0822 0%,#1A1A1A 60%,#0b0518 100%);
  color:var(--vcd4-text);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:var(--vcd4-cyan); text-decoration:none; }
a:hover{ color:#fff; }

/* ---------- Layout ---------- */
.vcd4-wrap{ width:100%; max-width:430px; margin:0 auto; position:relative; }
main.vcd4-main{ padding-bottom:90px; }

/* ---------- Top header ---------- */
.vcd4-header{
  position:sticky; top:0; z-index:1000;
  background:linear-gradient(90deg,rgba(36,20,81,.96),rgba(45,26,99,.96));
  border-bottom:1px solid rgba(123,104,238,.35);
  backdrop-filter:blur(10px);
}
.vcd4-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:.8rem 1rem; gap:.8rem;
}
.vcd4-logo{ display:flex; align-items:center; gap:.6rem; font-weight:800; font-size:1.7rem; color:#fff; letter-spacing:.3px; }
.vcd4-logo .vcd4-logo-mark{
  width:3rem; height:3rem; border-radius:.8rem;
  background:conic-gradient(from 210deg,var(--vcd4-cyan),var(--vcd4-violet),var(--vcd4-magenta),var(--vcd4-teal),var(--vcd4-cyan));
  display:flex; align-items:center; justify-content:center; color:#0b0518; font-weight:900; font-size:1.4rem;
  box-shadow:0 0 12px rgba(0,229,255,.5);
}
.vcd4-logo small{ display:block; font-size:1rem; color:var(--vcd4-cyan); font-weight:600; letter-spacing:1px; }
.vcd4-header-actions{ display:flex; align-items:center; gap:.6rem; }
.vcd4-icon-btn{
  background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(123,104,238,.4);
  width:3.4rem; height:3.4rem; border-radius:1rem; display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; cursor:pointer; transition:.25s;
}
.vcd4-icon-btn:hover{ background:rgba(0,229,255,.18); border-color:var(--vcd4-cyan); }

.vcd4-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-weight:700; font-size:1.3rem; padding:.85rem 1.4rem; border-radius:1.2rem;
  border:0; cursor:pointer; transition:.25s; text-decoration:none; color:#fff;
}
.vcd4-btn .vcd4-btn-icon{ font-size:1.5rem; }
.vcd4-btn-login{ background:linear-gradient(90deg,var(--vcd4-teal),#0fb8b3); box-shadow:0 6px 18px rgba(32,178,170,.35); }
.vcd4-btn-login:hover{ filter:brightness(1.1); transform:translateY(-1px); }
.vcd4-btn-register{
  background:linear-gradient(90deg,var(--vcd4-violet),var(--vcd4-magenta));
  box-shadow:0 6px 18px rgba(186,85,211,.45); color:#fff;
}
.vcd4-btn-register:hover{ filter:brightness(1.12); transform:translateY(-1px); }
.vcd4-btn-block{ display:flex; width:100%; padding:1.1rem; font-size:1.45rem; }

/* ---------- Mobile slide menu ---------- */
.vcd4-menu-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.55); opacity:0; visibility:hidden;
  transition:.3s; z-index:9998;
}
.vcd4-menu-overlay.vcd4-visible{ opacity:1; visibility:visible; }
.vcd4-mobile-menu{
  position:fixed; top:0; right:-86%; width:78%; max-width:320px; height:100vh;
  background:linear-gradient(180deg,#1f1142,#140a2a); z-index:9999;
  transform:translateX(0); transition:transform .3s ease; padding:1.6rem 1.2rem; overflow-y:auto;
  border-left:1px solid rgba(123,104,238,.35);
}
.vcd4-mobile-menu:not(.vcd4-open){ transform:translateX(100%); }
.vcd4-menu-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.4rem; }
.vcd4-menu-head h3{ margin:0; font-size:1.6rem; color:#fff; }
.vcd4-menu-close{ background:transparent; border:0; color:#fff; font-size:2rem; cursor:pointer; }
.vcd4-menu-link{
  display:flex; align-items:center; gap:1rem; padding:1.1rem 1rem; border-radius:1rem;
  color:#efe9ff; font-size:1.35rem; font-weight:600; margin-bottom:.6rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(123,104,238,.18); transition:.2s;
}
.vcd4-menu-link .material-symbols-outlined{ font-size:2rem; color:var(--vcd4-cyan); }
.vcd4-menu-link:hover{ background:rgba(0,229,255,.12); border-color:var(--vcd4-cyan); }

/* ---------- Hero carousel ---------- */
.vcd4-hero{
  position:relative; margin:1rem; border-radius:var(--vcd4-radius); overflow:hidden;
  box-shadow:0 12px 30px rgba(0,0,0,.45); border:1px solid rgba(123,104,238,.3);
}
.vcd4-hero-track{ position:relative; }
.vcd4-hero-slide{
  display:none; position:relative; min-height:200px;
  background:linear-gradient(120deg,rgba(123,104,238,.85),rgba(186,85,211,.7),rgba(0,229,255,.55));
  padding:2rem 1.6rem;
}
.vcd4-hero-slide.vcd4-active{ display:block; animation:vcd4fade .7s ease; }
@keyframes vcd4fade{ from{opacity:.35} to{opacity:1} }
.vcd4-hero-slide h2{ margin:0 0 .5rem; font-size:2.2rem; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35); }
.vcd4-hero-slide p{ margin:0 0 1rem; color:#f6efff; font-size:1.25rem; max-width:90%; }
.vcd4-hero-cta{ display:inline-flex; align-items:center; gap:.5rem; background:#fff; color:#3a1d8a; font-weight:800; padding:.8rem 1.4rem; border-radius:1rem; font-size:1.3rem; }
.vcd4-hero-dots{ position:absolute; bottom:.8rem; left:0; right:0; display:flex; justify-content:center; gap:.5rem; }
.vcd4-hero-dot{ width:.9rem; height:.9rem; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; }
.vcd4-hero-dot.vcd4-active{ background:#fff; transform:scale(1.25); }
.vcd4-hero-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(0,0,0,.35); color:#fff; border:0; width:3rem; height:3rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:1.6rem;
}
.vcd4-hero-nav.prev{ left:.6rem; } .vcd4-hero-nav.next{ right:.6rem; }

/* ---------- Stats strip ---------- */
.vcd4-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin:1rem; }
.vcd4-stat{
  background:linear-gradient(160deg,var(--vcd4-card),var(--vcd4-card2));
  border:1px solid rgba(0,229,255,.2); border-radius:1.2rem; padding:1rem .6rem; text-align:center;
}
.vcd4-stat b{ display:block; font-size:1.7rem; color:var(--vcd4-cyan); }
.vcd4-stat span{ font-size:1.05rem; color:var(--vcd4-muted); }

/* ---------- Section / headings ---------- */
.vcd4-section{ padding:1.6rem 1rem; }
.vcd4-section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.vcd4-section-title{
  display:flex; align-items:center; gap:.6rem; font-size:1.55rem; font-weight:800; color:#fff; margin:0;
}
.vcd4-section-title .ico{ color:var(--vcd4-cyan); font-size:1.9rem; }
.vcd4-more{ color:var(--vcd4-cyan); font-size:1.1rem; font-weight:600; }

/* ---------- Category tabs ---------- */
.vcd4-cat-tabs{ display:flex; gap:.6rem; overflow-x:auto; padding:.4rem 0 1rem; scrollbar-width:none; }
.vcd4-cat-tabs::-webkit-scrollbar{ display:none; }
.vcd4-cat-tab{
  flex:0 0 auto; padding:.7rem 1.2rem; border-radius:1rem; font-size:1.2rem; font-weight:700;
  background:rgba(255,255,255,.06); color:#efe9ff; border:1px solid rgba(123,104,238,.3); cursor:pointer; transition:.2s;
}
.vcd4-cat-tab.vcd4-active{ background:linear-gradient(90deg,var(--vcd4-violet),var(--vcd4-magenta)); color:#fff; border-color:transparent; }

/* ---------- Game grid ---------- */
.vcd4-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.vcd4-card{
  background:linear-gradient(180deg,var(--vcd4-card),#1a0e3d);
  border:1px solid rgba(123,104,238,.28); border-radius:1.2rem; overflow:hidden; position:relative;
  transition:transform .25s, box-shadow .25s; cursor:pointer;
}
.vcd4-card:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,229,255,.22); border-color:var(--vcd4-cyan); }
.vcd4-card .vcd4-card-img{ aspect-ratio:1/1; background:rgba(0,0,0,.25); }
.vcd4-card .vcd4-card-img img{ width:100%; height:100%; object-fit:cover; }
.vcd4-card .vcd4-card-name{ padding:.6rem .5rem; font-size:1.05rem; color:#f1ecff; text-align:center; font-weight:600; }
.vcd4-card .vcd4-card-badge{
  position:absolute; top:.4rem; left:.4rem; background:linear-gradient(90deg,#ffd86b,#ff9d4d);
  color:#3a1d00; font-size:.95rem; font-weight:800; padding:.15rem .5rem; border-radius:.6rem;
}
.vcd4-card .vcd4-play{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(20,10,42,.55); opacity:0; transition:.25s; color:#fff; font-weight:800; font-size:1.2rem;
}
.vcd4-card:hover .vcd4-play{ opacity:1; }

/* ---------- Featured row ---------- */
.vcd4-feature{
  display:flex; gap:1rem; background:linear-gradient(120deg,rgba(123,104,238,.25),rgba(0,229,255,.12));
  border:1px solid rgba(0,229,255,.3); border-radius:1.3rem; padding:1rem; margin-bottom:.9rem; align-items:center;
}
.vcd4-feature img{ width:9rem; height:9rem; border-radius:1rem; object-fit:cover; flex:0 0 auto; }
.vcd4-feature h4{ margin:0 0 .4rem; font-size:1.4rem; color:#fff; }
.vcd4-feature p{ margin:0 0 .7rem; font-size:1.1rem; color:var(--vcd4-muted); }

/* ---------- Promo CTA banner ---------- */
.vcd4-promo{
  margin:1.2rem 1rem; padding:1.4rem; border-radius:1.4rem; text-align:center;
  background:linear-gradient(120deg,var(--vcd4-magenta),var(--vcd4-violet) 60%,var(--vcd4-teal));
  box-shadow:0 12px 30px rgba(186,85,211,.4); color:#fff;
}
.vcd4-promo h3{ margin:0 0 .4rem; font-size:1.7rem; }
.vcd4-promo p{ margin:0 0 1rem; font-size:1.2rem; color:#f6efff; }
.vcd4-promo .vcd4-btn{ background:#fff; color:#3a1d8a; }

/* ---------- Article / SEO text ---------- */
.vcd4-article{ padding:1.4rem 1rem; color:#e8e2ff; font-size:1.2rem; }
.vcd4-article h2{ color:#fff; font-size:1.7rem; margin:1.6rem 0 .8rem; display:flex; align-items:center; gap:.6rem; }
.vcd4-article h2 .ico{ color:var(--vcd4-cyan); }
.vcd4-article h3{ color:var(--vcd4-cyan); font-size:1.4rem; margin:1.3rem 0 .6rem; }
.vcd4-article p{ margin:0 0 .9rem; color:#cfc6f2; }
.vcd4-article ul{ padding-left:1.4rem; margin:0 0 1rem; color:#cfc6f2; }
.vcd4-article li{ margin-bottom:.5rem; }
.vcd4-article a{ color:var(--vcd4-cyan); font-weight:600; text-decoration:underline; }
.vcd4-pill-row{ display:flex; flex-wrap:wrap; gap:.5rem; margin:.6rem 0 1rem; }
.vcd4-pill{
  background:rgba(0,229,255,.12); border:1px solid rgba(0,229,255,.3); color:#d7faff;
  padding:.35rem .8rem; border-radius:1rem; font-size:1.05rem;
}

/* ---------- Steps ---------- */
.vcd4-steps{ counter-reset:step; padding-left:0; list-style:none; margin:0 0 1rem; }
.vcd4-steps li{
  position:relative; padding:1rem 1rem 1rem 3.4rem; margin-bottom:.7rem;
  background:rgba(255,255,255,.04); border:1px solid rgba(123,104,238,.25); border-radius:1rem;
  color:#e6dffb; font-size:1.15rem;
}
.vcd4-steps li::before{
  counter-increment:step; content:counter(step);
  position:absolute; left:.8rem; top:50%; transform:translateY(-50%);
  width:2.2rem; height:2.2rem; border-radius:50%;
  background:linear-gradient(135deg,var(--vcd4-violet),var(--vcd4-magenta));
  color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}

/* ---------- FAQ ---------- */
.vcd4-faq-item{
  background:rgba(255,255,255,.04); border:1px solid rgba(123,104,238,.25);
  border-radius:1.1rem; margin-bottom:.7rem; overflow:hidden;
}
.vcd4-faq-q{
  width:100%; text-align:left; background:transparent; border:0; color:#fff;
  padding:1.1rem 1rem; font-size:1.25rem; font-weight:700; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.vcd4-faq-q .vcd4-faq-icon{ color:var(--vcd4-cyan); font-size:1.6rem; transition:.3s; }
.vcd4-faq-item.vcd4-open .vcd4-faq-icon{ transform:rotate(45deg); }
.vcd4-faq-answer{ max-height:0; overflow:hidden; transition:max-height .35s ease; padding:0 1rem; color:#cfc6f2; font-size:1.15rem; }
.vcd4-faq-item.vcd4-open .vcd4-faq-answer{ padding:0 1rem 1.1rem; }

/* ---------- Footer ---------- */
.vcd4-footer{
  background:linear-gradient(180deg,#1a0e3d,#0b0518); border-top:1px solid rgba(123,104,238,.3);
  padding:2rem 1rem 1.4rem; color:var(--vcd4-muted);
}
.vcd4-footer h4{ color:#fff; font-size:1.3rem; margin:0 0 .8rem; }
.vcd4-footer-cols{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.vcd4-footer a{ display:block; color:var(--vcd4-muted); font-size:1.1rem; padding:.3rem 0; }
.vcd4-footer a:hover{ color:var(--vcd4-cyan); }
.vcd4-footer-bottom{ text-align:center; font-size:1.05rem; color:#7c6fa6; margin-top:1.4rem; padding-top:1rem; border-top:1px solid rgba(123,104,238,.2); }

/* ---------- Mobile bottom nav ---------- */
.vcd4-bottomnav{
  position:fixed; left:0; right:0; bottom:0; z-index:1000;
  display:flex; justify-content:space-around; align-items:stretch;
  background:linear-gradient(180deg,rgba(36,20,81,.98),rgba(15,8,34,.99));
  border-top:1px solid rgba(0,229,255,.35);
  box-shadow:0 -6px 18px rgba(0,0,0,.45);
  height:6.2rem; padding:.3rem 0; padding-bottom:env(safe-area-inset-bottom,0);
}
.vcd4-bottomnav .vcd4-nav-btn{
  flex:1; min-width:60px; min-height:60px; background:transparent; border:0; color:#b9a7e0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.2rem;
  font-size:1rem; cursor:pointer; transition:.2s; position:relative;
}
.vcd4-bottomnav .vcd4-nav-btn .ico{ font-size:2.2rem; line-height:1; }
.vcd4-bottomnav .vcd4-nav-btn:hover{ color:#fff; }
.vcd4-bottomnav .vcd4-nav-btn.vcd4-active{ color:var(--vcd4-cyan); }
.vcd4-bottomnav .vcd4-nav-btn.vcd4-active::before{
  content:""; position:absolute; top:0; width:2.4rem; height:.25rem; border-radius:.2rem;
  background:linear-gradient(90deg,var(--vcd4-cyan),var(--vcd4-violet));
}
.vcd4-bottomnav .vcd4-nav-center{
  flex:1; display:flex; align-items:center; justify-content:center;
}
.vcd4-bottomnav .vcd4-nav-center .vcd4-nav-btn{
  width:5rem; height:5rem; border-radius:50%; margin-top:-1.6rem;
  background:linear-gradient(135deg,var(--vcd4-magenta),var(--vcd4-violet));
  box-shadow:0 8px 18px rgba(186,85,211,.55); color:#fff; border:2px solid rgba(255,255,255,.25);
}
.vcd4-bottomnav .vcd4-nav-center .vcd4-nav-btn .ico{ font-size:2.6rem; }

/* ---------- Reveal animation ---------- */
.vcd4-reveal{ opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; }
.vcd4-reveal.vcd4-visible{ opacity:1; transform:none; }

/* ---------- Desktop rules ---------- */
@media (min-width:769px){
  .vcd4-bottomnav{ display:none; }
  .vcd4-wrap{ max-width:960px; }
  .vcd4-grid{ grid-template-columns:repeat(6,1fr); }
  .vcd4-footer-cols{ grid-template-columns:repeat(4,1fr); }
  main.vcd4-main{ padding-bottom:2rem; }
}
@media (max-width:768px){
  main.vcd4-main{ padding-bottom:90px; }
}
