/* CasinoZ modern theme – loaded last, only overrides look (no game logic).
   Remove the <link> to css/modern.css in templates/header.php to go back. */

:root {
  --cz-bg: #0b0f1d;
  --cz-bg2: #121935;
  --cz-card: rgba(255, 255, 255, 0.04);
  --cz-card-hover: rgba(255, 255, 255, 0.08);
  --cz-line: rgba(255, 255, 255, 0.09);
  --cz-text: #e9ecf5;
  --cz-muted: #9aa3bd;
  --cz-gold: #f7b500;
  --cz-gold2: #ffd65a;
  --cz-red: #e5484d;
  --cz-green: #22c55e;
  --cz-radius: 14px;
  --cz-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}

/* ---------- base ---------- */
body {
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(247, 181, 0, 0.10), transparent 60%),
    radial-gradient(900px 500px at 100% 10%, rgba(88, 101, 242, 0.14), transparent 60%),
    linear-gradient(180deg, var(--cz-bg2), var(--cz-bg)) fixed !important;
  color: var(--cz-text);
  font-family: 'Inter', -apple-system, system-ui, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--cz-gold); transition: color .15s ease; }
a:hover, a:focus { color: var(--cz-gold2); text-decoration: none; }
h1, h2, h3, h4 { font-family: 'Poppins', 'Inter', sans-serif; font-weight: 600; letter-spacing: .2px; }

/* ---------- top navbar ---------- */
.navbar-inverse {
  background: rgba(11, 15, 29, 0.72) !important;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 0 !important;
  border-bottom: 1px solid var(--cz-line) !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
  margin-bottom: 24px;
}
.navbar-inverse .navbar-brand {
  color: var(--cz-text) !important;
  font-family: 'Poppins', sans-serif;
  font-weight: 700;
  letter-spacing: .3px;
}
.navbar-inverse .navbar-brand:hover { color: var(--cz-gold) !important; }
.navbar-inverse .navbar-nav > li > a { color: var(--cz-muted) !important; border-radius: 8px; }
.navbar-inverse .navbar-nav > li > a:hover { color: var(--cz-text) !important; background: var(--cz-card-hover) !important; }
.navbar-inverse .form-control {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--cz-line);
  color: var(--cz-text);
  border-radius: 8px;
  box-shadow: none;
}

/* ---------- left menu ---------- */
.list-group { display: flex; flex-direction: column; gap: 8px; }
.list-group .list-group-item {
  background: var(--cz-card) !important;
  border: 1px solid var(--cz-line) !important;
  border-radius: 12px !important;
  color: var(--cz-text) !important;
  font-weight: 600;
  font-size: 14px;
  text-align: left;
  padding: 11px 14px;
  margin: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  transition: transform .12s ease, background .15s ease, border-color .15s ease;
}
.list-group .list-group-item:hover {
  background: linear-gradient(90deg, rgba(247, 181, 0, 0.16), rgba(247, 181, 0, 0.04)) !important;
  border-color: rgba(247, 181, 0, 0.45) !important;
  color: #fff !important;
  transform: translateX(3px);
}

/* ---------- hero on the home page ---------- */
#jumbotronIndex {
  position: relative;
  border-radius: 20px;
  border: 1px solid rgba(247, 181, 0, 0.35) !important;
  box-shadow: var(--cz-shadow), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
  overflow: hidden;
  padding: 56px 24px 40px !important;
  min-height: 240px;
}
#jumbotronIndex::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 15, 29, 0.25) 0%, rgba(11, 15, 29, 0.82) 100%);
  z-index: 0;
}
#jumbotronIndex > * { position: relative; z-index: 1; }
#jumbotronIndex h2 {
  color: #fff;
  font-size: 30px;
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
  margin: 0 0 18px;
}
#jumbotronIndex h2 img { width: 30px !important; vertical-align: middle; }
@media (max-width: 767px) { #jumbotronIndex h2 { font-size: 22px; } }

/* ---------- buttons ---------- */
.btn {
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: .2px;
  transition: transform .1s ease, box-shadow .15s ease, filter .15s ease;
}
.btn:active { transform: translateY(1px); }
.btn-primary, .btn-success, .btn-warning {
  background: linear-gradient(180deg, var(--cz-gold2), var(--cz-gold)) !important;
  border: 0 !important;
  color: #1b1400 !important;
  box-shadow: 0 6px 18px rgba(247, 181, 0, 0.28);
}
.btn-primary:hover, .btn-success:hover, .btn-warning:hover { filter: brightness(1.06); box-shadow: 0 8px 24px rgba(247, 181, 0, 0.38); }
.btn-default {
  background: var(--cz-card) !important;
  border: 1px solid var(--cz-line) !important;
  color: var(--cz-text) !important;
}
.btn-default:hover { background: var(--cz-card-hover) !important; }
.btn-danger { background: var(--cz-red) !important; border: 0 !important; }

/* ---------- player tiles (home leaderboard) ---------- */
.thumbnail.round-avatar {
  background: var(--cz-card) !important;
  border: 1px solid var(--cz-line) !important;
  border-radius: var(--cz-radius) !important;
  padding: 8px !important;
  box-shadow: none;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.thumbnail.round-avatar:hover {
  transform: translateY(-4px);
  border-color: rgba(247, 181, 0, 0.55) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(247, 181, 0, 0.2);
}
.thumbnail.round-avatar img { border-radius: 10px; }
.thumbnail .cuttext, .cuttext { color: var(--cz-text); font-weight: 600; font-size: 13px; }

/* ---------- panels, tabs, tables, forms ---------- */
.panel, .well, .tab-content, .modal-content {
  background: var(--cz-card) !important;
  border: 1px solid var(--cz-line) !important;
  border-radius: var(--cz-radius) !important;
  color: var(--cz-text);
  box-shadow: none;
}
.panel-heading { background: rgba(255, 255, 255, 0.04) !important; border-bottom: 1px solid var(--cz-line) !important; color: var(--cz-text) !important; }
.nav-tabs { border-bottom: 1px solid var(--cz-line); }
.nav-tabs > li > a { color: var(--cz-muted); border-radius: 10px 10px 0 0; border: 0 !important; }
.nav-tabs > li > a:hover { background: var(--cz-card-hover); color: var(--cz-text); }
.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  background: var(--cz-card-hover) !important;
  color: var(--cz-gold) !important;
  box-shadow: inset 0 -2px 0 var(--cz-gold);
}
.table > thead > tr > th, .table > tbody > tr > td, table th, table td { border-color: var(--cz-line) !important; }
.table-hover > tbody > tr:hover { background: rgba(255, 255, 255, 0.04); }
.form-control {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--cz-line) !important;
  color: var(--cz-text) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  height: auto;
  padding: 9px 12px;
}
.form-control:focus { border-color: rgba(247, 181, 0, 0.6) !important; box-shadow: 0 0 0 3px rgba(247, 181, 0, 0.15) !important; }
.form-control::placeholder { color: var(--cz-muted); }
.alert { border-radius: 12px; border: 1px solid var(--cz-line); }
.alert-info { background: rgba(96, 165, 250, 0.10); color: #cfe3ff; border-color: rgba(96, 165, 250, 0.3); }
.alert-success { background: rgba(34, 197, 94, 0.10); color: #c9f7d8; border-color: rgba(34, 197, 94, 0.3); }
.alert-danger { background: rgba(229, 72, 77, 0.10); color: #ffd2d4; border-color: rgba(229, 72, 77, 0.3); }

/* ---------- footer ---------- */
footer, .footer { color: var(--cz-muted); border-top: 1px solid var(--cz-line); }

/* ---------- poker cards (markup from includes/card_sys.php) ---------- */
.poker-card__small, .poker-card__big {
  background: linear-gradient(160deg, #ffffff 0%, #f3f4f8 100%) !important;
  border: 1px solid rgba(0, 0, 0, 0.12);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.6) inset !important;
  color: #111827;
  font-family: 'Poppins', 'Fjalla One', sans-serif !important;
  font-weight: 700;
}
.poker-card__big { border-radius: 8px !important; }
.poker-card__small { border-radius: 4px !important; }
.poker-card p { text-align: left; }
.poker-card [class*='icon-'] { justify-content: flex-end !important; padding-right: 2px; }
.poker-card-figures-h, .poker-card-figures-d { color: #d6273b !important; }
.poker-card-figures-s, .poker-card-figures-c { color: #111827 !important; }
.poker-card-figures-h [class*='icon-'], .poker-card-figures-d [class*='icon-'] { color: #d6273b !important; }
.poker-card-figures-s [class*='icon-'], .poker-card-figures-c [class*='icon-'] { color: #111827 !important; }
.poker-card__small-inverted {
  background: url("../assets/card-back-btcz.svg") center / cover no-repeat, #1d2a5c !important;
  border: 1px solid rgba(247, 181, 0, 0.55) !important;
}

/* ---------- house promo banner ---------- */
.cz-promo {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 18px 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(120deg, rgba(247, 181, 0, 0.16), rgba(88, 101, 242, 0.14));
  border: 1px solid rgba(247, 181, 0, 0.35);
  color: var(--cz-text) !important;
  text-align: left;
  transition: transform .15s ease, box-shadow .15s ease;
}
.cz-promo:hover { transform: translateY(-2px); box-shadow: var(--cz-shadow); color: #fff !important; }
.cz-promo img { width: 46px; height: 46px; border-radius: 12px; flex: none; }
.cz-promo b { display: block; font-family: 'Poppins', sans-serif; font-size: 15px; color: #fff; }
.cz-promo span { color: var(--cz-muted); font-size: 13px; }
.cz-promo .cz-promo-cta {
  margin-left: auto;
  flex: none;
  background: linear-gradient(180deg, var(--cz-gold2), var(--cz-gold));
  color: #1b1400;
  font-weight: 700;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 10px;
}

/* ---------- full-height background ---------- */
html { background: var(--cz-bg); }
body { min-height: 100vh; }

/* ---------- right column: house promo cards (templates/sidebar2.php) ---------- */
.cz-side { display: flex; flex-direction: column; gap: 14px; }
.cz-side-card {
  background: linear-gradient(150deg, rgba(247, 181, 0, 0.12), rgba(88, 101, 242, 0.10));
  border: 1px solid rgba(247, 181, 0, 0.30);
  border-radius: 16px;
  padding: 14px;
}
.cz-side-head { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; }
.cz-side-head img { width: 38px; height: 38px; flex: none; }
.cz-side-head b { display: block; font-family: 'Poppins', sans-serif; color: #fff; font-size: 14px; line-height: 1.3; }
.cz-side-head span { display: block; color: var(--cz-muted); font-size: 12px; line-height: 1.4; margin-top: 3px; }
.cz-side-btns .btn { margin-top: 6px; font-size: 13px; padding: 7px 10px; }
@media (max-width: 991px) { .cz-side { margin-top: 20px; } }
