/* ── RESET & VARIABLES ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#07071a;--bg2:#0c0c25;--bg3:#101028;--card:#14143a;
  --gold:#f0bf30;--gold2:#ffd86e;--gold-dark:#b8900a;
  --red:#d63031;--red2:#ff4d4e;
  --text:#eeeeff;--text2:#aaaacc;--text3:#55557a;
  --border:rgba(240,191,48,.15);
  --shadow:0 8px 32px rgba(0,0,0,.65);
  --glow:0 0 24px rgba(240,191,48,.3);
  --glow-red:0 0 24px rgba(214,48,49,.45);
}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--text);line-height:1.65;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:3px}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 32px;border-radius:10px;
  font-family:'Montserrat',sans-serif;font-weight:700;font-size:15px;
  letter-spacing:.4px;cursor:pointer;border:none;
  transition:transform .22s,box-shadow .22s,opacity .22s;
  position:relative;overflow:hidden;white-space:nowrap;
}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.12);opacity:0;transition:opacity .22s}
.btn:hover::after{opacity:1}
.btn-gold{
  background:linear-gradient(135deg,#c49010 0%,#f0bf30 40%,#ffd86e 70%,#c49010 100%);
  color:#07071a;box-shadow:0 4px 22px rgba(240,191,48,.45);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(240,191,48,.65)}
.btn-outline{background:transparent;border:2px solid var(--gold);color:var(--gold)}
.btn-outline:hover{background:rgba(240,191,48,.1);transform:translateY(-2px)}
.btn-red{
  background:linear-gradient(135deg,#a01010 0%,#d63031 40%,#ff5555 70%,#a01010 100%);
  color:#fff;box-shadow:0 4px 22px rgba(214,48,49,.45);
}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(214,48,49,.65)}
.btn-lg{padding:18px 48px;font-size:17px;border-radius:12px}
.btn-pulse{animation:pulse 2.5s infinite}
@keyframes pulse{
  0%,100%{box-shadow:0 4px 22px rgba(240,191,48,.45)}
  50%{box-shadow:0 4px 40px rgba(240,191,48,.85),0 0 60px rgba(240,191,48,.3)}
}

/* ── REDIRECT BAR ── */
.redirect-bar{
  background:linear-gradient(90deg,#07001a 0%,#130525 25%,#1c0a38 50%,#130525 75%,#07001a 100%);
  border-bottom:2px solid var(--gold);
  position:relative;z-index:1001;overflow:hidden;
}
.redirect-bar::after{
  content:'';position:absolute;top:0;left:-100%;right:0;bottom:0;
  background:linear-gradient(90deg,transparent 0%,rgba(240,191,48,.07) 50%,transparent 100%);
  animation:rbarShimmer 2.8s infinite linear;pointer-events:none;
}
@keyframes rbarShimmer{from{left:-100%}to{left:100%}}
.rbar-inner{
  max-width:1280px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.rbar-left{display:flex;align-items:center;gap:14px;flex:1;min-width:200px}
.rbar-icon{font-size:30px;flex-shrink:0;animation:rbarBounce 1.6s ease-in-out infinite}
@keyframes rbarBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.rbar-text{flex:1}
.rbar-label{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:7px;line-height:1.4}
.rbar-label strong{color:var(--gold);font-size:14px;letter-spacing:.6px;text-transform:uppercase}
.rbar-progress{height:5px;background:rgba(255,255,255,.09);border-radius:3px;overflow:hidden}
.rbar-fill{
  height:100%;width:100%;border-radius:3px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold2));
  animation:rbarDrain 5s linear forwards;
}
@keyframes rbarDrain{from{width:100%}to{width:0%}}
.rbar-right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.rbar-counter{display:flex;flex-direction:column;align-items:center;line-height:1}
.rbar-sec{
  font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;color:var(--gold);
  animation:rbarTick 1s ease-in-out infinite;line-height:1;
}
@keyframes rbarTick{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.18);opacity:.8}}
.rbar-sec-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-top:3px}
.rbar-btn{
  display:inline-flex;align-items:center;gap:7px;
  background:linear-gradient(135deg,#c49010 0%,#f0bf30 45%,#ffd86e 75%,#c49010 100%);
  color:#07071a;padding:11px 26px;border-radius:10px;
  font-weight:800;font-size:14px;letter-spacing:.3px;white-space:nowrap;
  box-shadow:0 4px 20px rgba(240,191,48,.5);transition:all .22s;
}
.rbar-btn:hover{transform:translateY(-2px);box-shadow:0 7px 28px rgba(240,191,48,.7)}
.rbar-close{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;cursor:pointer;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  color:var(--text3);font-size:13px;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s;font-family:sans-serif;
}
.rbar-close:hover{background:rgba(255,255,255,.16);color:var(--text);border-color:rgba(255,255,255,.28)}
@media(max-width:640px){
  .rbar-inner{justify-content:center;text-align:center}
  .rbar-left{flex-direction:column;align-items:center}
  .rbar-right{flex-wrap:wrap;justify-content:center}
  .rbar-sec{font-size:34px}
}

/* ── TOP RIBBON ── */
.ribbon{
  background:linear-gradient(90deg,#8b0000,var(--red),#8b0000);
  padding:11px 20px;text-align:center;
  font-size:14px;font-weight:600;letter-spacing:.5px;
}
.ribbon a{color:var(--gold2);text-decoration:underline}

/* ── HEADER ── */
.header{
  position:sticky;top:0;z-index:999;
  background:rgba(7,7,26,.93);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);padding:0 24px;
}
.header-inner{
  max-width:1280px;margin:0 auto;height:68px;
  display:flex;align-items:center;gap:28px;
}
.logo{
  font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;
  letter-spacing:2px;flex-shrink:0;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.logo em{-webkit-text-fill-color:var(--red2);color:var(--red2);font-style:normal}
.nav{display:flex;align-items:center;gap:22px;flex:1}
.nav a{font-size:14px;font-weight:500;color:var(--text2);transition:color .2s;white-space:nowrap}
.nav a:hover{color:var(--gold)}
.header-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}
.tg-btn{
  display:flex;align-items:center;gap:6px;
  font-size:13px;font-weight:500;color:#2aabee;transition:opacity .2s;
}
.tg-btn:hover{opacity:.8}
.tg-btn svg{width:19px;height:19px;flex-shrink:0}

/* ── HERO ── */
.hero{
  min-height:100vh;
  background:url('images/riobet.png') center center/cover no-repeat;
  position:relative;display:flex;align-items:center;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(7,7,26,.92) 0%,rgba(10,10,35,.78) 45%,rgba(7,7,26,.93) 100%);
}
.hero-stars{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-stars span{
  position:absolute;border-radius:50%;background:#fff;
  animation:twinkle var(--d,4s) infinite var(--delay,0s);
  opacity:0;
}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.5)}50%{opacity:.8;transform:scale(1)}}
.hero-inner{
  position:relative;z-index:1;
  max-width:1280px;margin:0 auto;padding:100px 24px 80px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(240,191,48,.1);border:1px solid rgba(240,191,48,.3);
  border-radius:20px;padding:6px 16px;
  font-size:12px;font-weight:700;color:var(--gold);
  letter-spacing:.8px;text-transform:uppercase;margin-bottom:22px;
}
.hero-badge::before{content:'●';font-size:8px;animation:blink 1.4s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.hero-title{
  font-family:'Oswald',sans-serif;
  font-size:clamp(36px,5.5vw,72px);font-weight:700;
  line-height:1.04;letter-spacing:1px;margin-bottom:22px;
}
.hl{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hl-red{color:var(--red2);-webkit-text-fill-color:var(--red2)}
.hero-sub{font-size:18px;color:var(--text2);margin-bottom:36px;line-height:1.75}
.hero-sub strong{color:var(--gold2)}
.hero-btns{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap}
.stat-num{
  font-family:'Oswald',sans-serif;font-size:34px;font-weight:700;
  color:var(--gold);line-height:1;
}
.stat-label{font-size:12px;color:var(--text3);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}
.hero-media{display:flex;flex-direction:column;gap:16px;justify-content:center;align-items:center}
.hero-img-main{
  border-radius:18px;overflow:hidden;border:1px solid rgba(240,191,48,.2);
  box-shadow:0 20px 60px rgba(0,0,0,.75),var(--glow);
  max-height:460px;width:100%;object-fit:cover;
}
.hero-img-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.hero-img-sm{
  border-radius:12px;overflow:hidden;border:1px solid rgba(240,191,48,.15);
  height:140px;object-fit:cover;width:100%;
  transition:transform .3s;
}
.hero-img-sm:hover{transform:scale(1.03)}

/* ── SECTIONS ── */
.section{padding:84px 24px}
.container{max-width:1280px;margin:0 auto}
.sec-title{
  font-family:'Oswald',sans-serif;font-size:clamp(26px,4vw,44px);
  font-weight:600;text-align:center;letter-spacing:1px;margin-bottom:12px;
}
.sec-sub{text-align:center;color:var(--text2);font-size:16px;max-width:600px;margin:0 auto 48px}
.divider{width:56px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold2));margin:14px auto 44px;border-radius:2px}
.bg2{background:var(--bg2)}
.bg3{background:var(--bg3)}

/* ── FEATURES ── */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.feature-card{
  background:var(--card);border:1px solid var(--border);border-radius:18px;
  padding:32px 24px;text-align:center;transition:all .3s;
}
.feature-card:hover{transform:translateY(-7px);border-color:rgba(240,191,48,.4);box-shadow:var(--glow)}
.feature-icon{
  width:66px;height:66px;
  background:linear-gradient(135deg,rgba(240,191,48,.15),rgba(240,191,48,.04));
  border:1px solid rgba(240,191,48,.25);border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 22px;font-size:28px;
}
.feature-title{font-size:17px;font-weight:700;color:var(--gold);margin-bottom:10px}
.feature-desc{font-size:14px;color:var(--text2);line-height:1.65}

/* ── GAMES ── */
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:18px}
.game-card{
  background:var(--card);border-radius:14px;overflow:hidden;
  border:1px solid var(--border);transition:all .3s;cursor:pointer;
}
.game-card:hover{transform:translateY(-5px) scale(1.015);border-color:rgba(240,191,48,.5);box-shadow:0 14px 44px rgba(0,0,0,.55),var(--glow)}
.game-img-wrap{position:relative;overflow:hidden;aspect-ratio:16/10}
.game-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.game-card:hover .game-img-wrap img{transform:scale(1.1)}
.game-overlay{
  position:absolute;inset:0;background:rgba(7,7,26,.72);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s;
}
.game-card:hover .game-overlay{opacity:1}
.game-overlay .btn{padding:10px 20px;font-size:13px}
.game-info{padding:12px 14px}
.game-name{font-size:13px;font-weight:600;color:var(--text)}
.game-provider{font-size:11px;color:var(--text3);margin-top:3px}

/* ── BONUSES ── */
.bonuses-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px}
.bonus-card{
  background:var(--card);border-radius:18px;overflow:hidden;
  border:1px solid var(--border);transition:all .3s;
}
.bonus-card:hover{transform:translateY(-5px);box-shadow:var(--shadow),var(--glow);border-color:rgba(240,191,48,.35)}
.bonus-header{
  padding:30px 24px 22px;
  background:linear-gradient(135deg,rgba(240,191,48,.1),rgba(240,191,48,.03));
  border-bottom:1px solid var(--border);text-align:center;
}
.bonus-icon{font-size:50px;margin-bottom:14px;line-height:1}
.bonus-amount{font-family:'Oswald',sans-serif;font-size:38px;font-weight:700;color:var(--gold);line-height:1}
.bonus-type{font-size:13px;color:var(--text3);margin-top:6px}
.bonus-body{padding:22px 24px}
.bonus-title{font-size:16px;font-weight:700;margin-bottom:10px}
.bonus-desc{font-size:14px;color:var(--text2);margin-bottom:22px;line-height:1.65}

/* ── MIRROR CTA ── */
.mirror-bg{
  background:linear-gradient(135deg,var(--bg2) 0%,#150530 50%,var(--bg2) 100%);
  position:relative;overflow:hidden;
}
.mirror-bg::before{
  content:'';position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);width:700px;height:700px;
  background:radial-gradient(circle,rgba(240,191,48,.07) 0%,transparent 70%);
  pointer-events:none;
}
.mirror-inner{position:relative;z-index:1;text-align:center;max-width:720px;margin:0 auto}
.mirror-inner h2{
  font-family:'Oswald',sans-serif;font-size:clamp(28px,4vw,50px);
  font-weight:700;margin-bottom:16px;
}
.mirror-inner > p{font-size:18px;color:var(--text2);margin-bottom:36px;line-height:1.7}
.mirror-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.mirror-note{font-size:14px;color:var(--text3);margin-top:22px}
.mirror-note a{color:var(--gold)}

/* ── BRAND IMAGES ── */
.brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:920px;margin:0 auto}
.brand-img-wrap{
  border-radius:18px;overflow:hidden;border:1px solid var(--border);
  transition:all .3s;display:block;
}
.brand-img-wrap:hover{border-color:rgba(240,191,48,.4);box-shadow:var(--glow)}
.brand-img-wrap img{width:100%;height:290px;object-fit:cover;transition:transform .4s}
.brand-img-wrap:hover img{transform:scale(1.05)}

/* ── SEO TEXT ── */
.seo-block{
  max-width:920px;margin:0 auto;background:var(--card);
  border:1px solid var(--border);border-radius:18px;padding:50px 52px;
}
.seo-block h2{
  font-family:'Oswald',sans-serif;font-size:26px;color:var(--gold);
  margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border);
}
.seo-block h3{font-family:'Oswald',sans-serif;font-size:18px;color:var(--gold2);margin:28px 0 12px}
.seo-block p{font-size:15px;color:var(--text2);line-height:1.85;margin-bottom:18px}

/* ── FAQ ── */
.faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  overflow:hidden;transition:border-color .25s;
}
.faq-item:hover,.faq-item.active{border-color:rgba(240,191,48,.35)}
.faq-q{
  padding:20px 24px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;font-weight:600;font-size:15px;gap:16px;
  transition:background .2s;user-select:none;
}
.faq-q:hover{background:rgba(240,191,48,.05)}
.faq-icon{font-size:22px;color:var(--gold);flex-shrink:0;transition:transform .3s;line-height:1}
.faq-item.active .faq-icon{transform:rotate(45deg)}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .35s ease,padding .3s ease;
  padding:0 24px;
}
.faq-a.open{max-height:400px;padding:0 24px 22px}
.faq-a p{font-size:14px;color:var(--text2);line-height:1.8}

/* ── FLOATING CTA ── */
.float-cta{
  position:fixed;bottom:24px;right:24px;z-index:900;
  animation:floatIn .6s ease .5s both;
}
@keyframes floatIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.float-btn{
  display:flex;align-items:center;gap:10px;
  padding:15px 28px;border-radius:50px;
  background:linear-gradient(135deg,#c49010,#f0bf30,#ffd86e,#c49010);
  color:#07071a;font-weight:800;font-size:15px;
  box-shadow:0 6px 30px rgba(240,191,48,.55);
  cursor:pointer;border:none;transition:all .25s;
  animation:floatPulse 2.8s infinite;
}
@keyframes floatPulse{
  0%,100%{box-shadow:0 6px 30px rgba(240,191,48,.55)}
  50%{box-shadow:0 6px 50px rgba(240,191,48,.85),0 0 70px rgba(240,191,48,.25)}
}
.float-btn:hover{transform:translateY(-3px) scale(1.04)}

/* ── FOOTER ── */
.footer{background:var(--bg);border-top:1px solid var(--border);padding:60px 24px 28px}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px}
.footer-logo{
  font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;
  letter-spacing:2px;margin-bottom:14px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.footer-desc{font-size:14px;color:var(--text3);line-height:1.75;margin-bottom:22px}
.footer-socials{display:flex;gap:10px}
.soc-btn{
  width:40px;height:40px;border-radius:10px;background:var(--card);
  border:1px solid var(--border);display:flex;align-items:center;justify-content:center;
  transition:all .2s;
}
.soc-btn:hover{border-color:var(--gold);box-shadow:var(--glow)}
.footer-col h4{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:16px;letter-spacing:.5px;text-transform:uppercase}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-size:14px;color:var(--text3);transition:color .2s}
.footer-col ul li a:hover{color:var(--gold)}
.footer-bottom{
  border-top:1px solid var(--border);padding-top:22px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;
}
.footer-copy{font-size:13px;color:var(--text3)}
.footer-copy a{color:var(--gold)}
.disclaimer-row{display:flex;align-items:center;gap:12px}
.age{
  width:36px;height:36px;border-radius:50%;border:2px solid var(--text3);
  font-size:11px;font-weight:700;color:var(--text3);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.disclaimer{font-size:12px;color:var(--text3);max-width:460px;line-height:1.6}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr}
  .hero-inner{grid-template-columns:1fr}
  .hero-media{display:none}
}
@media(max-width:768px){
  .nav{display:none}
  .section{padding:60px 20px}
  .seo-block{padding:28px 22px}
  .footer-top{grid-template-columns:1fr}
  .brand-grid{grid-template-columns:1fr}
  .hero-inner{padding:80px 20px 60px}
}
@media(max-width:520px){
  .hero-btns,.mirror-btns{flex-direction:column;align-items:stretch}
  .hero-btns .btn,.mirror-btns .btn{text-align:center}
  .hero-stats{gap:20px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .float-btn{padding:12px 20px;font-size:14px}
}
