/* Police */
@import url('https://fonts.googleapis.com/css2?family=Oxanium:wght@400;700&family=Share+Tech+Mono&display=swap');

body {
  margin: 0px;
  font-family: 'Oxanium', sans-serif; 
  line-height: 1.6;
  color: #F1FAEE; 
  background-image: url('img/bg-smash.png');
  background-repeat: repeat;
  background-size: 35%;
  background-position: center;
  display: flex;
  flex-direction: column;
  position: static;
}


/* Titre principal */
h1 {
  font-family: 'Share Tech Mono', monospace; 
  text-align: center;
  margin-bottom: 40px;
  font-size: 3.5rem;
  text-decoration: none;
  color: #E63946; 
  text-shadow: 0 0 10px rgba(230, 57, 70, 0.7); 
  letter-spacing: 3px;
  border-bottom: 4px solid #457B9D;
  padding-bottom: 15px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}


h1 a {
  text-decoration: none;
  color: inherit;
}

h1 a:hover {
  text-decoration: none;
}

/* Navigation */
header { 
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  background-color: #3C3C41; 
  padding: 1rem ;
  margin-bottom: 30px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.7);
  border-radius: 10px;
  border: 1px solid #457B9D;
  width: 100%;
  max-width: 1200px;
  align-items: center;
  margin: 4rem auto;

}

header a { /* Liens de navigation */
  color: #F1FAEE;
  text-decoration: none;
  padding: 0.8rem 1.8rem;
  font-weight: bold;
  transition: background-color 0.3s ease, color 0.3s ease;
  border-radius: 8px;
  margin: 0 0.8rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

header a:hover {
  background-color: #E63946; /* Rouge vif au survol */
  color: #1A1A1D; /* Texte foncé */
}

.page-actuelle {
  border-bottom: #E63946 solid 7px;
}

/* Titres de section (H2) */
h2 {
  color: #E63946; 
  text-align: center;
  margin-bottom: 30px;
  font-size: 2.2rem;
  text-shadow: 0 0 5px rgba(230, 57, 70, 0.5);
}

/* Styles pour les formulaires */
form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  justify-content: center;
  margin: 20px auto;
  padding: 2.5rem;
  background: #1A1A1D; 
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.7);
  max-width: 600px;
  border: 2px solid #3C3C41; 
}

form label {
  font-weight: bold;
  color: #A8DADC;
  margin-bottom: 0.2rem;
  display: block;
  text-transform: uppercase;
  font-size: 0.9rem;
}

form input[type="text"],
form input[type="number"],
form input[type="password"],
form textarea,
form select {
  padding: 1rem;
  border: 1px solid #3C3C41; 
  border-radius: 8px;
  font-size: 1.05rem;
  width: 100%;
  box-sizing: border-box;
  background-color: #28282D; 
  color: #F1FAEE; 
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}



form input:focus,
form select:focus,
form textarea:focus {
  border-color: #E63946; /* Bordure rouge au focus */
  box-shadow: 0 0 0 3px rgba(230, 57, 70, 0.3); 
  outline: none;
}

form textarea {
  resize: vertical;
  min-height: 150px;
}

/* Grille de cartes (pour les personnages) */
.grille-cartes { 
  display: grid;
  gap: 25px;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .grille-cartes {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Carte de personnage individuelle */
.carte-personnage { 
  border: 2px solid #3C3C41;
  border-radius: 12px;
  text-align: center;
  background: #252529; /* Fond sombre */
  box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.carte-personnage:hover {
  transform: translateY(-5px); 
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.7);
  border-color: #E63946; 
}

.carte-personnage a {
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.carte-personnage img {
  width: 100%;
  height: 200px;
  object-fit: contain;
  display: block;
  border-bottom: 1px solid #3C3C41;
}

.carte-personnage h2 { /* Titre du personnage dans la carte */
  font-size: 1.3rem;
  padding: 15px 10px;
  margin: 0;
  color: #F1FAEE;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center; 
  text-shadow: none; 
}

.carte-personnage p {
  font-size: 0.95rem;
  color: #A8DADC;
  padding-bottom: 15px;
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

/* Section "Derniers personnages ajoutés" */
.section-recents { /* La section qui contient les dernières cartes */
  margin-top: 40px;
  display: flex;
  padding: 30px;
  background-color: #1A1A1D;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.7);
  border: 2px solid #3C3C41;
  max-width: 1300px;
  width: 100%;
  flex-direction: column;
  align-items: center;
  margin: 4rem auto;

}


.btn-form { /* Anciennement .champ-interactif pour les selects */
  padding: 0.8rem;
  border: 1px solid #3C3C41;
  border-radius: 8px;
  font-size: 1rem;
  background-color: #28282D;
  color: #F1FAEE;
  cursor: pointer;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}


.formulaire-recherche button { /* Bouton de recherche */
  background-color: #be2632;
  color: #F1FAEE;
  border: none;
  border-radius: 25px;
  padding: 0.8rem 1.5rem;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  font-weight: bold;
  text-transform: uppercase;
}

.formulaire-recherche button:hover {
  background-color: #F04E60;
  transform: translateY(-2px);
}

.champ-mdp { /* Conteneur pour input et bouton oeil */
  position: relative;
  display: flex;
  align-items: center;
}

.input-mdp { /* Input de mot de passe */
  padding-right: 3.5rem ; 
}

.bouton-afficher-mdp { /* Bouton oeil */
  position: absolute;
  right: 0.1rem;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  color: #457B9D;
  transition: color 0.2s ease;
}

.bouton-afficher-mdp:hover {
  color: #E63946;
}

/* Messages d'erreur, succès, bienvenue */
.message-erreur { 
  background: #A10000; 
  color: #F1FAEE;
  padding: 1.2rem;
  margin: 1.5rem auto;
  text-align: center;
  border: 1px solid #E63946;
  border-radius: 8px;
  max-width: 600px;
  font-weight: bold;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

.message-succes {
  background: #207a30; 
  color: #F1FAEE;
  padding: 1.2rem;
  margin: 1.5rem auto;
  text-align: center;
  border: 1px solid #3CB371; 
  border-radius: 8px;
  max-width: 600px;
  font-weight: bold;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

.message-bienvenue { 
  background: #1A5E7A; 
  color: #F1FAEE;
  padding: 1.2rem;
  margin: 1.5rem auto;
  text-align: center;
  border: 1px solid #457B9D;
  border-radius: 8px;
  max-width: 600px;
  font-weight: bold;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

footer {
  background-color: #1c1c1c;
  color: #f5f5f5;
  text-align: center;
  padding: 2rem 1rem;
  margin-top: 4rem;
  border-top: 4px solid #E63946;
  font-size: 0.9rem;
}

.liens-footer {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

.liens-footer a {
  color: #ff5866;
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.85rem;
}

.liens-footer a:hover {
  text-decoration: underline;
}

.der-perso {
  display: flex;
  flex-direction: column;
   align-items: center;
}

.btn {
  background-color: #0c6fad; 
  max-width: fit-content;
  color: #F1FAEE;
  padding: 1rem 2rem;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.2s ease, transform 0.2s ease;
  display: flex;

  text-transform: uppercase;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

.btn:hover {
  background-color: #E63946; 
  transform: translateY(-10px);
}
 
/* SECTION INTRO D'ACCUEIL */
.accueil-intro, .presentation-site, .mentions-legales {
  width: 100%;
  max-width: 1300px;
  margin: 4rem auto;
  padding: 2rem;
  background-color: #1A1A1D;
  border: 2px solid #3C3C41;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6);
}

.intro-contenu, .presentation-contenu {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  justify-content: space-between;
}

.texte {
  flex: 1;
  min-width: 300px;
}

.texte h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
  color: #E63946;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 0 0 8px #E63946AA;
}

.texte p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #F1FAEE;
  margin-bottom: 1rem;
}

.illustration {
  flex: 1;
  min-width: 250px;
  max-width: 500px;
  text-align: center;
}

.illustration img {
  width: 100%;
  max-height: 350px;
  object-fit: contain;
  border-radius: 12px;
  border: 2px solid #457B9D;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mentions-legales a {
  color: #A8DADC;
  text-decoration: underline;
  font-weight: bold;
  transition: color 0.2s ease;
}

.mentions-legales a:hover {
  color: #E63946;
  text-decoration: none;
}
