/* Harmonisation des couleurs */
body, h1, h2, h3, h4, h5, h6, p, label, a, td, th, input, select, textarea, button {
color: #083349;
}

body {
background: linear-gradient(to bottom, #f4e0d7, #e1b79b);
font-family: Arial, sans-serif;
text-align: center;
padding: 20px;
color: #083349;
min-height: 100vh;
margin: 0;
}

/* Container principal */
.container {
width: 90%;
max-width: 350px;
margin: auto;
background: #fff8f0;
padding: 20px;
border-radius: 10px;
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

/* Largeur élargie sur desktop */
@media screen and (min-width: 768px) {
  .container {
    max-width: 600px;
  }
}

/* Logo */

a img.logo {
cursor: pointer;
border: none;
text-decoration: none;
}

.logo {
max-width: 250px;
width: 100%;
height: auto;
display: block;
margin: 0 auto 20px auto;
}

/* Titres pas fait */
h1, h2 {
color: #083349;
font-size: 24px;
margin-bottom: 20px;
}

/* Boîte de connexion */
.login-box {
background: #f9e3d5;
padding: 15px;
border-radius: 8px;
margin-bottom: 15px;
}

/* Labels */
label {
display: block;
font-weight: bold;
margin-top: 10px;
color: #083349;
}

/* Champs de formulaire */
input, select, textarea {
width: 100%;
padding: 8px;
margin-top: 5px;
border: 1px solid #cfa17d;
border-radius: 5px;
font-size: 14px;
box-sizing: border-box;
background-color: #ffffff;
color: #083349;
}

/* Bouton principal */
a.primary-button, button.primary-button {
display: inline-block;
text-decoration: none;
padding: 8px 16px;
margin-top: 10px;
border: 1px solid #cfa17d;
border-radius: 5px;
font-size: 14px;
box-sizing: border-box;
color: #083349;
background-color: #ffffff;
background: #b05e27;
color: white;
font-weight: bold;
cursor: pointer;
border: none;
margin-top: 15px;
}
a.primary-button:hover, button.primary-button:hover{
background: #9c4a1a;
}

/* Lien retour et secondaire */
a.secondary-button, button.secondary-button {
display: inline-block;
text-decoration: none;
background-color: #f1c1a1;
color: #083349;
font-weight: normal;
border: 1px solid #083349;
border-radius: 5px;
padding: 6px 10px;
margin-top: 12px;
/*<font-weight: bold; /* <<< PAS NORMAL, MAIS BOLD COMME primary-button */
font-size: 14px;    /* <<< AJOUTÉ */
text-align: center; /* <<< pour bien centrer le texte */
box-sizing: border-box;
cursor: pointer;

}

a.secondary-button:hover, button.secondary-button:hover {
background-color: #d9a781;
}

/* Messages de succès ou d'erreur */
.message {
padding: 10px;
border-radius: 8px;
margin-bottom: 20px;
}

.message.success {
background-color: #d4edda;
color: #155724;
}

.message.error {
  background-color: #f8d7da;
  color: #721c24;
  padding: 12px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 1.4;
  word-wrap: break-word;
  overflow-wrap: break-word;
  text-align: center;
}


/* Messages d'erreur simples */
.error {
color: red;
margin-top: 15px;
}

/* Lien d'inscription */
.register-link {
margin-top: 20px;
}

.register-link a {
color: #083349;
text-decoration: none;
}

.register-link a\:hover {
text-decoration: underline;
}

/* Tableau pour les réservations */
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
font-size: 14px;
}

table th, table td {
border: 1px solid #e1b79b;
padding: 8px;
text-align: center;
}

table th {
background-color: #f4e0d7;
color: #083349;
}

/*Boutons cotes a cotes*/
.button-group {
display: flex;
gap: 10px;
justify-content: space-between;
margin-top: 5px;
margin-bottom: 5px;
}

.button-group form {
flex: 1;
text-align: center;
}

.button-group form button {
width: 100%;
}

/*bouton fulll largeur*/
.full-width-button {
display: block;
width: 100%;
margin-top: 10px;
}

/*buton half */
.half-width-button {
width: 70%;
}

/*nom prenom cote a cote*/
.partner-line {
display: flex;
justify-content: space-between;
gap: 10px;
margin-top: 5px;
}
.partner-line input {
/*width: 100%;*/
  flex: 1;

}
.partner-group {
margin-top: 10px;
}

/* footer */
.site-footer {
margin-top: 10px;
padding: 1px 0;
text-align: center;
font-size: 13px;
color: #666;
background: transparent; /* our fond dégradé */
font-family: Arial, sans-serif; /* pour police uniforme */
}

.footer-links a {
color: #666;
text-decoration: none;
margin: 0 10px;
}

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

/* Style du bouton Infos */
a.info-button-transparent, .info-button-transparent {
background-color: transparent;
border: 2px solid #b05e27;
color: #b05e27;
padding: 8px 20px;
margin-top: 5px;
margin-bottom: 14px;
border-radius: 30px;
cursor: pointer;
font-size: 16px;
font-weight: 600;
transition: all 0.3s ease;
text-decoration: none;
width: auto;
}

a.info-button-transparent\:hover, .info-button-transparent\:hover {
background-color: #b05e27;
color: #fff8f0;
text-decoration: none;
}

/* Style de la fenêtre modale */
.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.5);
}

.modal-content {
border: 2px solid #b0e5e27;
background-color: #fff8f0;
margin: 10% auto;
padding: 20px;
border: 1px solid #b05e27;
border-radius: 15px;
width: 80%;
max-width: 350px;
animation: fadeIn 0.5s;
/*border: 2px solid #e1b79b;
border-radius: 6px;
padding: 20px;
background-color: #fff8f0;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
position: relative;*/
}

.close {
color: #b05e27;
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
/*background-color: #e1b79b;
color: white;
border-radius: 50%;
width: 28px;
height: 28px;
text-align: center;
line-height: 28px;
font-size: 18px;
font-weight: bold;
cursor: pointer;
position: absolute;
top: 12px;
right: 12px;
transition: background-color 0.2s;*/
}

.close\:hover {
color: #9c4a1a;
}

/* Animation d'ouverture */
@keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}

/* Version responsive mobile */
@media screen and (max-width: 600px) {
.modal-content {
width: 90%;
padding: 15px;
}
.info-button-transparent {
width: 100%;
font-size: 14px;
padding: 10px 0;
}
}

.forgot-password-link {
font-size: 12px; /* Ajuste la taille de la police */
color: inherit;  /* Hérite de la couleur du texte parent */
text-decoration: none; /* Retire le soulignement si tu veux */
}

.forgot-password-link\:hover {
text-decoration: underline; /* Ajoute un soulignement au survol, si souhaité */
}

/*LIMITATION LARGEUR BOUTON*/
/* Limiter la largeur des champs, boutons, select, etc. en desktop */
@media screen and (min-width: 768px) {
  input,
  select,
  textarea,
  button,
  a.primary-button,
  a.secondary-button,
  .full-width-button {
    max-width: 500px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }

  label {
    max-width: 500px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    display: block;
  }

  .login-box,
  .checkbox-container,
  .partner-group {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
}

.subscription-options {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 30px 0;
}

.option-box {
  flex: 1;
  background: #fff8f0;
  padding: 20px;
  border: 1px solid #e1b79b;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

@media screen and (min-width: 768px) {
  .subscription-options {
    flex-direction: row;
    gap: 40px;
  }
}

@media screen and (max-width: 600px) {
  .message.error {
    font-size: 14px;
    padding: 14px;
  }
}
