:root {
  --primary: #228B22 !important;
  --primary-rgb: 34, 139, 34;
  --sidebar-w: 240px;
}

/* Regras mais específicas para sobrescrever o Bootstrap */
.btn.btn-primary,
button.btn-primary {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

.btn.btn-primary:hover,
button.btn-primary:hover {
  background-color: #1b6b1b !important;
  border-color: #1b6b1b !important;
}

.icone-clicavel {
  cursor: pointer;
}

.trophy-cell {
  cursor: pointer;
}
.bg-primary {
  background-color: var(--primary) !important;
}

/* Links e outros elementos */
a.nav-link,
a:not(.btn) {
  color: var(--primary);
}

a.nav-link:hover,
a:not(.btn):hover {
  color: #1b6b1b;
}

/* Bordas */
.border-primary {
  border-color: var(--primary) !important;
}

/* Bootstrap 4 Custom Properties Override */
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* Focus states */
.btn-primary:focus,
.btn-primary.focus {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(var(--primary-rgb), 0.5) !important;
          box-shadow: 0 0 0 0.2rem rgba(var(--primary-rgb), 0.5) !important;

  --primary: #228B22;
  --primary-rgb: 34, 139, 34;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover {
  background-color: #1b6b1b;
  border-color: #1b6b1b;
}

.badge-primary {
  background-color: #ffc107;
}

.badge-secondary {
  background-color: #6c757d;
}

.badge-terceiro {
  background-color: #C26008;
}

.text-primary {
  color: var(--primary) !important;
}

/* Para links e outros elementos que usam a cor primária */
a {
  color: var(--primary);
}

a:hover {
  color: #1b6b1b;
}

/* Estilizações existentes podem continuar abaixo */
.table {
  -webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.1);
          box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  background: white;
  border-radius: 8px;
  overflow: hidden;
}

.thead-dark th {
  text-transform: uppercase;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.text-silver {
  color: #C0C0C0;
}

.table td {
  vertical-align: middle;
}

.badge-pill2 {padding: 0.4em 0.8em;
  font-size: 1.0rem;

	font-weight: 400;
}
#features i {
	    background: #f9f9f9;
        width: 124px;
    border-radius: 50%;
    height: 124px;
    line-height: 124px;
    border-radius: 50%;
}
#features h5 {
	color: #1b99b9;
	font-weight: 400;
	margin-top: 15px;
	margin-bottom: 15px;
}
#screenshots {
	padding-top: 50px;
}
#screenshots h2 {
	font-weight: 400;
}
#screenshots .row {
	margin-bottom: 80px;
}
#screenshots img {
	    -webkit-box-shadow: 0 2px 10px 1px rgba(0,0,0,.2);
    box-shadow: 0 2px 10px 1px rgba(0,0,0,.2);
}
#page-footer {
    padding: 15px 0 10px;
    font-size: 12px;
}

.bordas {
  border-top-left-radius: 13px;
  border-top-right-radius: 13px;
  border-bottom-left-radius: 13px;
  border-bottom-right-radius: 13px;
}

/* Gradientes dos cards de totais */
.card-total-gradient-jogadores {
  background: -webkit-gradient(linear, left top, right top, from(#44c38c), to(rgb(41, 148, 112)));
  background: linear-gradient(90deg, #44c38c 0%, rgb(41, 148, 112) 100%);
  border: none;
}
.card-total-gradient-eventos {
  background: -webkit-gradient(linear, left top, right top, from(#ff9580), to(#ff7b42));
  background: linear-gradient(90deg, #ff9580 0%, #ff7b42 100%);
  border: none;
}

/* Customização dos cards totais para alinhar ícone à direita */
.card-total-custom {
  padding-left: 1.4rem;
  padding-right: 1.4rem;
}
.icon-card-total {
  min-width: 48px;
  min-height: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.icon-card-total i {
  margin-bottom: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 575px) {
  .card-total-custom {
    padding-left: 0.7rem;
    padding-right: 0.7rem;
  }
  .icon-card-total {
    min-width: 38px;
    min-height: 38px;
  }
}

.card-ranking {
  background-color: #F8FFF8; /* Um verde bem claro, quase branco */
  border: 1px solid #D1E7D1; /* Borda sutil */
  border-radius: 12px;
  padding: 24px; /* Espaçamento interno */
  -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra para dar profundidade */
  /* max-width: 600px; /* Limita a largura do card */
  width: 100%;
  margin: 0 auto; /* Centraliza o card na página */
}

.card-ranking h2 {
  color: #2D3748; /* Cor escura para o título */
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 2px; /* Espaço entre o título e o parágrafo */
}

.card-ranking p {
  color: #718096; /* Cor cinza para o parágrafo */
  font-size: 16px;
}


.player-card {
  border: none;
  background: var(--bs-body-bg, #fff);
  -webkit-transition: -webkit-box-shadow .2s, -webkit-transform .12s;
  transition: -webkit-box-shadow .2s, -webkit-transform .12s;
  transition: box-shadow .2s, transform .12s;
  transition: box-shadow .2s, transform .12s, -webkit-box-shadow .2s, -webkit-transform .12s;
}
.player-card:hover {
  -webkit-box-shadow: 0 6px 22px rgba(0,0,0,.10);
          box-shadow: 0 6px 22px rgba(0,0,0,.10);
  -webkit-transform: translateY(-2px) scale(1.01);
          transform: translateY(-2px) scale(1.01);
}
.player-rank-circle, .player-img-circle {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #f8f9fa;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: 1.3rem;
}
.player-rank-circle.top1 {
  background: #F6A70F;
  color: #222;
  border: 3px solid #ff9800;
}
.player-rank-circle.top2 {
  background: #B0B6C0;
  color: #222;
  border: 3px solid #ff9800;
}
.player-rank-circle.top3 {
  background: #C26008;
  color: #222;
  border: 3px solid #ff9800;
}
.player-rank-circle.topother {
  background: #D9DCE0 !important;
  border: 2px solid #ff9800 !important;
  color: #888 !important;
}
.player-img-circle img {
  width: 60px;
  height: 60px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  border: 2px solid #fff;
  -webkit-box-shadow:0 1px 5px rgba(0,0,0,0.12);
          box-shadow:0 1px 5px rgba(0,0,0,0.12)
}
.player-info-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  gap: 0.5rem;
}
.player-info-text {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.player-badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 575px) {
  .player-card .card-body {
    -webkit-box-orient: horizontal!important;
    -webkit-box-direction: normal!important;
        -ms-flex-direction: row!important;
            flex-direction: row!important;
    -webkit-box-align: center!important;
        -ms-flex-align: center!important;
            align-items: center!important;
    gap: 0.7rem!important;
  }
  .player-rank-circle, .player-img-circle {
    width: 60px; height: 60px;
    font-size: 1.3rem;
  }
  .player-img-circle img {
    width: 60px; height: 60px;
  }
  .player-info-group {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    gap: 0.5rem;
  }
  .player-info-text {
    font-size: 1rem;
    margin-bottom: 0;
    margin-right: 7px;
  }
  .player-badges {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.4rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  /* AJUSTE DO ESPAÇAMENTO ENTRE OS ITENS DOS CARDS PARA MOBILE */
  .player-card .card-body {
    padding: 0.7rem !important;
  }
  .player-rank-circle, .player-img-circle {
    margin-right: 0.35rem !important;
  }
  .player-badges span,
  .player-badges .player-badges {
    padding-left: 0.6rem !important;
    padding-right: 0.6rem !important;
    font-size: 0.93em !important;
  }
  .player-card {
    margin-top: 0.5rem !important;
    margin-bottom: 0.7rem !important;
  }
  /* Reduz espaço entre os textos/info do card */
  .player-card .flex-grow-1 .fw-bold.h6.mb-0 {
    font-size: 1.02em !important;
    margin-bottom: 0px !important;
  }
  .player-card .flex-grow-1 .d-flex.align-items-center.gap-2.mt-1 {
    margin-top: 0.25rem !important;
    gap: 0.25rem !important;
  }
}

/* ==== AJUSTES PEDIDOS ==== */
/* Alinha o título da tabela de jogadores com os TRs */
.card-ranking,
.card-ranking h2 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (min-width: 768px) {
  .card-ranking,
  .card-ranking h2 {
    margin-left: 0px !important;
    margin-right: 0px !important;
  }
}
/* Contraste e espaçamento dos cards de jogadores */
.player-card {
  background: #f6fbf6;
  border: 1.5px solid #d3e3d3;
  -webkit-box-shadow: 0 3px 14px rgba(60,120,60,0.07) !important;
          box-shadow: 0 3px 14px rgba(60,120,60,0.07) !important;
  /* margin-bottom: 2.1rem !important; */
  margin-top: 0.9rem !important;
  -webkit-transition: -webkit-box-shadow .3s, -webkit-transform .13s;
  transition: -webkit-box-shadow .3s, -webkit-transform .13s;
  transition: box-shadow .3s, transform .13s;
  transition: box-shadow .3s, transform .13s, -webkit-box-shadow .3s, -webkit-transform .13s;
}
.player-card:hover {
  background: #eefbea;
  border-color: #a6d8a6;
  -webkit-box-shadow: 0 10px 32px rgba(34,139,34,0.14) !important;
          box-shadow: 0 10px 32px rgba(34,139,34,0.14) !important;
  -webkit-transform: translateY(-5px) scale(1.025);
          transform: translateY(-5px) scale(1.025);
}
.card-ranking {
  margin-bottom: 2.7rem !important;
  margin-top: 1.2rem !important;
}



/* Minimalista Modern: Cards de Eventos */
.evento-card {
  background: #fff;
  border-radius: 18px;
  border: none;
  -webkit-box-shadow: 0 2px 12px rgba(40, 60, 80, 0.08);
          box-shadow: 0 2px 12px rgba(40, 60, 80, 0.08);
  -webkit-transition: -webkit-box-shadow 0.16s, -webkit-transform 0.12s;
  transition: -webkit-box-shadow 0.16s, -webkit-transform 0.12s;
  transition: box-shadow 0.16s, transform 0.12s;
  transition: box-shadow 0.16s, transform 0.12s, -webkit-box-shadow 0.16s, -webkit-transform 0.12s;
  margin-bottom: 0.5rem;
}
.evento-card:hover {
  -webkit-box-shadow: 0 6px 28px rgba(21, 107, 98, 0.11);
          box-shadow: 0 6px 28px rgba(21, 107, 98, 0.11);
  -webkit-transform: translateY(-3px) scale(1.015);
          transform: translateY(-3px) scale(1.015);
}
.evento-card .card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem 1.7rem;
}
.evento-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bs-primary-bg-subtle, #e9f6ee);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-shadow: 0 1px 6px rgba(36,170,146,0.07);
          box-shadow: 0 1px 6px rgba(36,170,146,0.07);
}
.evento-info {
  min-width: 0;
}
.evento-info .fw-bold {
  font-size: 1.14rem;
  letter-spacing: 0.01em;
}
.evento-info .small {
  font-size: 0.99em;
}
.evento-champs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.33rem;
}
.evento-badge-campeao {
  background: var(--bs-warning-bg-subtle, #fffbe5) !important;
  color: var(--bs-warning-text-emphasis, #d39e00) !important;
  font-weight: 500;
}
.evento-badge-vice {
  background: var(--bs-secondary-bg-subtle, #f2f2f6) !important;
  color: var(--bs-secondary-text-emphasis, #6c757d) !important;
  font-weight: 500;
}
.evento-badge-terc {
  background: var(--bs-info-bg-subtle, #e1f5fa) !important;
  color: var(--bs-info, #0dcaf0) !important;
  font-weight: 500;
}
@media (max-width: 575px) {
  .evento-card .card-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.7em;
    padding: 1.1rem 0.7rem;
  }
  .evento-icon {
    width: 44px;
    height: 44px;
  }
  .evento-champs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.3rem;
    margin-top: 0.25em;
  }
  .evento-badge-campeao,
  .evento-badge-vice,
  .evento-badge-terc {
    font-size: 0.98em;
    padding: 0.5em 0.9em !important;
  }
}
.app-sidebar {
  width: var(--sidebar-w);
  z-index: 1030;
  padding: 1rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#228B22), to(#1b6b1b));
  background: linear-gradient(180deg, #228B22 0%, #1b6b1b 100%);
  color: #fff;
  -webkit-box-shadow: 0 10px 30px rgba(0,0,0,.15);
          box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
.app-sidebar .nav-link {
  color: #fff;
  border-radius: .75rem;
  padding: .6rem .9rem;
  font-weight: 600;
}
.app-sidebar .nav-link:hover {
  background: rgba(255,255,255,.12);
  color: #fff;
}

.app-topbar {
  background: -webkit-gradient(linear, left top, left bottom, from(#228B22), to(#1b6b1b));
  background: linear-gradient(180deg, #228B22 0%, #1b6b1b 100%);
  -webkit-box-shadow: 0 10px 30px rgba(0,0,0,.15);
          box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
.navbar-brand {
  letter-spacing: .06em;
  font-weight: 700;
  color: #ffe57f !important;
}

@media (max-width: 991.98px) {
  .app-topbar {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
  }
}

@media (min-width: 992px) {
  body {
    padding-left: var(--sidebar-w) !important;
  }
  .container,
  .container-fluid {
    max-width: none;
  }
  .navbar.fixed-top,
  .navbar {
    left: var(--sidebar-w);
    width: calc(100% - var(--sidebar-w));
  }
}

body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}
