/* NW Burger — parcours de commande (front)
   Reprend les jetons du thème quand ils existent, avec des valeurs de repli
   pour que le module reste présentable sur n'importe quelle page. */

/* Les jetons vivent sur :root — le configurateur est un <dialog> ajouté au
   <body>, donc hors du conteneur : sans ça, ses couleurs sont invalides et
   la fenêtre s'affiche transparente. */
:root{
	--nwc-sand:#E0C7A3;
	--nwc-ink:#0B0B0B;
	--nwc-surface:#151413;
	--nwc-surface-2:#1F1D1A;
	--nwc-line:rgba(224,199,163,.18);
	--nwc-line-strong:rgba(224,199,163,.38);
	--nwc-text:#EDE7DE;
	--nwc-muted:#9A9287;
	--nwc-danger:#E0655F;
	--nwc-ok:#7FC8A9;
	--nwc-radius:14px;
	--nwc-strong:var(--nwc-text);
}

.nwc-app,.nwc-track{
	--nwc-sand:var(--amber,#E0C7A3);
	--nwc-ink:var(--ink,#0B0B0B);
	--nwc-surface:var(--ink-2,#131313);
	--nwc-surface-2:var(--ink-3,#1C1B19);
	--nwc-line:var(--line,rgba(224,199,163,.2));
	--nwc-line-strong:var(--line-strong,rgba(224,199,163,.4));
	--nwc-text:var(--text,#EDE7DE);
	--nwc-muted:var(--muted,#9A9287);
	--nwc-danger:#E0655F;
	--nwc-ok:#7FC8A9;
	--nwc-radius:12px;
	--nwc-strong:var(--nwc-text);

	color:var(--nwc-text);
	font-family:var(--font-body,Inter,system-ui,sans-serif);
}
.nwc-app *,.nwc-track *{box-sizing:border-box}
.nwc-app b,.nwc-app strong,.nwc-track b,.nwc-track strong{color:var(--nwc-strong)}
/* Surfaces sable : le gras repasse en encre */
.nwc-btn--primary,.nwc-tag,.nwc-done__badge{--nwc-strong:var(--nwc-ink)}

/* --- Fil des étapes ----------------------------------------------------- */
.nwc-steps{
	list-style:none;margin:0 0 clamp(24px,4vw,38px);padding:0;
	display:flex;gap:6px;flex-wrap:wrap;
}
.nwc-steps li{
	display:flex;align-items:center;gap:8px;flex:1 1 160px;
	font-size:.86rem;color:var(--nwc-muted);
	padding:10px 12px;border-top:2px solid var(--nwc-line);
	transition:color .2s,border-color .2s;
}
.nwc-steps li span{
	width:24px;height:24px;border-radius:50%;flex:none;
	display:grid;place-items:center;font-size:.78rem;font-weight:700;
	border:1px solid currentColor;
}
.nwc-steps li.is-current{color:var(--nwc-sand);border-top-color:var(--nwc-sand)}
.nwc-steps li.is-done{color:var(--nwc-text);border-top-color:var(--nwc-line-strong)}
.nwc-steps li.is-done span{background:var(--nwc-line-strong);border-color:transparent}

/* --- Blocs génériques --------------------------------------------------- */
.nwc-loading,.nwc-none{color:var(--nwc-muted);padding:18px 0}
.nwc-day{
	font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
	color:var(--nwc-sand);font-weight:600;margin:0 0 18px;
}
.nwc-error{
	color:#F0A9A5;background:rgba(224,101,95,.1);
	border-left:3px solid var(--nwc-danger);padding:12px 14px;border-radius:0 8px 8px 0;
	margin:14px 0;font-size:.94rem;
}
.nwc-note{color:var(--nwc-muted);font-size:.85rem;line-height:1.6}
.nwc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}

.nwc-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:.5em;
	background:transparent;border:1px solid var(--nwc-line-strong);color:var(--nwc-text);
	border-radius:999px;padding:.85em 1.5em;font-size:.95rem;font-weight:600;
	font-family:var(--font-head,inherit);cursor:pointer;text-decoration:none;
	transition:background-color .18s,border-color .18s,transform .12s,color .18s;
	min-height:48px;
}
.nwc-btn:hover{border-color:var(--nwc-sand);color:var(--nwc-sand)}
.nwc-btn--primary{background:var(--nwc-sand);border-color:var(--nwc-sand);color:var(--nwc-ink)}
.nwc-btn--primary:hover{background:#EFDCC4;color:var(--nwc-ink)}
.nwc-btn--danger{border-color:rgba(224,101,95,.5);color:#F0A9A5}
.nwc-btn--danger:hover{background:rgba(224,101,95,.12);color:#F0A9A5}
.nwc-btn--small{padding:.5em 1em;min-height:0;font-size:.85rem}
.nwc-btn:disabled{opacity:.4;pointer-events:none}
.nwc-btn.is-added{background:var(--nwc-ok);border-color:var(--nwc-ok);color:var(--nwc-ink)}

/* --- Étape 1 : emplacements et créneaux --------------------------------- */
.nwc-point{
	background:var(--nwc-surface);border:1px solid var(--nwc-line);border-radius:var(--nwc-radius);
	padding:clamp(16px,2.4vw,22px);margin-bottom:14px;
}
.nwc-point.is-closed{opacity:.6}
.nwc-point h3{margin:0 0 4px;font-size:1.15rem}
.nwc-point__meta{margin:0;font-size:.9rem;color:var(--nwc-sand)}
.nwc-point__addr{margin:2px 0 0;font-size:.88rem;color:var(--nwc-muted)}
.nwc-point__closed{
	margin:14px 0 0;font-size:.9rem;color:var(--nwc-muted);
	border-top:1px solid var(--nwc-line);padding-top:12px;
}
.nwc-slots{
	display:grid;gap:8px;margin-top:16px;
	grid-template-columns:repeat(auto-fill,minmax(min(100%,104px),1fr));
}
.nwc-slot{
	background:var(--nwc-surface-2);border:1px solid var(--nwc-line);border-radius:9px;
	padding:10px 6px;color:var(--nwc-text);cursor:pointer;text-align:center;
	display:grid;gap:2px;min-height:60px;transition:border-color .15s,background-color .15s,transform .1s;
}
.nwc-slot b{font-size:1.02rem;font-variant-numeric:tabular-nums}
.nwc-slot small{font-size:.72rem;color:var(--nwc-muted)}
.nwc-slot:hover:not(.is-off){border-color:var(--nwc-sand);transform:translateY(-1px)}
.nwc-slot.is-off{opacity:.35;cursor:not-allowed}

/* --- Barre collante : récap + filtres ---------------------------------- */
.nwc-toolbar{
	position:sticky;top:calc(var(--header-h,74px) - 1px);z-index:30;
	background:linear-gradient(var(--nwc-ink) 82%,transparent);
	padding:14px 0 12px;margin-bottom:8px;
}
.nwc-recap{
	display:flex;gap:4px 16px;flex-wrap:wrap;align-items:baseline;
	background:var(--nwc-surface);border:1px solid var(--nwc-line);border-left:3px solid var(--nwc-sand);
	border-radius:0 10px 10px 0;padding:12px 16px;margin-bottom:12px;
}
.nwc-recap strong{font-size:1rem}
.nwc-recap span{color:var(--nwc-muted);font-size:.88rem}
.nwc-recap__time{color:var(--nwc-sand)!important;font-weight:600}

.nwc-chips{
	display:flex;flex-wrap:wrap;gap:8px;
}
/* Sur petit écran les puces défilent horizontalement, sans barre visible. */
@media (max-width:720px){
	.nwc-chips{
		flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;
		scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;
		scroll-snap-type:x proximity;
	}
	.nwc-chips::-webkit-scrollbar{display:none}
	.nwc-chip{scroll-snap-align:start}
}
.nwc-chip{
	flex:none;display:inline-flex;align-items:center;gap:7px;
	background:var(--nwc-surface);border:1px solid var(--nwc-line);color:var(--nwc-text);
	border-radius:999px;padding:.6em 1.05em;font-size:.9rem;font-weight:600;
	font-family:inherit;cursor:pointer;white-space:nowrap;min-height:42px;
	transition:border-color .15s,background-color .15s,color .15s;
}
.nwc-chip:hover{border-color:var(--nwc-sand)}
.nwc-chip small{
	font-size:.72rem;color:var(--nwc-muted);background:var(--nwc-surface-2);
	border-radius:999px;padding:1px 7px;font-weight:700;
}
.nwc-chip.is-active{background:var(--nwc-sand);border-color:var(--nwc-sand);color:var(--nwc-ink)}
.nwc-chip.is-active small{background:rgba(11,11,11,.16);color:var(--nwc-ink)}

/* --- Étape 2 : la carte ------------------------------------------------- */
.nwc-group{margin-bottom:30px}
.nwc-group h3{
	margin:0 0 14px;font-size:.86rem;letter-spacing:.12em;text-transform:uppercase;
	color:var(--nwc-muted);border-bottom:1px solid var(--nwc-line);padding-bottom:8px;
}
.nwc-items{display:grid;gap:10px}
.nwc-item{
	display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;
	background:var(--nwc-surface);border:1px solid var(--nwc-line);border-radius:var(--nwc-radius);
	padding:12px 14px;
}
.nwc-item.is-out{opacity:.45}
.nwc-item img{width:66px;height:66px;object-fit:cover;border-radius:8px;display:block}
.nwc-item__body h4{margin:0 0 2px;font-size:1.02rem}
.nwc-item__body p{margin:0;font-size:.88rem;color:var(--nwc-muted);line-height:1.5}
.nwc-allerg{font-size:.78rem!important;opacity:.75}
.nwc-tag{
	font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;
	background:var(--nwc-sand);color:var(--nwc-ink);border-radius:3px;padding:2px 6px;vertical-align:2px;
}
.nwc-item__ph{
	width:66px;height:66px;border-radius:8px;display:block;
	background:linear-gradient(135deg,var(--nwc-surface-2),var(--nwc-surface));
	border:1px solid var(--nwc-line);
}
.nwc-item__buy{display:grid;gap:8px;justify-items:end;text-align:right}
.nwc-stepper{
	display:inline-flex;align-items:center;gap:4px;
	background:var(--nwc-surface-2);border:1px solid var(--nwc-sand);border-radius:999px;padding:3px;
}
.nwc-stepper button{
	width:32px;height:32px;border-radius:50%;border:0;background:transparent;
	color:var(--nwc-sand);font-size:18px;line-height:1;cursor:pointer;
	display:grid;place-items:center;
}
.nwc-stepper button:hover{background:rgba(224,199,163,.14)}
.nwc-stepper b{min-width:20px;text-align:center;font-variant-numeric:tabular-nums;font-size:.95rem}
.nwc-price{font-weight:700;color:var(--nwc-sand);font-variant-numeric:tabular-nums}
.nwc-outbadge{font-size:.75rem;color:var(--nwc-muted)}

@media (max-width:560px){
	.nwc-item{grid-template-columns:auto 1fr;grid-template-areas:"img body" "buy buy"}
	.nwc-item img{grid-area:img}
	.nwc-item__body{grid-area:body}
	.nwc-item__buy{grid-area:buy;justify-items:stretch;grid-template-columns:1fr auto;align-items:center;text-align:left}
}

/* --- Étape 2 : carte + panier côte à côte ------------------------------- */
.nwc-layout{
	display:grid;gap:clamp(20px,3vw,34px);
	grid-template-columns:minmax(0,1fr) 340px;
	align-items:start;
}
.nwc-layout__main{min-width:0}
.nwc-layout__aside{
	position:sticky;
	/* sous l'en-tête collant du thème */
	top:calc(var(--header-h,74px) + 132px);
	display:grid;gap:12px;min-width:0;
}
.nwc-cart__handle{display:none}

/* --- Panier ------------------------------------------------------------- */
.nwc-cart{
	background:var(--nwc-surface);border:1px solid var(--nwc-line-strong);
	border-radius:var(--nwc-radius);padding:18px;
	max-height:calc(100vh - var(--header-h,74px) - 300px);
	overflow-y:auto;overscroll-behavior:contain;
}
.nwc-cart h3{
	margin:0 0 12px;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;
	color:var(--nwc-muted);font-weight:600;
}
.nwc-cart__empty{margin:0;color:var(--nwc-muted);font-size:.92rem;line-height:1.6}
.nwc-lines{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.nwc-lines>li{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:start}
.nwc-line__body{display:grid;gap:8px;min-width:0;order:2;grid-column:1/-1}
.nwc-line__name{font-weight:600;font-size:.97rem;line-height:1.35;order:1;min-width:0}
.nwc-line__price{
	font-variant-numeric:tabular-nums;color:var(--nwc-sand);font-weight:700;
	font-size:.97rem;order:1;white-space:nowrap;
}
.nwc-line__foot{
	order:3;grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.nwc-line__edit,.nwc-line__del{
	background:none;border:0;padding:4px 2px;cursor:pointer;font:inherit;
	font-size:.8rem;font-weight:600;border-bottom:1px solid transparent;
}
.nwc-line__edit{color:var(--nwc-sand)}
.nwc-line__edit:hover{border-bottom-color:currentColor}
.nwc-line__del{color:var(--nwc-muted);margin-left:auto}
.nwc-line__del:hover{color:var(--nwc-danger)}
.nwc-line__qty{display:flex;align-items:center;gap:6px}
.nwc-line__qty button{
	width:30px;height:30px;border-radius:7px;background:var(--nwc-surface-2);
	border:1px solid var(--nwc-line-strong);color:var(--nwc-text);font-size:16px;cursor:pointer;
	display:grid;place-items:center;
}
.nwc-line__qty button:hover{border-color:var(--nwc-sand);color:var(--nwc-sand)}
.nwc-line__qty b{min-width:18px;text-align:center;font-variant-numeric:tabular-nums;font-size:.95rem}
.nwc-line__note{
	background:var(--nwc-surface-2);border:1px solid var(--nwc-line);border-radius:7px;
	padding:6px 9px;color:var(--nwc-text);font-size:.82rem;width:100%;
}
.nwc-lines>li+li{border-top:1px solid var(--nwc-line);padding-top:12px}
.nwc-total{
	display:flex;justify-content:space-between;align-items:baseline;
	margin:16px 0 0;padding-top:14px;border-top:1px solid var(--nwc-line-strong);font-size:1rem;
}
.nwc-total strong{font-size:1.3rem;color:var(--nwc-sand);font-variant-numeric:tabular-nums}
.nwc-lines--flat>li{grid-template-columns:auto 1fr auto;gap:8px;border-top:0;padding-top:0}

.nwc-actions--aside{margin-top:0;display:grid;gap:8px}
.nwc-btn--block{width:100%}
.nwc-btn--quiet{border-color:transparent;color:var(--nwc-muted);min-height:40px;font-size:.85rem}
.nwc-btn--quiet:hover{border-color:var(--nwc-line);color:var(--nwc-text)}

/* --- Écrans intermédiaires : la colonne rétrécit ----------------------- */
@media (max-width:1080px){
	.nwc-layout{grid-template-columns:minmax(0,1fr) 290px}
}

/* --- Mobile : le panier devient une barre dépliable en bas d'écran ------ */
@media (max-width:860px){
	.nwc-toolbar{top:0;padding-top:10px}
	.nwc-recap{font-size:.9rem;padding:10px 13px}
	.nwc-layout{grid-template-columns:minmax(0,1fr);gap:0}
	.nwc-layout__main{padding-bottom:96px}

	.nwc-layout__aside{
		position:fixed;left:0;right:0;bottom:0;top:auto;z-index:50;
		background:var(--nwc-surface);border-top:1px solid var(--nwc-line-strong);
		border-radius:14px 14px 0 0;padding:0 14px 14px;gap:0;
		box-shadow:0 -14px 34px -18px rgba(0,0,0,.9);
		max-height:82vh;overflow:hidden;
		padding-bottom:calc(14px + env(safe-area-inset-bottom));
	}

	.nwc-cart__handle{
		display:flex;align-items:center;justify-content:space-between;gap:12px;
		width:calc(100% + 28px);margin:0 -14px;padding:15px 18px;
		background:transparent;border:0;color:var(--nwc-text);cursor:pointer;
		font-size:.95rem;font-family:inherit;position:relative;
	}
	.nwc-cart__handle::before{
		content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);
		width:38px;height:3px;border-radius:2px;background:var(--nwc-line-strong);
	}
	.nwc-cart__handle strong{color:var(--nwc-sand);font-variant-numeric:tabular-nums;font-size:1.05rem}

	/* Replié : on ne voit que la barre et le bouton principal. */
	.nwc-cart{
		display:none;max-height:52vh;border:0;padding:0 0 12px;background:transparent;
	}
	.nwc-layout__aside.is-open .nwc-cart{display:block}
	.nwc-layout__aside.is-open{overflow-y:auto}

	.nwc-actions--aside{padding-top:4px}
	/* Tant que le panier est vide, la barre ne doit pas encombrer. */
	.nwc-layout__aside:not(.has-items) .nwc-actions--aside .nwc-btn--quiet{display:none}
}

/* --- Étape 3 : formulaire ---------------------------------------------- */
.nwc-form{display:grid;gap:18px;max-width:720px}
.nwc-row{display:grid;gap:18px;grid-template-columns:1fr 1fr}
@media (max-width:600px){.nwc-row{grid-template-columns:1fr}}
.nwc-field{display:grid;gap:6px}
.nwc-field>span{font-size:.85rem;font-weight:600;color:var(--nwc-muted)}
.nwc-field input,.nwc-field select{
	background:var(--nwc-surface);border:1px solid var(--nwc-line-strong);border-radius:9px;
	padding:.85em 1em;color:var(--nwc-text);font-size:1rem;width:100%;min-height:50px;
}
.nwc-field input:focus{outline:2px solid var(--nwc-sand);outline-offset:1px;border-color:var(--nwc-sand)}
.nwc-field small{font-size:.8rem;color:var(--nwc-muted)}

.nwc-pay{border:0;padding:0;margin:0;display:grid;gap:10px}
.nwc-pay legend{font-size:.85rem;font-weight:600;color:var(--nwc-muted);padding:0;margin-bottom:4px}
.nwc-radio{
	display:flex;gap:12px;align-items:flex-start;
	background:var(--nwc-surface);border:1px solid var(--nwc-line);border-radius:10px;
	padding:14px 16px;cursor:pointer;transition:border-color .15s;
}
.nwc-radio:has(input:checked){border-color:var(--nwc-sand);background:var(--nwc-surface-2)}
.nwc-radio input{margin-top:3px;accent-color:var(--nwc-sand);width:20px;height:20px}
.nwc-radio b{display:block;font-size:1rem}
.nwc-radio small{display:block;color:var(--nwc-muted);font-size:.85rem;margin-top:2px}

.nwc-card-wrap{
	background:var(--nwc-surface);border:1px solid var(--nwc-line-strong);
	border-radius:var(--nwc-radius);padding:18px;display:grid;gap:14px;
}
.nwc-card-wrap[hidden]{display:none}
#nwc-card-element{min-height:44px}
.nwc-card-wrap.is-loading::before{
	content:"Préparation du paiement sécurisé…";
	color:var(--nwc-muted);font-size:.88rem;
	display:block;padding-bottom:6px;
}
.nwc-check{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;line-height:1.55}
.nwc-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--nwc-sand);flex:none}
.nwc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* --- Étape 4 : confirmation -------------------------------------------- */
.nwc-done{
	background:var(--nwc-surface);border:1px solid var(--nwc-line-strong);
	border-radius:var(--nwc-radius);padding:clamp(22px,4vw,38px);text-align:center;
}
.nwc-done__badge{
	display:inline-block;background:var(--nwc-sand);color:var(--nwc-ink);
	font-size:.74rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
	padding:.35em .9em;border-radius:999px;margin:0 0 14px;
}
.nwc-done h2{font-size:clamp(2rem,6vw,2.8rem);margin:0 0 10px;font-family:ui-monospace,monospace;letter-spacing:.04em}
.nwc-done__lead{max-width:52ch;margin:0 auto 24px;color:var(--nwc-muted)}
.nwc-done__grid{
	display:grid;gap:14px;margin:0 0 20px;
	grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));text-align:left;
}
.nwc-done__grid div{background:var(--nwc-surface-2);border-radius:9px;padding:12px 14px}
.nwc-done__grid dt{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nwc-muted);margin-bottom:3px}
.nwc-done__grid dd{margin:0;font-weight:600}
.nwc-done__addr{color:var(--nwc-muted);font-size:.9rem;margin:0 0 8px}
.nwc-done .nwc-actions{justify-content:center}

/* --- Suivi -------------------------------------------------------------- */
.nwc-track__form{display:grid;gap:14px;max-width:420px;margin-bottom:26px}
.nwc-tracker{
	background:var(--nwc-surface);border:1px solid var(--nwc-line-strong);
	border-radius:var(--nwc-radius);padding:clamp(20px,3.5vw,32px);
}
.nwc-tracker.is-closed{opacity:.82}
.nwc-tracker__ref{font-family:ui-monospace,monospace;color:var(--nwc-sand);margin:0;letter-spacing:.06em}
.nwc-tracker h2{margin:2px 0 22px;font-size:clamp(1.4rem,4vw,2rem)}
.nwc-progress{
	list-style:none;display:grid;grid-template-columns:repeat(4,1fr);
	gap:6px;margin:0 0 24px;padding:0;
}
.nwc-progress li{
	font-size:.78rem;color:var(--nwc-muted);text-align:center;display:grid;gap:8px;justify-items:center;
}
.nwc-progress li span{
	width:100%;height:4px;border-radius:2px;background:var(--nwc-line);display:block;
}
.nwc-progress li.is-done{color:var(--nwc-sand)}
.nwc-progress li.is-done span{background:var(--nwc-sand)}

@media print{
	.nwc-steps,.nwc-actions{display:none}
}

/* Bandeau de mise en place — volontairement voyant */
.nwc-testbanner{
	background:rgba(224,199,163,.14);border:1px dashed var(--nwc-sand);
	color:var(--nwc-sand);border-radius:8px;padding:11px 14px;margin:0 0 16px;font-size:.88rem;
}

/* =========================================================================
   Configurateur — feuille latérale sur mobile, carte centrée sur grand écran
   ========================================================================= */
.nwc-config{
	background:#151413;color:#EDE7DE;
	border:1px solid rgba(224,199,163,.38);border-radius:16px;padding:0;
	max-width:min(640px,94vw);width:100%;max-height:88vh;
	font-family:var(--font-body,Inter,system-ui,sans-serif);
	box-shadow:0 40px 90px -30px rgba(0,0,0,.9);
}
.nwc-config::backdrop{background:rgba(0,0,0,.78)}
.nwc-config__in{display:flex;flex-direction:column;max-height:88vh;background:#151413;border-radius:16px}

.nwc-config__head{
	display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
	padding:22px 24px 16px;border-bottom:1px solid rgba(224,199,163,.18);
	background:#1F1D1A;border-radius:16px 16px 0 0;
}
.nwc-config__head h3{margin:0;font-size:1.35rem;color:#fff;line-height:1.2}
.nwc-config__head p{margin:4px 0 0;color:#9A9287;font-size:.88rem}
.nwc-config__close{
	width:40px;height:40px;border-radius:50%;flex:none;
	background:#151413;border:1px solid rgba(224,199,163,.28);
	color:#EDE7DE;font-size:22px;line-height:1;cursor:pointer;
}
.nwc-config__close:hover{border-color:#E0C7A3;color:#E0C7A3}

.nwc-config__body{padding:20px 24px 24px;overflow-y:auto;display:grid;gap:24px;background:#151413}

.nwc-cfg-step h4,.nwc-cfg-group legend{
	margin:0 0 12px;padding:0;font-size:.78rem;letter-spacing:.13em;
	text-transform:uppercase;font-weight:700;
}
.nwc-cfg-step h4{color:#E0C7A3}
.nwc-cfg-group{border:0;padding:0;margin:0;display:block}
.nwc-cfg-group legend{color:#9A9287}
.nwc-cfg-group legend em{
	font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;
	color:#E0C7A3;margin-left:.5em;
}
.nwc-cfg-step .nwc-cfg-group{
	margin-top:18px;padding-left:16px;border-left:2px solid rgba(224,199,163,.18);
}

.nwc-picks,.nwc-opts{display:grid;gap:9px}
.nwc-pick,.nwc-opt{
	display:flex;align-items:center;gap:13px;cursor:pointer;
	background:#1F1D1A;border:1px solid rgba(224,199,163,.18);
	border-radius:11px;padding:14px 16px;
	transition:border-color .15s,background-color .15s;
}
.nwc-pick:hover,.nwc-opt:hover{border-color:rgba(224,199,163,.45)}
.nwc-pick.is-on,.nwc-opt.is-on{border-color:#E0C7A3;background:rgba(224,199,163,.09)}
.nwc-pick.is-out{opacity:.38;cursor:not-allowed}
.nwc-pick input,.nwc-opt input{accent-color:#E0C7A3;width:20px;height:20px;flex:none;margin:0}
.nwc-pick span,.nwc-opt span{flex:1;min-width:0}
.nwc-pick b{display:block;font-size:1.02rem;color:#fff;font-weight:600}
.nwc-pick small{display:block;font-size:.84rem;color:#9A9287;margin-top:3px;line-height:1.45}
.nwc-pick i,.nwc-opt b{
	font-style:normal;color:#E0C7A3;font-weight:700;font-size:.92rem;
	white-space:nowrap;font-variant-numeric:tabular-nums;
}

.nwc-config .nwc-field>span{color:#9A9287}
.nwc-config .nwc-field input{
	background:#1F1D1A;border:1px solid rgba(224,199,163,.28);color:#EDE7DE;
}

.nwc-config__foot{
	display:flex;align-items:center;gap:14px;
	padding:16px 24px 20px;border-top:1px solid rgba(224,199,163,.18);
	background:#1F1D1A;border-radius:0 0 16px 16px;
}
.nwc-config__foot .nwc-line__qty{flex:none}
.nwc-config__foot .nwc-line__qty button{
	width:38px;height:38px;background:#151413;border:1px solid rgba(224,199,163,.28);color:#EDE7DE;
}
.nwc-config__foot .nwc-btn{flex:1;min-height:52px;font-size:1rem}
.nwc-config__foot .nwc-btn strong{color:inherit;margin-left:.5em}

/* Compteur discret sur le bouton « Composer » */
.nwc-item__buy .nwc-btn i{
	font-style:normal;background:var(--nwc-ink);color:var(--nwc-sand);
	border-radius:999px;padding:0 6px;margin-left:5px;font-size:.78rem;font-weight:700;
}

/* Détail des options dans le panier — le client doit relire sa commande */
.nwc-line__detail{
	display:grid;gap:3px;margin:2px 0 8px;padding-left:10px;
	border-left:2px solid var(--nwc-line-strong);
}
.nwc-line__opt{
	display:flex;justify-content:space-between;gap:10px;
	font-size:.84rem;color:var(--nwc-muted);line-height:1.45;
}
.nwc-line__opt.is-step{color:var(--nwc-text);font-weight:600}
.nwc-line__opt.is-step>span::before{content:"▸ ";color:var(--nwc-sand)}
.nwc-line__opt:not(.is-step)>span::before{content:"+ ";color:var(--nwc-sand)}
.nwc-line__opt i{
	font-style:normal;color:var(--nwc-sand);white-space:nowrap;
	font-variant-numeric:tabular-nums;
}

/* Précision : sous les choix, avec son intitulé */
.nwc-line__notewrap{display:grid;gap:3px}
.nwc-line__notewrap>span{
	font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;
	color:var(--nwc-muted);font-weight:600;
}

/* Bloc précision du configurateur */
.nwc-cfg-note{
	border-top:1px solid var(--nwc-line);padding-top:18px;
}
.nwc-cfg-note h4{
	margin:0 0 10px;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;
	color:#9A9287;font-weight:700;
}
.nwc-cfg-note input{
	width:100%;background:#1F1D1A;border:1px solid rgba(224,199,163,.28);
	border-radius:9px;padding:.85em 1em;color:#EDE7DE;font:inherit;min-height:48px;
}
.nwc-cfg-note input:focus{border-color:#E0C7A3;outline:2px solid rgba(224,199,163,.2)}

/* Sur mobile : feuille qui monte du bas, comme une application */
@media (max-width:600px){
	.nwc-config{
		max-width:100vw;width:100vw;max-height:92vh;
		margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0;
	}
	.nwc-config__in{max-height:92vh;border-radius:18px 18px 0 0}
	.nwc-config__head{border-radius:18px 18px 0 0}
	.nwc-config__foot{
		border-radius:0;padding-bottom:calc(20px + env(safe-area-inset-bottom));
		position:sticky;bottom:0;
	}
}

.nwc-error__cash{
	display:inline-block;margin-left:.6em;background:none;border:0;
	color:inherit;font:inherit;font-weight:700;cursor:pointer;
	border-bottom:1px solid currentColor;padding:0;
}

/* =========================================================================
   Voile de blocage — pendant l'enregistrement et le paiement
   ========================================================================= */
.nwc-veil{
	position:fixed;inset:0;z-index:9999;
	display:grid;place-items:center;padding:24px;
	background:rgba(11,11,11,.82);backdrop-filter:blur(3px);
	opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s;
}
.nwc-veil.is-on{opacity:1;visibility:visible}
.nwc-veil__card{
	background:#151413;border:1px solid rgba(224,199,163,.32);
	border-radius:16px;padding:32px 36px;text-align:center;
	max-width:min(420px,92vw);
	box-shadow:0 40px 90px -30px rgba(0,0,0,.9);
}
.nwc-veil__spin{
	width:38px;height:38px;display:block;margin:0 auto 18px;
	border:3px solid rgba(224,199,163,.22);border-top-color:#E0C7A3;
	border-radius:50%;animation:nwc-spin .8s linear infinite;
}
@keyframes nwc-spin{to{transform:rotate(360deg)}}
.nwc-veil__msg{
	margin:0;color:#EDE7DE;font-size:1.05rem;font-weight:600;line-height:1.4;
}
.nwc-veil__warn{
	margin:10px 0 0;color:#E0C7A3;font-size:.86rem;font-weight:600;
	letter-spacing:.04em;text-transform:uppercase;
}
@media (prefers-reduced-motion:reduce){
	.nwc-veil__spin{animation-duration:2.4s}
}

/* =========================================================================
   Liens stylés en bouton
   -------------------------------------------------------------------------
   Le module est rendu dans le bloc éditorial du thème, dont la règle
   « .entry a » est plus spécifique que « .nwc-btn » : sans ces sélecteurs
   renforcés, « Suivre ma commande » héritait de la couleur du texte et
   devenait illisible sur le fond sable.
   ========================================================================= */
.nwc-app a,
.nwc-track a,
.nwc-app a:hover,
.nwc-track a:hover{text-decoration:none}

.nwc-app a.nwc-btn,
.nwc-track a.nwc-btn{
	color:var(--nwc-text);text-decoration:none;border-color:var(--nwc-line-strong);
}
.nwc-app a.nwc-btn:hover,
.nwc-track a.nwc-btn:hover{color:var(--nwc-sand);border-color:var(--nwc-sand)}

.nwc-app a.nwc-btn--primary,
.nwc-track a.nwc-btn--primary,
.nwc-app a.nwc-btn--primary:hover,
.nwc-track a.nwc-btn--primary:hover{
	color:var(--nwc-ink);background:var(--nwc-sand);border-color:var(--nwc-sand);
}
.nwc-app a.nwc-btn--primary:hover,
.nwc-track a.nwc-btn--primary:hover{background:#EFDCC4}

/* Liens en clair dans les textes du module : sable, jamais souligné par défaut */
.nwc-app .nwc-note a,
.nwc-track .nwc-note a,
.nwc-app .nwc-empty a,
.nwc-track .nwc-empty a{
	color:var(--nwc-sand);text-decoration:underline;text-underline-offset:3px;
}

/* Heure de franchissement de chaque étape du suivi */
.nwc-progress li b{
	display:block;font-size:.78rem;color:var(--nwc-sand);font-weight:700;
	font-variant-numeric:tabular-nums;margin-top:2px;
}
.nwc-done__grid dd small{color:var(--nwc-muted);font-weight:400;font-size:.82em}
