/* ==========================================================================
   Daytona ANIMA - Pages COMPTE CLIENT
   daytona-account-v1.0.3.css
   v1.0.1 : fixes — connexion (lien mdp oublie + bouton empiles), mdp oublie
            (phrase intro + titre .page-header), inscription (radios Titre M./Mme
            en ligne, label cache masque, champs alignes).
   Cible : #authentication (connexion), #password (mdp oublie),
           #registration (inscription), #my-account, #identity, #address(es),
           #history. Style facon Daytona : titre Khand souligne orange,
           formulaire centre, champs encadres, focus + bouton orange #eb6100.
   CSS pur, aucun template modifie.
   ========================================================================== */

/* === Conteneur centre (layout-full-width, pas de sidebar) === */
#authentication #content,
#password #content,
#registration #content,
#my-account #content,
#identity #content,
#address #content,
#addresses #content,
#history #content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 30px;
}

/* === Titre de page facon Daytona (souligne orange) === */
#authentication .page-header .page-title-section,
#password .page-header .page-title-section,
#registration .page-header .page-title-section,
#my-account .page-header .page-title-section,
#identity .page-header .page-title-section,
#address .page-header .page-title-section,
#addresses .page-header .page-title-section,
#history .page-header .page-title-section,
#authentication .page-header h1,
#password .page-header h1,
#registration .page-header h1,
#my-account .page-header h1 {
  font-family: 'Khand', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: 0.03em;
  color: #000;
  margin: 30px 0 28px;
  padding-bottom: 14px;
  position: relative;
}
#authentication .page-header .page-title-section::after,
#password .page-header .page-title-section::after,
#registration .page-header .page-title-section::after,
#my-account .page-header .page-title-section::after,
#authentication .page-header h1::after,
#password .page-header h1::after,
#registration .page-header h1::after,
#my-account .page-header h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 90px;
  height: 4px;
  background: #eb6100;
}

/* === Masquer le breadcrumb (coherence Daytona) === */
#authentication .breadcrumb__wrapper,
#password .breadcrumb__wrapper,
#registration .breadcrumb__wrapper,
#my-account .breadcrumb__wrapper,
#identity .breadcrumb__wrapper,
#address .breadcrumb__wrapper,
#addresses .breadcrumb__wrapper,
#history .breadcrumb__wrapper {
  display: none !important;
}

/* === Carte formulaire centree === */
#authentication .login,
#password .forgotten-password,
#password .renew-password,
#registration .registration {
  max-width: 520px;
  margin: 10px auto 60px;
}
#authentication .login__form-wrapper,
#authentication #login-form,
#password form,
#registration form,
#identity form {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 4px;
  padding: 34px 38px 38px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.04);
}

/* === Labels === */
#authentication .form-label,
#password .form-label,
#registration .form-label,
#my-account .form-label,
#identity .form-label,
#address .form-label {
  display: block;
  font-family: 'Khand', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: #000;
  margin-bottom: 8px;
}
#authentication .form-label.required::after,
#password .form-label.required::after,
#registration .form-label.required::after,
#identity .form-label.required::after {
  content: " *";
  color: #eb6100;
}

/* === Champs === */
#authentication .form-control,
#authentication input[type="email"],
#authentication input[type="password"],
#authentication input[type="text"],
#password .form-control,
#password input[type="email"],
#password input[type="text"],
#registration .form-control,
#registration input,
#registration select,
#identity .form-control,
#identity input,
#identity select,
#address .form-control,
#address input,
#address select {
  width: 100%;
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  color: #222;
  background: #fafafa;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  padding: 12px 14px;
  transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}
#authentication .form-control:focus,
#authentication input:focus,
#password .form-control:focus,
#password input:focus,
#registration .form-control:focus,
#registration input:focus,
#registration select:focus,
#identity input:focus,
#identity select:focus,
#address input:focus,
#address select:focus {
  outline: none;
  border-color: #eb6100;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(235, 97, 0, 0.12);
}

/* Espacement entre les champs (chaque label+input dans .form-group ou .mb-3) */
#authentication .form-group,
#authentication .mb-3,
#password .form-group,
#password .mb-3,
#registration .form-group,
#registration .mb-3,
#identity .form-group,
#identity .mb-3 {
  margin-bottom: 20px;
}

/* === Champ mot de passe avec bouton "oeil" === */
#authentication .input-group.password-field,
#password .input-group.password-field,
#registration .input-group.password-field {
  display: flex;
  align-items: stretch;
}
#authentication .input-group.password-field .form-control,
#password .input-group.password-field .form-control,
#registration .input-group.password-field .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
#authentication .input-group.password-field button,
#password .input-group.password-field button,
#registration .input-group.password-field button {
  background: #fafafa;
  border: 1px solid #d8d8d8;
  border-left: none;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  padding: 0 14px;
  cursor: pointer;
  color: #555;
}
#authentication .input-group.password-field button:hover,
#password .input-group.password-field button:hover {
  color: #eb6100;
}

/* === Lien "Mot de passe oublie" === */
#authentication .forgot-password,
#authentication .login__forgot-password {
  margin: 4px 0 18px;
  font-size: 14px;
}
#authentication .forgot-password a,
#authentication .login__forgot-password a {
  color: #555;
  text-decoration: underline;
}
#authentication .forgot-password a:hover,
#authentication .login__forgot-password a:hover {
  color: #eb6100;
}

/* === Bouton principal (Connexion / Enregistrer...) === */
#authentication .buttons-wrapper,
#password .buttons-wrapper,
#registration .buttons-wrapper,
#identity .buttons-wrapper {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}
#authentication #submit-login,
#authentication .btn-primary,
#password .btn-primary,
#registration .btn-primary,
#identity .btn-primary,
#address .btn-primary {
  font-family: 'Khand', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 16px;
  color: #fff !important;
  background: #eb6100 !important;
  border: none !important;
  border-radius: 3px;
  padding: 13px 34px;
  cursor: pointer;
  transition: background 0.2s;
}
#authentication #submit-login:hover,
#authentication .btn-primary:hover,
#password .btn-primary:hover,
#registration .btn-primary:hover,
#identity .btn-primary:hover,
#address .btn-primary:hover {
  background: #c85200 !important;
}

/* === Bloc "Pas de compte ? Creez votre compte" === */
#authentication .login__register-prompt,
#authentication .no-account {
  max-width: 520px;
  margin: 22px auto 0;
  padding-top: 20px;
  border-top: 1px solid #ececec;
  text-align: center;
  font-family: 'Roboto', sans-serif;
}
#authentication .login__register-prompt a,
#authentication .no-account a {
  font-family: 'Khand', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #eb6100;
  text-decoration: none;
  letter-spacing: 0.03em;
}
#authentication .login__register-prompt a:hover,
#authentication .no-account a:hover {
  text-decoration: underline;
}

/* ==========================================================================
   v1.0.1 — CORRECTIFS CIBLES
   ========================================================================== */

/* --- Titre de page : couvrir aussi .page-header h1 / .page-header__title
   (la page mot de passe n'utilise pas toujours .page-title-section) --- */
#authentication .page-header,
#password .page-header,
#registration .page-header {
  margin: 30px 0 0;
}
#authentication .page-header h1,
#authentication .page-header .h1,
#authentication .page-header .page-header__title,
#password .page-header h1,
#password .page-header .h1,
#password .page-header .page-header__title,
#registration .page-header h1,
#registration .page-header .h1,
#registration .page-header .page-header__title {
  font-family: 'Khand', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: 0.03em;
  color: #000;
  margin: 0 0 28px;
  padding-bottom: 14px;
  position: relative;
}
#authentication .page-header h1::after,
#authentication .page-header .page-header__title::after,
#password .page-header h1::after,
#password .page-header .page-header__title::after,
#registration .page-header h1::after,
#registration .page-header .page-header__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 90px;
  height: 4px;
  background: #eb6100;
}

/* --- A) CONNEXION : lien "Mot de passe oublie ?" + bouton empiles proprement --- */
#authentication .buttons-wrapper.buttons-wrapper--split {
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}
#authentication .buttons-wrapper.buttons-wrapper--split .btn-basic {
  align-self: flex-start;
  padding: 0;
  background: transparent;
  border: none;
  color: #555;
  text-decoration: underline;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
}
#authentication .buttons-wrapper.buttons-wrapper--split .btn-basic:hover {
  color: #eb6100;
}
#authentication .buttons-wrapper.buttons-wrapper--split #submit-login {
  align-self: flex-end;
}

/* --- B) MOT DE PASSE OUBLIE : phrase d'intro dans la carte --- */
#password .send-renew-password-link,
#password .forgotten-password p,
#password .renew-password p {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin: 0 0 22px;
}
#password .forgotten-password .form-fields,
#password .renew-password .form-fields {
  margin: 0;
}

/* --- C) INSCRIPTION : radios Titre (M./Mme) en ligne + label cache masque --- */
/* Le label "Titre" cache (visually-hidden) doit le rester */
#registration .visually-hidden,
#registration #field-id_gender-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}
/* Les radios M./Mme alignes horizontalement */
#registration .form-check.form-check-inline {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-right: 24px;
  margin-bottom: 0;
}
#registration .form-check.form-check-inline input[type="radio"] {
  width: auto !important;
  margin: 0;
  padding: 0;
  accent-color: #eb6100;
}
#registration .form-check.form-check-inline .form-check-label {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  cursor: pointer;
}
/* le conteneur des deux radios sur une ligne */
#registration [aria-labelledby="field-id_gender-label"] {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 4px;
}
/* texte d'aide (ex. "Seules les lettres...") plus discret */
#registration .form-text,
#registration .help-block,
#authentication .form-text,
#password .form-text {
  font-family: 'Roboto', sans-serif;
  font-size: 13px;
  color: #888;
  margin-top: 6px;
}
/* bouton "oeil" du mot de passe inscription, comme connexion */
#registration .input-group.password-field {
  display: flex;
  align-items: stretch;
}
#registration .input-group.password-field .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
#registration .input-group.password-field button {
  background: #eb6100;
  border: 1px solid #eb6100;
  border-left: none;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  padding: 0 16px;
  cursor: pointer;
  color: #fff;
}

/* ==========================================================================
   v1.0.2 — CORRECTIFS
   ========================================================================== */

/* --- Rectangle noir autour du bouton : le bouton est dans <footer class="buttons-wrapper">
   et la regle globale footer{background:#000;padding:75px} le colore. On neutralise. --- */
#registration .contact-form footer,
#registration footer.buttons-wrapper,
#registration .buttons-wrapper,
#authentication footer.buttons-wrapper,
#password footer.buttons-wrapper,
#identity footer.buttons-wrapper {
  background: transparent !important;
  padding: 0 !important;
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
}

/* --- CAUSE RACINE de la phrase plaquee en haut ---
   style.css definit "header, #header, .daytona-header { position:fixed; top:0 }"
   en ciblant la BALISE header. Or le formulaire mdp oublie contient un <header>
   interne (<form class="forgotten-password"><header><p>...). Il heritait donc de
   position:fixed et se collait tout en haut. On remet en static UNIQUEMENT les
   <header> internes des formulaires compte (jamais le vrai header du site). */
#password .forgotten-password header,
#password .renew-password header,
#authentication .login header,
#authentication #login-form header,
#registration .registration header,
#registration form header,
#identity form header {
  position: static !important;
  top: auto;
  left: auto;
  right: auto;
  width: auto;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

/* La phrase d'intro elle-meme, propre dans le flux */
#password .send-renew-password-link {
  display: block;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin: 0 0 22px;
  padding: 0;
}

/* --- Cases a cocher (RGPD, newsletter, optin) alignees --- */
#registration .form-check,
#authentication .form-check,
#identity .form-check {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 16px;
  padding-left: 0;
}
#registration .form-check .form-check-input[type="checkbox"],
#authentication .form-check .form-check-input[type="checkbox"],
#identity .form-check .form-check-input[type="checkbox"] {
  width: 18px !important;
  height: 18px;
  min-width: 18px;
  margin: 2px 0 0 0 !important;
  float: none !important;
  accent-color: #eb6100;
  cursor: pointer;
}
#registration .form-check .form-check-label,
#authentication .form-check .form-check-label,
#identity .form-check .form-check-label {
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
  margin: 0;
  line-height: 1.4;
  color: #333;
  cursor: pointer;
}
#registration .form-check .form-check-label.required::after,
#identity .form-check .form-check-label.required::after {
  content: " *";
  color: #eb6100;
}

/* --- Responsive --- */
@media (max-width: 768px) {
  #authentication .login,
  #password .forgotten-password,
  #registration .registration {
    margin: 10px 12px 40px;
  }
  #authentication .login__form-wrapper,
  #authentication #login-form,
  #registration form {
    padding: 24px 20px 26px;
  }
  #authentication .buttons-wrapper,
  #password .buttons-wrapper,
  #registration .buttons-wrapper {
    justify-content: stretch;
  }
  #authentication #submit-login,
  #authentication .btn-primary {
    width: 100%;
  }
}
