/*
Theme Name: RoyalGame Portal
Theme URI: https://example.com/
Author: OpenAI
Description: Custom purple-gold WordPress portal theme with hero slider, jackpot, game categories, statistics, payment panel and floating contact button.
Version: 1.0.0
Text Domain: royalgame
*/
:root{
  --rg-bg:#10051f;
  --rg-bg2:#25094b;
  --rg-gold:#f5c542;
  --rg-gold2:#b57900;
  --rg-card:#1a0b31;
  --rg-text:#fff8dc;
  --rg-muted:#cdbfdf;
  --rg-border:rgba(245,197,66,.45);
  --rg-shadow:0 12px 30px rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,Helvetica,sans-serif;
  color:var(--rg-text);
  background:
    radial-gradient(circle at 20% 20%,rgba(122,34,199,.20),transparent 30%),
    radial-gradient(circle at 80% 30%,rgba(245,197,66,.10),transparent 25%),
    linear-gradient(180deg,var(--rg-bg2),var(--rg-bg));
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.rg-container{width:min(1180px,calc(100% - 28px));margin:auto}
.rg-topbar{
  background:#3b2100;
  border-bottom:1px solid #8d5e00;
  font-size:12px;
}
.rg-topbar-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:7px 0;color:#ffeaa0;
}
.rg-top-links{display:flex;gap:12px;flex-wrap:wrap}
.rg-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
  background:rgba(31,7,60,.93);
  border-bottom:1px solid var(--rg-border);
}
.rg-header-inner{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:70px;
}
.rg-logo{
  font-weight:900;font-size:29px;letter-spacing:-1px;
  color:#fff;
  text-shadow:0 0 14px rgba(245,197,66,.45);
}
.rg-logo span{color:var(--rg-gold)}
.rg-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rg-nav a{
  padding:10px 12px;border-radius:10px;font-weight:700;font-size:13px;
  color:#f9efff;
}
.rg-nav a:hover{background:rgba(245,197,66,.14);color:#ffe58a}
.rg-actions{display:flex;gap:8px}
.rg-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;padding:0 16px;border:0;border-radius:10px;
  background:linear-gradient(180deg,#ffe083,#d99e0f);
  color:#2b1700;font-weight:900;box-shadow:0 5px 14px rgba(217,158,15,.24);
  cursor:pointer;
}
.rg-btn.secondary{
  background:transparent;color:#ffe89c;border:1px solid var(--rg-border);box-shadow:none;
}
.rg-mobile-toggle{display:none}
.rg-hero{padding:18px 0 6px}
.rg-slider{
  position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--rg-border);
  box-shadow:var(--rg-shadow);min-height:390px;background:#241047;
}
.rg-slide{
  display:none;min-height:390px;padding:42px;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(20,4,42,.96),rgba(20,4,42,.28)),
    radial-gradient(circle at 78% 40%,rgba(199,62,255,.55),transparent 24%),
    linear-gradient(135deg,#26084b,#5a0c88 55%,#160528);
}
.rg-slide.active{display:flex}
.rg-slide-content{max-width:650px}
.rg-kicker{
  display:inline-block;padding:7px 12px;border:1px solid var(--rg-border);
  border-radius:999px;color:#ffe699;background:rgba(245,197,66,.10);
  font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;
}
.rg-slide h1{font-size:clamp(38px,6vw,74px);line-height:.95;margin:16px 0 14px}
.rg-slide h1 span{color:var(--rg-gold)}
.rg-slide p{max-width:560px;color:#e8dff1;font-size:16px;line-height:1.65;margin:0 0 22px}
.rg-slider-dots{position:absolute;left:42px;bottom:22px;display:flex;gap:8px}
.rg-dot{width:10px;height:10px;border-radius:99px;background:#fff5;cursor:pointer}
.rg-dot.active{width:28px;background:var(--rg-gold)}
.rg-jackpot{
  margin:18px auto;padding:15px 18px;text-align:center;border-radius:15px;
  border:1px solid var(--rg-border);
  background:linear-gradient(180deg,#4d2000,#2c1000);
  box-shadow:var(--rg-shadow);
}
.rg-jackpot-label{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#ffd969;font-weight:900}
.rg-jackpot-value{font-size:clamp(26px,5vw,46px);font-weight:1000;color:#fff3bf;letter-spacing:1px}
.rg-section{padding:16px 0}
.rg-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:13px}
.rg-section-title h2{margin:0;font-size:22px}
.rg-section-title p{margin:0;color:var(--rg-muted);font-size:13px}
.rg-games{
  display:grid;grid-template-columns:repeat(5,1fr);gap:12px
}
.rg-game{
  min-height:124px;padding:18px;border-radius:16px;
  background:linear-gradient(180deg,#2d1450,#190b30);
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  transition:.2s transform,.2s border-color;
}
.rg-game:hover{transform:translateY(-4px);border-color:var(--rg-border)}
.rg-game-icon{
  width:48px;height:48px;display:grid;place-items:center;border-radius:14px;
  font-size:25px;background:rgba(245,197,66,.13);margin-bottom:13px
}
.rg-game strong{display:block}
.rg-game small{color:var(--rg-muted)}
.rg-stats{
  display:grid;grid-template-columns:repeat(5,1fr);gap:10px
}
.rg-stat{
  padding:16px 10px;text-align:center;border-radius:14px;
  background:linear-gradient(180deg,#aa6f03,#704400);
  border:1px solid #dbac3e;
}
.rg-stat span{display:block;font-size:11px;color:#ffeab0;text-transform:uppercase}
.rg-stat b{font-size:22px}
.rg-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rg-panel{
  padding:18px;border-radius:16px;background:rgba(27,10,52,.92);
  border:1px solid rgba(255,255,255,.08);box-shadow:var(--rg-shadow)
}
.rg-panel h3{margin:0 0 14px;color:#ffe488}
.rg-service-row,.rg-pay-row{
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.10)
}
.rg-service-row:last-child,.rg-pay-row:last-child{border-bottom:0}
.rg-pill{
  padding:5px 9px;border-radius:999px;background:#103a20;color:#83f6a7;
  font-size:11px;font-weight:800
}
.rg-payments{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.rg-pay{
  min-height:56px;display:grid;place-items:center;text-align:center;
  border-radius:12px;background:#fff;color:#2f2141;font-weight:900;font-size:12px
}
.rg-content{
  padding:22px;border-radius:17px;background:rgba(31,11,57,.93);
  border:1px solid rgba(255,255,255,.08);line-height:1.8;color:#e8e0ef
}
.rg-content h1,.rg-content h2,.rg-content h3{color:#fff}
.rg-footer{
  margin-top:28px;padding:34px 0;border-top:1px solid var(--rg-border);
  background:#0b0313;color:#c9bddd
}
.rg-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.rg-footer h4{color:#ffe48a;margin-top:0}
.rg-floating{
  position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:10px
}
.rg-float-btn{
  min-width:52px;height:52px;padding:0 15px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(180deg,#ffe78c,#d7a01c);color:#241200;
  font-weight:1000;box-shadow:0 10px 25px rgba(0,0,0,.35)
}
.rg-float-btn small{font-size:12px}
@media(max-width:960px){
  .rg-nav{display:none;position:absolute;top:70px;left:14px;right:14px;padding:12px;
    background:#1a0832;border:1px solid var(--rg-border);border-radius:14px}
  .rg-nav.open{display:flex;flex-direction:column;align-items:stretch}
  .rg-mobile-toggle{display:inline-flex}
  .rg-actions .secondary{display:none}
  .rg-games{grid-template-columns:repeat(3,1fr)}
  .rg-stats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:700px){
  .rg-topbar-inner{align-items:flex-start}
  .rg-slide{padding:28px 22px;min-height:420px}
  .rg-slider{min-height:420px}
  .rg-slider-dots{left:22px}
  .rg-games{grid-template-columns:repeat(2,1fr)}
  .rg-stats{grid-template-columns:repeat(2,1fr)}
  .rg-panels{grid-template-columns:1fr}
  .rg-payments{grid-template-columns:repeat(3,1fr)}
  .rg-footer-grid{grid-template-columns:1fr}
  .rg-logo{font-size:23px}
}

.rg-bank-note{
  margin:-7px 0 14px;
  color:var(--rg-muted);
  font-size:12px;
}
.rg-bank-grid{grid-template-columns:repeat(2,1fr)}
.rg-bank-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:11px 12px;
  min-height:56px;
}
.rg-bank-name{font-weight:1000}
.rg-bank-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:66px;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.4px;
}
.rg-bank-status.online{
  background:#123d22;
  color:#91f5ad;
  border:1px solid rgba(145,245,173,.28);
}
.rg-bank-status.offline{
  background:#4a1111;
  color:#ff9c9c;
  border:1px solid rgba(255,156,156,.28);
}
.rg-bank-card.is-offline{opacity:.78}
@media(max-width:700px){
  .rg-bank-grid{grid-template-columns:1fr}
}
