/* ============================================================
   BEST MOBILIER — espace client et authentification
   ============================================================ */

/* ---------- Pages d'authentification ---------- */
.connexion{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.connexion-visuel{background:linear-gradient(200deg,#3B4C37,#1D281C);display:grid;place-items:center;padding:40px}
.connexion-visuel svg{width:70%;max-width:420px;height:auto;color:var(--sable);opacity:.85}
.connexion-form{display:flex;flex-direction:column;justify-content:center;
  padding:44px clamp(24px,6vw,72px);max-width:640px;width:100%}
.connexion-form h1{font-family:var(--serif);font-size:clamp(34px,4vw,44px);line-height:1.05;margin-bottom:10px}
.connexion-form .intro{color:#697362;margin-bottom:28px;font-size:15.5px;line-height:1.6;max-width:44ch}
.liens-auth{margin-top:24px;font-size:14.5px;color:#697362}
.liens-auth a{border-bottom:1px solid var(--trait)}
.liens-auth a:hover{color:var(--laiton)}
.liens-auth span{margin:0 8px;opacity:.4}

/* ---------- Champs ---------- */
.champ-c{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}
.champ-c label{font-size:13.5px;font-weight:700}
.champ-c input,.champ-c select{
  padding:14px 16px;border:1.5px solid var(--trait);border-radius:10px;background:#fff;
  font-size:16px;width:100%;
}
.champ-c select{-webkit-appearance:none;appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A6B52' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center}
.champ-c input:focus,.champ-c select:focus{border-color:var(--vert);outline:none}
.champ-c small{font-size:12.5px;color:#8b9384;line-height:1.5}
.grille-c{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grille-c .large{grid-column:span 2}

/* ---------- Messages ---------- */
.flash-c{padding:13px 17px;border-radius:10px;font-size:14.5px;font-weight:600;margin-bottom:20px;line-height:1.55}
.flash-c.ok{background:var(--vert-pale);color:var(--vert)}
.flash-c.ko{background:var(--prix-clair);color:var(--prix)}
.flash-c ul{margin:0;padding-left:18px}

/* ---------- Espace client ---------- */
.compte{display:grid;grid-template-columns:250px 1fr;gap:38px;padding:10px 0 80px;align-items:start}
.compte-nav{display:grid;gap:2px;position:sticky;top:92px}
.compte-id{padding:0 0 18px;margin-bottom:10px;border-bottom:1px solid var(--trait)}
.compte-id b{display:block;font-size:16px}
.compte-id span{display:block;font-size:13.5px;color:#697362;margin-top:2px;word-break:break-all}
.compte-nav a,.compte-nav button{
  display:block;text-align:left;padding:11px 14px;border-radius:10px;
  font-size:15px;font-weight:600;color:var(--vert-nuit);
}
.compte-nav a:hover,.compte-nav button:hover{background:var(--sable-clair)}
.compte-nav a.actif{background:var(--vert-nuit);color:var(--sable-clair)}
.compte-nav button{color:var(--prix);width:100%}

.compte-titre{font-family:var(--serif);font-size:clamp(30px,3.6vw,42px);line-height:1.05}
.compte-sous{color:#697362;font-size:15px;margin-top:6px}
.compte-corps{min-width:0}
.compte-vide{padding:60px 24px;text-align:center;background:var(--sable-clair);border-radius:var(--r-m);margin-top:24px}
.compte-vide p{margin-bottom:20px;color:#697362;font-size:16px}

/* ---------- Cartes commande ---------- */
.cmd-carte{border:1px solid var(--trait);border-radius:var(--r-m);background:#fff;margin-top:18px;overflow:hidden}
.cmd-carte header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 20px;border-bottom:1px solid var(--trait);background:var(--sable-clair)}
.cmd-carte header b{font-size:15.5px}
.cmd-carte header span{display:block;font-size:13px;color:#697362;margin-top:2px}
.pastille-cmd{padding:5px 12px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap}
.pastille-cmd.e-attente_paiement{background:#F2E9D8;color:#8A6A1E}
.pastille-cmd.e-payee{background:var(--vert-pale);color:var(--vert)}
.pastille-cmd.e-en_preparation{background:#DCE6EE;color:#2C536F}
.pastille-cmd.e-expediee{background:#E2DCEE;color:#4B3E75}
.pastille-cmd.e-livree{background:var(--vert);color:#fff}
.pastille-cmd.e-annulee,.pastille-cmd.e-remboursee{background:var(--prix-clair);color:var(--prix)}

.cmd-articles{display:flex;align-items:center;gap:10px;padding:18px 20px;flex-wrap:wrap}
.cmd-vis{width:58px;height:58px;border-radius:9px;background:var(--sable-clair);overflow:hidden;flex:0 0 auto;
  display:grid;place-items:center;font-size:13px;font-weight:700;color:#697362}
.cmd-vis img{width:100%;height:100%;object-fit:cover}
.cmd-resume{font-size:14.5px;margin-left:6px}
.cmd-resume small{display:block;color:#697362;font-size:13px;margin-top:2px}
.cmd-carte footer{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  padding:16px 20px;border-top:1px solid var(--trait)}
.cmd-carte footer b{font-size:21px;font-weight:700}
.cmd-carte footer .btn{padding:11px 22px;font-size:14.5px}

/* ---------- Frise de suivi ---------- */
.frise{display:flex;gap:0;margin:30px 0;overflow-x:auto;padding-bottom:6px}
.frise-etape{flex:1;min-width:118px;position:relative;padding-top:34px;text-align:center;color:#8b9384}
.frise-etape::before{content:"";position:absolute;top:11px;left:0;right:0;height:2px;background:var(--trait)}
.frise-etape:first-child::before{left:50%}
.frise-etape:last-child::before{right:50%}
.frise-etape.ok{color:var(--vert-nuit)}
.frise-etape.ok::before{background:var(--vert)}
.frise-point{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:24px;height:24px;border-radius:50%;background:var(--craie);
  border:2px solid var(--trait);display:grid;place-items:center;color:#fff}
.frise-etape.ok .frise-point{background:var(--vert);border-color:var(--vert)}
.frise-etape.finale .frise-point{background:var(--prix);border-color:var(--prix)}
.frise-etape b{display:block;font-size:13.5px;font-weight:700;line-height:1.3;padding:0 6px}
.frise-etape small{display:block;font-size:12px;color:#8b9384;margin-top:3px}

/* ---------- Blocs ---------- */
.bloc-c{border:1px solid var(--trait);border-radius:var(--r-m);background:#fff;margin-top:22px;overflow:hidden}
.bloc-c > h2{font-size:16px;font-weight:700;padding:16px 22px;border-bottom:1px solid var(--trait)}
.bloc-c-corps{padding:22px}
.bloc-c-corps p{font-size:15px}
.bloc-c-corps .mini{font-size:13px;color:#697362}

/* ---------- Adresses ---------- */
.adresses{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.adresse{border:1.5px solid var(--trait);border-radius:12px;padding:16px;position:relative;font-size:14.5px;line-height:1.6}
.adresse b{display:block;margin-bottom:4px}
.adresse p{color:#3b4438}
.adresse button{margin-top:10px;font-size:13px;color:var(--prix);text-decoration:underline}
.badge-def{position:absolute;top:12px;right:12px;background:var(--vert-pale);color:var(--vert);
  font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}

@media (max-width:900px){
  .connexion{grid-template-columns:1fr}
  .connexion-visuel{display:none}
  .compte{grid-template-columns:1fr;gap:24px}
  .compte-nav{position:static;grid-template-columns:repeat(2,1fr);display:grid}
  .compte-id{grid-column:span 2}
  .grille-c{grid-template-columns:1fr}
  .grille-c .large{grid-column:auto}
}
