/* =========================================================
   SALAM BUSINESS — Pages d'authentification (connexion / inscription)
   Layout immersif deux panneaux, indépendant du header/footer du site.
   ========================================================= */
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#0e0c09;--ink2:#1a1611;--ink-soft:#2a241c;
  --gold:#b8862f;--gold-light:#e8c46b;--gold-deep:#8c6420;--gold-pale:#f7eed9;
  --gold-line:linear-gradient(90deg,rgba(184,134,47,0) 0%,#b8862f 18%,#e8c46b 50%,#b8862f 82%,rgba(184,134,47,0) 100%);
  --green:#173a2c;--green-light:#2f5c46;
  --text:#1c1812;--muted:#79705f;--border:#e9e2d2;--bg:#faf7f0;--white:#ffffff;
  --radius:14px;--radius-sm:9px;
  --shadow-sm:0 2px 10px rgba(20,16,10,0.05);
  --shadow-md:0 14px 36px rgba(20,16,10,0.10);
  --shadow-lg:0 30px 70px rgba(20,16,10,0.22);
  --serif:'Georgia','Iowan Old Style','Times New Roman',serif;
  --sans:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  --danger:#b3402f;--danger-bg:#fdecea;
}
html,body{height:100%;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}

.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);}

/* ===== PANNEAU VISUEL (gauche) ===== */
.auth-visual{
  position:relative;background:radial-gradient(130% 110% at 20% 10%,#1c1610 0%,var(--ink) 55%,#070605 100%);
  color:var(--white);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;
  padding:48px 52px;
}
.auth-visual-motif{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0.9;}

.auth-visual-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;}
.auth-brand{display:flex;flex-direction:column;text-decoration:none;color:inherit;}
.auth-brand .name{font-family:var(--serif);font-size:22px;font-weight:700;letter-spacing:0.12em;color:var(--white);}
.auth-brand .tag{font-size:9px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold-light);margin-top:4px;}
.auth-back{font-size:12px;color:#c4bca8;text-decoration:none;display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--ink-soft);border-radius:30px;transition:all .2s;}
.auth-back:hover{border-color:var(--gold);color:var(--gold-light);}

.auth-visual-mid{position:relative;z-index:2;max-width:380px;}
.auth-visual-eyebrow{font-size:11px;font-weight:700;color:var(--gold-light);letter-spacing:0.26em;text-transform:uppercase;margin-bottom:18px;}
.auth-visual-mid h2{font-family:var(--serif);font-size:34px;line-height:1.25;font-weight:700;letter-spacing:-0.01em;margin-bottom:18px;}
.auth-visual-mid h2 em{color:var(--gold-light);font-style:italic;}
.auth-visual-mid p{font-size:14.5px;color:#c4bca8;line-height:1.75;}

.auth-visual-bottom{position:relative;z-index:2;display:flex;gap:28px;flex-wrap:wrap;}
.auth-stat{display:flex;flex-direction:column;gap:4px;}
.auth-stat .num{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--gold-light);}
.auth-stat .lbl{font-size:11px;color:#a39a87;letter-spacing:0.06em;text-transform:uppercase;}

/* ===== PANNEAU FORMULAIRE (droite) ===== */
.auth-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 56px;background:var(--bg);}
.auth-form-wrap{width:100%;max-width:400px;}
.auth-mobile-brand{display:none;}

/* ===== ONGLETS BASCULE INSCRIPTION / CONNEXION ===== */
.gate-tabs{display:flex;background:var(--white);border:1px solid var(--border);border-radius:30px;padding:5px;margin-bottom:30px;box-shadow:var(--shadow-sm);}
.gate-tab{flex:1;background:none;border:none;padding:12px 10px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;border-radius:26px;transition:all .2s;letter-spacing:0.02em;font-family:inherit;}
.gate-tab.active{background:var(--ink);color:var(--gold-light);box-shadow:var(--shadow-sm);}

.auth-eyebrow{font-size:11px;font-weight:700;color:var(--gold-deep);letter-spacing:0.22em;text-transform:uppercase;margin-bottom:10px;}
.auth-form-wrap h1{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em;}
.auth-sub{font-size:13.5px;color:var(--muted);margin-bottom:32px;line-height:1.6;}

.auth-form{display:flex;flex-direction:column;gap:18px;}
.auth-form .form-row{display:flex;gap:14px;}
.form-group{flex:1;display:flex;flex-direction:column;gap:7px;}
.form-group label{font-size:12px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:0.05em;}
.optional-tag{text-transform:none;font-weight:400;color:var(--muted);letter-spacing:0;font-size:11.5px;}

.input-wrap{position:relative;display:flex;align-items:center;}
.input-wrap i{position:absolute;left:15px;font-size:17px;color:var(--gold-deep);pointer-events:none;}
.input-wrap input{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px 13px 42px;font-size:14.5px;font-family:inherit;color:var(--text);background:var(--white);outline:none;transition:border-color .18s,box-shadow .18s;}
.input-wrap input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-pale);}
.input-wrap .toggle-pass{position:absolute;right:13px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:17px;padding:4px;display:flex;}
.input-wrap .toggle-pass:hover{color:var(--ink);}

.field-error{color:var(--danger);font-size:12px;margin-top:1px;}
.alert-error{background:var(--danger-bg);border:1px solid #f3c2bc;color:var(--danger);padding:13px 16px;border-radius:var(--radius-sm);font-size:13px;margin-bottom:20px;display:flex;align-items:center;gap:8px;}

.pw-strength{display:flex;gap:4px;margin-top:6px;}
.pw-strength span{flex:1;height:3px;border-radius:2px;background:var(--border);transition:background .2s;}

.btn-auth-submit{width:100%;background:var(--ink);color:var(--gold-light);border:none;border-radius:30px;padding:16px;font-size:13.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;margin-top:4px;transition:all .25s;box-shadow:var(--shadow-sm);}
.btn-auth-submit:hover{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:var(--ink);box-shadow:var(--shadow-md);transform:translateY(-1px);}
.btn-auth-submit:active{transform:translateY(0);}

.auth-switch{text-align:center;font-size:13.5px;color:var(--muted);margin-top:28px;}
.auth-switch a{color:var(--gold-deep);font-weight:700;text-decoration:none;}
.auth-switch a:hover{text-decoration:underline;}

.auth-divider{display:flex;align-items:center;gap:12px;margin:28px 0;color:var(--muted);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}

.auth-trust{display:flex;gap:18px;margin-top:24px;flex-wrap:wrap;justify-content:center;}
.auth-trust-item{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);}
.auth-trust-item i{color:var(--gold-deep);font-size:15px;}

/* ===== RESPONSIVE ===== */
@media(max-width:980px){
  .auth-shell{grid-template-columns:1fr;}
  .auth-visual{display:none;}
  .auth-form-panel{padding:0;}
  .auth-form-wrap{max-width:480px;padding:36px 26px 48px;}
  .auth-mobile-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:32px 20px 22px;background:radial-gradient(130% 160% at 50% -10%,#1c1610 0%,var(--ink) 60%,#070605 100%);color:var(--white);text-decoration:none;position:relative;}
  .auth-mobile-brand::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold-line);}
  .auth-mobile-brand .name{font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:0.12em;}
  .auth-mobile-brand .tag{font-size:9px;letter-spacing:0.26em;text-transform:uppercase;color:var(--gold-light);}
  .auth-mobile-brand .back-link{position:absolute;top:18px;left:18px;font-size:12px;color:#c4bca8;text-decoration:none;display:flex;align-items:center;gap:5px;}
  .auth-form-wrap{margin:0 auto;}
}
@media(max-width:460px){
  .auth-form-wrap{padding:30px 20px 40px;}
  .auth-form-wrap h1{font-size:26px;}
  .auth-form .form-row{flex-direction:column;gap:18px;}
  .auth-trust{gap:12px;}
}
