/*******************************************
 *  THÈME LIGHT (par défaut)
 *  Variables CSS générées à partir du thème clair
 *******************************************/
:root {
  /* Couleurs principales */
  --color1: #2E547B;
  /* Composantes RGB correspondantes à --color1 (utile pour rgba) */
  --color1_r: 46;
  --color1_g: 84;
  --color1_b: 123;
  --color2: #5C000D;
  --color3: #9faec5;
  --couleur_principale: #1390C1;
  /* Gris */
  --gris2: #d5d5d5;
  --gris3: #BBBBBB;
  --gris4: var(--color1);
  --gris5: #eaeef4;
  --gris6: #5f6a73;
  --gris7: #B2B2B1;
  --gris8: #a0a7ad;
  --gris9: #CCC9C7;
  /* Divers */
  --border: #575756;
  --fieldset_title: #6D6E6D;
  --bg_bloc: #F8F8F8;
  --fontColor: #000000;
  --body-bg: #ffffff;
  --body-color: var(--fontColor);
  /* Éléments fonctionnels */
  --color_tag: var(--couleur_principale);
  --color_valid: #8ebe21;
  --color_unvalid: #ed6a51;
  --color_required: #DC001E;
  --background_required: rgba(220, 0, 30, 0.1);
  --color_required_check: #067A1B;
  --background_required_check: rgba(6, 122, 27, 0.1);
  --inputSelectColor: #333333;
  --inputColor: #F1F1F1;
  --white: #ffffff;
  --bodyColor: var(--gris5);
  /* Typo */
  --font-size: 11px;
  /* Styles PC v.2 */
  --blue-start: #4ea5f7;
  --blue-end: #3463f6;
  --blue-dark: #0a2540;
  --shadow-color: rgba(10, 37, 64, 0.6);
  --light-gray-blue: #9badbf;
  --text-gray: #425466;
}
/*******************************************
 *  THÈME DARK
 *  Écrase uniquement les variables CSS
 *  pour un rendu sombre cohérent et lisible
 *******************************************/
body.dark-mode {
  /* Composantes RGB correspondantes à --color1 (dark) */
  --color1_r: 88;
  --color1_g: 185;
  --color1_b: 219;
  --couleur_principale: #58b9db;
  /* Gris adaptés au thème sombre */
  --gris2: #30363d;
  --gris3: #6b7177;
  --gris4: #2d3238;
  --gris5: #23272e;
  --gris6: #7a828a;
  --gris7: #a3a9ae;
  --gris8: #90979d;
  --gris9: #343a40;
  /* Bordures & divers */
  --border: #3a4047;
  --fieldset_title: #b6b6b6;
  --bg_bloc: #23272e;
  /* Texte & fond */
  --fontColor: #e5e5e5;
  --body-bg: #121212;
  --body-color: var(--fontColor);
  /* Tags */
  --color_tag: var(--couleur_principale);
  /* Validations */
  --color_valid: #7cc152;
  --color_required_check: #4ec77d;
  --background_required_check: rgba(78, 199, 125, 0.12);
  /* Erreurs / Requis */
  --color_unvalid: #e07360;
  --color_required: #ff5c7a;
  --background_required: rgba(255, 92, 122, 0.12);
  /* Inputs & utilitaires */
  --inputSelectColor: #e5e5e5;
  --inputColor: #40464d;
  --white: #ffffff;
  --bodyColor: #1b1f24;
}
body {
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(to bottom, var(--blue-end) 0%, #113a8a 40%, var(--blue-dark) 100%);
}
#login-page {
  width: 100%;
  max-width: 950px;
  padding: 40px 20px;
}
#login-page .login-card {
  display: flex;
  width: 100%;
  position: relative;
  align-items: stretch;
}
@media (max-width: 767px) {
  #login-page .login-card {
    flex-direction: column-reverse;
    align-items: center;
  }
}
#login-page .formBlock {
  flex: 0 0 450px;
  background: #ffffff;
  padding: 60px;
  border-radius: 20px;
  box-shadow: -4px 20px 20px -20px var(--shadow-color);
  z-index: 5;
}
@media (max-width: 767px) {
  #login-page .formBlock {
    flex: none;
    width: 100%;
    padding: 40px 25px;
  }
}
#login-page .formBlock h2 {
  text-align: center;
  margin-bottom: 40px;
  font-size: 32px;
  color: var(--blue-dark);
  font-weight: 600;
}
#login-page .formBlock .form-group {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
  background: #ffffff;
  border-bottom-left-radius: 12px;
  box-shadow: 0px 6px 7px -8px var(--shadow-color);
  border-bottom: 1px solid transparent;
}
#login-page .formBlock .form-group .accent-bar {
  width: 3px;
  height: 45px;
  background: linear-gradient(to bottom, var(--blue-start), var(--blue-end));
  border-radius: 6px;
  margin-right: 2px;
  box-shadow: -4px 4px 4px 0px rgba(10, 37, 64, 0.3);
}
#login-page .formBlock .form-group input {
  border: none;
  flex: 1;
  height: 45px;
  outline: none;
  font-size: 18px;
  font-weight: 300;
  color: var(--text-gray);
  background: transparent;
  text-align: center;
}
#login-page .formBlock .form-group input::placeholder {
  color: var(--light-gray-blue);
  opacity: 1;
}
#login-page .formBlock .buttons {
  text-align: center;
}
#login-page .formBlock .buttons #mdp_oublie {
  display: inline-block;
  margin-top: -10px;
  margin-bottom: 35px;
  color: var(--light-gray-blue);
  text-decoration: none;
  font-size: 18px;
  font-weight: 300;
}
#login-page .formBlock .buttons #mdp_oublie:hover {
  text-decoration: underline;
}
#login-page #branding-panel {
  flex: 1;
  margin-top: -40px;
  margin-bottom: -40px;
  margin-left: -80px;
  border-radius: 25px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, var(--blue-start), var(--blue-end));
  z-index: 1;
}
#login-page #branding-panel::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url("../../../../asset/image/login_branding_background.jpg") no-repeat center / cover;
  opacity: 0.34;
  z-index: -1;
}
@media (max-width: 767px) {
  #login-page #branding-panel {
    flex: none;
    width: 95%;
    height: 180px;
    margin: 0 0 -25px 0;
    border-radius: 20px 20px 0 0;
  }
}
#login-page #branding-panel .branding-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-left: 15%;
}
@media (max-width: 767px) {
  #login-page #branding-panel .branding-content {
    padding-left: 0;
    text-align: center;
  }
}
#login-page #branding-panel .branding-content h1 {
  color: #ffffff;
  font-size: 42px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0;
}
@media (max-width: 767px) {
  #login-page #branding-panel .branding-content h1 {
    font-size: 28px;
  }
}
/*
.oubli-mdp-page {
    width: 450px;
    margin: auto;
    box-shadow: 0px 4px 5px var(--gris2);

    @media(max-width:767px) {
        width: 100%;
    }

    .logoContainer {
        min-height: 80px;
        max-height: 120px;
        padding: 10px 0;
        background: var(--white) !important;
        display: flex;
        justify-content: center;
        align-items: center;

        >img {
            display: block;
            margin: auto;
            max-height: 120px;
        }
    }

    .formBlock {
        padding: 30px 50px;
        background: var(--white);

        @media(max-width:767px) {
            padding: 30px;
        }

        .form-group {
            margin-bottom: 5px;

            >label,
            >div {
                padding-left: 0;
                padding-bottom: 5px;
            }

            label {
                font-size: 14px;
            }

            input.form-control {
                background: var(--gris9);
                color: #000;
                text-align: center;

                &::-moz-placeholder {
                    color: #888 !important;
                }
            }
        }

        .buttons {
            margin: 10px auto;
        }

        .error {
            color: var(--color1);
        }

        #mdp_oublie {
            color: var(--couleur_principale);
        }

        #optimise_pour {
            display: flex;
            align-items: center;

            .icon {
                font-size: 2em;
                margin-right: 5px;
                padding: 5px;
            }

            &>div {
                margin-left: 10px;

                &>p {
                    font-size: 11px;
                    margin: 0;
                }
            }
        }
    }

} */
