@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root {
    --page-login-bg: #E2DCD3;
    --page-login-form-bg: #FCFBF9;
    --font-family-base: 'Libre Baskerville', serif;
}
.login-wrapper .form-widget input {
    font-family: "Open Sans", sans-serif;
}
.form-group label {
    text-transform: uppercase; opacity: 0.8; letter-spacing: 1.5px;
}
/* Espace partenaires : label sous le logo. Marges posées par Bootstrap dans le template. Police en dur car ici
   --font-family-base vaut Libre Baskerville ; couleur en --gray-800, ce que --form-label-color résout sur ces
   écrans (admin.css, qui la surcharge en SaddleBrown, n'y est pas chargé). */
.brand-tagline {
    font-family: "Open Sans", sans-serif; font-size: 18px; letter-spacing: 1px; color: var(--gray-800); opacity: 0.8;
}
.btn-primary, .btn-primary:not(:disabled):not(.disabled):not(.btn-link):not(.btn-danger):active,
.btn-primary:not(:disabled):not(.disabled):not(.btn-link):not(.btn-danger):active:focus,
.btn-primary:not(:disabled):not(.disabled):not(.btn-link):not(.btn-danger):focus,
.btn-primary:not(:disabled):not(.disabled):not(.btn-link):not(.btn-danger):hover {
    --button-primary-bg: #000;
    --bs-btn-bg: #000;
    --bs-btn-border-color: #000;
    --bs-btn-hover-bg: #444;
    --bs-btn-hover-border-color: #444;
    --bs-btn-active-bg: #000;
    --bs-btn-active-border-color: #000;
    --bs-btn-disabled-bg: #000;
    --bs-btn-disabled-border-color: #000;
    --bs-btn-font-family: "Open Sans", sans-serif;
    --bs-btn-line-height: 2.5;
}
button {
    width: 100%;
    text-transform: uppercase;
}
/* Login / reset screens: text links match the surrounding (dimmed) text — same colour and 0.8 opacity as the titles —
   underline on hover only (no colour/opacity change). Button-styled links (a.btn) keep the full black button look. */
.login-wrapper a:not(.btn) { color: inherit; opacity: 0.8; text-decoration: none; }
.login-wrapper a:not(.btn):hover { color: inherit; opacity: 0.8; text-decoration: underline; }
.login-wrapper a.btn { width: 100%; text-transform: uppercase; }
/* Lead/description text on the reset screens: same dimmed weight as the field titles (opacity 0.8) */
.login-wrapper section.content > p { opacity: 0.8; }

/*html, body { height: 100%; }*/
/*.form-signin { max-width: 330px; padding: 1rem; }*/
/*.form-signin .form-floating:focus-within { z-index: 2; }*/
/*.form-signin input[type="email"] { margin-bottom: -1px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }*/
/*.form-signin input[type="password"] { margin-bottom: 10px; border-top-left-radius: 0; border-top-right-radius: 0; }*/
/*.form-signin h1 {*/
/*    font-family: 'Libre Baskerville', serif; font-size: 17px;*/
/*    letter-spacing: 2px; text-transform: uppercase;*/
/*}*/
/*.form-signin button { text-transform: uppercase; }*/
/* ==== Language selector (pre-auth screens): current-flag dropdown, absolute at the content card's bottom-right,
   so it takes no space in the flow. Native <details>, no JS; the menu opens upward. ==== */
.login-wrapper section.content { position: relative; }
.login-language-selector {
    position: absolute;
    right: 10px;
    bottom: 10px;
}
.login-language-selector > summary {
    list-style: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 6px;
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    line-height: 0;
}
.login-language-selector > summary::-webkit-details-marker { display: none; }
.login-language-selector > summary::marker { content: ''; }
.login-language-selector > summary i { font-size: 11px; line-height: 1; color: #888; }
.login-language-selector img { display: block; border-radius: 2px; box-shadow: 0 0 2px rgba(0, 0, 0, 0.2); }
.login-lang-menu {
    position: absolute;
    right: 0;
    bottom: calc(100% + 5px);
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 4px;
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 4px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
    white-space: nowrap;
    z-index: 10;
}
.login-wrapper .login-lang-menu a:not(.btn) {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 13px;
    font-family: "Open Sans", sans-serif;
    opacity: 1;
}
.login-wrapper .login-lang-menu a:not(.btn):hover { background: #f1efec; text-decoration: none; }
