/* LilBooking theme for the account pages (login, sign-up, password...).
   Loaded after style.css: turns the dark "glass" card into the white
   home-page look (navy #0a2d63, lime #8cbf1f). */
:root { --lb-navy:#0a2d63; --lb-navy-2:#0f3f86; --lb-lime:#8cbf1f; --lb-lime-d:#78a614; --lb-ink:#16213b; --lb-muted:#5d6b82; --lb-line:#e3e8f0; --lb-soft:#f4f7fb; }
body.lb-auth { display:block; height:auto; min-height:100vh; background:var(--lb-soft) !important; }
body.lb-auth * { color:inherit; }
body.lb-auth { color:var(--lb-ink); }

.lba-top { background:#fff; box-shadow:0 1px 0 var(--lb-line); display:flex; align-items:center; justify-content:space-between; padding:10px 40px; }
.lba-logo img { height:52px; display:block; }
.lba-back { color:var(--lb-navy) !important; text-decoration:none; font-weight:500; display:flex; align-items:center; gap:6px; font-size:15px; }
.lba-back i { font-size:22px; color:var(--lb-navy) !important; }

.lba-main { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr); min-height:calc(100vh - 73px); }
.lba-brand { position:relative; color:#fff;
    background: linear-gradient(160deg, rgba(10,45,99,.96) 0%, rgba(13,58,120,.86) 45%, rgba(13,58,120,.35) 100%), var(--lba-img) 70% center / cover no-repeat, #0c2e62; }
.lba-brand-in { position:sticky; top:0; padding:70px 56px; max-width:560px; }
.lba-brand h1 { color:#fff !important; font-size:clamp(2rem, 3vw, 2.8rem); font-weight:700; line-height:1.1; letter-spacing:-.02em; margin:0; }
.lba-underline { display:block; width:64px; height:6px; border-radius:6px; background:var(--lb-lime); margin:18px 0 26px; }
.lba-brand ul { list-style:none; padding:0; margin:0; }
.lba-brand li { color:#fff !important; display:flex; align-items:center; gap:12px; font-size:16px; margin-bottom:14px; }
.lba-brand li i { color:var(--lb-lime) !important; font-size:22px; }

.lba-form { display:flex; align-items:flex-start; justify-content:center; padding:48px 24px 60px; }
body.lb-auth .container { height:auto !important; min-height:0 !important; width:100%; max-width:480px; background:#fff; border:1px solid var(--lb-line);
    border-radius:18px; backdrop-filter:none; box-shadow:0 22px 50px rgba(10,45,99,.12); padding:34px 36px; display:block; }
body.lb-auth .container .form-box { display:block; max-height:none !important; overflow:visible !important; }
body.lb-auth .container .form-box form { width:100%; }
body.lb-auth .container .form-box h2 { color:var(--lb-navy); font-size:28px; font-weight:700; text-align:left; margin-bottom:6px; }
body.lb-auth .container .form-box h2 span { color:var(--lb-navy); }
body.lb-auth .container .form-box .input-box { width:100%; margin:26px 0; border-bottom:1.5px solid var(--lb-line); }
body.lb-auth .container .form-box .input-box:focus-within { border-bottom-color:var(--lb-navy); }
body.lb-auth .container .form-box .input-box.error { border-bottom-color:#e5484d; }
body.lb-auth .container .form-box .input-box input,
body.lb-auth .container .form-box .input-box select,
body.lb-auth .container .form-box .input-box .phone-number-input,
body.lb-auth .container .form-box .input-box .agency-type-input,
body.lb-auth .container .form-box .input-box .country-select { color:var(--lb-ink) !important; -webkit-text-fill-color:var(--lb-ink); font-size:15px; }
body.lb-auth .container .form-box .input-box label { color:var(--lb-muted); font-size:14px; }
body.lb-auth .container .form-box .input-box input:focus ~ label,
body.lb-auth .container .form-box .input-box input:valid ~ label { color:var(--lb-navy); font-size:12px; font-weight:500; }
body.lb-auth .container .form-box .input-box i { color:var(--lb-navy); }
body.lb-auth .container .form-box .input-box input[type=file] { padding-top:8px; height:auto; }
body.lb-auth .container .form-box .message, body.lb-auth p.message { background:var(--lb-soft); border-radius:10px; padding:10px 12px; font-size:14px; }
body.lb-auth .container .form-box .message.info { color:var(--lb-navy-2) !important; }
body.lb-auth .container .form-box .message.success { color:#3f7c0a !important; }
body.lb-auth .container .form-box .message.error, body.lb-auth .error-message { color:#d1343a !important; }
body.lb-auth .container .form-box .message.warning { color:#9a6400 !important; }
body.lb-auth .container .form-box .forget-section { margin:-8px 0 18px; font-size:14px; color:var(--lb-muted); }
body.lb-auth .container .form-box .forget-section p input { accent-color:var(--lb-navy); }
body.lb-auth a { color:var(--lb-navy-2); }
body.lb-auth .container .form-box .btn { background:var(--lb-lime); border:0; border-radius:10px; height:52px; color:#fff !important; font-weight:600; letter-spacing:.2px; box-shadow:0 8px 18px rgba(140,191,31,.3); }
body.lb-auth .container .form-box .btn:hover { background:var(--lb-lime-d); }
body.lb-auth .container .form-box .btn a, body.lb-auth .container .form-box .btn * { color:#fff !important; }
body.lb-auth .google-btn { background:#fff !important; border:1px solid var(--lb-line) !important; color:var(--lb-ink) !important; border-radius:10px !important; height:50px !important; box-shadow:none !important; }
body.lb-auth .google-btn span { color:var(--lb-ink) !important; font-weight:500; }
body.lb-auth .google-btn i { color:#ea4335 !important; font-size:22px; }
body.lb-auth .google-btn:hover { border-color:var(--lb-navy) !important; }
body.lb-auth .social-login-section .separator { color:var(--lb-muted) !important; opacity:1 !important; }
body.lb-auth .social-login-section .separator::before, body.lb-auth .social-login-section .separator::after { background:var(--lb-line) !important; }
body.lb-auth .container .form-box .account-creation { color:var(--lb-muted); }
body.lb-auth .container .form-box .account-creation a { color:var(--lb-navy-2); font-weight:600; }
body.lb-auth .h2-success, body.lb-auth .icon-success { color:#5f8f0e !important; }
body.lb-auth .h2-failed, body.lb-auth .icon-failed { color:#d1343a !important; }
body.lb-auth .h2-pending, body.lb-auth .icon-pending { color:var(--lb-navy-2) !important; }
body.lb-auth option { color:var(--lb-ink); }

@media (max-width: 991px) {
    .lba-main { grid-template-columns:1fr; min-height:0; }
    .lba-brand-in { padding:28px 20px; }
    .lba-brand h1 { font-size:1.6rem; }
    .lba-brand ul { display:none; }
    .lba-underline { margin:12px 0 0; }
    .lba-form { padding:0 12px 40px; margin-top:-18px; }
    .lba-top { padding:8px 16px; }
    .lba-logo img { height:42px; }
    body.lb-auth .container { padding:24px 20px; width:100% !important; }
    body.lb-auth .container .form-box .input-box { width:100% !important; }
}

/* wide variant (company / agency sign-up: two-column form) */
.lba-band { background:linear-gradient(90deg, #0a2d63 0%, #0f3f86 100%); color:#fff; }
.lba-band-in { max-width:1080px; margin:0 auto; padding:34px 24px 90px; }
.lba-band h1 { color:#fff !important; font-size:clamp(1.6rem, 2.6vw, 2.3rem); font-weight:700; margin:0; }
.lba-band .lba-underline { margin:14px 0 12px; }
.lba-band p { color:#dce6f5 !important; margin:0; font-size:15px; }
.lba-wide { max-width:1080px; margin:-64px auto 50px; padding:0 16px; }
body.lb-auth-wide .container { max-width:none; width:100% !important; height:auto !important; overflow:visible; }
body.lb-auth-wide .container .form-box .input-box { margin:22px 0; }
body.lb-auth-wide h3 { color:var(--lb-navy) !important; }
body.lb-auth-wide .form-content { max-height:none !important; overflow:visible !important; }
html { background:var(--lb-soft); }

/* registration: « Agence ou entreprise ? » professional account button (blue twin of the green one) */
body.lb-auth .lba-pro { margin-top:22px; text-align:center; width:100%; }
body.lb-auth .lba-pro .separator { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:.9em; color:var(--lb-muted); }
body.lb-auth .lba-pro .separator::before, body.lb-auth .lba-pro .separator::after { content:""; flex:1; height:1px; background:var(--lb-line); }
body.lb-auth .lba-pro-btn { position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:52px;
    border-radius:10px; background:linear-gradient(135deg, var(--lb-navy) 0%, var(--lb-navy-2) 100%); color:#fff !important;
    font-weight:600; letter-spacing:.2px; text-decoration:none !important; box-shadow:0 8px 18px rgba(10,45,99,.28); transition:transform .15s, box-shadow .15s, filter .15s; }
body.lb-auth .lba-pro-btn:hover { filter:brightness(1.12); transform:translateY(-1px); box-shadow:0 10px 22px rgba(10,45,99,.34); }
body.lb-auth .lba-pro-btn i { font-size:21px; color:var(--lb-lime) !important; }
body.lb-auth .lba-pro-btn span { color:#fff !important; }
body.lb-auth .lba-pro-tag { font-style:normal; font-size:10.5px; font-weight:700; letter-spacing:.08em; padding:3px 7px; border-radius:6px;
    background:var(--lb-lime); color:var(--lb-navy) !important; }
body.lb-auth .lba-pro-note { display:block; margin-top:8px; font-size:.82em; color:var(--lb-muted); }

/* registration form: compact (passwords side by side, tighter spacing, one-line footer) */
body.lb-auth .lb-reg h2 { margin-bottom:4px; }
body.lb-auth .lb-reg > p:first-of-type { margin-bottom:4px; }
body.lb-auth .container .form-box .lb-reg .input-box { margin:20px 0; }
body.lb-auth .lb-reg-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
body.lb-auth .lb-reg-row .input-box { min-width:0; }
body.lb-auth .container .form-box .lb-reg .forget-section { margin:6px 0 14px; }
body.lb-auth .lb-reg .social-login-section { margin-top:16px; }
body.lb-auth .lb-reg .social-login-section .separator { margin-bottom:10px; }
body.lb-auth .lb-reg .lba-pro { margin-top:14px; }
body.lb-auth .lb-reg .lba-pro .separator { margin-bottom:10px; }
body.lb-auth .lb-reg-foot { margin-top:16px; text-align:center; }
body.lb-auth .lb-reg-foot p { margin:0 0 6px; font-size:14px; line-height:1.5; }
body.lb-auth .lb-reg-foot .lb-reg-links { font-size:12.5px; }
body.lb-auth .lb-reg-foot .lb-reg-links a { font-weight:500; color:var(--lb-muted) !important; text-decoration:underline; }
@media (max-width: 420px) { body.lb-auth .lb-reg-row { gap:12px; } }
body.lb-auth .lb-reg-row { margin:-20px 0; }
body.lb-auth .container .form-box .lb-reg-foot { margin-top:14px; }

/* the last field must never touch or leave the white card (wide screens, long forms) */
body.lb-auth .container .form-box { padding-bottom:40px !important; }
body.lb-auth .container { height:auto !important; max-height:none !important; overflow:visible !important; }

/* pro sign-up: photo background, text on the left, white card on the right */
body.lb-auth.lb-auth-hero { background:linear-gradient(90deg, rgba(10,37,69,.96) 0 44%, rgba(10,37,69,.55) 100%), var(--lbh-img) center/cover no-repeat, #0B2545 !important; }
html:has(body.lb-auth-hero) { background:#0B2545; }
.lbh { display:grid; grid-template-columns:clamp(300px,28vw,520px) minmax(0,1fr); gap:clamp(32px,4vw,90px); max-width:none; width:100%; margin:0; padding:clamp(24px,3.5vw,64px) clamp(24px,4vw,90px) 60px; align-items:start; justify-content:center; }
.lbh-text { color:#fff; position:sticky; top:40px; padding-top:10px; }
.lbh-text .lba-logo img { height:52px; background:#fff; border-radius:10px; padding:6px 10px; }
.lbh-text h1 { text-align:left; text-shadow:none; color:#fff !important; font-size:clamp(2rem,3vw,2.7rem); line-height:1.15; font-weight:700; margin:34px 0 14px; }
.lbh-text p { color:#dce6f5 !important; font-size:16px; line-height:1.7; margin:0; }
.lbh-text ul { list-style:none; padding:0; margin:26px 0 30px; }
.lbh-text li { color:#fff !important; display:flex; align-items:center; gap:10px; margin:12px 0; font-size:15px; }
.lbh-text li i { color:var(--lb-lime) !important; font-size:22px; }
.lbh-text .lba-back { color:#fff !important; opacity:.85; }
.lbh-text .lba-back i { color:#fff !important; }
body.lb-auth-hero .lba-wide { margin:0; padding:0; max-width:none; }
body.lb-auth-hero .container { background:#fff; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.45); padding:34px 38px; }
@media (max-width:960px) {
    .lbh { grid-template-columns:1fr; gap:24px; padding:20px 14px 40px; }
    .lbh-text { position:static; }
    .lbh-text ul { display:none; }
    .lbh-text h1 { margin-top:20px; }
    body.lb-auth-hero .container { padding:22px 18px; }
}
body.lb-auth-hero .form-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:34px; }
@media (max-width:700px){ body.lb-auth-hero .form-grid { grid-template-columns:minmax(0,1fr); gap:6px; } }

.lbp-logo { display:inline-flex; align-items:center; gap:10px; background:#fff; border-radius:10px; padding:6px 12px 6px 10px; text-decoration:none; }
.lbh-text .lbp-logo img { background:none; padding:0; border-radius:0; height:46px; }
.lbh-pro { background:var(--lb-lime); color:#0B2545; font-weight:800; font-size:15px; letter-spacing:.08em; padding:4px 10px; border-radius:7px; line-height:1.2; }
body.lb-auth.lb-auth-hero { padding:0 !important; margin:0; }
