/* Communes – page de connexion harmonisée. Variables : --cad-accent, --cad-fond, --cad-logo (voir CAD\Login). */

body.login.cad-login {
    --cad-accent: #1f5f8b;
    --cad-panneau: 44vw;
    background: #f3f4f6;
    font-size: 14px;
    color: #1d2327;
}

/* ------------------------------------------------------------- Panneau de la commune */
.cad-login .cad-commune {
    position: fixed; inset: 0 auto 0 0; width: var(--cad-panneau);
    display: flex; flex-direction: column; justify-content: flex-end;
    color: #fff; overflow-y: auto;
    background: linear-gradient(180deg, rgba(10,20,30,.15) 0%, rgba(10,20,30,.55) 45%, rgba(10,20,30,.9) 100%), var(--cad-accent);
}
.cad-login.cad-avec-fond .cad-commune {
    background: linear-gradient(180deg, rgba(10,20,30,.1) 0%, rgba(10,20,30,.5) 45%, rgba(10,20,30,.88) 100%), var(--cad-fond) center / cover no-repeat, var(--cad-accent);
}
.cad-login .cad-commune::before {
    content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--cad-accent);
}
.cad-commune-contenu { padding: 48px 56px 40px; max-width: 560px; }
.cad-commune-logo {
    display: block; width: 104px; height: 104px; object-fit: contain; margin-bottom: 22px;
    background: #fff; border-radius: 16px; padding: 10px; box-shadow: 0 6px 24px rgba(0,0,0,.25);
}
.cad-commune-sur { margin: 0; text-transform: uppercase; letter-spacing: .14em; font-size: 12px; opacity: .85; }
.cad-commune-nom { margin: 2px 0 10px; font-size: 40px; line-height: 1.1; font-weight: 600; text-shadow: 0 2px 12px rgba(0,0,0,.3); }
.cad-commune-message { margin: 0 0 22px; font-size: 16px; line-height: 1.5; opacity: .95; }

.cad-mairie {
    margin: 0 0 22px; padding: 18px 20px; border-radius: 12px;
    background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.22);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.cad-mairie-titre { margin: 0 0 8px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: 12px; }
.cad-mairie-ligne { margin: 0 0 6px; padding-left: 26px; position: relative; line-height: 1.45; }
.cad-mairie-ligne::before { font-family: dashicons; position: absolute; left: 0; top: 0; font-size: 17px; opacity: .9; }
.cad-adresse::before { content: "\f230"; }
.cad-tel::before { content: "\f525"; }
.cad-mail::before { content: "\f465"; }
.cad-mairie a, .cad-commune-retour a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.cad-mairie a:hover, .cad-commune-retour a:hover, .cad-mairie a:focus, .cad-commune-retour a:focus { text-decoration-thickness: 2px; }
.cad-horaires { list-style: none; margin: 10px 0 0; padding: 10px 0 0 26px; border-top: 1px solid rgba(255,255,255,.2); position: relative; font-size: 13px; line-height: 1.6; }
.cad-horaires::before { content: "\f469"; font-family: dashicons; position: absolute; left: 0; top: 10px; font-size: 17px; opacity: .9; }
.cad-horaires li { margin: 0; }
.cad-commune-retour { margin: 0; font-size: 13px; }

/* ------------------------------------------------------------- Formulaire */
body.login.cad-login { padding-left: var(--cad-panneau); box-sizing: border-box; }
.cad-login #login { width: 360px; max-width: calc(100% - 40px); padding: 9vh 0 24px; }
/* Titre conservé pour les lecteurs d'écran ; le logo est dans le panneau. */
.cad-login #login h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cad-login .cad-intro {
    margin: 0 0 18px; padding: 0; border: 0; background: none; box-shadow: none;
    font-size: 15px; color: #50575e; text-align: center; line-height: 1.5;
}
.cad-login .cad-intro strong { display: block; font-size: 22px; color: #1d2327; font-weight: 600; margin-top: 2px; }
.cad-login #loginform, .cad-login #lostpasswordform, .cad-login #registerform, .cad-login #resetpassform {
    border: 0; border-radius: 14px; padding: 28px 28px 30px; margin-top: 0;
    box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 10px 30px rgba(15,23,42,.08);
}
.cad-login label { font-weight: 500; }
.cad-login input[type="text"], .cad-login input[type="password"], .cad-login input[type="email"] {
    border-radius: 8px; border-color: #c3c4c7; padding: 6px 12px; font-size: 18px;
}
.cad-login input[type="text"]:focus, .cad-login input[type="password"]:focus, .cad-login input[type="email"]:focus, .cad-login input[type="checkbox"]:focus {
    border-color: var(--cad-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--cad-accent) 35%, transparent); outline: 2px solid transparent;
}
.cad-login .button-primary, .cad-login .wp-core-ui .button-primary {
    background: var(--cad-accent); border-color: var(--cad-accent); border-radius: 8px;
    padding: 2px 22px; min-height: 40px; font-size: 15px; font-weight: 600; text-shadow: none; box-shadow: none;
}
.cad-login .button-primary:hover, .cad-login .button-primary:focus { background: #1d2327; border-color: #1d2327; }
.cad-login .forgetmenot { float: none; margin-bottom: 16px; }
.cad-login #loginform p.submit .button-primary { float: none; width: 100%; }
.cad-login .wp-pwd .button.wp-hide-pw { color: var(--cad-accent); }
.cad-login #nav, .cad-login #backtoblog { text-align: center; padding: 0; margin: 16px 0 0; }
.cad-login #nav a, .cad-login #backtoblog a { color: #50575e; }
.cad-login #nav a:hover, .cad-login #backtoblog a:hover { color: var(--cad-accent); }
.cad-login #backtoblog { display: none; } /* le lien de retour est dans le panneau */
.cad-login .message, .cad-login .notice, .cad-login #login_error { border-radius: 10px; border-left-color: var(--cad-accent); }
.cad-login #login_error { border-left-color: #d63638; }
.cad-login .language-switcher { padding-bottom: 12px; }
.cad-login .privacy-policy-page-link { margin: 12px 0; }

.cad-login .cad-aide { width: 360px; max-width: calc(100% - 40px); margin: 0 auto 32px; text-align: center; color: #50575e; font-size: 13px; line-height: 1.5; }
.cad-login .cad-aide p { margin: 0 0 6px; }
.cad-login .cad-aide a { color: var(--cad-accent); }
.cad-login .cad-cdc { font-size: 12px; color: #787c82; }

/* ------------------------------------------------------------- Écrans étroits */
@media (max-width: 900px) {
    body.login.cad-login { padding-left: 0; }
    .cad-login .cad-commune { position: relative; inset: auto; width: auto; min-height: 0; }
    .cad-commune-contenu { padding: 28px 24px 22px; max-width: none; }
    .cad-commune-logo { width: 72px; height: 72px; margin-bottom: 14px; border-radius: 12px; padding: 7px; }
    .cad-commune-nom { font-size: 28px; }
    .cad-commune-message { font-size: 14px; margin-bottom: 14px; }
    .cad-mairie { padding: 12px 14px; margin-bottom: 14px; }
    .cad-horaires { display: none; }
    .cad-login #login { padding-top: 28px; }
}
@media (prefers-reduced-motion: no-preference) {
    .cad-login #loginform { animation: cad-apparait .35s ease-out; }
    @keyframes cad-apparait { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}

/* Reconnexion dans une fenêtre de l'administration (session expirée) : formulaire seul. */
.interim-login.cad-login { padding-left: 0; }
.interim-login .cad-commune, .interim-login .cad-aide { display: none; }
