/* ============================================================
   filbet casino login - Core basefile stylesheet
   Prefix: ved2-  | Palette: deep navy + royal purple
   ============================================================ */

:root{
  --ved2-bg:#2C3E50;
  --ved2-bg-soft:#34495E;
  --ved2-primary:#800080;
  --ved2-primary-soft:#9a3aa0;
  --ved2-text:#E6E6FA;
  --ved2-muted:#BDC3C7;
  --ved2-line:rgba(230,230,250,.14);
  --ved2-card:#3a5168;
  --ved2-gold:#f3c969;
  --ved2-radius:14px;
  --ved2-shadow:0 10px 26px rgba(0,0,0,.35);
  --ved2-header-h:58px;
  --ved2-bottomnav-h:62px;
  --ved2-maxw:430px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{font-size:62.5%;-webkit-text-size-adjust:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  background:linear-gradient(160deg,var(--ved2-bg) 0%,var(--ved2-bg-soft) 60%,#1f2c3b 100%);
  color:var(--ved2-text);
  line-height:1.5;
  font-size:1.5rem;
  min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--ved2-text);text-decoration:none;}
h1,h2,h3,h4{line-height:1.35;font-weight:700;}
ul{list-style:none;}

.ved2-skip{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden;}
.ved2-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ---------- Layout helpers ---------- */
.ved2-wrapper{width:100%;max-width:var(--ved2-maxw);margin:0 auto;padding:0 12px;}
.ved2-container{padding:18px 12px 26px;}
.ved2-section{margin:22px 0;}
.ved2-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.ved2-section-head h2{font-size:1.85rem;color:var(--ved2-text);letter-spacing:.3px;}
.ved2-section-head h2 .ico{color:var(--ved2-gold);margin-right:6px;}
.ved2-section-head .ved2-more{font-size:1.25rem;color:var(--ved2-gold);}

/* ---------- Header ---------- */
.ved2-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(44,62,80,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ved2-line);
  height:var(--ved2-header-h);
}
.ved2-header-inner{
  max-width:var(--ved2-maxw);margin:0 auto;height:100%;
  display:flex;align-items:center;justify-content:space-between;padding:0 12px;
}
.ved2-logo{display:flex;align-items:center;gap:8px;min-width:0;}
.ved2-logo img{width:28px;height:28px;border-radius:6px;}
.ved2-logo strong{font-size:1.5rem;font-weight:700;color:#fff;white-space:nowrap;}
.ved2-logo span{color:var(--ved2-gold);}
.ved2-head-actions{display:flex;align-items:center;gap:8px;}
.ved2-icon-btn{
  background:transparent;border:none;color:var(--ved2-text);
  width:38px;height:38px;border-radius:10px;display:grid;place-items:center;cursor:pointer;
  font-size:1.8rem;
}
.ved2-icon-btn:active{background:rgba(255,255,255,.08);}

.ved2-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 16px;border-radius:24px;font-size:1.35rem;font-weight:700;
  border:none;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--ved2-primary) 0%,#5b0060 100%);
  box-shadow:0 6px 14px rgba(128,0,128,.35);
  transition:transform .15s ease,box-shadow .15s ease;
}
.ved2-btn:active{transform:scale(.95);}
.ved2-btn--ghost{
  background:transparent;border:1px solid var(--ved2-gold);color:var(--ved2-gold);
  box-shadow:none;
}
.ved2-btn--ghost:active{background:rgba(243,201,105,.1);}
.ved2-btn--gold{background:linear-gradient(135deg,#f3c969,#caa23f);color:#2C3E50;}
.ved2-btn--block{display:flex;width:100%;justify-content:center;padding:13px;}

/* ---------- Mobile slide menu ---------- */
.ved2-menu-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;
  opacity:0;visibility:hidden;transition:.25s ease;
}
.ved2-menu-overlay.ved2-open{opacity:1;visibility:visible;}
.ved2-side-menu{
  position:fixed;top:0;right:-86%;width:78%;max-width:320px;height:100%;
  background:linear-gradient(180deg,#2C3E50,#22344a);z-index:9999;
  transition:right .28s ease;display:flex;flex-direction:column;
  box-shadow:-8px 0 30px rgba(0,0,0,.4);
}
.ved2-side-menu.ved2-open{right:0;}
.ved2-menu-head{padding:18px 16px;border-bottom:1px solid var(--ved2-line);display:flex;justify-content:space-between;align-items:center;}
.ved2-menu-head h3{font-size:1.7rem;color:var(--ved2-gold);}
.ved2-menu-body{padding:8px 0;overflow-y:auto;flex:1;}
.ved2-menu-body li a,.ved2-menu-body li button{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  color:var(--ved2-text);font-size:1.45rem;background:none;border:none;width:100%;text-align:left;cursor:pointer;
}
.ved2-menu-body li a:active,.ved2-menu-body li button:active{background:rgba(255,255,255,.05);}
.ved2-menu-body li i{color:var(--ved2-gold);width:22px;font-size:1.6rem;}
.ved2-menu-foot{padding:16px;border-top:1px solid var(--ved2-line);display:flex;gap:8px;}

/* ---------- Hero / carousel ---------- */
.ved2-hero{margin-top:calc(var(--ved2-header-h) + 10px);}
.ved2-carousel{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--ved2-shadow);}
.ved2-carousel-track{display:flex;transition:transform .5s ease;}
.ved2-carousel-track a{flex:0 0 100%;display:block;position:relative;}
.ved2-carousel-track img{width:100%;height:180px;object-fit:cover;}
.ved2-carousel-cap{
  position:absolute;left:14px;bottom:12px;right:14px;color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.6);
}
.ved2-carousel-cap h2{font-size:1.9rem;}
.ved2-carousel-cap p{font-size:1.25rem;margin-top:2px;}
.ved2-carousel-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:6px;}
.ved2-carousel-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.4);}
.ved2-carousel-dots span.ved2-active{background:var(--ved2-gold);width:18px;border-radius:4px;}

/* ---------- Hero CTA banner ---------- */
.ved2-hero-cta{
  background:linear-gradient(135deg,#800080,#3a1f4d);
  border-radius:16px;padding:18px;margin:14px 0;box-shadow:var(--ved2-shadow);
}
.ved2-hero-cta h1{font-size:2rem;color:#fff;margin-bottom:6px;}
.ved2-hero-cta p{font-size:1.3rem;color:#e9d5f5;margin-bottom:12px;}

/* ---------- Game grid ---------- */
.ved2-game-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
}
.ved2-game-card{
  background:var(--ved2-card);border-radius:12px;overflow:hidden;
  border:1px solid var(--ved2-line);transition:transform .15s;
  cursor:pointer;
}
.ved2-game-card:active{transform:scale(.96);}
.ved2-game-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#222;}
.ved2-game-card .ved2-game-name{
  padding:6px 6px 8px;font-size:1.15rem;color:var(--ved2-text);
  text-align:center;line-height:1.25;min-height:36px;
  display:flex;align-items:center;justify-content:center;
}

/* ---------- Category anchors ---------- */
.ved2-cat-pills{display:flex;gap:8px;overflow-x:auto;padding:6px 0 12px;-webkit-overflow-scrolling:touch;}
.ved2-cat-pills a{
  flex:0 0 auto;padding:7px 14px;border-radius:20px;font-size:1.25rem;
  background:rgba(255,255,255,.06);color:var(--ved2-text);border:1px solid var(--ved2-line);
}
.ved2-cat-pills a:active{background:var(--ved2-primary);}

/* ---------- Info / features cards ---------- */
.ved2-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.ved2-feat-card{
  background:rgba(255,255,255,.05);border:1px solid var(--ved2-line);
  border-radius:14px;padding:14px;
}
.ved2-feat-card .ico{font-size:2.2rem;color:var(--ved2-gold);margin-bottom:8px;}
.ved2-feat-card h3{font-size:1.5rem;margin-bottom:6px;}
.ved2-feat-card p{font-size:1.2rem;color:var(--ved2-muted);line-height:1.5;}

/* ---------- Promo strip ---------- */
.ved2-promo{
  background:linear-gradient(135deg,#34495E,#800080);
  border-radius:16px;padding:16px;display:flex;gap:12px;align-items:center;
  box-shadow:var(--ved2-shadow);
}
.ved2-promo .ico{font-size:3rem;color:var(--ved2-gold);}
.ved2-promo .txt{flex:1;}
.ved2-promo .txt h3{font-size:1.55rem;color:#fff;}
.ved2-promo .txt p{font-size:1.15rem;color:var(--ved2-muted);margin-top:2px;}

/* ---------- Winners ---------- */
.ved2-winners{display:flex;flex-direction:column;gap:8px;}
.ved2-winner{
  display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);
  border:1px solid var(--ved2-line);padding:10px 12px;border-radius:10px;
}
.ved2-winner .av{
  width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#800080,#34495E);
  display:grid;place-items:center;color:#fff;font-weight:700;font-size:1.3rem;
}
.ved2-winner .meta{flex:1;}
.ved2-winner .meta strong{font-size:1.3rem;color:var(--ved2-text);display:block;}
.ved2-winner .meta small{font-size:1.1rem;color:var(--ved2-muted);}
.ved2-winner .amt{color:var(--ved2-gold);font-weight:700;font-size:1.4rem;}

/* ---------- Testimonials ---------- */
.ved2-review{
  background:rgba(255,255,255,.05);border:1px solid var(--ved2-line);
  border-radius:12px;padding:14px;margin-bottom:10px;
}
.ved2-review .stars{color:var(--ved2-gold);font-size:1.2rem;margin-bottom:6px;}
.ved2-review p{font-size:1.3rem;color:var(--ved2-text);font-style:italic;margin-bottom:8px;}
.ved2-review .who{font-size:1.15rem;color:var(--ved2-muted);}

/* ---------- Payment ---------- */
.ved2-pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ved2-pay{
  background:rgba(255,255,255,.05);border:1px solid var(--ved2-line);
  border-radius:10px;padding:10px 6px;text-align:center;
}
.ved2-pay .ico{font-size:1.9rem;color:var(--ved2-gold);}
.ved2-pay span{display:block;font-size:1.1rem;color:var(--ved2-muted);margin-top:4px;}

/* ---------- FAQ ---------- */
.ved2-faq-item{
  background:rgba(255,255,255,.04);border:1px solid var(--ved2-line);
  border-radius:10px;margin-bottom:8px;overflow:hidden;
}
.ved2-faq-q{
  padding:12px 14px;font-size:1.35rem;color:var(--ved2-text);font-weight:600;
  display:flex;justify-content:space-between;align-items:center;cursor:pointer;
}
.ved2-faq-q .ico{color:var(--ved2-gold);}
.ved2-faq-a{padding:0 14px 12px;font-size:1.25rem;color:var(--ved2-muted);display:none;}
.ved2-faq-item.ved2-open .ved2-faq-a{display:block;}
.ved2-faq-item.ved2-open .ico{transform:rotate(180deg);}

/* ---------- Long text / SEO ---------- */
.ved2-prose{font-size:1.3rem;color:var(--ved2-text);line-height:1.7;}
.ved2-prose h2,.ved2-prose h3{color:#fff;margin:14px 0 6px;}
.ved2-prose p{margin-bottom:10px;}
.ved2-prose a{color:var(--ved2-gold);text-decoration:underline;}
.ved2-prose strong{color:var(--ved2-gold);}
.ved2-prose ul.ved2-list li{padding-left:18px;position:relative;margin-bottom:6px;}
.ved2-prose ul.ved2-list li:before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--ved2-gold);position:absolute;left:0;}

/* ---------- Footer ---------- */
.ved2-footer{
  margin-top:24px;background:#1f2c3b;border-top:1px solid var(--ved2-line);
  padding:22px 12px 30px;
}
.ved2-footer .ved2-brand{font-size:1.6rem;color:#fff;font-weight:700;margin-bottom:6px;}
.ved2-footer .ved2-desc{font-size:1.2rem;color:var(--ved2-muted);margin-bottom:14px;}
.ved2-footer-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px;}
.ved2-footer-links a{font-size:1.2rem;color:var(--ved2-muted);}
.ved2-footer-links a:active{color:var(--ved2-gold);}
.ved2-promo-btns{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px;}
.ved2-copy{font-size:1.1rem;color:var(--ved2-muted);text-align:center;padding-top:12px;border-top:1px solid var(--ved2-line);}

/* ---------- Mobile bottom nav ---------- */
.ved2-bottom-nav{
  position:fixed;bottom:0;left:0;right:0;z-index:1000;
  height:var(--ved2-bottomnav-h);
  background:linear-gradient(180deg,#2C3E50,#1f2c3b);
  border-top:1px solid var(--ved2-line);
  display:flex;justify-content:space-around;align-items:stretch;
  box-shadow:0 -4px 16px rgba(0,0,0,.4);
}
.ved2-bottom-nav a,.ved2-bottom-nav button{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;background:none;border:none;color:var(--ved2-muted);cursor:pointer;
  font-size:1.05rem;font-family:inherit;padding:4px 0;transition:color .15s;
}
.ved2-bottom-nav .ico{font-size:2rem;}
.ved2-bottom-nav a.ved2-active,.ved2-bottom-nav a:active,.ved2-bottom-nav button:active{color:var(--ved2-gold);}
.ved2-bottom-nav .ved2-badge{
  background:var(--ved2-primary);color:#fff;border-radius:50%;
  width:16px;height:16px;font-size:.9rem;display:grid;place-items:center;
  position:absolute;transform:translate(10px,-6px);
}
.ved2-bottom-nav-item{position:relative;}
.ved2-bottom-nav-item:active{transform:scale(.9);}

/* ---------- Desktop handling ---------- */
@media (min-width: 769px){
  .ved2-bottom-nav{display:none;}
  .ved2-header-inner,.ved2-wrapper,.ved2-footer>div{max-width:760px;}
  body{font-size:1.6rem;}
  .ved2-game-grid{grid-template-columns:repeat(6,1fr);}
  .ved2-carousel-track img{height:340px;}
}
@media (max-width: 768px){
  main.ved2-main{padding-bottom:calc(var(--ved2-bottomnav-h) + 14px);}
}
