/* La page de connexion « photo + phrase du jour » (D-WA113). Chargée par filament/layouts/connexion.blade.php seulement. */
.nbt-cx { color-scheme: light; display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; background: var(--nbt-mist, #FAF9FA); color: var(--nbt-ink, #14121A); font-family: Outfit, system-ui, sans-serif; }
.nbt-cx-photo { position: sticky; top: 0; height: 100vh; overflow: hidden; background: var(--nbt-ink, #14121A); }
.nbt-cx-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.nbt-cx-photo::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 60%; pointer-events: none;
    background: linear-gradient(to top, rgba(10, 8, 14, .92) 0%, rgba(10, 8, 14, .78) 35%, rgba(10, 8, 14, 0) 100%); }
.nbt-cx-phrase { position: absolute; inset-inline: 0; bottom: 0; z-index: 2; padding: 40px; color: #fff; }
.nbt-cx-barre { width: 56px; height: 3px; background: var(--nbt-red, #C8102E); border-radius: 2px; margin-bottom: 18px; }
.nbt-cx-phrase p { margin: 0; font-weight: 700; font-size: 34px; line-height: 1.2; letter-spacing: -.01em; max-width: 30ch; text-wrap: balance; }
.nbt-cx-phrase small { display: block; margin-top: 16px; font-size: 14px; font-weight: 500; color: rgba(255, 255, 255, .88); }

.nbt-cx-cote { display: flex; justify-content: center; padding: 40px 24px; min-height: 100vh; outline: none; }
.nbt-cx-colonne { width: 100%; max-width: 400px; display: flex; flex-direction: column; min-height: calc(100vh - 80px); }
.nbt-cx-logo { height: 48px; width: auto; align-self: center; display: block; }
.nbt-cx-milieu { margin-block: auto; padding-block: 32px; }
.nbt-cx-aide { margin: 18px 0 0; text-align: center; color: var(--nbt-muted, #6B6570); font-size: 13.5px; }
.nbt-cx-pied { color: var(--nbt-muted, #6B6570); font-size: 12.5px; text-align: center; }

/* Le formulaire Filament, habillé (le mécanisme, y compris l'étape du code, reste celui de Filament). */
.nbt-cx-milieu .fi-simple-page-content { display: block; }
.nbt-cx-milieu .fi-simple-header { text-align: center; margin-bottom: 24px; }
.nbt-cx-milieu .fi-simple-header-heading { margin: 0 0 8px; font-weight: 800; font-size: 30px; letter-spacing: -.02em; line-height: 1.15; }
.nbt-cx-milieu .fi-simple-header-subheading { margin: 0; color: var(--nbt-muted, #6B6570); font-size: 14px; line-height: 1.5; }
.nbt-cx-milieu form { background: #fff; border-radius: 20px; padding: 24px; box-shadow: 0 1px 2px rgba(20, 18, 26, .04), 0 10px 30px rgba(20, 18, 26, .06); }
.nbt-cx-milieu .fi-btn.fi-color-primary { background: var(--nbt-red, #C8102E); color: #fff; min-height: 48px; border-radius: 12px; font-weight: 700; box-shadow: 0 6px 16px rgba(200, 16, 46, .28); }
.nbt-cx-milieu .fi-btn.fi-color-primary:hover { background: var(--nbt-red-deep, #A50D26); }
.nbt-cx-milieu .fi-input-wrp { border-radius: 12px; }
.nbt-cx-milieu a, .nbt-cx-milieu .fi-link { color: var(--nbt-red-deep, #A50D26); font-weight: 700; }
.nbt-cx-cote :focus-visible { outline: 3px solid var(--nbt-red, #C8102E); outline-offset: 2px; }

@media (max-width: 899px) {
    .nbt-cx { display: block; }
    .nbt-cx-photo { position: relative; height: 220px; }
    .nbt-cx-photo::after { height: 100%; background: linear-gradient(to top, rgba(10, 8, 14, .92) 0%, rgba(10, 8, 14, .55) 55%, rgba(10, 8, 14, 0) 100%); }
    .nbt-cx-phrase { padding: 16px 20px 18px; }
    .nbt-cx-barre { width: 40px; margin-bottom: 10px; }
    .nbt-cx-phrase p { font-size: 20px; }
    .nbt-cx-phrase small { margin-top: 8px; font-size: 12px; }
    .nbt-cx-cote { padding: 24px 20px 28px; min-height: 0; }
    .nbt-cx-colonne { min-height: 0; }
    .nbt-cx-milieu { margin-block: 0; padding-block: 24px; }
    .nbt-cx-milieu .fi-simple-header-heading { font-size: 26px; }
    .nbt-cx-milieu form { padding: 20px; }
}
