/**
 * Espace client.
 *
 * S'appuie sur order.css : les jetons de couleur, les champs et les boutons
 * y sont déjà définis. On n'ajoute ici que la mise en page.
 */

.nwc-acc{max-width:640px;margin-inline:auto}
.nwc-acc--dash{max-width:820px}

.nwc-acc__card{
	background:var(--nwc-surface);border:1px solid var(--nwc-line);
	border-radius:14px;padding:clamp(22px,4vw,32px);
}
.nwc-acc__head{margin-bottom:22px}
.nwc-acc__head h2{margin:0 0 .35em;font-size:clamp(1.35rem,3vw,1.7rem);line-height:1.2}
.nwc-acc__head p{margin:0;color:var(--nwc-muted);font-size:.95rem;line-height:1.55}

.nwc-acc__form{display:grid;gap:16px}
/* Dans une grille d'une colonne, un bouton s'étire d'un bord à l'autre.
   Seuls les boutons pleine largeur explicites doivent le faire. */
.nwc-acc__form .nwc-btn:not(.nwc-btn--block){justify-self:start}
.nwc-acc__form .nwc-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){
	.nwc-acc__form .nwc-row{grid-template-columns:1fr}
}
/* Le formulaire de rattachement tient sur une ligne quand la place existe. */
.nwc-acc__form--inline{grid-template-columns:1fr 1fr auto;align-items:end}
@media (max-width:640px){
	.nwc-acc__form--inline{grid-template-columns:1fr}
}

.nwc-acc__alt{margin:18px 0 0;text-align:center;font-size:.9rem}
.nwc-acc__alt a{color:var(--nwc-sand)}

.nwc-acc__switch{
	margin:22px 0 0;text-align:center;font-size:.92rem;color:var(--nwc-muted);
	display:grid;gap:6px;
}
.nwc-acc__switch a{color:var(--nwc-sand);font-weight:600}
.nwc-acc__switch span{font-size:.85rem}

.nwc-acc__pair{display:flex;flex-wrap:wrap;gap:10px;margin:0}

/* --- Tableau de bord ---------------------------------------------------- */
.nwc-acc__top{
	display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
	padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--nwc-line);
}
.nwc-acc__hello{margin:0;font-size:1.3rem;font-weight:600;color:var(--nwc-strong)}
.nwc-acc__mail{margin:2px 0 0;color:var(--nwc-muted);font-size:.9rem}

.nwc-acc__block{margin-bottom:32px}
.nwc-acc__block h3{
	margin:0 0 14px;font-size:1.05rem;letter-spacing:.01em;
}
.nwc-acc__hint{margin:0 0 14px;color:var(--nwc-muted);font-size:.9rem;line-height:1.55}
.nwc-acc__empty{color:var(--nwc-muted)}
.nwc-acc__empty a{color:var(--nwc-sand);font-weight:600}

.nwc-acc__orders{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nwc-acc__order a{
	display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
	padding:14px 16px;border:1px solid var(--nwc-line);border-radius:11px;
	background:var(--nwc-surface);text-decoration:none;color:inherit;
	transition:border-color .18s,background-color .18s;
}
.nwc-acc__order a:hover{border-color:rgba(224,199,163,.45);background:var(--nwc-surface-2)}
.nwc-acc__order.is-closed a{opacity:.6}

.nwc-acc__order-date{
	display:grid;text-align:center;min-width:52px;
	font-size:.95rem;font-weight:700;color:var(--nwc-sand);line-height:1.15;
}
.nwc-acc__order-date i{font-style:normal;font-size:.7rem;font-weight:500;color:var(--nwc-muted)}
.nwc-acc__order-main{display:grid;gap:2px;min-width:0}
.nwc-acc__order-main strong{
	font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.nwc-acc__order-main small{color:var(--nwc-muted);font-size:.82rem}
.nwc-acc__order-right{display:grid;gap:2px;text-align:right;white-space:nowrap}
.nwc-acc__order-right b{font-variant-numeric:tabular-nums}
.nwc-acc__order-right em{font-style:normal;font-size:.78rem;color:var(--nwc-muted)}

/* --- Messages ----------------------------------------------------------- */
.nwc-note--ok,.nwc-note--err{
	margin:0 0 20px;padding:13px 16px;border-radius:10px;
	font-size:.92rem;line-height:1.5;
}
.nwc-note--ok{background:rgba(63,125,88,.14);color:#8FD3A8;border:1px solid rgba(63,125,88,.35)}
.nwc-note--err{background:rgba(179,57,46,.13);color:#F0A9A5;border:1px solid rgba(179,57,46,.35)}
.nwc-note--err ul{margin:0;padding-left:18px}
.nwc-note--err li+li{margin-top:5px}
.nwc-note--err a,.nwc-note--ok a{color:inherit;text-decoration:underline}



/* =========================================================================
   CARTE DE FIDÉLITÉ
   ========================================================================= */
.nwc-loyal{
	background:var(--nwc-surface);border:1px solid var(--nwc-line);
	border-radius:14px;padding:22px 24px;margin-bottom:32px;
}
.nwc-loyal.is-full{border-color:rgba(224,199,163,.5);background:rgba(224,199,163,.07)}
.nwc-loyal__head{margin-bottom:16px}
.nwc-loyal__head h3{margin:0 0 .25em;font-size:1.05rem}
.nwc-loyal__head p{margin:0;color:var(--nwc-muted);font-size:.87rem}

.nwc-loyal__stamps{
	list-style:none;margin:0 0 16px;padding:0;
	display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:8px;
}
.nwc-loyal__stamps li{
	aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
	border:1px dashed var(--nwc-line-strong);color:var(--nwc-muted);
	font-size:.8rem;font-weight:600;
}
.nwc-loyal__stamps li.is-on{
	border-style:solid;border-color:var(--nwc-sand);
	background:var(--nwc-sand);color:var(--nwc-ink);
}
.nwc-loyal__stamps svg{width:17px;height:17px}

.nwc-loyal__say{margin:0;display:grid;gap:3px}
.nwc-loyal__say strong{font-size:.98rem;color:var(--nwc-strong)}
.nwc-loyal.is-full .nwc-loyal__say strong{color:var(--nwc-sand)}
.nwc-loyal__say span{font-size:.87rem;color:var(--nwc-muted);line-height:1.5}

/* Adresse pas encore confirmée. */
.nwc-verify{
	display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;
	padding:15px 18px;margin-bottom:26px;border-radius:11px;
	background:rgba(217,132,68,.12);border:1px solid rgba(217,132,68,.4);
}
.nwc-verify strong{display:block;font-size:.96rem;color:#F0C79B}
.nwc-verify p{margin:3px 0 0;font-size:.86rem;line-height:1.5;color:var(--nwc-muted);max-width:46ch}
.nwc-verify form{margin:0}
