/* FALCON · Connexion, inscription, mot de passe · design du site officiel · v1 · 2026-11-04 */
:root, [data-theme="dark"], [data-theme="light"] {
  --cyan: #106c6c; --cyan-dark: #0b5353; --cyan-light: #a9e6e6; --gold: #b45309;
  --bg-primary: #fafaf8; --bg-secondary: #ffffff; --bg-dark: #1c405c;
  --text-primary: #0e1a1f; --text-secondary: #3b464c; --text-tertiary: #5a6469;
  --border-color: #d9d5cd; --card-bg: #ffffff;
  --gradient-cta: #0e1a1f; --radius-md: 14px;
  --auth-degrade: linear-gradient(125deg, #1c405c 0%, #18485c 48%, #106c6c 100%);
  --auth-titre: 'Bricolage Grotesque', 'Arial Black', system-ui, sans-serif;
  --auth-texte: 'Schibsted Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: light;
}
html, body { background: #fafaf8; }
body { font-family: var(--auth-texte); color: #0e1a1f; font-size: clamp(.95rem, .92rem + .12vw, 1rem); }
h1, h2, h3 { font-family: var(--auth-titre); letter-spacing: -.03em; }

.auth-page { grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); background: #fafaf8; }
.auth-brand { background: var(--auth-degrade); align-items: flex-start; justify-content: center; padding: clamp(40px, 6vw, 88px); border-radius: 0 clamp(28px, 3vw, 48px) clamp(28px, 3vw, 48px) 0; }
.auth-brand__video, .auth-brand__mesh { display: none; }
.auth-brand__back { top: 28px; left: clamp(40px, 6vw, 88px); color: #fff; font-size: clamp(.85rem, .83rem + .1vw, .92rem); }
.auth-brand__back:hover { text-decoration: underline; }
.auth-brand__content { text-align: left; max-width: 440px; width: 100%; }
.auth-brand__logo { margin-bottom: 36px; }
.auth-brand__logo img { margin: 0; height: 60px; }
.auth-brand__badge { background: rgba(255, 255, 255, .12); border: 0; color: #fff; font-weight: 600; margin-bottom: 18px; }
.auth-brand__title { font-size: clamp(2rem, 1.4rem + 2vw, 3.1rem); line-height: 1.04; margin-bottom: 26px; color: #fff; text-wrap: balance; }
.auth-brand__plans { justify-content: flex-start; gap: 8px; margin-bottom: 26px; }
.auth-brand__plan, .auth-brand__plan--solo, .auth-brand__plan--starter, .auth-brand__plan--pro, .auth-brand__plan--premium, .auth-brand__plan--trial { background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .45); animation: none; font-size: clamp(.82rem, .8rem + .08vw, .88rem); padding: 9px 16px; box-shadow: none; }
.auth-brand__plan { color: #fff !important; }
.auth-brand__plan:hover { transform: none; box-shadow: none; background: rgba(255, 255, 255, .12); }
.auth-brand__plan.plan-selected { background: #fff !important; color: #0e1a1f !important; border-color: #fff !important; font-size: clamp(.82rem, .8rem + .08vw, .88rem) !important; padding: 9px 16px !important; box-shadow: none !important; }
.auth-brand__pills { gap: 0; margin-bottom: 24px; }
.auth-brand__pill { background: none; border: 0; border-top: 1px solid rgba(255, 255, 255, .2); border-radius: 0; padding: 13px 0; color: #fff; font-size: clamp(.92rem, .9rem + .1vw, 1rem); text-align: left; }
.auth-brand__pill-icon { color: #a9e6e6; }
.auth-brand__trust { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: flex-start; color: #fff; font-size: clamp(.82rem, .8rem + .08vw, .88rem); }
.auth-brand > .auth-footer { position: absolute; left: clamp(40px, 6vw, 88px); right: 24px; bottom: 22px; text-align: left; color: rgba(255, 255, 255, .78); }
.auth-brand > .auth-footer a { color: #fff; }

.auth-form { background: #fafaf8; padding: clamp(32px, 5vw, 72px) clamp(20px, 5vw, 72px); }
.auth-form__inner { max-width: 460px; }
.auth-form__title { font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); line-height: 1.05; color: #0e1a1f; }
.auth-form__subtitle { color: #3b464c; font-size: clamp(1rem, .97rem + .16vw, 1.08rem); line-height: 1.5; }
.auth-form__subtitle strong { color: #0e1a1f; }
.auth-form__step { background: #d9f1f5; border: 0; color: #063f4a; font-weight: 600; }
.form-label { color: #0e1a1f; font-weight: 600; }
.form-input, .form-select, input.form-input { background: #fff; color: #0e1a1f; border: 1px solid #d9d5cd; border-radius: 14px; min-height: 52px; font-family: var(--auth-texte); font-size: 16px; }
.form-input::placeholder { color: #6b7479; }
.form-input:focus { border-color: #106c6c; box-shadow: 0 0 0 3px rgba(16, 108, 108, .16); outline: none; }
.form-icon, .password-toggle { color: #5a6469; }
.form-hint { color: #5a6469; }
.forgot-link, .switch-link a, .form-group a, .form-check a { color: #106c6c; font-weight: 600; }
.switch-link { color: #3b464c; }
.auth-submit { background: #0e1a1f; color: #fff; border-radius: 999px; min-height: 54px; box-shadow: none; font-family: var(--auth-texte); font-weight: 600; transition: transform .25s cubic-bezier(.22, 1, .36, 1), background .2s; }
.auth-submit:hover { background: #1f2f36; box-shadow: none; transform: none; }
.auth-submit:active { transform: scale(.98); }
.auth-submit--secondary { background: #fff; color: #0e1a1f; box-shadow: inset 0 0 0 1px #0e1a1f; }
.auth-submit--secondary:hover { background: #0e1a1f; color: #fff; box-shadow: none; }
.login-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; border-radius: 12px; }
.login-success { background: #e8f6f1; color: #0b5353; border: 1px solid #bfe6d8; border-radius: 12px; }
.reassure-box { background: #fff; border: 1px solid #e3e0da; border-radius: 16px; color: #3b464c; }
.reassure-box strong { color: #0e1a1f; }
.reassure-box svg { color: #106c6c; }
.step-dot { background: #fff; color: #5a6469; border-color: #d9d5cd; }
.step-dot.active { background: #0e1a1f; color: #fff; border-color: #0e1a1f; box-shadow: none; }
.step-dot.done { background: #106c6c; color: #fff; border-color: #106c6c; }
.step-line { background: #d9d5cd; }
.step-line.done { background: #106c6c; }
.step-label { color: #5a6469; }
.auth-footer--form { color: #5a6469; }
.auth-footer--form a { color: #0e1a1f; }
.addon-card { background: #fff; border-color: #e3e0da; border-radius: 16px; }
.addon-total { background: #fff; border-color: #e3e0da; border-radius: 16px; }
.addon-total__amount { color: #0e1a1f; }
input[type="checkbox"] { accent-color: #106c6c; }

@media (max-width: 980px) {
  .auth-page { grid-template-columns: minmax(0, 1fr); }
  .auth-brand { border-radius: 0 0 28px 28px; padding: 72px 20px 28px; min-height: 0; }
  .auth-brand__back { left: 20px; top: 20px; }
  .auth-brand__logo { margin-bottom: 18px; }
  .auth-brand__logo img { height: 46px; }
  .auth-brand__title { font-size: clamp(1.7rem, 1.3rem + 2.2vw, 2.3rem); margin-bottom: 14px; }
  .auth-brand__pills, .auth-brand__trust, .auth-brand > .auth-footer { display: none; }
  .auth-brand__plans { margin-bottom: 0; }
  .auth-form { padding: 28px 20px 40px; }
}
@media (prefers-reduced-motion: reduce) { .auth-submit { transition: none; } }

/* Mot de passe oublié et nouveau mot de passe (pages WordPress) */
body.login { background: #fafaf8; font-family: var(--auth-texte); color: #0e1a1f; position: relative; min-height: 100vh; }
body.login::before { content: ''; position: absolute; inset: 0 0 auto; height: min(300px, 42vh); background: var(--auth-degrade); border-radius: 0 0 clamp(28px, 3vw, 48px) clamp(28px, 3vw, 48px); }
body.login #login { position: relative; width: min(420px, 100% - 40px); padding: clamp(28px, 6vh, 56px) 0 40px; }
body.login h1 a { background: #fff url('https://falcon-referencement.fr/assets/presse/logo-falcon.png') center / 118px auto no-repeat; width: 168px; height: 72px; border-radius: 999px; margin: 0 auto 26px; }
body.login form, body.login .message, body.login .notice, body.login #login_error { border: 0; border-radius: 16px; box-shadow: inset 0 0 0 1px #e3e0da; background: #fff; color: #3b464c; }
body.login form { padding: 26px; margin-top: 14px; }
body.login .message, body.login .notice { border-left: 0; }
body.login label { color: #0e1a1f; font-weight: 600; font-size: clamp(.88rem, .85rem + .12vw, .95rem); }
body.login input[type="text"], body.login input[type="password"], body.login input[type="email"] { min-height: 52px; border: 1px solid #d9d5cd; border-radius: 14px; background: #fff; color: #0e1a1f; font-size: 16px; box-shadow: none; padding: 10px 14px; }
body.login input:focus { border-color: #106c6c; box-shadow: 0 0 0 3px rgba(16, 108, 108, .16); outline: none; }
body.login .button-primary { background: #0e1a1f; border: 0; border-radius: 999px; min-height: 50px; padding: 0 24px; font-weight: 600; font-size: clamp(.95rem, .92rem + .12vw, 1rem); box-shadow: none; text-shadow: none; width: 100%; float: none; margin-top: 8px; }
body.login .button-primary:hover, body.login .button-primary:focus { background: #1f2f36; box-shadow: none; }
body.login .button.wp-hide-pw { color: #5a6469; }
body.login #nav, body.login #backtoblog { text-align: center; padding: 0; margin-top: 16px; font-size: clamp(.88rem, .85rem + .12vw, .95rem); }
body.login #nav a, body.login #backtoblog a { color: #106c6c; font-weight: 600; }
body.login .language-switcher, body.login .privacy-policy-page-link { display: none; }
body.login .pw-weak { display: block; }

/* Essai sans carte : pas de choix d'offre à l'inscription */
.auth-page--trial #planSelector, .auth-page--trial #planHint { display: none; }
.trial-reassure { color: #3b464c; }
