/* assets/css/app.css */
body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.step .card {
  border-radius: 14px;
}

.badge.bg-secondary-subtle {
  background: #2b2f36 !important;
}

/* Campo com imagem de fundo */
#campo {
  position: relative;
  max-width: 900px;
  aspect-ratio: 16/12;
  background-image: url('../img/campo_final.png');
  /* sua imagem */
  background-size: cover;
  background-position: center;
  border: transparent;
  border-radius: 12px;
  overflow: hidden;
}

#campo .slot {
  position: absolute;
  width: 64px;
  height: 64px;
  border: 3px solid #ff8c00;
  border-radius: 50%;
  background: #000;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  text-align: center;
  padding: 2px;
}

.card_step {
  padding: 15px 20px;
  background-color: #121010;
  border-radius: 20px;
}

.f-size-16 {
  font-size: 16px;
}

.f-size-18 {
  font-size: 18px;
}

.f-size-20 {
  font-size: 20px;
}

.f-size-22 {
  font-size: 22px;
}

.f-size-25 {
  font-size: 25px;
}

.f-size-30 {
  font-size: 30px;
}

.f-size-35 {
  font-size: 35px;
}

/* custom */
.form-switch .form-check-input {
  width: 4em !important;
  height: 2em !important;
}

.form-check-input:checked {
  background-color: #1fd82f !important;
  border-color: #1fd82f !important;
}

.badge-cards {
  border-bottom: 0;
  border-radius: 13px !important;
  background-color: #212529;
  box-shadow: 0px 1px 2px #11150d;

}

.bg-dark {
  background-color: rgb(30 31 33) !important;
}

.border-secondary {
  border-color: rgb(48 50 52) !important;
}

.custom-select {
  padding: 12px !important;
  font-size: 19px !important;
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3E%3C/svg%3E") !important;
  border: var(--bs-border-width) solid #dee2e633 !important;
}

.b-camisa-n {
  padding: 5px 7px;
  background-color: #ccc;
  border-radius: 50%;

}

/* Breadcrumb/indicadores SEM “sumir” quando ativo  */
.breadcrumb .breadcrumb-item.active,
#step-ind-1.active,
#step-ind-2.active,
#step-ind-3.active,
#step-ind-4.active {
  color: inherit;
  /* usa a mesma cor do texto/pai */
  opacity: 1 !important;
  /* garante visível */
}

.bg-black {
  --bs-bg-opacity: 1;
  background-color: rgb(30 31 33) !important;
  box-shadow: 0 1px 2px #000000;
}

.slot-pool .slot-tile {
  cursor: grab;
}

.slot-box {
  min-height: 56px;
  border: 1px dashed rgba(255, 255, 255, .35);
  border-radius: 10px;
  padding: 8px;
  background: rgba(255, 255, 255, .03);
}

.slot-placeholder {
  color: rgba(255, 255, 255, .6);
  font-size: 12px;
}

/* Avatares no header do duelo */
.avatar-strip {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: nowrap;
  max-width: min(44vw, 640px);
  overflow: hidden;
}

.avatar-strip img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, .75);
  opacity: .85;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}

.avatar-strip img:hover {
  transform: scale(1.08);
  opacity: 1;
}

/* Destaques por lado */
.avatar-strip.a img.is-current {
  box-shadow: 0 0 0 3px var(--corA, #0d6efd);
  border-color: var(--corA, #0d6efd);
  opacity: 1;
}

.avatar-strip.b img.is-current {
  box-shadow: 0 0 0 3px var(--corB, #dc3545);
  border-color: var(--corB, #dc3545);
  opacity: 1;
}

/* “Pintar” os cards do duelo com cor_preferente do clube */
.duelo-card.a {
  border-left: 6px solid var(--corA, #0d6efd);
  background: linear-gradient(90deg, color-mix(in srgb, var(--corA, #0d6efd) 16%, transparent) 0%, transparent 65%);
}

.duelo-card.b {
  border-right: 6px solid var(--corB, #dc3545);
  background: linear-gradient(270deg, color-mix(in srgb, var(--corB, #dc3545) 63%, transparent) 0%, transparent 62%);
}

.sideA .badge-cards {
  border-left: 6px solid var(--corA, #0d6efd);
}

.sideB .badge-cards {
  border-right: 6px solid var(--corB, #dc3545);
}

.sideA .badge-cards {
  background: linear-gradient(90deg, color-mix(in srgb, var(--corA, #0d6efd) 18%, transparent) 0%, transparent 60%);
}

.sideB .badge-cards {
  background: linear-gradient(270deg, color-mix(in srgb, var(--corB, #dc3545) 18%, transparent) 0%, transparent 60%);
}

.avatar-strip.b {
  flex-direction: row-reverse;
}

.avatar-strip img.won {
  filter: none;
  opacity: 1;
  box-shadow: 0 0 0 3px #39d353;
}

.avatar-strip img.lost {
  filter: grayscale(1);
  opacity: .45;
}

/* Breadcrumb ativo bem visível */
.breadcrumb .breadcrumb-item.active {
  color: #000 !important;
  background: #f6921e;
  border-radius: 10px !important;
  padding: 4px 20px;
  margin-right: 10px;
  align-content: center;
  font-weight: bold;
}

.breadcrumb-item {
  color: #fff !important;
  background: transparent;
  border-radius: 10px;
  padding: 4px 10px;
  margin-right: 10px;
  align-content: center;
}


/* 0109 */
/* STEP 3 — pintura dos cards de duelo via --corA/--corB */
.duelo-card.a {
  border: 2px solid var(--corA);
  background:
    linear-gradient(to bottom right, rgb(1 1 1 / 78%), rgba(0, 0, 0, .15)),
    var(--corA);
  color: #fff;
}

.duelo-card.b {
  border: 2px solid var(--corB);

  /* camadas: 1) gradiente (topo), 2) imagem, 3) cor sólida (fundo) */
  background-image:
    linear-gradient(to bottom right, rgba(0, 0, 0, .78), rgba(0, 0, 0, .15)),
    url("../img/bg_card_circle.png");
  background-color: var(--corB);

  /* um valor por camada, na mesma ordem do background-image */
  background-repeat: no-repeat, no-repeat;
  background-position: center, -70px -92px;
  background-size: cover, 227px;

  color: #fff;
}

.duelo-card .card-title,
.duelo-card .card-text {
  color: #fff;
}


/* Bordas por time com contraste automático (definidas por JS via --avatarBorderA/B) */
.avatar-strip.a img {
  border: 2px solid var(--avatarBorderA, #fff);
}

.avatar-strip.b img {
  border: 2px solid var(--avatarBorderB, #fff);
}

/* STEP 3 — faixa de avatares (linha de escalação) */
.avatar-strip {
  display: flex;
  align-items: center;
  gap: .5rem;
  min-height: 48px;
  overflow: visible;
  /* evita “corte” dos círculos */
}

.avatar-strip.a {
  justify-content: flex-start;
}

.avatar-strip.b {
  justify-content: flex-end;
}

.avatar-wrap {
  position: relative;
}

.avatar-strip img {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  /* evita “corte” no topo */
  background: #111;
}

.badge_nome_mapa {
  font-size: .775em !important;
  border-radius: 8px;
  padding: 3px 5px;
  background-color: rgb(93 101 112);
  margin: 0 auto;
}

.badge_posicao_mapa {
  border-radius: 8px;
  padding: 3px 5px;
  background-color: black;
  width: 70%;
  margin: 0 auto;
}

/* Transferência — lista de resultados */
#transferResults {
  max-height: 280px;
  overflow: auto;
  background-color: #1f232a;
  border-color: #343a40;
  z-index: 1080;
  /* acima de cards/headers do tema escuro */
}

#transferResults .item {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .5rem .75rem;
  cursor: pointer;
}

#transferResults .item:hover {
  background: #2b2f36;
}

#transferResults .item img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}

/*  */
.transfer-mini {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.transfer-mini .club-img {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}

.transfer-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  background: #111;
}

.badge-selected {
  width: auto;
  /* border: 1px solid; */
  border-radius: 12px;
  padding: 14px;
  background-color: #121010;
}

.hack-top {
  top: -10px;
  position: relative;
}

/* autocomplete (dark) — highlight do item ativo pelo teclado */
#transferResults .dropdown-item.active,
#transferResults .dropdown-item:active {
  background-color: #3b4250;
  color: #fff;
}

/* Undo toast (transfer) */
.undo-toast {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1090;
  background: #1f232a;
  color: #fff;
  border: 1px solid #343a40;
  border-radius: 10px;
  padding: .75rem 1rem;
  box-shadow: 0 6px 24px rgba(0, 0, 0, .4);
  display: flex;
  align-items: center;
  gap: .75rem;
}

.undo-toast .btn-undo {
  border: 1px solid #fff3;
  background: transparent;
  color: #fff;
  padding: .25rem .75rem;
  border-radius: 8px;
}

.undo-toast .count {
  font-variant-numeric: tabular-nums;
  opacity: .8;
}

.breadcrumb-item+.breadcrumb-item::before {
  content: none !important;
}

:root {
  /* já existem em boa parte do projeto, garantimos defaults */
  --corA: #0d6efd;
  /* azul */
  --corB: #dc3545;
  /* vermelho */
  --onCorA: #ffffff;
  --onCorB: #ffffff;
}

/* Botões “Vencedor” no Step 3 (por id) */
#btnA {
  background: var(--corA) !important;
  color: var(--onCorA) !important;
  border-color: var(--corA) !important;
}

#btnB {
  background: var(--corB) !important;
  color: var(--onCorB) !important;
  border-color: var(--corB) !important;
}

#btnA:hover,
#btnA:focus-visible {
  filter: brightness(0.92);
}

#btnB:hover,
#btnB:focus-visible {
  filter: brightness(0.92);
}

.breadcrumb-item+.breadcrumb-item {
  color: #fff !important;
  background: transparent;
  border-radius:0 !important;
  padding: 4px 10px;
  margin-right: 10px;
}

div:where(.swal2-container) div:where(.swal2-popup) {
  width: 770px !important;
}

.line-result-in-modal {
  margin-top: 0 !important;
  padding: 10px 0 17px 0 !important;
}