/* Quatre modèles autour du formulaire WordPress : aucun contrôle d’authentification masqué. */
body.tweakdmin-connexion {
    min-height: 100vh; height: auto; box-sizing: border-box; position: relative;
    display: grid; align-content: center; gap: 26px;
    margin: 0; padding: 136px 24px 56px;
    background: linear-gradient(135deg, var(--tweakdmin-debut), var(--tweakdmin-fin));
    color: #152332; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px; line-height: 1.5;
}
.tweakdmin-connexion *, .tweakdmin-connexion *::before, .tweakdmin-connexion *::after { box-sizing: border-box; }
.tweakdmin-connexion #login { position: relative; z-index: 1; width: min(474px, 100%); padding: 34px 36px; margin: 0 auto; border: 1px solid #ffffff50; border-radius: 17px; background: #ffffff26; box-shadow: 0 24px 56px #10162f26; }
.tweakdmin-connexion #login > h1 { position: absolute; top: -96px; left: 0; width: 100%; margin: 0; }
.tweakdmin-connexion #login > h1 a { width: 72px; height: 72px; margin: 0 auto; background-image: none; background-color: currentColor; color: inherit; -webkit-mask: var(--tweakdmin-logo) center / contain no-repeat; mask: var(--tweakdmin-logo) center / contain no-repeat; }
.tweakdmin-connexion #login > h1 a:focus { outline: none; box-shadow: none; filter: drop-shadow(0 0 3px currentColor); }
.tweakdmin-connexion-intro { margin-bottom: 24px; }
.tweakdmin-connexion-intro h2 { font-size: 24px; line-height: 1.25; font-weight: 700; letter-spacing: -.7px; margin: 0 0 4px; color: inherit; }
.tweakdmin-connexion-intro p { margin: 0; opacity: .76; font-size: 14px; }
.tweakdmin-connexion #login form { padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; color: inherit; box-shadow: none; overflow: visible; font-weight: 400; }
.tweakdmin-connexion #login label { font-size: 14px; line-height: 1.5; color: inherit; }
.tweakdmin-connexion #login input.input, .tweakdmin-connexion #login input[type="text"], .tweakdmin-connexion #login input[type="password"], .tweakdmin-connexion #login input[type="email"] {
    width: 100%; min-height: 43px; padding: 9px 13px; margin: 4px 0 17px; border: 1px solid #dce1e9; border-radius: 10px; background: #fff; color: #17242e; font-size: 15px; line-height: 1.5; box-shadow: 0 1px 2px #10182806;
}
.tweakdmin-connexion #login .wp-pwd input { padding-right: 44px; }
.tweakdmin-connexion #login .wp-hide-pw { top: 5px; right: 1px; width: 42px; height: 41px; min-width: 0; padding: 0; border: 0; color: #728295; background: transparent; box-shadow: none; }
.tweakdmin-connexion #login .wp-hide-pw .dashicons { top: 0; }
.tweakdmin-connexion #login input:focus { border-color: #337da0; outline: 2px solid #337da060; outline-offset: 2px; box-shadow: none; }
.tweakdmin-connexion #login a:focus-visible, .tweakdmin-connexion #login button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; box-shadow: none; }
.tweakdmin-connexion #login input[type="checkbox"] { width: 16px; height: 16px; min-width: 16px; border: 1px solid #85929e; border-radius: 3px; background: #fff; margin: 0 9px 0 0; }
.tweakdmin-connexion #login input[type="checkbox"]:checked::before { margin: -3px -4px; }
.tweakdmin-connexion #login p.forgetmenot { float: none; display: flex; align-items: center; margin: 0; }
.tweakdmin-connexion-actions { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin: 0 0 22px; }
.tweakdmin-connexion #login #nav { padding: 0; margin: 18px 0 0; font-size: 13px; }
.tweakdmin-connexion #login .tweakdmin-connexion-actions #nav { margin: 0; }
.tweakdmin-connexion #login .submit { margin: 20px 0 0; }
.tweakdmin-connexion #login .tweakdmin-connexion-actions + .submit { margin-top: 0; }
.tweakdmin-connexion #login .button-primary {
    float: none; width: 100%; min-height: 45px; padding: 9px 16px; border: 1px solid #17242e12; border-radius: 10px;
    background: linear-gradient(105deg, var(--tweakdmin-debut), var(--tweakdmin-fin)); color: var(--tweakdmin-bouton-texte-personnalise, var(--tweakdmin-bouton-texte)); font-size: 14px; line-height: 25px; font-weight: 700; text-shadow: none; box-shadow: none;
}
.tweakdmin-connexion #login .button-primary:hover { filter: brightness(.94); }
.tweakdmin-connexion #login .button-primary:focus { outline: 2px solid currentColor; outline-offset: 3px; }
.tweakdmin-connexion #login #backtoblog { padding: 0; margin: 0; text-align: center; font-size: 0; }
.tweakdmin-connexion #login .privacy-policy-page-link { margin: 16px 0 0; font-size: 12px; }
.tweakdmin-connexion #login a { color: inherit; text-decoration: none; }
.tweakdmin-connexion #login a:hover { text-decoration: underline; }
.tweakdmin-connexion #login .message, .tweakdmin-connexion #login .notice, .tweakdmin-connexion #login #login_error { margin: 0 0 20px; padding: 10px 14px; border: 1px solid #83b6d2; border-radius: 10px; background: #eef8ff; color: #163d5a; box-shadow: none; font-size: 13px; }
.tweakdmin-connexion #login #login_error, .tweakdmin-connexion #login .notice-error { border-color: #ffbdc5; background: #fff3f4; color: #ac122b; }
.tweakdmin-connexion #login .message p, .tweakdmin-connexion #login .notice p { margin: 0; padding: 0; }
.tweakdmin-connexion #login .indicator-hint, .tweakdmin-connexion #login #reg_passmail { margin-bottom: 16px; }
.tweakdmin-connexion .language-switcher { position: relative; z-index: 1; margin: 0 auto; max-width: 100%; padding: 0 16px; }
.tweakdmin-connexion .language-switcher form { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.tweakdmin-connexion .language-switcher select { max-width: 100%; }
.tweakdmin-connexion-credit { display: block; margin: 22px 0 0; text-align: center; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }

/* Prisme : le contraste du texte suit les deux couleurs choisies. */
body.tweakdmin-connexion-prisme { color: var(--tweakdmin-bouton-texte); }
.tweakdmin-connexion-prisme #login { backdrop-filter: blur(16px); }
.tweakdmin-connexion-prisme #login input.input { background: #ffffff30; border-color: #ffffff70; color: inherit; }
.tweakdmin-connexion-prisme #login .wp-hide-pw { color: inherit; }
.tweakdmin-connexion-prisme #login .button-primary { background: #fff; color: var(--tweakdmin-bouton-texte-personnalise, #3b2ca7); }
.tweakdmin-connexion-prisme #login #nav a { text-decoration: underline; }

/* Minuit : les halos sont teintés par les mêmes couleurs que le bouton. */
body.tweakdmin-connexion-minuit { color: #f1f5f9; background: linear-gradient(145deg, #0c1625e8 24%, #0c1625b0), linear-gradient(135deg, var(--tweakdmin-debut), var(--tweakdmin-fin)); }
.tweakdmin-connexion-minuit #login { background: #ffffff10; border-color: #ffffff26; box-shadow: 0 28px 60px #0003; }
.tweakdmin-connexion-minuit #login > h1 { color: #79d6fb; }
.tweakdmin-connexion-minuit .tweakdmin-connexion-intro p, .tweakdmin-connexion-minuit .tweakdmin-connexion-credit { color: #a5b8cb; }
.tweakdmin-connexion-minuit #login input.input { background: #ffffff0a; color: #f1f5f9; border-color: #ffffff30; }
.tweakdmin-connexion-minuit #login .wp-hide-pw, .tweakdmin-connexion-minuit #login #nav a { color: #82d9fc; }
.tweakdmin-connexion-minuit #login #login_error, .tweakdmin-connexion-minuit #login .notice-error { background: #ff626218; border-color: #fb656566; color: #ffb2b2; }

/* Horizon et Atelier : panneaux illustrés à droite ou à gauche. */
body.tweakdmin-connexion-horizon, body.tweakdmin-connexion-atelier { padding: 70px 0; gap: 28px 0; grid-template-columns: 54% 46%; background: #fffcf8; }
body.tweakdmin-connexion-atelier { grid-template-columns: 46% 54%; background: #fff; }
.tweakdmin-connexion-horizon::before, .tweakdmin-connexion-atelier::before { content: ""; position: fixed; inset: 0 0 0 54%; background: linear-gradient(155deg, var(--tweakdmin-debut), var(--tweakdmin-fin)); pointer-events: none; }
.tweakdmin-connexion-horizon::after, .tweakdmin-connexion-atelier::after { content: ""; position: fixed; inset: 0 0 0 54%; background: url("connexion-decoration.svg") center / cover no-repeat; pointer-events: none; }
.tweakdmin-connexion-atelier::before, .tweakdmin-connexion-atelier::after { inset: 0 54% 0 0; }
.tweakdmin-connexion-horizon #login, .tweakdmin-connexion-atelier #login { width: min(380px, calc(100% - 64px)); padding: 0; grid-column: 1; background: none; border: 0; border-radius: 0; box-shadow: none; }
.tweakdmin-connexion-atelier #login { grid-column: 2; }
.tweakdmin-connexion-horizon #login > h1 { position: static; margin-bottom: 24px; color: #e85b13; }
.tweakdmin-connexion-horizon #login > h1 a { margin: 0; width: 64px; height: 64px; }
.tweakdmin-connexion-atelier #login > h1 { position: fixed; top: 36px; left: 24px; width: 64px; color: #fff; }
.tweakdmin-connexion-atelier #login > h1 a { width: 64px; height: 64px; }
.tweakdmin-connexion-horizon .language-switcher { grid-column: 1; }
.tweakdmin-connexion-atelier .language-switcher { grid-column: 2; }
.tweakdmin-connexion-horizon:not(.tweakdmin-degrade-personnalise) #login .button-primary { background: linear-gradient(105deg, #ee5b09, #de2076); color: var(--tweakdmin-bouton-texte-personnalise, #fff); }
.tweakdmin-connexion-atelier:not(.tweakdmin-degrade-personnalise) #login .button-primary { background: #059669; color: var(--tweakdmin-bouton-texte-personnalise, #fff); }
.tweakdmin-connexion-atelier.tweakdmin-degrade-personnalise #login > h1 { color: var(--tweakdmin-texte-debut); }

@media (max-width: 760px) {
    body.tweakdmin-connexion { padding: 124px 20px 36px; }
    .tweakdmin-connexion #login { padding: 28px 24px; }
    body.tweakdmin-connexion-horizon, body.tweakdmin-connexion-atelier { display: grid; grid-template-columns: minmax(0, 1fr); padding: 36px 20px; }
    .tweakdmin-connexion-horizon::before, .tweakdmin-connexion-horizon::after, .tweakdmin-connexion-atelier::before, .tweakdmin-connexion-atelier::after { display: none; }
    .tweakdmin-connexion-horizon #login, .tweakdmin-connexion-atelier #login { grid-column: 1; width: min(420px, 100%); padding: 0; }
    .tweakdmin-connexion-atelier #login > h1, .tweakdmin-connexion-atelier.tweakdmin-degrade-personnalise #login > h1 { position: static; margin-bottom: 26px; color: #176958; }
    .tweakdmin-connexion-atelier #login > h1 a { margin: 0; }
    .tweakdmin-connexion-atelier .language-switcher { grid-column: 1; }
}
@media (prefers-reduced-motion: reduce) { .tweakdmin-connexion .shake { animation: none !important; } }
