/* Nelb WooCommerce Macchedil Pack — Area Customer (v1.10.0)
 * Restyle "email-style": hero scuro, angolino arancio, card editoriali,
 * link azione in basso a destra, banner sicurezza slim.
 * Responsive: .is-narrow viene applicata da JS quando il widget scende
 * sotto il breakpoint configurato (default 1024px). Tutti gli stili mobile
 * sono sotto .nelb-cust.is-narrow — non sotto media query — così rispondono
 * alla larghezza REALE del widget.
 */

/* ============================================================
 * VARIABILI BRAND — sovrascrivibili dai controlli Elementor
 * ============================================================ */
.nelb-cust {
	--nelb-cust-primary: #FE3F12;
	--nelb-cust-primary-h: #E5380F;
	--nelb-cust-dark: #212121;
	--nelb-cust-muted: #9A9A9A;
	--nelb-cust-soft: #F5F7F7;
	--nelb-cust-soft-active: #FFF3EF;
	--nelb-cust-border: #E0E0E0;
	--nelb-cust-hairline: #F0F0F0;

	--nelb-cust-card-bg: #FFFFFF;
	--nelb-cust-card-border: #EDEDED;
	--nelb-cust-card-bw: 1px;
	--nelb-cust-card-radius: 14px;
	--nelb-cust-card-shadow: 0 2px 10px rgba(20, 20, 20, .04);

	--nelb-cust-nav-w: 240px;
	--nelb-cust-nav-bg: #FFFFFF;
	--nelb-cust-nav-color: #212121;
	--nelb-cust-nav-hover-bg: #F5F7F7;
	--nelb-cust-nav-hover-color: #FE3F12;
	--nelb-cust-nav-active-bg: #FFF3EF;
	--nelb-cust-nav-active-color: #FE3F12;

	/* Stati: tinta solida + soft per la pillola */
	--nelb-cust-st-processing: #2563EB;
	--nelb-cust-st-pending: #D97706;
	--nelb-cust-st-completed: #0F6E56;
	--nelb-cust-st-cancelled: #9A9A9A;
	--nelb-cust-st-processing-bg: #E6F1FB;
	--nelb-cust-st-pending-bg: #FAEEDA;
	--nelb-cust-st-completed-bg: #E1F5EE;
	--nelb-cust-st-cancelled-bg: #F1EFE8;

	--nelb-cust-gap: 16px;
	--nelb-cust-bp: 1024px;

	color: var(--nelb-cust-dark);
	font-family: 'Gudea', system-ui, -apple-system, sans-serif;
	font-size: 14px;
	line-height: 1.5;
}

/* Reset interno per evitare ereditarietà dal tema */
.nelb-cust *,
.nelb-cust *::before,
.nelb-cust *::after {
	box-sizing: border-box;
}

/* ============================================================
 * SHELL — sidebar (default) / tabs / mobile drilldown
 * ============================================================ */
.nelb-cust {
	display: grid;
	gap: var(--nelb-cust-gap);
}

/* Header mobile (back arrow) */
.nelb-cust-mhead { display: none; }
.nelb-cust-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--nelb-cust-dark);
	text-decoration: none;
	font-family: 'Libre Franklin', system-ui, sans-serif;
	font-weight: 800;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 8px 0;
}
.nelb-cust-back:hover { color: var(--nelb-cust-primary); }

/* Desktop — sidebar */
.nelb-cust.layout-sidebar {
	grid-template-columns: var(--nelb-cust-nav-w) minmax(0, 1fr);
}
.nelb-cust.layout-sidebar.side-right {
	grid-template-columns: minmax(0, 1fr) var(--nelb-cust-nav-w);
}
.nelb-cust.layout-sidebar.side-right .nelb-cust-nav { order: 2; }

/* Desktop — tabs */
.nelb-cust.layout-tabs { grid-template-columns: 1fr; }
.nelb-cust.layout-tabs .nelb-cust-nav-head { display: none; }
.nelb-cust.layout-tabs .nelb-cust-nav-list {
	display: flex;
	overflow-x: auto;
	gap: 6px;
	padding: 8px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}
.nelb-cust.layout-tabs .nelb-cust-nav-list li { flex: 0 0 auto; }
.nelb-cust.layout-tabs .nelb-cust-nav-chev { display: none; }
.nelb-cust.layout-tabs .nelb-cust-nav-item {
	flex-direction: row;
	border-radius: 999px;
	padding: 8px 14px 8px 12px;
	white-space: nowrap;
	border-left: 0;
}
.nelb-cust.layout-tabs .nelb-cust-nav-item.is-active {
	background: var(--nelb-cust-primary);
	color: #fff;
	border-left: 0;
}

/* ============================================================
 * SIDEBAR / NAV
 * ============================================================ */
.nelb-cust-nav {
	background: var(--nelb-cust-nav-bg);
	border: var(--nelb-cust-card-bw) solid var(--nelb-cust-card-border);
	border-radius: var(--nelb-cust-card-radius);
	box-shadow: var(--nelb-cust-card-shadow);
	overflow: hidden;
	position: relative;
	align-self: start;
}
.nelb-cust-nav::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 44px; height: 6px;
	background: var(--nelb-cust-primary);
}
.nelb-cust-nav-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 18px 16px 14px;
	border-bottom: 1px solid var(--nelb-cust-card-border);
}
.nelb-cust-avatar {
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--nelb-cust-dark);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .02em;
	flex-shrink: 0;
}
.nelb-cust-nav-user {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1px;
}
.nelb-cust-nav-hi {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .04em;
	color: var(--nelb-cust-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.nelb-cust-nav-mail {
	font-size: 11px;
	color: var(--nelb-cust-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.nelb-cust-nav-list {
	list-style: none;
	margin: 0;
	padding: 8px;
}
.nelb-cust-nav-list li { margin: 0; }
.nelb-cust-nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 8px;
	color: var(--nelb-cust-nav-color) !important;
	text-decoration: none !important;
	font-family: 'Libre Franklin', sans-serif !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	border-left: 3px solid transparent;
	transition: background .15s ease, color .15s ease;
}
.nelb-cust-nav-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px; height: 20px;
	flex-shrink: 0;
	color: currentColor;
}
.nelb-cust-nav-ico svg { width: 18px; height: 18px; }
.nelb-cust-nav-lbl {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.nelb-cust-nav-chev {
	color: var(--nelb-cust-muted);
	flex-shrink: 0;
	opacity: 0;
	transition: opacity .15s ease, transform .15s ease;
}
.nelb-cust-nav-item:hover {
	background: var(--nelb-cust-nav-hover-bg);
	color: var(--nelb-cust-nav-hover-color) !important;
}
.nelb-cust-nav-item:hover .nelb-cust-nav-chev { opacity: 1; }
.nelb-cust-nav-item.is-active {
	background: var(--nelb-cust-nav-active-bg);
	color: var(--nelb-cust-nav-active-color) !important;
	border-left-color: var(--nelb-cust-primary);
}
.nelb-cust-nav-item.is-active .nelb-cust-nav-chev {
	opacity: 1;
	transform: translateX(2px);
}
.nelb-cust-nav-item.is-logout {
	margin-top: 6px;
	border-top: 1px solid var(--nelb-cust-card-border);
	border-radius: 0;
	color: var(--nelb-cust-muted);
}
.nelb-cust-nav-item.is-logout:hover { color: var(--nelb-cust-primary); }

/* ============================================================
 * BODY / MAIN
 * ============================================================ */
.nelb-cust-body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

/* ============================================================
 * HERO — banda scura editoriale (Bacheca + tutti gli endpoint)
 * Layout: tutto allineato a sinistra, vertical stack (come email).
 * ============================================================ */
.nelb-cust-welcome,
.nelb-cust-hero {
	background: var(--nelb-cust-dark) !important;
	color: #fff;
	border-radius: var(--nelb-cust-card-radius);
	padding: 24px 24px 22px;
	position: relative;
	overflow: hidden;
	border: 0 !important;
	box-shadow: var(--nelb-cust-card-shadow);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}
.nelb-cust-welcome::before,
.nelb-cust-hero::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 48px; height: 6px;
	background: var(--nelb-cust-primary);
}
.nelb-cust-hero-eyebrow {
	display: block;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .12em;
	color: var(--nelb-cust-primary);
	text-transform: uppercase;
	margin-bottom: 10px;
}
.nelb-cust-welcome-title {
	margin: 0;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 40px;
	line-height: 1;
	letter-spacing: -.01em;
	color: #fff !important;
}
.nelb-cust-welcome-sub {
	margin: 10px 0 0;
	color: rgba(255,255,255,.7) !important;
	font-size: 13px;
}
/* Meta row sotto il titolo — pattern email (Ordine · Data · Totale) */
.nelb-cust-hero-meta {
	display: flex;
	gap: 28px;
	margin-top: 18px;
	flex-wrap: wrap;
}
.nelb-cust-hero-meta-item {
	display: flex;
	flex-direction: column;
}
.nelb-cust-hero-meta .lbl {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .14em;
	color: rgba(255,255,255,.65);
	text-transform: uppercase;
	margin-bottom: 4px;
}
.nelb-cust-hero-meta .val {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 18px;
	color: #fff;
	line-height: 1;
}
.nelb-cust-hero-meta .val.is-large {
	font-size: 28px;
}

/* CTA hero (es. Ordina di nuovo) — sotto al titolo, sinistra */
.nelb-cust-hero-cta {
	margin-top: 16px;
}

/* Hero per section pages (orders, view-order, fiscal, default) */
.nelb-cust-hero-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.nelb-cust-hero h1,
.nelb-cust-hero .nelb-cust-section-title {
	margin: 0;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 32px;
	line-height: 1.05;
	letter-spacing: -.005em;
	color: #fff !important;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.nelb-cust-hero .nelb-cust-status {
	font-size: 10px;
	padding: 4px 10px;
	vertical-align: middle;
}

/* ============================================================
 * CARD GENERICA
 * ============================================================ */
.nelb-cust-card {
	background: var(--nelb-cust-card-bg);
	border: var(--nelb-cust-card-bw) solid var(--nelb-cust-card-border);
	border-radius: var(--nelb-cust-card-radius);
	box-shadow: var(--nelb-cust-card-shadow);
	padding: 18px 20px 16px;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
/* Angolino arancio in alto a sinistra — firma editoriale delle email */
.nelb-cust-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 38px; height: 6px;
	background: var(--nelb-cust-primary);
}
/* La card welcome ha già il suo angolino via .nelb-cust-welcome::before */
.nelb-cust-welcome.nelb-cust-card::before { display: none; }

.nelb-cust-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}
.nelb-cust-card-title {
	margin: 0;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--nelb-cust-dark);
}
/* Link "azione" delle card: ora vivono nel FOOTER, non nell'header.
 * Manteniamo la classe per compatibilità ma la nascondiamo se finisce
 * ancora nell'header (legacy). */
.nelb-cust-card-head .nelb-cust-card-link { display: none; }

.nelb-cust-card-foot {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	padding-top: 12px;
	margin-top: auto;
	border-top: 1px solid var(--nelb-cust-hairline);
}
.nelb-cust-card-foot.has-cta {
	justify-content: space-between;
}
.nelb-cust-card-link {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-primary);
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.nelb-cust-card-link:hover { color: var(--nelb-cust-primary-h); text-decoration: none; }
.nelb-cust-card-link::after { content: ' →'; }

/* ============================================================
 * DASHBOARD GRID
 * ============================================================ */
.nelb-cust-dash {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.nelb-cust-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.nelb-cust-grid > .nelb-cust-card { margin: 0; }

/* ============================================================
 * ULTIMO ORDINE (mini)
 * ============================================================ */
.nelb-cust-order-mini {
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1;
}
.nelb-cust-order-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}
.nelb-cust-order-num {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 18px;
	color: var(--nelb-cust-dark);
}
.nelb-cust-order-date {
	font-size: 12px;
	color: var(--nelb-cust-muted);
	margin-bottom: 8px;
}
.nelb-cust-order-mini .nelb-cust-order-total {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 26px;
	color: var(--nelb-cust-primary);
	line-height: 1;
	margin: 8px 0 4px;
}
.nelb-cust-order-mini .nelb-cust-order-total .woocommerce-Price-amount { color: var(--nelb-cust-primary); }

/* ============================================================
 * STATUS PILL
 * ============================================================ */
.nelb-cust-status {
	display: inline-flex;
	align-items: center;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	padding: 4px 10px;
	border-radius: 999px;
	text-transform: uppercase;
	line-height: 1.2;
	white-space: nowrap;
}
.nelb-cust-st-processing { background: var(--nelb-cust-st-processing-bg); color: var(--nelb-cust-st-processing); }
.nelb-cust-st-pending    { background: var(--nelb-cust-st-pending-bg);    color: var(--nelb-cust-st-pending); }
.nelb-cust-st-completed  { background: var(--nelb-cust-st-completed-bg);  color: var(--nelb-cust-st-completed); }
.nelb-cust-st-cancelled  { background: var(--nelb-cust-st-cancelled-bg);  color: var(--nelb-cust-st-cancelled); }

/* ============================================================
 * INDIRIZZI / ACCOUNT SNAPSHOT (dl label/valore)
 * ============================================================ */
.nelb-cust-addr-snap {
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 10px;
	flex: 1;
}
.nelb-cust-addr-snap dt {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
	margin: 0 0 2px;
}
.nelb-cust-addr-snap dd {
	margin: 0;
	font-size: 13px;
	color: var(--nelb-cust-dark);
	line-height: 1.5;
}
.nelb-cust-addr-snap dd .muted,
.nelb-cust-addr-snap dd em.muted {
	color: var(--nelb-cust-muted);
	font-style: italic;
}

/* Dati fiscali dashboard: 3 colonne se 3 voci */
.nelb-cust-card-fiscal-snap .nelb-cust-addr-snap {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 14px;
}

/* ============================================================
 * BANNER SICUREZZA — riquadro soft-orange evidente
 * ============================================================ */
.nelb-cust-security {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 22px;
	margin-top: 4px;
	background: var(--nelb-cust-soft-active);
	border: 1px solid #FCD4C7;
	border-radius: var(--nelb-cust-card-radius);
	box-shadow: var(--nelb-cust-card-shadow);
	position: relative;
	overflow: hidden;
}
.nelb-cust-security::before {
	content: '';
	position: absolute;
	top: 0; left: 0;
	width: 38px; height: 6px;
	background: var(--nelb-cust-primary);
}
.nelb-cust-security-left {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	flex: 1;
}
.nelb-cust-security-ico {
	width: 28px !important;
	height: 28px !important;
	color: var(--nelb-cust-primary);
	flex-shrink: 0;
}
.nelb-cust-security-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.nelb-cust-security-title {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--nelb-cust-dark);
	margin: 0;
}
.nelb-cust-security-sub {
	font-size: 13px;
	color: var(--nelb-cust-dark);
	margin: 0;
	line-height: 1.4;
}

/* ============================================================
 * RIFERIMENTO COMMERCIALE (sales rep)
 * ============================================================ */
.nelb-cust-rep {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 12px;
}
.nelb-cust-rep-avatar {
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--nelb-cust-soft-active);
	color: var(--nelb-cust-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 16px;
	flex-shrink: 0;
	object-fit: cover;
}
.nelb-cust-rep-name {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 15px;
	color: var(--nelb-cust-dark);
}
.nelb-cust-rep-role {
	font-size: 12px;
	color: var(--nelb-cust-muted);
	margin-top: 2px;
}
.nelb-cust-rep-contacts {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.nelb-cust-rep-contacts a {
	color: var(--nelb-cust-dark);
	text-decoration: none;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.nelb-cust-rep-contacts a:hover { color: var(--nelb-cust-primary); }
.nelb-cust-rep-contacts svg { color: var(--nelb-cust-muted); }

/* ============================================================
 * ORDERS LIST
 * ============================================================ */
.nelb-cust-orders {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.nelb-cust-card.nelb-cust-order {
	padding: 16px 20px 14px;
}
.nelb-cust-order-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
	flex-wrap: wrap;
}
.nelb-cust-order-id {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.nelb-cust-order-row time.nelb-cust-order-date {
	font-size: 12px;
	color: var(--nelb-cust-muted);
	margin-bottom: 0;
}
.nelb-cust-order-thumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}
.nelb-cust-order-th {
	width: 48px; height: 48px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--nelb-cust-soft);
	border: 1px solid var(--nelb-cust-card-border);
	flex-shrink: 0;
}
.nelb-cust-order-th img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.nelb-cust-order-count {
	font-size: 12px;
	color: var(--nelb-cust-muted);
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nelb-cust-order-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--nelb-cust-hairline);
	flex-wrap: wrap;
}
.nelb-cust-order-foot .nelb-cust-order-total {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 18px;
	color: var(--nelb-cust-primary);
	line-height: 1;
}
.nelb-cust-order-foot .nelb-cust-order-total .woocommerce-Price-amount { color: var(--nelb-cust-primary); }
.nelb-cust-order-actions {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

/* ============================================================
 * BOTTONI
 * ============================================================ */
/* ============================================================
 * BOTTONI — sistema a 2 stili (primary + dark)
 * - primary: bianco su arancio
 * - dark:    bianco su #212121
 * Nessun altro stile è ammesso (no outline, no ghost) per coerenza.
 * !important diffuso per battere il tema/Elementor.
 * ============================================================ */
.nelb-cust .nelb-cust-btn,
.nelb-cust a.nelb-cust-btn,
.nelb-cust button.nelb-cust-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 11px 20px !important;
	border-radius: 8px !important;
	font-family: 'Libre Franklin', sans-serif !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	border: 0 !important;
	transition: background-color .15s ease, color .15s ease !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	text-shadow: none !important;
	min-height: 0 !important;
}

/* PRIMARY — arancio + bianco */
.nelb-cust .nelb-cust-btn-primary,
.nelb-cust a.nelb-cust-btn-primary,
.nelb-cust button.nelb-cust-btn-primary {
	background: var(--nelb-cust-primary) !important;
	background-color: var(--nelb-cust-primary) !important;
	color: #fff !important;
}
.nelb-cust .nelb-cust-btn-primary:hover,
.nelb-cust a.nelb-cust-btn-primary:hover,
.nelb-cust button.nelb-cust-btn-primary:hover {
	background: var(--nelb-cust-primary-h) !important;
	background-color: var(--nelb-cust-primary-h) !important;
	color: #fff !important;
}
.nelb-cust .nelb-cust-btn-primary svg,
.nelb-cust .nelb-cust-btn-primary * {
	color: #fff !important;
}

/* DARK — #212121 + bianco */
.nelb-cust .nelb-cust-btn-dark,
.nelb-cust a.nelb-cust-btn-dark,
.nelb-cust button.nelb-cust-btn-dark {
	background: var(--nelb-cust-dark) !important;
	background-color: var(--nelb-cust-dark) !important;
	color: #fff !important;
}
.nelb-cust .nelb-cust-btn-dark:hover,
.nelb-cust a.nelb-cust-btn-dark:hover,
.nelb-cust button.nelb-cust-btn-dark:hover {
	background: #000 !important;
	background-color: #000 !important;
	color: #fff !important;
}
.nelb-cust .nelb-cust-btn-dark svg,
.nelb-cust .nelb-cust-btn-dark * {
	color: #fff !important;
}

/* Alias legacy → mappati su primary (nessun outline/ghost in giro) */
.nelb-cust .nelb-cust-btn-outline,
.nelb-cust .nelb-cust-btn-ghost {
	background: var(--nelb-cust-primary) !important;
	background-color: var(--nelb-cust-primary) !important;
	color: #fff !important;
	border: 0 !important;
}
.nelb-cust .nelb-cust-btn-outline:hover,
.nelb-cust .nelb-cust-btn-ghost:hover {
	background: var(--nelb-cust-primary-h) !important;
	background-color: var(--nelb-cust-primary-h) !important;
	color: #fff !important;
}

/* CTA hero */
.nelb-cust-hero .nelb-cust-btn-primary,
.nelb-cust-hero .nelb-cust-btn-dark {
	padding: 11px 22px !important;
}

/* CTA "non target nostro" dentro al body: bottoni e link.button generici
 * (es. modulo Recessi di Nelb Suite, Woo, ecc.) → primary di default.
 * Esclusioni: i nostri .nelb-cust-btn, i link card, i nav item, le mobile trigger. */
.nelb-cust .nelb-cust-card .button:not(.nelb-cust-btn),
.nelb-cust .nelb-cust-card a.button:not(.nelb-cust-btn),
.nelb-cust .nelb-cust-card button[type="submit"]:not(.nelb-cust-btn),
.nelb-cust .nelb-cust-card input[type="submit"]:not(.nelb-cust-btn) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	padding: 11px 20px !important;
	border-radius: 8px !important;
	font-family: 'Libre Franklin', sans-serif !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer !important;
	border: 0 !important;
	background: var(--nelb-cust-primary) !important;
	background-color: var(--nelb-cust-primary) !important;
	color: #fff !important;
	transition: background-color .15s ease !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	white-space: nowrap !important;
}
.nelb-cust .nelb-cust-card .button:not(.nelb-cust-btn):hover,
.nelb-cust .nelb-cust-card a.button:not(.nelb-cust-btn):hover,
.nelb-cust .nelb-cust-card button[type="submit"]:not(.nelb-cust-btn):hover,
.nelb-cust .nelb-cust-card input[type="submit"]:not(.nelb-cust-btn):hover {
	background: var(--nelb-cust-primary-h) !important;
	background-color: var(--nelb-cust-primary-h) !important;
	color: #fff !important;
}

/* ============================================================
 * PAGINAZIONE ORDINI
 * ============================================================ */
.nelb-cust-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: 16px 0 4px;
	margin-top: 4px;
}
.nelb-cust-pager-link {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nelb-cust-primary);
	text-decoration: none;
}
.nelb-cust-pager-link:hover { color: var(--nelb-cust-primary-h); }
.nelb-cust-pager-info {
	font-size: 12px;
	color: var(--nelb-cust-muted);
}

/* ============================================================
 * SECTION TITLE (legacy fallback)
 * ============================================================ */
.nelb-cust-section-title:not(.nelb-cust-hero .nelb-cust-section-title) {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 24px;
	color: var(--nelb-cust-dark);
	margin: 0 0 12px;
	letter-spacing: -.005em;
}

/* ============================================================
 * WC NATIVE WRAP (edit-account, edit-address, downloads, payment-methods, view-order body)
 * ============================================================ */
.nelb-cust-woo-wrap {
	padding: 18px 20px;
}
.nelb-cust-woo-wrap .woocommerce-MyAccount-content { padding: 0; }
.nelb-cust-woo-wrap h2,
.nelb-cust-woo-wrap h3 {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: 14px;
	margin: 0 0 14px;
	color: var(--nelb-cust-dark);
}
.nelb-cust-woo-wrap h2:first-child,
.nelb-cust-woo-wrap h3:first-child { margin-top: 0; }

/* Form Woo nativi */
.nelb-cust-woo-wrap .woocommerce-form-row,
.nelb-cust-woo-wrap p.form-row {
	display: block;
	margin: 0 0 14px;
}
.nelb-cust-woo-wrap label {
	display: block;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
	margin-bottom: 6px;
}
.nelb-cust-woo-wrap input[type="text"],
.nelb-cust-woo-wrap input[type="email"],
.nelb-cust-woo-wrap input[type="tel"],
.nelb-cust-woo-wrap input[type="password"],
.nelb-cust-woo-wrap input[type="number"],
.nelb-cust-woo-wrap select,
.nelb-cust-woo-wrap textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1.5px solid var(--nelb-cust-border);
	border-radius: 8px;
	font-family: 'Gudea', sans-serif;
	font-size: 14px;
	color: var(--nelb-cust-dark);
	background: #fff;
	transition: border-color .15s ease;
	line-height: 1.4;
}
.nelb-cust-woo-wrap input:focus,
.nelb-cust-woo-wrap select:focus,
.nelb-cust-woo-wrap textarea:focus {
	outline: none;
	border-color: var(--nelb-cust-primary);
}
.nelb-cust-woo-wrap .button,
.nelb-cust-woo-wrap button[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 11px 20px;
	border-radius: 8px;
	background: var(--nelb-cust-primary);
	color: #fff;
	border: 0;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
	transition: background .15s ease;
	line-height: 1.2;
}
.nelb-cust-woo-wrap .button:hover,
.nelb-cust-woo-wrap button[type="submit"]:hover {
	background: var(--nelb-cust-primary-h);
	color: #fff;
}

/* Tabella ordini Woo (view-order) */
.nelb-cust-woo-wrap table.woocommerce-table,
.nelb-cust-woo-wrap table.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	margin: 0 0 16px;
}
.nelb-cust-woo-wrap table.woocommerce-table th,
.nelb-cust-woo-wrap table.shop_table th {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
	text-align: left;
	padding: 10px 12px;
	border-bottom: 1px solid var(--nelb-cust-card-border);
}
.nelb-cust-woo-wrap table.woocommerce-table td,
.nelb-cust-woo-wrap table.shop_table td {
	padding: 12px;
	border-bottom: 1px solid var(--nelb-cust-hairline);
	vertical-align: top;
}
.nelb-cust-woo-wrap table.woocommerce-table tfoot td,
.nelb-cust-woo-wrap table.shop_table tfoot td { font-weight: 700; }
.nelb-cust-woo-wrap .order-total .amount,
.nelb-cust-woo-wrap .order-total .woocommerce-Price-amount {
	color: var(--nelb-cust-primary);
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 16px;
}

/* Box indirizzi Woo (view-order) */
.nelb-cust-woo-wrap .woocommerce-customer-details,
.nelb-cust-woo-wrap .woocommerce-order-details {
	margin-top: 16px;
}
.nelb-cust-woo-wrap .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.nelb-cust-woo-wrap address {
	font-style: normal;
	background: var(--nelb-cust-soft);
	border-radius: 10px;
	padding: 14px 16px;
	font-size: 13px;
	line-height: 1.6;
}
.nelb-cust-woo-wrap .woocommerce-column__title {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nelb-cust-dark);
	margin: 0 0 8px;
}

/* Notices Woo */
.nelb-cust-woo-wrap .woocommerce-message,
.nelb-cust-woo-wrap .woocommerce-info,
.nelb-cust-woo-wrap .woocommerce-error {
	border-radius: 10px;
	padding: 12px 16px;
	font-size: 13px;
	margin: 0 0 14px;
	border-left-width: 3px;
}
.nelb-cust-woo-wrap .woocommerce-message {
	background: var(--nelb-cust-st-completed-bg);
	color: var(--nelb-cust-st-completed);
	border-left-color: var(--nelb-cust-st-completed);
}
.nelb-cust-woo-wrap .woocommerce-info {
	background: var(--nelb-cust-soft-active);
	color: var(--nelb-cust-primary);
	border-left-color: var(--nelb-cust-primary);
}
.nelb-cust-woo-wrap .woocommerce-error {
	background: #FCEBEB;
	color: #A32D2D;
	border-left-color: #A32D2D;
}

/* ============================================================
 * FORM Dati Fiscali
 * ============================================================ */
.nelb-cust-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}
.nelb-cust-form-row {
	display: flex;
	flex-direction: column;
}
.nelb-cust-form-row label {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
	margin-bottom: 6px;
}
.nelb-cust-form-row label .req { color: var(--nelb-cust-primary); margin-left: 2px; }
.nelb-cust-form-row input {
	padding: 10px 14px;
	border: 1.5px solid var(--nelb-cust-border);
	border-radius: 8px;
	font-family: 'Gudea', sans-serif;
	font-size: 14px;
	color: var(--nelb-cust-dark);
	background: #fff;
	transition: border-color .15s ease;
}
.nelb-cust-form-row input:focus {
	outline: none;
	border-color: var(--nelb-cust-primary);
}
.nelb-cust-form-help {
	display: block;
	margin-top: 4px;
	color: var(--nelb-cust-muted);
	font-size: 11px;
}
.nelb-cust-form-foot {
	grid-column: 1 / -1;
	padding-top: 12px;
	margin-top: 4px;
	border-top: 1px solid var(--nelb-cust-hairline);
	display: flex;
	justify-content: flex-end;
}

/* ============================================================
 * EMPTY STATES
 * ============================================================ */
.nelb-cust-empty {
	color: var(--nelb-cust-muted);
	font-style: italic;
	font-size: 13px;
	margin: 0;
}
.nelb-cust-empty-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 32px 20px;
	text-align: center;
}
.nelb-cust-muted { color: var(--nelb-cust-muted); font-size: 13px; margin: 0 0 10px; }

/* ============================================================
 * LOGGED OUT
 * ============================================================ */
.nelb-cust-loggedout { display: block; }
.nelb-cust-loggedout .nelb-cust-login { max-width: 420px; margin: 0 auto; }
.nelb-cust-loggedout .nelb-cust-card-title {
	font-size: 22px;
	text-transform: none;
	letter-spacing: -.005em;
	margin: 0 0 16px;
}

/* ============================================================
 * VIEW ORDER CUSTOM — items, totals, addresses, courier
 * Stile coerente con email customer-completed.php
 * ============================================================ */

/* Intro */
.nelb-cust-order-intro-card { padding: 18px 22px; }
.nelb-cust-order-intro {
	margin: 0;
	font-size: 14px;
	color: var(--nelb-cust-dark);
	line-height: 1.6;
}
.nelb-cust-order-intro strong { font-weight: 800; }

/* Eyebrow di sezione interna (per "Aggiornamenti ordine" e simili) */
.nelb-cust-section-eyebrow {
	display: block;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .12em;
	color: var(--nelb-cust-primary);
	text-transform: uppercase;
	margin: 14px 0 8px;
}

/* Note cliente — giallo pastello (avvertenza informativa) */
.nelb-cust-order-notes-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.nelb-cust-order-notes-list li {
	background: #FFF8E6;
	border: 1px solid #FFE7A8;
	border-left: 4px solid #E6B800;
	border-radius: 8px;
	padding: 12px 14px;
	font-size: 13px;
	color: #5A4A0A;
}
.nelb-cust-order-notes-list strong {
	display: block;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: .06em;
	color: #8A6A0A;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.nelb-cust-order-notes-list li > div { color: #5A4A0A; }
.nelb-cust-order-notes-list li > div p { margin: 0; }

/* Eyebrow sopra le note prende il colore giallo accent per coerenza */
.nelb-cust-order-notes .nelb-cust-section-eyebrow {
	color: #8A6A0A;
}

/* Card prodotti */
.nelb-cust-order-items-card { padding: 18px 22px 16px; }
.nelb-cust-order-items {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.nelb-cust-order-item {
	display: grid;
	grid-template-columns: 72px 1fr auto;
	gap: 14px;
	align-items: flex-start;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--nelb-cust-card-border);
	border-radius: 12px;
}
.nelb-cust-order-item.is-parent {
	border-color: var(--nelb-cust-dark);
}
.nelb-cust-order-item.is-child {
	margin-left: 28px;
	border-left: 4px solid var(--nelb-cust-primary);
	background: #FFFCFB;
}
.nelb-cust-order-item-thumb {
	width: 72px; height: 72px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--nelb-cust-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.nelb-cust-order-item-thumb img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.nelb-cust-order-item-body {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.nelb-cust-order-item-tag {
	display: inline-block;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 9px;
	letter-spacing: .08em;
	color: var(--nelb-cust-dark);
	background: var(--nelb-cust-soft);
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 4px;
	align-self: flex-start;
	margin-bottom: 2px;
}
.nelb-cust-order-item-name {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 14px;
	color: var(--nelb-cust-dark);
	line-height: 1.3;
}
.nelb-cust-order-item-arrow {
	color: var(--nelb-cust-primary);
	margin-right: 4px;
}
.nelb-cust-order-item-sku {
	font-size: 11px;
	color: var(--nelb-cust-muted);
}
.nelb-cust-order-item-sku span {
	color: var(--nelb-cust-dark);
	font-weight: 700;
}
.nelb-cust-order-item-meta {
	font-size: 11px;
	color: var(--nelb-cust-muted);
	display: flex;
	gap: 6px;
}
.nelb-cust-order-item-meta .lbl {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.nelb-cust-order-item-meta .val {
	color: var(--nelb-cust-dark);
	font-weight: 400;
}
.nelb-cust-order-item-qty {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 11px;
	color: var(--nelb-cust-primary);
	letter-spacing: .04em;
	margin-top: 4px;
}
.nelb-cust-order-item-price {
	text-align: right;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	flex-shrink: 0;
	white-space: nowrap;
}
.nelb-cust-order-item-price .woocommerce-Price-amount,
.nelb-cust-order-item-price > .amount {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 16px;
	color: var(--nelb-cust-primary);
	line-height: 1.1;
}
.nelb-cust-order-item-vat {
	font-size: 10px;
	color: var(--nelb-cust-muted);
	margin-top: 2px;
}

/* Totali */
.nelb-cust-order-totals-card { padding: 18px 22px 14px; }
.nelb-cust-order-totals {
	background: var(--nelb-cust-soft);
	border-radius: 10px;
	padding: 16px 18px;
}
.nelb-cust-totals-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 6px 0;
	font-size: 13px;
	color: var(--nelb-cust-dark);
}
.nelb-cust-totals-row.is-muted {
	color: var(--nelb-cust-muted);
	font-size: 12px;
}
.nelb-cust-totals-row .muted { color: var(--nelb-cust-muted); }
.nelb-cust-totals-row.is-grand {
	border-top: 1px solid var(--nelb-cust-border);
	margin-top: 6px;
	padding-top: 12px;
	align-items: baseline;
}
.nelb-cust-totals-row.is-grand .lbl {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.nelb-cust-totals-row.is-grand .val {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 26px;
	color: var(--nelb-cust-primary);
	line-height: 1;
}
.nelb-cust-totals-row.is-grand .val .woocommerce-Price-amount { color: var(--nelb-cust-primary); }
.nelb-cust-totals-vat-note {
	text-align: right;
	font-size: 10px;
	color: var(--nelb-cust-muted);
	margin-top: 2px;
}
.nelb-cust-totals-meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding-top: 12px;
	margin-top: 12px;
	border-top: 1px solid var(--nelb-cust-hairline);
	font-size: 13px;
}
.nelb-cust-totals-meta .lbl {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
}
.nelb-cust-totals-meta .val {
	color: var(--nelb-cust-dark);
	font-weight: 700;
}

/* Indirizzi ordine: due card affiancate */
.nelb-cust-order-addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.nelb-cust-addr-card { padding: 18px 22px 16px; }
.nelb-cust-addr-card.nelb-cust-addr-shipping {
	border-color: var(--nelb-cust-primary);
	border-width: 1.5px;
}
.nelb-cust-addr-card address {
	font-style: normal;
	font-size: 13px;
	line-height: 1.6;
	color: var(--nelb-cust-dark);
}
.nelb-cust-addr-card address strong {
	font-weight: 800;
	font-family: 'Libre Franklin', sans-serif;
}
.nelb-cust-addr-card address .muted {
	color: var(--nelb-cust-muted);
	font-size: 12px;
}
.nelb-cust-addr-via {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--nelb-cust-hairline);
	font-size: 12px;
	color: var(--nelb-cust-dark);
}
.nelb-cust-addr-via .lbl {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
	margin-right: 6px;
}
.nelb-cust-addr-fiscal {
	margin: 12px 0 0;
	padding-top: 12px;
	border-top: 1px solid var(--nelb-cust-hairline);
	display: grid;
	grid-template-columns: 80px 1fr;
	row-gap: 6px;
}
.nelb-cust-addr-fiscal dt {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 800;
	font-size: 10px;
	letter-spacing: .08em;
	color: var(--nelb-cust-muted);
	text-transform: uppercase;
	margin: 0;
}
.nelb-cust-addr-fiscal dd {
	margin: 0;
	font-size: 12px;
	color: var(--nelb-cust-dark);
}

/* Courier note */
.nelb-cust-order-courier-card { padding: 18px 22px 16px; }

/* ============================================================
 * RESPONSIVE — narrow (mobile) via JS toggle .is-narrow
 * ============================================================ */
.nelb-cust.is-narrow {
	gap: 12px;
}
.nelb-cust.is-narrow.layout-sidebar {
	grid-template-columns: 1fr;
}
.nelb-cust.is-narrow.layout-sidebar.side-right .nelb-cust-nav { order: 0; }

/* Mobile: nav diventa tab a pillole orizzontali scrollabili */
.nelb-cust.is-narrow .nelb-cust-nav {
	border-radius: 12px;
	padding: 0;
	position: relative;
}
.nelb-cust.is-narrow .nelb-cust-nav-head { display: none; }
.nelb-cust.is-narrow .nelb-cust-nav-list {
	display: flex;
	overflow-x: auto;
	gap: 6px;
	padding: 8px;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	margin: 0;
}
.nelb-cust.is-narrow .nelb-cust-nav-list li { flex: 0 0 auto; margin: 0; }
.nelb-cust.is-narrow .nelb-cust-nav-chev { display: none; }
.nelb-cust.is-narrow .nelb-cust-nav-item {
	flex-direction: row;
	border-radius: 999px;
	padding: 8px 14px 8px 12px;
	white-space: nowrap;
	border: 1px solid var(--nelb-cust-border);
	background: #fff;
	font-size: 10px;
	border-left: 1px solid var(--nelb-cust-border);
}
.nelb-cust.is-narrow .nelb-cust-nav-item.is-active {
	background: var(--nelb-cust-primary);
	color: #fff;
	border-color: var(--nelb-cust-primary);
}
.nelb-cust.is-narrow .nelb-cust-nav-item.is-logout {
	margin-top: 0;
	border-top: 1px solid var(--nelb-cust-border);
	border-radius: 999px;
}

/* Mobile: header back per drilldown */
.nelb-cust.is-narrow.is-section .nelb-cust-mhead {
	display: flex;
	padding: 4px 0;
}

/* Hero compatto su mobile */
.nelb-cust.is-narrow .nelb-cust-welcome,
.nelb-cust.is-narrow .nelb-cust-hero {
	padding: 18px 18px 16px;
}
.nelb-cust.is-narrow .nelb-cust-welcome-title { font-size: 28px; }
.nelb-cust.is-narrow .nelb-cust-hero h1,
.nelb-cust.is-narrow .nelb-cust-hero .nelb-cust-section-title { font-size: 24px; }
.nelb-cust.is-narrow .nelb-cust-hero-meta .val.is-large { font-size: 24px; }
.nelb-cust.is-narrow .nelb-cust-hero-meta { gap: 18px; }

/* Card padding compatto */
.nelb-cust.is-narrow .nelb-cust-card { padding: 16px 16px 14px; }

/* Grid dashboard: 1 colonna su mobile */
.nelb-cust.is-narrow .nelb-cust-grid {
	grid-template-columns: 1fr;
}

/* Dati fiscali snap: 1 colonna su mobile */
.nelb-cust.is-narrow .nelb-cust-card-fiscal-snap .nelb-cust-addr-snap {
	grid-template-columns: 1fr;
}

/* Form fiscale: 1 colonna su mobile */
.nelb-cust.is-narrow .nelb-cust-form { grid-template-columns: 1fr; }

/* Ordini list: foot impila */
.nelb-cust.is-narrow .nelb-cust-order-foot {
	flex-direction: column;
	align-items: stretch;
}
.nelb-cust.is-narrow .nelb-cust-order-foot .nelb-cust-order-total { margin-bottom: 6px; }
.nelb-cust.is-narrow .nelb-cust-order-actions { width: 100%; justify-content: space-between; }

/* Indirizzi Woo: 1 colonna su mobile */
.nelb-cust.is-narrow .nelb-cust-woo-wrap .woocommerce-columns--addresses {
	grid-template-columns: 1fr;
}

/* View order addresses: 1 colonna su mobile */
.nelb-cust.is-narrow .nelb-cust-order-addresses {
	grid-template-columns: 1fr;
}

/* View order items: layout impilato compatto */
.nelb-cust.is-narrow .nelb-cust-order-item {
	grid-template-columns: 56px 1fr;
	gap: 10px;
	padding: 10px;
}
.nelb-cust.is-narrow .nelb-cust-order-item-thumb {
	width: 56px; height: 56px;
}
.nelb-cust.is-narrow .nelb-cust-order-item-price {
	grid-column: 2;
	align-items: flex-start;
	text-align: left;
	margin-top: 6px;
}
.nelb-cust.is-narrow .nelb-cust-order-item.is-child { margin-left: 12px; }

/* Totali grand su mobile leggermente più piccolo */
.nelb-cust.is-narrow .nelb-cust-totals-row.is-grand .val { font-size: 22px; }

/* Fiscal rows: solo se troppo strette, label sopra */
.nelb-cust.is-narrow .nelb-cust-addr-fiscal {
	grid-template-columns: 70px 1fr;
}

/* Banner sicurezza su mobile */
.nelb-cust.is-narrow .nelb-cust-security {
	font-size: 11px;
	padding: 10px 12px;
}

/* ============================================================
 * Very narrow (<= 420px viewport) — solo aggiustamenti tipografici
 * ============================================================ */
@media (max-width: 420px) {
	.nelb-cust-welcome-title { font-size: 24px; }
	.nelb-cust-hero h1,
	.nelb-cust-hero .nelb-cust-section-title { font-size: 22px; }
	.nelb-cust-hero-meta .val.is-large { font-size: 20px; }
	.nelb-cust-order-mini .nelb-cust-order-total { font-size: 22px; }
}
