/**
 * eBoots — Area My Account (sketch 018–021).
 * Enqueued da inc/account-pages.php SOLO sulle pagine account (is_account_page).
 *  - MOBILE (<769px): pagine impilate, nav sidebar nascosta (l'hub della
 *    dashboard fa da indice), back bar «← Account» sulle pagine endpoint.
 *  - DESKTOP (≥769px): grid sidebar 220px + contenuto (sidebar Woo re-skin).
 * Le sezioni pagina (dashboard, ordini, dettaglio, dati) vengono aggiunte
 * in coda dai piani successivi della fase.
 */

/* Titolo pagina/hero di Blocksy: doppione del nostro titolo — via, come su
   cassa/carrello/thank-you (stessa convenzione scoped). */
.woocommerce-account .hero-section,
.woocommerce-account .entry-header > .page-title { display: none; }

/* Fondo scuro su tutta l'area account (Blocksy lascia il body chiaro e i
   token testo sono chiari): mirror di cart.css/checkout.css/thank-you.css. */
body.woocommerce-account,
body.woocommerce-account #main.site-main { background: var(--bg); }

/* Blocksy avvolge il template in `.woocommerce.ct-woo-account` (display:flex)
   e vi inietta la welcome box «Account | Esci» prima della nav: il flex fa
   collassare la nostra grid a min-content, la welcome box è un doppione del
   nostro hub/menu — neutralizzati entrambi, il layout lo fa .eb-macc. */
.woocommerce-account .woocommerce.ct-woo-account { display: block; }
.eb-macc .ct-account-welcome { display: none; }

/* ---- SHELL ---- */
.eb-macc {
	font-family: var(--font-ui);
	color: var(--txt);
}
/* I titoli senza classe (o senza color esplicito, es. .eb-macc__rcpt-tot e gli
   h2 dei template WooCommerce core) cadrebbero sull'heading color di Blocksy,
   quasi nero sul nostro sfondo scuro. :where() = specificità zero del gruppo:
   batte la regola h2 di Blocksy (per il .eb-macc davanti) ma NON le classi
   specifiche più sotto (muted/amber/volt), che restano padrone. */
.eb-macc :where(h1, h2, h3) {
	color: var(--txt);
}
.eb-macc__nav { display: none; }
.eb-macc__content { min-width: 0; }

@media (min-width: 769px) {
	.eb-macc {
		display: grid;
		grid-template-columns: 220px 1fr;
		gap: var(--space-5);
		align-items: start;
	}
	.eb-macc__nav { display: block; }
	.eb-macc__back { display: none; }
}

/* ---- TITOLI ---- */
.eb-macc__title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 30px;
	line-height: 0.98;
	text-transform: uppercase;
	color: var(--txt);
}
.eb-macc__eyebrow {
	margin: 0 0 var(--space-1);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}

/* ---- BACK BAR (solo mobile, pagine endpoint) ---- */
.eb-macc__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 var(--space-4);
	font-size: 14px;
	font-weight: 600;
	color: var(--txt);
	text-decoration: none;
	transition: color 0.15s ease;
}
.eb-macc__back:hover { color: var(--volt); }
/* Ribadito QUI (dopo la definizione base): il display:none desktop della media
   query sopra perderebbe in cascade contro la base a pari specificità. */
@media (min-width: 769px) {
	.eb-macc__back { display: none; }
}

/* ---- NAV (sidebar desktop) ----
   Specificità rialzata (nav. + ul li) per battere la skin my-account di
   Blocksy (.woocommerce-MyAccount-navigation ul li a: box verde su active/
   hover, altezza 55px, icone ::before in font "woo"). */
nav.eb-macc__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
nav.eb-macc__nav ul li a {
	display: block;
	height: auto;
	padding: 10px 0;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--muted);
	background: none;
	text-decoration: none;
	border-bottom: 1px solid var(--line);
	transition: color 0.15s ease;
}
nav.eb-macc__nav ul li a::before { content: none; }
nav.eb-macc__nav ul li:not(:last-child) a { border-bottom: 1px solid var(--line); }
nav.eb-macc__nav ul li:last-child a { border-bottom: 0; }
nav.eb-macc__nav ul li:hover a { color: var(--txt); background: none; }
nav.eb-macc__nav ul li.is-active a { color: var(--volt); background: none; }
nav.eb-macc__nav ul li.eb-macc__nav-out a { color: #ff5a5a; }
nav.eb-macc__nav ul li.eb-macc__nav-out a:hover { color: #ff8080; }

/* ---- TOAST (feedback «Salvato ✓» e simili, appesa a body dal JS) ---- */
.eb-macc__toast {
	position: fixed;
	left: 50%;
	bottom: calc(24px + env(safe-area-inset-bottom));
	z-index: 100000;
	padding: 10px 18px;
	background: var(--surface-2);
	border: 1px solid rgba(43, 230, 163, 0.4);
	border-radius: var(--radius-pill);
	color: var(--txt);
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 600;
	opacity: 0;
	transform: translate(-50%, 8px);
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
}
.eb-macc__toast.is-visible {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* ---- DASHBOARD (hub 018 A) ---- */

/* Identità: avatar volt con iniziale + «Ciao, {nome}» + email. */
.eb-macc__id {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 var(--space-4);
}
.eb-macc__id-av {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--volt);
	color: #0a0a0a;
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 22px;
}
.eb-macc__id-hello {
	display: block;
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 24px;
	line-height: 1;
	text-transform: uppercase;
}
.eb-macc__id-mail {
	display: block;
	margin-top: 3px;
	font-size: 12.5px;
	color: var(--muted);
}

/* Chip taglia (bordo volt translucido, pill) — riempita dal JS via cookie. */
.eb-macc__sizechip {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 var(--space-4);
	padding: 10px 14px;
	background: rgba(199, 247, 63, 0.07);
	border: 1px solid rgba(199, 247, 63, 0.35);
	border-radius: var(--radius-pill);
	font-size: 13px;
}
.eb-macc__sizechip svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	color: var(--volt);
}
.eb-macc__sizechip b {
	font-family: var(--font-d);
	font-weight: 800;
	letter-spacing: 0.03em;
}
.eb-macc__sizechip-cta {
	margin-left: auto;
	padding: 4px;
	background: none;
	border: 0;
	color: var(--volt);
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 12.5px;
	cursor: pointer;
}

/* Badge stato ordine — base + toni usati dal teaser (palette completa col
   piano 03): prep = volt pieno, wait = ambra outline, done = mint outline. */
.eb-macc__st {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: var(--radius-pill);
	font-size: 11px;
	font-weight: 700;
}
.eb-macc__st--prep {
	background: var(--volt);
	color: #0a0a0a;
}
.eb-macc__st--wait {
	color: var(--amber);
	border: 1px solid rgba(245, 192, 76, 0.4);
}
.eb-macc__st--done {
	color: var(--mint);
	border: 1px solid rgba(43, 230, 163, 0.4);
}

/* Teaser ultimo ordine: card cliccabile verso il dettaglio (view-order). */
.eb-macc__lastord {
	display: block;
	margin: 0 0 var(--space-4);
	padding: 14px;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	color: var(--txt);
	text-decoration: none;
	transition: border-color 0.15s ease;
}
.eb-macc__lastord:hover { border-color: var(--line-strong); }
.eb-macc__lastord-top {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 10px;
}
.eb-macc__lastord-eyebrow {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
}
.eb-macc__lastord-num {
	margin-left: auto;
	font-size: 12px;
	color: var(--muted);
}
.eb-macc__lastord-bar {
	display: block;
	height: 5px;
	margin-top: 12px;
	border-radius: 3px;
	background: #222;
	overflow: hidden;
}
.eb-macc__lastord-bar i {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--mint), var(--volt));
}

/* Card hub: icona volt + titolo + sottotitolo + badge/freccia. */
.eb-macc__hub {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eb-macc__hub a {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 15px 14px;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	color: var(--txt);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.eb-macc__hub a:hover {
	border-color: var(--line-strong);
	background: #1b1b1b;
}
.eb-macc__hub svg {
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
	color: var(--volt);
}
.eb-macc__hub small {
	display: block;
	margin-top: 2px;
	color: var(--muted);
	font-size: 11.5px;
	font-weight: 400;
}
.eb-macc__hub-badge {
	margin-left: auto;
	padding: 3px 9px;
	background: var(--volt);
	border-radius: var(--radius-pill);
	color: #0a0a0a;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.eb-macc__hub-arr {
	margin-left: auto;
	color: var(--muted);
}
.eb-macc__hub-badge + .eb-macc__hub-arr { margin-left: 8px; }

/* Pill «Esci» in fondo all'hub. */
.eb-macc__out {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	margin: var(--space-5) 0 0;
	padding: 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius-pill);
	color: var(--muted);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.eb-macc__out:hover {
	color: #ff5a5a;
	border-color: rgba(255, 90, 90, 0.45);
}
.eb-macc__out svg {
	width: 17px;
	height: 17px;
}

/* ---- ORDINI (lista 019 A) ---- */

/* Riga ordine: link compatto verso il dettaglio — tutte le righe pesano uguale. */
.eb-macc__orow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
	padding: 12px;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	color: var(--txt);
	text-decoration: none;
	transition: border-color 0.15s ease;
}
.eb-macc__orow:hover { border-color: var(--line-strong); }

/* Thumb 48px del primo prodotto (+«+n» se multi-articolo). */
.eb-macc__orow-m {
	position: relative;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
}
.eb-macc__orow-m img {
	width: 100%;
	height: 100%;
	border-radius: var(--radius-md);
	object-fit: cover;
}
.eb-macc__orow-plus {
	position: absolute;
	right: -5px;
	bottom: -5px;
	padding: 1px 5px;
	background: var(--bg);
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-pill);
	font-size: 10px;
	font-weight: 800;
}

/* Centro: nome primo prodotto + «#num · data». */
.eb-macc__orow-i {
	min-width: 0;
	flex: 1;
}
.eb-macc__orow-n {
	display: block;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.eb-macc__orow-meta {
	display: block;
	margin-top: 2px;
	font-size: 11.5px;
	color: var(--muted);
}

/* Colonna destra: totale (Saira Condensed) sopra, badge stato sotto. */
.eb-macc__orow-end {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 5px;
	flex: 0 0 auto;
	margin-left: auto;
}
.eb-macc__orow-tot {
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 14.5px;
	letter-spacing: 0.02em;
}

/* Palette badge stato COMPLETA: base + prep/wait/done nel blocco DASHBOARD
   (piano 02); qui i toni mancanti — ship (mint pieno, futuri stati spedizione)
   e void (annullato/rimborsato, muted outline). */
.eb-macc__st--ship {
	background: var(--mint);
	color: #0a0a0a;
}
.eb-macc__st--void {
	color: var(--muted);
	border: 1px solid var(--line-strong);
}

/* Empty state: icona pacco, «Nessun ordine, per ora», CTA volt verso lo shop. */
.eb-macc__empty {
	padding: 60px 24px 40px;
	text-align: center;
}
.eb-macc__empty svg {
	width: 54px;
	height: 54px;
	margin-bottom: 14px;
	color: var(--muted);
}
.eb-macc__empty-h {
	margin: 0 0 8px;
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 22px;
	text-transform: uppercase;
}
.eb-macc__empty-p {
	margin: 0 0 18px;
	font-size: 13px;
	line-height: 1.55;
	color: var(--muted);
}
.eb-macc__empty-cta {
	display: inline-flex;
	padding: 12px 26px;
	background: var(--volt);
	border-radius: var(--radius-pill);
	color: #0a0a0a;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	transition: filter 0.15s ease;
}
.eb-macc__empty-cta:hover { filter: brightness(1.08); }

/* Pager Woo re-skin: «Più recenti» / «Carica altri» — niente AJAX. */
.eb-macc__pager {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin: var(--space-4) 0;
}
.eb-macc__pager-btn {
	padding: 10px 22px;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-pill);
	color: var(--txt);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: border-color 0.15s ease;
}
.eb-macc__pager-btn:hover { border-color: var(--volt); }
/* Solo «Carica altri» (pagina 1): centrato come nel mockup 019. */
.eb-macc__pager-btn--next:only-child { margin-inline: auto; }

/* ---- DETTAGLIO ORDINE (ricevuta 020 B) ---- */

/* Testata ricevuta: totale grande, badge stato e «timeline ↓» sulla stessa riga. */
.eb-macc__rcpt-tot {
	margin: 0 0 8px;
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 34px;
	line-height: 1;
}
.eb-macc__rcpt-tot .amount,
.eb-macc__rcpt-tot bdi { font-family: inherit; }
.eb-macc__rcpt-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: var(--space-3);
}

/* «timeline ↓»: link-button volt che espande la timeline verticale on-demand. */
.eb-macc__tl-toggle {
	padding: 0;
	background: none;
	border: none;
	color: var(--volt);
	font-family: var(--font-ui);
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
}

/* Progress sottile 4 tappe: Ricevuto / Preparazione / Spedito / Consegnato. */
.eb-macc__pbar { margin: 0 0 var(--space-4); }
.eb-macc__pbar-track {
	display: block;
	height: 5px;
	border-radius: 3px;
	background: #222;
	overflow: hidden;
}
.eb-macc__pbar-track i {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--mint), var(--volt));
}
.eb-macc__pbar-steps {
	display: flex;
	justify-content: space-between;
	margin-top: 6px;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--muted);
}
.eb-macc__pbar-steps .done { color: var(--txt); }
.eb-macc__pbar-steps .cur { color: var(--volt); }

/* Timeline verticale completa (regole copiate da thank-you.css, prefisso
   eb-macc: thank-you.css NON è enqueued su my-account). Nascosta di default
   ([hidden]), la mostra il toggle in my-account.js. */
.eb-macc__tl-wrap {
	margin: 0 0 var(--space-4);
	padding: 16px 14px;
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
}
.eb-macc__tl {
	position: relative;
	margin: 0;
	padding: 0 0 0 6px;
	list-style: none;
}
.eb-macc__tl-step {
	position: relative;
	display: flex;
	gap: 14px;
	padding-bottom: 20px;
}
.eb-macc__tl-step:last-child { padding-bottom: 0; }
.eb-macc__tl-dot {
	display: grid;
	place-items: center;
	flex: none;
	z-index: 2;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border: 2px solid var(--line-strong);
	border-radius: 50%;
	background: var(--bg);
}
.eb-macc__tl-dot svg { width: 11px; height: 11px; }
.eb-macc__tl-step--done .eb-macc__tl-dot {
	background: var(--mint);
	border-color: var(--mint);
	color: #06281d;
}
.eb-macc__tl-step--cur .eb-macc__tl-dot {
	background: var(--volt);
	border-color: var(--volt);
}
.eb-macc__tl-step--cur .eb-macc__tl-dot::after {
	content: '';
	position: absolute;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid var(--volt);
	opacity: 0.4;
	animation: eb-macc-ring 1.6s ease-out infinite;
}
@keyframes eb-macc-ring {
	0% { transform: scale(0.7); opacity: 0.7; }
	100% { transform: scale(1.35); opacity: 0; }
}
.eb-macc__tl-step:not(:last-child)::before {
	content: '';
	position: absolute;
	left: 9px;
	top: 20px;
	bottom: 0;
	width: 2px;
	background: var(--line);
	z-index: 1;
}
.eb-macc__tl-step--done:not(:last-child)::before { background: var(--mint); }
.eb-macc__tl-c { display: flex; flex-direction: column; }
.eb-macc__tl-a { font-weight: 700; font-size: 14px; }
.eb-macc__tl-b { font-size: 12px; color: var(--muted); margin-top: 1px; }
.eb-macc__tl-step--todo .eb-macc__tl-a { color: var(--muted); }

/* Box bonifico (ambra): solo ordine in attesa + BACS — IBAN e causale con copia. */
.eb-macc__bacs {
	margin: 0 0 var(--space-4);
	padding: 14px;
	border: 1px solid rgba(245, 192, 76, 0.45);
	border-radius: var(--radius-lg);
	background: rgba(245, 192, 76, 0.06);
}
.eb-macc__bacs-h {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	color: var(--amber);
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 800;
	text-transform: none;
}
.eb-macc__bacs-h svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
}
.eb-macc__bacs-rows { margin: 0; }
/* Più conti BACS: separatore fra un account e l'altro (pattern thank-you). */
.eb-macc__bacs-rows + .eb-macc__bacs-rows {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px dashed rgba(245, 192, 76, 0.3);
}
.eb-macc__bacs-r {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
}
.eb-macc__bacs-r + .eb-macc__bacs-r { border-top: 1px solid rgba(245, 192, 76, 0.15); }
.eb-macc__bacs-r dt {
	flex: none;
	margin: 0;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}
.eb-macc__bacs-r dd {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	min-width: 0;
	margin: 0;
	font-size: 12.5px;
	font-weight: 600;
	text-align: right;
}
.eb-macc__mono {
	font-family: monospace;
	font-size: 12px;
	letter-spacing: 0.02em;
}
.eb-macc__copy {
	flex: 0 0 auto;
	padding: 3px 9px;
	background: none;
	border: 1px solid rgba(245, 192, 76, 0.4);
	border-radius: var(--radius-pill);
	color: var(--amber);
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.15s ease;
}
.eb-macc__copy.is-copied {
	background: var(--amber);
	border-color: var(--amber);
	color: #0a0a0a;
}

/* Titolo sezione («Articoli · n», «Spedizione e pagamento»). */
.eb-macc__sech {
	margin: var(--space-4) 0 8px;
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
}

/* Righe articolo (adattate dalle righe riepilogo della thank-you, thumb 56px). */
.eb-macc__items {
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	overflow: hidden;
}
.eb-macc__oi {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 13px;
	background: var(--surface-2);
}
.eb-macc__oi + .eb-macc__oi { border-top: 1px solid var(--line); }
.eb-macc__oi-m {
	display: grid;
	place-items: center;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border: 1px solid var(--line);
	border-radius: var(--radius-md);
	background: var(--surface);
	overflow: hidden;
}
.eb-macc__oi-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.eb-macc__oi-i {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
}
.eb-macc__oi-n {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
}
.eb-macc__oi-s {
	margin-top: 2px;
	font-size: 11.5px;
	color: var(--muted);
}
.eb-macc__oi-s p { margin: 0; display: inline; } /* wc_display_item_meta wrappa in <p> */
.eb-macc__oi-p {
	align-self: center;
	margin-left: auto;
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 14px;
	white-space: nowrap;
}

/* Totali: riga totale evidenziata (font-d), nota IVA inclusa. */
.eb-macc__sums { margin: 10px 0 0; }
.eb-macc__sums-r {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 2px;
	font-size: 13px;
	color: var(--muted);
}
.eb-macc__sums-r dt { margin: 0; }
.eb-macc__sums-r dd { margin: 0; color: var(--txt); }
.eb-macc__sums-r--total {
	margin-top: 8px;
	padding-top: 12px;
	border-top: 1px solid var(--line);
}
.eb-macc__sums-r--total dt {
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 14px;
	text-transform: uppercase;
	color: var(--txt);
}
.eb-macc__sums-r--total dd {
	font-family: var(--font-d);
	font-weight: 800;
	font-size: 20px;
}
.eb-macc__sums-note {
	margin: 8px 0 0;
	font-size: 11px;
	color: var(--muted);
}

/* Spedizione e pagamento: sezione APERTA, grid 1 colonna → 2 da 520px. */
.eb-macc__addr {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
@media (min-width: 520px) {
	.eb-macc__addr { grid-template-columns: 1fr 1fr; }
}
.eb-macc__addr-col {
	padding: 14px;
	background: var(--surface-2);
	border-radius: var(--radius-lg);
	font-size: 12.5px;
	font-style: normal; /* address non-italic */
	line-height: 1.55;
	color: var(--txt);
}
.eb-macc__addr-k {
	display: block;
	margin-bottom: 5px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}
.eb-macc__addr-k--pay { margin-top: 12px; }

/* Documento (Ricevuta/Fattura): solo label — nessun endpoint PDF lato cliente. */
.eb-macc__doc { margin: var(--space-3) 0 0; }
.eb-macc__doc-badge {
	display: inline-flex;
	padding: 4px 10px;
	border: 1px solid rgba(43, 230, 163, 0.4);
	border-radius: var(--radius-pill);
	color: var(--mint);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* CTA contestuali: colonna su mobile, riga da 769px. */
.eb-macc__ctas {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: var(--space-5) 0 0;
}
@media (min-width: 769px) {
	.eb-macc__ctas { flex-direction: row; }
}
.eb-macc__cta {
	flex: 1;
	padding: 13px;
	border-radius: var(--radius-pill);
	font-size: 13px;
	font-weight: 800;
	text-align: center;
	text-decoration: none;
	transition: all 0.15s ease;
}
.eb-macc__cta--pri {
	background: var(--volt);
	color: #0a0a0a;
}
.eb-macc__cta--pri:hover {
	color: #0a0a0a;
	filter: brightness(1.08);
}
.eb-macc__cta--ghost {
	border: 1px solid var(--line-strong);
	color: var(--txt);
}
.eb-macc__cta--ghost:hover { border-color: var(--volt); }

/* ---- DATI ACCOUNT (021 A) ---- */

/* Righe riepilogo profilo: NOME / EMAIL / PASSWORD con form inline. */
.eb-macc__drows {
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	overflow: hidden;
	background: var(--surface-2);
	margin: 0 0 var(--space-4);
}
.eb-macc__drow {
	border-bottom: 1px solid var(--line);
	padding: 4px 0;
}
.eb-macc__drow:last-child { border-bottom: 0; }
.eb-macc__drow-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	font-size: 13.5px;
}
.eb-macc__drow-lbl {
	color: var(--muted);
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 700;
	width: 88px;
	flex: 0 0 auto;
}
.eb-macc__drow-val {
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.eb-macc__drow-cta {
	margin-left: auto;
	background: none;
	border: 0;
	color: var(--volt);
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 12.5px;
	cursor: pointer;
	padding: 4px;
	flex: 0 0 auto;
}

/* Riga CF/P.IVA dentro la card Fatturazione («Voglio la fattura», stessa
   anatomia delle righe profilo ma incorniciata da mini-box). */
.eb-macc__drow--cf {
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	margin: 0 0 12px;
}

/* Stato editing: il form inline appare, la barra si attenua. */
.eb-macc__drow-form {
	display: none;
	padding: 2px 14px 14px;
}
.eb-macc__drow.editing .eb-macc__drow-form { display: block; }
.eb-macc__drow.editing .eb-macc__drow-bar {
	opacity: 0.45;
	pointer-events: none;
}

/* Campi label flottanti (pattern sibling di account-sheet.css). */
.eb-macc__fld {
	position: relative;
	margin: 0 0 12px;
}
.eb-macc__fld input {
	width: 100%;
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: var(--radius-md);
	color: var(--txt);
	font-family: var(--font-ui);
	font-size: 15px;
	padding: 20px 44px 8px 14px;
	outline: none;
	transition: border-color 0.15s ease;
}
.eb-macc__fld input:focus { border-color: var(--volt); }
.eb-macc__fld label {
	position: absolute;
	left: 14px;
	top: 14px;
	color: var(--muted);
	font-size: 14px;
	pointer-events: none;
	transition: all 0.15s ease;
	max-width: calc(100% - 56px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.eb-macc__fld input:focus + label,
.eb-macc__fld input:not(:placeholder-shown) + label {
	top: 6px;
	font-size: 10.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.eb-macc__fld.is-invalid input { border-color: #ff5a5a; }

/* Occhio password (pattern account-sheet.css). */
.eb-macc__eye {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: 0;
	color: var(--muted);
	cursor: pointer;
	padding: 6px;
	transition: color 0.15s ease;
}
.eb-macc__eye:hover, .eb-macc__eye.is-on { color: var(--volt); }
.eb-macc__eye svg { width: 18px; height: 18px; display: block; }

/* Errore inline del form (rosso, mai alert). */
.eb-macc__err[hidden] { display: none; }
.eb-macc__err {
	color: #ff5a5a;
	font-size: 12px;
	margin: 0 0 10px;
}
.eb-macc__err.is-shaking { animation: eb-macc-shake 0.3s ease; }
@keyframes eb-macc-shake {
	25% { transform: translateX(-5px); }
	75% { transform: translateX(5px); }
}

/* Griglia indirizzo 12 colonne (indirizzo 12 / CAP 4 / città 8 / prov 4 / tel 8). */
.eb-macc__agrid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 12px;
}
.eb-macc__agrid .eb-macc__fld { margin: 0; }
.eb-macc__c4 { grid-column: span 4; }
.eb-macc__c8 { grid-column: span 8; }
.eb-macc__c12 { grid-column: 1 / -1; }

/* Card indirizzo (Spedizione / Fatturazione). */
.eb-macc__acard {
	background: var(--surface-2);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	padding: 14px;
	margin: 0 0 10px;
}
.eb-macc__acard-top {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
}
.eb-macc__acard-k {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 800;
	color: var(--txt);
}
.eb-macc__acard-badge {
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mint);
	border: 1px solid rgba(43, 230, 163, 0.4);
	padding: 2px 8px;
	border-radius: var(--radius-pill);
}
.eb-macc__acard-tx {
	font-size: 13px;
	color: var(--muted);
	line-height: 1.55;
	margin: 0;
}
.eb-macc__acard-tx[hidden] { display: none; }
.eb-macc__acard-form { display: none; margin: 6px 0 0; }
.eb-macc__acard.editing .eb-macc__acard-form { display: block; }
.eb-macc__acard.editing .eb-macc__acard-tx { display: none; }
.eb-macc__acard.editing .eb-macc__acard-top .eb-macc__drow-cta {
	opacity: 0.45;
	pointer-events: none;
}
.eb-macc__bform { margin: 8px 0 0; }
.eb-macc__bform[hidden] { display: none; }

/* Checkbox «Uguale alla spedizione» (pattern account-sheet.css). */
.eb-macc__chk {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	color: var(--muted);
	font-size: 12.5px;
	line-height: 1.45;
	cursor: pointer;
	margin: 0 0 4px;
}
.eb-macc__chk input {
	appearance: none;
	-webkit-appearance: none;
	width: 17px;
	height: 17px;
	min-width: 17px;
	margin: 1px 0 0;
	border: 1px solid var(--line-strong);
	border-radius: 4px;
	background: var(--surface);
	cursor: pointer;
	position: relative;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.eb-macc__chk input:checked { background: var(--volt); border-color: var(--volt); }
.eb-macc__chk input:checked::after {
	content: '✓';
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #0a0a0a;
	font-size: 11px;
	font-weight: 800;
}

/* Bottoni del form inline: Salva (volt, spinner in loading) + Annulla. */
.eb-macc__fbtns {
	display: flex;
	gap: 8px;
	margin: 12px 0 0;
}
.eb-macc__save {
	flex: 1;
	background: var(--volt);
	border: 1px solid var(--volt);
	border-radius: var(--radius-pill);
	color: #0a0a0a;
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 12.5px;
	padding: 10px 18px;
	cursor: pointer;
	position: relative;
	transition: transform 0.12s ease, filter 0.15s ease;
}
.eb-macc__save:hover { filter: brightness(1.08); }
.eb-macc__save:active { transform: scale(0.985); }
.eb-macc__save.is-loading { color: transparent; pointer-events: none; }
.eb-macc__save.is-loading::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border: 2.5px solid rgba(10, 10, 10, 0.25);
	border-top-color: #0a0a0a;
	border-radius: 50%;
	animation: eb-macc-spin 0.7s linear infinite;
}
@keyframes eb-macc-spin { to { transform: rotate(360deg); } }
.eb-macc__cancel {
	background: transparent;
	border: 1px solid var(--line-strong);
	border-radius: var(--radius-pill);
	color: var(--muted);
	font-family: var(--font-ui);
	font-weight: 800;
	font-size: 12.5px;
	padding: 10px 18px;
	cursor: pointer;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.eb-macc__cancel:hover { color: var(--txt); }

/* Desktop: card indirizzi affiancate (021 A). */
@media (min-width: 769px) {
	.eb-macc__acards {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		align-items: start;
	}
	.eb-macc__acards .eb-macc__acard { margin: 0; }
}
