/* ============================= */
/* 1. Reset e Tipografia Geral   */
/* ============================= */
@import url('https://fonts.googleapis.com/css2?family=Russo+One&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #f5f5f5;
    font-family: Arial, sans-serif;
    text-align: center;
    padding: 20px;
}

/* ============================= */
/* 2. Navegação                  */
/* ============================= */



#nav {
    width: 100%;
    height: 5rem;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 1rem;
    font: italic bold 34px/1 'Russo One', Arial, sans-serif;
}

#nav img {
    width: 35px;
    height: 35px;
}

#nav p {
    font: 700 34px italic;
    padding: 5px;
}

/* ============================= */
/* 3. Inputs & Botões Globais    */
/* ============================= */
input {
    padding: 10px;
    width: 250px;
    border: 2px solid #ffcc00;
    border-radius: 5px;
    font-size: 16px;
    margin-right: 10px;
}

button {
    padding: 10px;
    background-color: #ffcc00;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

button:hover {
    background-color: #e6b800;
}




/* ============================= */
/* 4. Lista de Pokémons          */
/* ============================= */
#available-pokemon {
    margin-left: 10px;
    margin-right: 300px;
    width: 100%;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 0px !important;
}

/* Cards na lista disponível */
#available-pokemon .pokemon-card {
    background-color: #fff;
    width: 140px;
    height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.2s ease-in-out;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    border: 1px solid #f5eaea79;
    margin: 0;
}

#available-pokemon .pokemon-card:hover {
    transform: scale(1.03);
}

#available-pokemon .pokemon-card img {
    width: 80px;
    height: 80px;
    margin-top: 0;
}

#available-pokemon .card__name {
    font-size: 1rem;
    font-weight: bold;
    text-transform: capitalize;
    margin: 8px 0 4px;

}

#available-pokemon .card__type {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 8px;
}

#available-pokemon .btn {
    font-size: 0.85rem;
    padding: 6px 10px;
    border-radius: 4px;
    margin: 4px 2px;
}

#available-pokemon .btn-outline-secondary {
    background-color: #e6bf12;
    color: #fff;
}

#available-pokemon .btn-danger {
    background-color: #e6bf12;
    color: #fff;
    margin: 0;
}

.team-card-footer {
    width: 100%;
    background: #fff;
    padding: 8px;
    border-radius: 0 0 12px 12px;
    box-sizing: border-box;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    align-items: center;
}

/* ajustes internos, se necessário */
.team-card-footer .team-input {
    flex: 1;
    margin: 0;

}

.team-card-footer .delete-btn {
    margin: 0;
    padding: 5px;
   
}

/* ============================= */
/* 5. Gradientes por Tipo        */
/* ============================= */
.card--fire {
    background: linear-gradient(0deg, #C71800 10%, #FCC245 100%);
}

.card--water {
    background: linear-gradient(120deg, #1CB5E0 0%, #000851 100%);
}

.card--grass {
    background: linear-gradient(140deg, #C4DA3D 0%, #6E7F0E 69%, #275009 100%);
}

.card--electric {
    background: linear-gradient(90deg, #FFDE00 34%, #E8FF99 83%);
}

.card--bug {
    background: linear-gradient(50deg, #A8B820, #6D7815);
}

.card--normal {
    background: linear-gradient(110deg, #FDBB2D 0%, #3A1C71 100%);
}

.card--psychic {
    background: linear-gradient(140deg, #FFA7F9 0%, #FF2CC3 39%, #FFE3A7 100%);
}

.card--ice {
    background: linear-gradient(230deg, #CAEAF6 0%, #A0EAF1 46%, #6FB8EB 100%);
}


.team-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    position: absolute;
    left: 20%;
    top: 40rem;
    width: 60em;
    height: 50%;
    max-width: 90%;
    margin: 1rem;
    padding: 1rem;
    background-color: transparent;
    border: none;
}

.team-container.hidden {
    display: none !important;
}

.team-container h2 {
    margin-bottom: 1rem;
    text-align: center;
}

.team-cards {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    max-width: 800px;

}

/* inclinação só no primeiro card */
.team-cards .pokemon-card:first-child {
    transform: rotate(-3deg);
    transform-origin: center;
    transition: transform 0.25s ease-in-out;
}

.team-cards .pokemon-card:first-child:hover {
    transform: rotate(0deg) translateY(-6px);
}

/* cards internos do time */
.team-container .pokemon-card {
    position: relative;
    width: 180px;
    padding: 16px;
    margin: 0.25rem;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: transform 0.3s;

}

.team-container .pokemon-card:hover {
    transform: translateY(-4px);
}

.team-container .card__image-container {
    width: 100%;
    height: 96px;
        background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.811),
    rgba(0, 0, 0, 0.168)
  );

    border: 2px solid rgba(15, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    overflow: hidden;
}


.team-container .card__image-container img {
    width: 150px;
    height: 120px;
    object-fit: contain;
    filter: drop-shadow(0 0 2px #fff);
}

.team-input {
    width: 100%;
    padding: 6px 8px;
    margin-bottom: 12px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.8);
    color: #333;
    font-size: 0.9rem;
    text-align: center;
}

.team-input::placeholder {
    color: #555;
}

.delete-btn {
    background: rgba(255, 255, 255, 0.9);
    color: #c00;
    border: 1px solid #c00;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s, transform 0.1s;
}

.delete-btn:hover {
    background: #ffecec;
    transform: translateY(-2px);
}

/* ============================= */
/* 7. Utility Classes            */
/* ============================= */
.hidden {
    display: none !important;

}



.save-area+div {
    position: static !important;
    top: auto !important;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 30px 0 0 40px !important;
}

/* Previous (branco) e Next (vermelho) */
#previous {
    background-color: #fff !important;
    color: #000 !important;
    border: 1px solid #ccc !important;
    padding: 8px 16px !important;
    border-radius: 5px !important;
}

#next {
    background-color: red !important;
    color: #fff !important;
    border: none !important;
    padding: 8px 16px !important;
    border-radius: 5px !important;
}

#previous:hover,
#next:hover {
    opacity: 0.8 !important;
}


#available-pokemon {
    display: flex;
    flex-direction: column;
    gap: 0 !important;
    margin-left: 10px;
    margin-right: 300px;
}

/* cards brancos, tamanho fixo */
#available-pokemon .pokemon-card {
    background: #fff;
    width: 140px;
    height: 220px;
    margin: 0;
    padding: 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border: 1px solid #ccc !important;
    border-radius: 4px;
}

/* layout vertical: nome → Add → Details */
#available-pokemon .card__caption {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#available-pokemon .card__type {
    display: none;
 
}

#available-pokemon .card__name {
    order: 1;
    margin: 8px 0 4px;
}

#available-pokemon .btn-outline-secondary {
    order: 2;

    
}

#available-pokemon .btn-danger {
    order: 3;
    margin: 4px 0 0;
}



/* figcaption branco nos cards */
.pokemon-card figcaption {
    background: #fff !important;
}

.team-card-footer {
  padding-bottom: 12px !important;
}

/* Nome real do Pokémon (ex: machoke) abaixo do input */
.team-card-footer .team-card-name {
  font-size: 0.9rem;
  font-weight: bold;
  color: #333;
  text-transform: capitalize;
  margin: 0;
  text-align: center;
  width: 100%;
}


.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal-body {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.modal-body h2 {
  font-size: 1.2rem;
  font-weight: bold;
  text-transform: capitalize;
  margin: 8px 0 4px;
}

.modal-body p {
  margin: 4px 0;
  font-size: 0.9rem;
  color: #555;
}

.pixel-sprite {
  width: 64px;
  height: 64px;
  image-rendering: pixelated;
  margin-top: 8px;
  margin-bottom: 8px;
}

.modal.hidden {
  display: none !important;
}

.modal-content {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  max-width: 320px;
  width: 90%;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  position: relative;
}

.modal-close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 22px;
  cursor: pointer;
  color: #444;
}

.modal-body img {
  width: 120px;
  height: 120px;
  object-fit: contain;
  margin-bottom: 12px;
}
.modal-body h2 {
  margin: 0;
  text-transform: capitalize;
}
.modal-body p {
  font-size: 0.9rem;
  margin: 6px 0;
}
.pixel-sprite {
  width: 48px !important;
  height: 48px !important;
  image-rendering: pixelated;
  margin-top: 12px;
  align-self: flex-end;
}


.modal-section ul {
  list-style: none;
  padding-left:  0;
}

.modal-section li {
  font-size: 0.85rem;
  margin-bottom: 4px;
  color: #555;
  padding-left: 0;
}
