/* --- AngelSkareSports red-tinted cinematic dark theme --- */

/* Global background — black base with deep red tint */
html, body {
  background: radial-gradient(circle at center, rgba(90, 0, 0, 0.4) 0%, rgba(0, 0, 0, 1) 85%) !important;
  background-color: #000 !important;
  color: #e5e7eb !important;
}

/* Remove any other backgrounds that override it */
body, .container, main, .page, .content, .wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* --- Cards (universal) --- */
.card,
.roster-card,
.panel {
  background: #1a1a1a !important;
  border: 1px solid rgba(239, 68, 68, 0.55) !important;
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.35) !important;
  border-radius: 16px !important;
  transition: all 0.25s ease;
}

/* Hover glow for all cards */
.card:hover,
.roster-card:hover,
.panel:hover {
  border-color: rgba(239, 68, 68, 0.8) !important;
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.6) !important;
  transform: translateY(-2px);
}

/* Navbar and footer solid black */
.navbar,
.footer,
.site-header,
.site-footer {
  background: #000 !important;
  border: none !important;
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.1);
}

/* Dropdowns, popups, menus */
.dropdown-content,
.dropdown-menu,
.menu,
.popover {
  background: #111 !important;
  border: 1px solid rgba(239, 68, 68, 0.45) !important;
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.35) !important;
}

/* Buttons: bright red */
.btn.red,
.pill.danger,
.btn-danger {
  background: #ef4444 !important;
  color: #fff !important;
}
.btn.red:hover,
.pill.danger:hover,
.btn-danger:hover {
  background: #f87171 !important;
}

/* Roster visuals overlay */
.roster-visual::after {
  background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.9)) !important;
}
.roster-ribbon {
  background: linear-gradient(to top, rgba(0,0,0,.9), rgba(0,0,0,.4), transparent) !important;
}

/* Optional: subtle animated red background glow */
@keyframes backgroundPulse {
  0%, 100% { background-color: rgba(60, 0, 0, 0.4); }
  50% { background-color: rgba(90, 0, 0, 0.55); }
}
html {
  animation: backgroundPulse 8s infinite ease-in-out;
}

/* --- Brighten roster cards --- */
.roster-card,
.roster-card * {
  color: #fff !important;
}

.roster-ribbon .ign {
  color: #fff !important;
  text-shadow: 0 0 6px rgba(255,255,255,0.25);
}
.roster-ribbon .role {
  color: #f0f0f0 !important;
}

/* Make the silhouette lighter */
.roster-sil {
  opacity: 0.75 !important;
  filter: brightness(1.6) drop-shadow(0 0 8px rgba(255,255,255,0.15));
}

/* Card meta + socials bright */
.roster-meta,
.roster-meta * {
  color: #fafafa !important;
}
.roster-socials a {
  border-color: rgba(255,255,255,0.6) !important;
  color: #fff !important;
}
.roster-socials a:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.9) !important;
}

/* --- Fix roster visual stacking --- */
.roster-visual { position: relative; z-index: 1; overflow: hidden; }
.roster-sil { position: absolute; top: 6%; left: 10%; right: 10%; bottom: 6%; width: auto; height: auto; z-index: 1; }
.roster-ribbon,
.flag-circle,
.roster-meta,
.roster-ribbon .ign,
.roster-ribbon .role {
  position: relative;
  z-index: 5 !important;
}
.roster-visual::after { z-index: 2; }

/* --- Roster ribbon layout --- */
.roster-ribbon {
  position: absolute !important;
  bottom: 0 !important;
  left: 0;
  width: 100%;
  padding: 10px 12px !important;
  background: linear-gradient(to top, rgba(0,0,0,0.85), rgba(0,0,0,0.25), transparent) !important;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 0 0 14px 14px;
  z-index: 5 !important;
}
.roster-ribbon .ign {
  font-size: 1rem;
  font-weight: 700;
  text-shadow: 0 0 6px rgba(255,255,255,0.25);
}
.roster-ribbon .role {
  font-size: 0.85rem;
  text-transform: uppercase;
  opacity: 0.9;
}

/* === ✅ Fixed single flag style (for flag-icons v7) === */
.flag-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
  overflow: hidden;
}
.flag-circle .fi {
  --fi-size: 18px;
  line-height: 1;
  display: inline-block;
}

/* --- Buttons (dark red) --- */
.btn {
  background: #b91c1c !important;
  color: #fff !important;
  border: 1px solid rgba(0,0,0,0.6) !important;
  border-radius: 8px;
  font-weight: 600;
  padding: 8px 16px;
  transition: all 0.25s ease-in-out;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
}
.btn:hover {
  background: #dc2626 !important;
  border-color: rgba(0,0,0,0.8) !important;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.4);
  transform: translateY(-1px);
  animation: redPulse 2s infinite ease-in-out;
}
.btn:active {
  background: #991b1b !important;
  box-shadow: 0 0 6px rgba(239,68,68,0.3) inset;
  transform: translateY(0);
}
@keyframes redPulse {
  0%,100%{box-shadow:0 0 8px rgba(239,68,68,0.25);}
  50%{box-shadow:0 0 18px rgba(239,68,68,0.5);}
}

/* --- Section spacing --- */
body { margin-top: 60px !important; }
section, .home-wrapper, .home-cards, .card { margin-top: 25px; }
section:last-of-type { margin-bottom: 60px; }

/* --- Hero card wider --- */
.home-welcome {
  position: relative;
  width: calc(100% + 100px);
  left: -50px;
  text-align: center;
  padding: 50px 70px !important;
  border: 1px solid rgba(239, 68, 68, 0.65) !important;
  box-shadow: 0 0 25px rgba(239, 68, 68, 0.4) !important;
  border-radius: 16px;
}
@media (max-width:900px){
  .home-welcome{width:100%;left:0;padding:35px 30px !important;}
}

/* --- Compact roster grid --- */
.roster-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 14px !important;
}
.roster-card {
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 auto !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.roster-visual::before {
  content: "";
  display: block;
  padding-top: 120%;
}

/* --- Avatar (head) --- */
.roster-avatar {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  filter: brightness(1.1);
}
/* Minecraft player row layout */
.player.card {
  display: flex;
  align-items: center;
  gap: 12px;
}

.player.card .left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;              /* take remaining space */
}

/* push the flag to the far right */
.player.card .flag-circle {
  margin-left: auto;
}
