/* Mafia Empire theme: Cosa Nostra — custom overlay on Bootstrap 5.3 */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Source+Sans+3:wght@400;600;700&display=swap');
:root {
  --bs-primary: #9E1B22;
  --bs-primary-rgb: 158,27,34;
  --bs-success: #3F7D4E;
  --bs-success-rgb: 63,125,78;
  --bs-danger: #B3121B;
  --bs-danger-rgb: 179,18,27;
  --bs-warning: #C9A227;
  --bs-warning-rgb: 201,162,39;
  --bs-info: #5E7380;
  --bs-info-rgb: 94,115,128;
  --bs-secondary: #3A3333;
  --bs-secondary-rgb: 58,51,51;
  --bs-body-font-family: 'Source Sans 3', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --bs-body-bg: transparent;
  --bs-body-color: #EDE4D3;
  --bs-body-color-rgb: 237,228,211;
  --bs-emphasis-color: #EDE4D3;
  --bs-heading-color: #EDE4D3;
  --bs-secondary-color: #A79C8A;
  --bs-tertiary-color: #A79C8A;
  --bs-border-color: rgba(201,162,39,0.24);
  --bs-border-color-translucent: rgba(201,162,39,0.24);
  --bs-secondary-bg: rgba(201,162,39,0.06);
  --bs-tertiary-bg: rgba(201,162,39,0.06);
  --bs-link-color: #D2343C;
  --bs-link-color-rgb: 210,52,60;
  --bs-link-hover-color: #9E1B22;
  --bs-link-hover-color-rgb: 158,27,34;
  --bs-border-radius: 12px;
  --vc-surface: rgba(22,18,18,0.88);
  --vc-surface2: rgba(201,162,39,0.06);
  --vc-glow: 0 0 0 1px rgba(201,162,39,0.22), 0 14px 34px rgba(0,0,0,0.6);
  --vc-radius: 10px;
}
html { background: #000; }
body {
  background: radial-gradient(1100px 600px at 50% -15%, rgba(140,14,20,0.35) 0%, transparent 60%), radial-gradient(1400px 900px at 50% 120%, rgba(0,0,0,0.85) 0%, transparent 70%), linear-gradient(180deg, #0d0b0b 0%, #141011 55%, #080707 100%);
  background-attachment: fixed;
  color: var(--bs-body-color);
  min-height: 100vh;
  font-family: var(--bs-body-font-family);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, .navbar-brand, .card-header, .modal-title, .game-name {
  font-family: 'Cinzel', var(--bs-body-font-family);
  letter-spacing: .01em;
}

::selection { background: #9E1B22; color: #FFFFFF; }
* { scrollbar-width: thin; scrollbar-color: #9E1B22 transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: linear-gradient(135deg, #9E1B22 0%, #D2343C 100%); border-radius: 10px; }

/* ---------- navbar ---------- */
.navbar, .navbar.bg-dark, .navbar.bg-primary, .navbar.bg-light {
  background: linear-gradient(90deg, #0a0808, #1d0c0e 50%, #0a0808) !important;
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(201,162,39,0.24);
  box-shadow: 0 8px 30px rgba(0,0,0,.35);
}
.navbar .navbar-brand, .navbar .nav-link, .navbar .navbar-toggler { color: #fff !important; }
.navbar .nav-link { border-radius: 10px; padding: .45rem .8rem !important; transition: background .2s, color .2s; opacity: .9; }
.navbar .nav-link:hover, .navbar .nav-link.active { background: rgba(255,255,255,.14); opacity: 1; }
.navbar-toggler { border-color: rgba(255,255,255,.35) !important; }
.navbar-toggler-icon { filter: invert(1) brightness(2); }
.nav-scroller, .nav-scroller.bg-body, .nav-scroller.bg-white {
  background: var(--vc-surface) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--bs-border-color);
}
.nav-underline .nav-link { color: var(--bs-secondary-color); }
.nav-underline .nav-link:hover, .nav-underline .active { color: var(--bs-link-color); }

/* ---------- cards / panels ---------- */
.card {
  --bs-card-bg: var(--vc-surface);
  --bs-card-color: var(--bs-body-color);
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-cap-bg: var(--vc-surface2);
  --bs-card-cap-color: var(--bs-body-color);
  --bs-card-border-radius: var(--vc-radius);
  --bs-card-inner-border-radius: calc(var(--vc-radius) - 1px);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: var(--vc-glow);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.card .card { box-shadow: none; }
.card-header { font-weight: 700; border-bottom: 1px solid var(--bs-border-color); }
.card-header.bg-primary, .card-header.text-white.bg-primary {
  background: linear-gradient(135deg, #9E1B22 0%, #D2343C 100%) !important; color: #FFFFFF !important; border: 0;
}
.card-footer { background: var(--vc-surface2); border-top: 1px solid var(--bs-border-color); }
.list-group {
  --bs-list-group-bg: transparent; --bs-list-group-color: var(--bs-body-color);
  --bs-list-group-border-color: var(--bs-border-color);
  --bs-list-group-action-hover-bg: var(--vc-surface2);
  --bs-list-group-active-bg: #9E1B22; --bs-list-group-active-border-color: #9E1B22;
  --bs-list-group-border-radius: 12px;
}
.sidebar { background: var(--vc-surface) !important; border-left: 1px solid var(--bs-border-color) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.footer { background: var(--vc-surface) !important; border-top: 1px solid var(--bs-border-color); color: var(--bs-secondary-color); }
.modal-content { background: #0b1018; color: var(--bs-body-color); border: 1px solid var(--bs-border-color); border-radius: var(--vc-radius); box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.modal-header, .modal-footer { border-color: var(--bs-border-color); }
.btn-close{filter:invert(1) grayscale(100%) brightness(200%)}
.item-border { border: 1px solid var(--bs-border-color) !important; border-radius: 14px; background: var(--vc-surface2); transition: transform .2s, box-shadow .2s; }
.item-border:hover { background: var(--vc-surface2) !important; transform: translateY(-3px); box-shadow: var(--vc-glow); }
hr { border-top-color: var(--bs-border-color); opacity: 1; }
.text-muted { color: var(--bs-secondary-color) !important; }
.text-dark{color:#EDE4D3 !important}.badge.text-dark,.bg-warning.text-dark,.bg-light.text-dark{color:#1a1a1a !important}
.bg-light { background: var(--vc-surface2) !important; color: var(--bs-body-color) !important; }
.bg-white { background: var(--vc-surface) !important; }
.page-header { text-shadow: 0 2px 20px rgba(0,0,0,.5); }

/* ---------- buttons ---------- */
.btn {
  --bs-btn-border-radius: 12px; --bs-btn-font-weight: 600;
  border: 0; letter-spacing: .01em;
  box-shadow: 0 6px 18px rgba(0,0,0,.35);
  transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.btn:hover { transform: translateY(-2px); filter: brightness(1.08); }
.btn:active { transform: translateY(0); }
.btn-primary { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; background: linear-gradient(135deg, #9E1B22 0%, #D2343C 100%); }
.btn-outline-primary { --bs-btn-color: #9E1B22; --bs-btn-border-color: #9E1B22; --bs-btn-hover-bg: #9E1B22; --bs-btn-hover-border-color: #9E1B22; border: 1px solid #9E1B22; box-shadow: none; }
.bg-primary { background: linear-gradient(135deg, #9E1B22 0%, #D2343C 100%) !important; }
.text-bg-primary { background: linear-gradient(135deg, #9E1B22 0%, #D2343C 100%) !important; }
.alert-primary { --bs-alert-bg: rgba(158,27,34,.14); --bs-alert-color: #D2343C; --bs-alert-border-color: rgba(158,27,34,.4); }
.btn-success { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; background: linear-gradient(135deg, #3F7D4E 0%, #6AAE78 100%); }
.btn-outline-success { --bs-btn-color: #3F7D4E; --bs-btn-border-color: #3F7D4E; --bs-btn-hover-bg: #3F7D4E; --bs-btn-hover-border-color: #3F7D4E; border: 1px solid #3F7D4E; box-shadow: none; }
.bg-success { background: linear-gradient(135deg, #3F7D4E 0%, #6AAE78 100%) !important; }
.text-bg-success { background: linear-gradient(135deg, #3F7D4E 0%, #6AAE78 100%) !important; }
.alert-success { --bs-alert-bg: rgba(63,125,78,.14); --bs-alert-color: #6AAE78; --bs-alert-border-color: rgba(63,125,78,.4); }
.btn-danger { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; background: linear-gradient(135deg, #B3121B 0%, #E0444C 100%); }
.btn-outline-danger { --bs-btn-color: #B3121B; --bs-btn-border-color: #B3121B; --bs-btn-hover-bg: #B3121B; --bs-btn-hover-border-color: #B3121B; border: 1px solid #B3121B; box-shadow: none; }
.bg-danger { background: linear-gradient(135deg, #B3121B 0%, #E0444C 100%) !important; }
.text-bg-danger { background: linear-gradient(135deg, #B3121B 0%, #E0444C 100%) !important; }
.alert-danger { --bs-alert-bg: rgba(179,18,27,.14); --bs-alert-color: #E0444C; --bs-alert-border-color: rgba(179,18,27,.4); }
.btn-warning { --bs-btn-color: #14110a; --bs-btn-hover-color: #14110a; --bs-btn-active-color: #14110a; background: linear-gradient(135deg, #C9A227 0%, #EAD07A 100%); }
.btn-outline-warning { --bs-btn-color: #C9A227; --bs-btn-border-color: #C9A227; --bs-btn-hover-bg: #C9A227; --bs-btn-hover-border-color: #C9A227; border: 1px solid #C9A227; box-shadow: none; }
.bg-warning { background: linear-gradient(135deg, #C9A227 0%, #EAD07A 100%) !important; }
.text-bg-warning { background: linear-gradient(135deg, #C9A227 0%, #EAD07A 100%) !important; }
.alert-warning { --bs-alert-bg: rgba(201,162,39,.14); --bs-alert-color: #EAD07A; --bs-alert-border-color: rgba(201,162,39,.4); }
.btn-info { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; background: linear-gradient(135deg, #5E7380 0%, #93A9B5 100%); }
.btn-outline-info { --bs-btn-color: #5E7380; --bs-btn-border-color: #5E7380; --bs-btn-hover-bg: #5E7380; --bs-btn-hover-border-color: #5E7380; border: 1px solid #5E7380; box-shadow: none; }
.bg-info { background: linear-gradient(135deg, #5E7380 0%, #93A9B5 100%) !important; }
.text-bg-info { background: linear-gradient(135deg, #5E7380 0%, #93A9B5 100%) !important; }
.alert-info { --bs-alert-bg: rgba(94,115,128,.14); --bs-alert-color: #93A9B5; --bs-alert-border-color: rgba(94,115,128,.4); }
.btn-secondary { --bs-btn-color: #fff; --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff; background: linear-gradient(135deg, #3A3333 0%, #5A5050 100%); }
.btn-outline-secondary { --bs-btn-color: #3A3333; --bs-btn-border-color: #3A3333; --bs-btn-hover-bg: #3A3333; --bs-btn-hover-border-color: #3A3333; border: 1px solid #3A3333; box-shadow: none; }
.bg-secondary { background: linear-gradient(135deg, #3A3333 0%, #5A5050 100%) !important; }
.text-bg-secondary { background: linear-gradient(135deg, #3A3333 0%, #5A5050 100%) !important; }
.alert-secondary { --bs-alert-bg: rgba(58,51,51,.14); --bs-alert-color: #5A5050; --bs-alert-border-color: rgba(58,51,51,.4); }

/* ---------- badges / progress ---------- */
.badge { border-radius: 8px; font-weight: 600; padding: .45em .7em; letter-spacing: .02em; box-shadow: 0 2px 8px rgba(0,0,0,.3); }
.badge.bg-info, .badge.bg-warning { color: #14110a !important; }
.progress, .progress-stacked {
  --bs-progress-bg: rgba(255,255,255,.08);
  --bs-progress-height: 1.15rem; --bs-progress-border-radius: 999px;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.25);
}
.progress-bar { font-weight: 600; text-shadow: 0 1px 2px rgba(0,0,0,.35); }

/* ---------- forms / tables / tabs ---------- */
.form-control, .form-select {
  background-color: rgba(255,255,255,.06); color: var(--bs-body-color);
  border: 1px solid var(--bs-border-color); border-radius: 12px;
}
.form-control:focus, .form-select:focus { background-color: rgba(255,255,255,.1); color: var(--bs-body-color); border-color: #9E1B22; box-shadow: 0 0 0 .25rem rgba(158,27,34,.25); }
.form-control::placeholder { color: var(--bs-secondary-color); }
.table { --bs-table-bg: transparent; --bs-table-color: var(--bs-body-color); --bs-table-border-color: var(--bs-border-color);
  --bs-table-hover-bg: var(--vc-surface2); --bs-table-hover-color: var(--bs-body-color); --bs-table-striped-bg: var(--vc-surface2); --bs-table-striped-color: var(--bs-body-color); }
.table-secondary { --bs-table-bg: rgba(58,51,51,.35); --bs-table-color: var(--bs-body-color); --bs-table-border-color: var(--bs-border-color); }
.nav-tabs { --bs-nav-tabs-border-color: var(--bs-border-color); --bs-nav-tabs-link-active-bg: var(--vc-surface); --bs-nav-tabs-link-active-color: var(--bs-link-color); --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) transparent; }
.nav-tabs .nav-link { color: var(--bs-secondary-color); }
.nav-pills { --bs-nav-pills-link-active-bg: #9E1B22; }
.carousel-control-prev, .carousel-control-next { color: var(--bs-link-color); }
.dropdown-menu { --bs-dropdown-bg: #151830; --bs-dropdown-color: var(--bs-body-color); --bs-dropdown-border-color: var(--bs-border-color); --bs-dropdown-link-color: var(--bs-body-color); --bs-dropdown-link-hover-bg: var(--vc-surface2); --bs-dropdown-link-hover-color: var(--bs-body-color); border-radius: 14px; }
.go-top { background: linear-gradient(135deg, #9E1B22 0%, #D2343C 100%); color: #FFFFFF; border-radius: 999px; box-shadow: var(--vc-glow); }
.fa-stack .fa-circle { color: #9E1B22; }

/* ---------- noir extras ---------- */
.modal-content { background: #161112; }
.dropdown-menu { --bs-dropdown-bg: #161112; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background: radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.55) 100%); }
.navbar { border-bottom: 1px solid rgba(201,162,39,.35) !important; }
.navbar-brand { color: #EAD07A !important; letter-spacing: .08em; }
h1, h2, h3, .page-header { color: #EAD07A; }
.card-header { letter-spacing: .06em; text-transform: uppercase; font-size: .95rem; }
.card-header.bg-primary { border-bottom: 1px solid rgba(201,162,39,.45) !important; }
img { filter: saturate(.9) contrast(1.05); }
.btn-outline-secondary { --bs-btn-color: #A79C8A; --bs-btn-border-color: #5A5050; border-color: #5A5050; }
.alert-secondary { --bs-alert-color: #C9BFAE; }
.nav-scroller.bg-info { background: linear-gradient(90deg, #1d0c0e, #3a0f14 50%, #1d0c0e) !important; border-top: 1px solid rgba(201,162,39,.35); border-bottom: 1px solid rgba(201,162,39,.35); }
.nav-scroller.bg-info .nav-link { color: #EAD07A !important; letter-spacing: .06em; }
#indbgr { background-image: url(../../img/mafia-hero.jpg) !important; background-size: cover !important; background-position: center bottom !important; background-attachment: scroll !important; }
