/* =========================================================================
   Peperi Bimbi — Account & Login (My Account WooCommerce)
   Stili dai mockup account.html + login.html.
   Riusa le variabili :root globali (palette definita altrove): NON ridefinire.
   ========================================================================= */

/* --- Reset layout colonna account WooCommerce -------------------------- */
.woocommerce-account .woocommerce {
	max-width: 1480px;
	width: 100%;
	margin: 0 auto;
	padding: 0 32px;
	float: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	width: auto !important;
	float: none !important;
	padding-top: 4px;
}
/* Container login non loggato: larghezza piena. */
.woocommerce-account:not(.logged-in) .pb-auth {
	max-width: 1100px;
	margin: 0 auto;
}

/* =========================================================================
   PAGE HEAD
   ========================================================================= */
.pb-account .page-head {
	padding: 8px 0 22px;
}
.pb-account .page-head h1 {
	font-size: clamp(28px, 4vw, 44px);
	font-family: 'Fraunces', serif;
	font-weight: 500;
	letter-spacing: -.01em;
}
.pb-account .page-head h1 em {
	color: var(--terra);
	font-style: italic;
}
.pb-account .page-head .hello-sub {
	color: var(--ink-soft);
	margin-top: 8px;
	font-size: 16px;
}

/* =========================================================================
   SIDEBAR NAV (navigation.php)
   ========================================================================= */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
}
.acc-nav-wrap {
	position: sticky;
	top: 100px;
}
.acc-card-user {
	background: var(--ink);
	color: var(--bone);
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 14px;
}
.acc-card-user .avatar {
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: var(--terra);
	color: #fff;
	display: grid;
	place-items: center;
	font-family: 'Fraunces', serif;
	font-size: 22px;
	flex-shrink: 0;
}
.acc-card-user > div:last-child {
	min-width: 0;
	flex: 1;
}
.acc-card-user .u-name {
	font-family: 'Fraunces', serif;
	font-size: 18px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.acc-card-user .u-mail {
	font-size: 12.5px;
	opacity: .7;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
ul.acc-nav {
	list-style: none;
	margin: 0;
	padding: 12px;
	background: var(--bone-2);
	border-radius: 12px;
	border: 1px solid var(--line);
}
ul.acc-nav li {
	list-style: none;
	margin: 0;
}
.acc-nav a {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 12px 15px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14.5px;
	color: var(--ink-soft);
	transition: .18s;
	text-decoration: none;
}
.acc-nav a:hover {
	background: var(--bone);
}
.acc-nav a.active {
	background: var(--ink);
	color: var(--bone);
}
.acc-nav a .ico {
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.acc-nav a .ico svg {
	width: 19px;
	height: 19px;
	stroke: currentColor;
	fill: none;
}
/* Etichetta voce: occupa lo spazio così l'eventuale pill conteggio va a destra */
.acc-nav a .acc-nav-label {
	flex: 1;
	min-width: 0;
}
/* Badge conteggio accanto alla voce (mockup: .acc-nav a .pill) */
.acc-nav a .pill,
.acc-nav a .count {
	margin-left: auto;
	background: var(--terra);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
	font-family: 'Instrument Sans', sans-serif;
	flex-shrink: 0;
}
.acc-nav a.active .pill,
.acc-nav a.active .count {
	background: var(--butter);
	color: var(--ink);
}
.acc-nav a.logout {
	color: var(--terra);
	margin-top: 8px;
	border-top: 1px solid var(--line);
	border-radius: 0;
	padding-top: 16px;
}
.acc-nav a.logout:hover {
	background: transparent;
	color: var(--terra-deep);
}

/* =========================================================================
   PANEL (dashboard.php)
   ========================================================================= */
.panel {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

/* Summary cards */
.sum-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.sum-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	position: relative;
	overflow: hidden;
}
.sum-card .sc-ico {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	font-size: 20px;
}
.sum-card .sc-ico.o { background: rgba(196, 74, 46, .14); }
.sum-card .sc-ico.w { background: rgba(180, 49, 89, .14); }
.sum-card .sc-ico.l { background: rgba(59, 82, 57, .14); }
.sum-card h4 {
	font-family: 'Instrument Sans', sans-serif;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--mute);
	font-weight: 700;
}
.sum-card .sc-main {
	font-family: 'Fraunces', serif;
	font-size: 24px;
	line-height: 1.15;
}
.sum-card .sc-main em { color: var(--terra); }
.sum-card .sc-sub {
	font-size: 13px;
	color: var(--ink-soft);
	margin-top: -4px;
}
.sum-card .sc-link {
	margin-top: auto;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--terra);
	display: inline-flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
}
.sum-card .sc-link:hover { gap: 9px; }

/* Status badge */
.badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 700;
	padding: 4px 11px;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-family: 'Instrument Sans', sans-serif;
	width: fit-content;
}
.badge.ship { background: rgba(59, 82, 57, .16); color: var(--forest); }
.badge.proc { background: rgba(228, 178, 62, .22); color: #8a6a12; }
.badge.deliv { background: rgba(27, 20, 16, .1); color: var(--ink-soft); }
.badge.cancel { background: rgba(180, 49, 89, .14); color: var(--berry); }

/* Section block */
.block {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 24px;
}
.block-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
	gap: 14px;
	flex-wrap: wrap;
}
.block-head h2 {
	font-size: 23px;
	font-family: 'Fraunces', serif;
	font-weight: 500;
}
.block-head h2 em { color: var(--terra); font-style: italic; }
.block-head .bh-link {
	font-size: 13px;
	font-weight: 600;
	color: var(--terra);
	text-decoration: none;
}
.block-head .bh-link:hover { text-decoration: underline; }

/* Orders table */
table.orders {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	margin: 0;
}
table.orders th {
	text-align: left;
	font-family: 'Instrument Sans', sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--mute);
	font-weight: 700;
	padding: 0 12px 12px;
	border-bottom: 1px solid var(--line);
}
table.orders td {
	padding: 16px 12px;
	border-bottom: 1px solid var(--line);
	vertical-align: middle;
}
table.orders tr:last-child td { border-bottom: none; }
.orders .o-num { font-weight: 700; }
.orders .o-date { color: var(--ink-soft); }
.orders .o-tot { font-family: 'Fraunces', serif; font-size: 17px; }
.o-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.o-actions a {
	font-size: 12px;
	font-weight: 600;
	padding: 7px 13px;
	border-radius: 999px;
	border: 1.4px solid var(--line);
	transition: .18s;
	text-decoration: none;
	color: var(--ink);
}
.o-actions a:hover { border-color: var(--ink); }
.o-actions a.reorder {
	background: var(--terra);
	color: #fff;
	border-color: var(--terra);
}
.o-actions a.reorder:hover {
	background: var(--terra-deep);
	border-color: var(--terra-deep);
}

/* Empty state ordini */
.pb-empty {
	text-align: center;
	padding: 30px 10px;
}
.pb-empty-msg {
	font-family: 'Fraunces', serif;
	font-size: 22px;
	margin-bottom: 6px;
}
.pb-empty-sub {
	color: var(--ink-soft);
	font-size: 14px;
	max-width: 420px;
	margin: 0 auto 18px;
}

/* WhatsApp banner */
.wa-banner {
	background: var(--bone-2);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 24px 28px;
	display: flex;
	align-items: center;
	gap: 22px;
	flex-wrap: wrap;
}
.wa-banner .wa-ico {
	width: 54px;
	height: 54px;
	border-radius: 999px;
	background: var(--forest);
	color: #fff;
	display: grid;
	place-items: center;
	font-size: 26px;
	flex-shrink: 0;
}
.wa-banner .wa-txt { flex: 1; min-width: 200px; }
.wa-banner h3 { font-size: 20px; margin-bottom: 3px; font-family: 'Fraunces', serif; font-weight: 500; }
.wa-banner p { font-size: 13.5px; color: var(--ink-soft); }
.wa-banner .wa-num { font-weight: 700; color: var(--forest); }

/* =========================================================================
   Layout 2 colonne account (sidebar + content) via flex sul wrapper Woo
   ========================================================================= */
@media (min-width: 981px) {
	.woocommerce-account:not(.woocommerce-no-js) .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 262px;
		flex-shrink: 0;
	}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation + .woocommerce-MyAccount-content {
		flex: 1;
		min-width: 0;
	}
	.woocommerce-account .woocommerce {
		display: flex;
		gap: 38px;
		align-items: flex-start;
		padding-bottom: 70px;
	}
}

/* =========================================================================
   LOGIN + REGISTRAZIONE (form-login.php)
   ========================================================================= */
.pb-auth {
	max-width: 1120px;
	margin: 0 auto;
	padding: 12px 0 60px;
}
.pb-auth .auth-head {
	text-align: center;
	max-width: 600px;
	margin: 0 auto 36px;
}
.pb-auth .auth-head h1 {
	font-size: clamp(30px, 4.5vw, 50px);
	font-family: 'Fraunces', serif;
	font-weight: 500;
}
.pb-auth .auth-head h1 em { color: var(--terra); font-style: italic; }
.pb-auth .auth-head p {
	color: var(--ink-soft);
	font-size: 16px;
	margin-top: 10px;
}

/* Annulla i float legacy di woocommerce.css (.col2-set/.col-1/.col-2/.u-columns)
 * che romperebbero il grid del login a 2 colonne. */
.pb-auth .auth-grid,
.pb-auth .auth-grid::before,
.pb-auth .auth-grid::after {
	float: none !important;
	width: auto !important;
	clear: none !important;
	content: none;
}
.pb-auth .auth-grid > .col-1,
.pb-auth .auth-grid > .col-2,
.pb-auth .auth-grid > .u-column1,
.pb-auth .auth-grid > .u-column2,
.pb-auth .auth-card {
	float: none !important;
	width: auto !important;
	max-width: none !important;
}

.auth-grid {
	display: grid;
	grid-template-columns: 1fr 1.08fr;
	gap: 26px;
	align-items: stretch;
	width: 100%;
}
.auth-grid.auth-single {
	grid-template-columns: 1fr;
	max-width: 520px;
	margin: 0 auto;
}

.auth-card {
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 38px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 14px 40px rgba(27, 20, 16, .05);
}
.auth-card.register {
	background: var(--bone-2);
	border: 1.5px solid rgba(196, 74, 46, .4);
	position: relative;
	overflow: hidden;
}
.reg-ribbon {
	position: absolute;
	top: 20px;
	right: -44px;
	background: var(--terra);
	color: #fff;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 6px 52px;
	transform: rotate(45deg);
	font-family: 'Instrument Sans', sans-serif;
}
.card-eyebrow {
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: 11.5px;
	font-weight: 700;
	color: var(--terra);
	margin-bottom: 10px;
}
.auth-card h2 {
	font-size: 28px;
	margin-bottom: 6px;
	font-family: 'Fraunces', serif;
	font-weight: 500;
}
.auth-card h2 em { color: var(--terra); font-style: italic; }
.auth-card .lead {
	font-size: 14.5px;
	color: var(--ink-soft);
	margin-bottom: 24px;
}
.reg-illus {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--ink-soft);
	margin-bottom: 18px;
	font-style: italic;
	font-family: 'Fraunces', serif;
}

/* Incentive (CRO) */
.incentive {
	background: var(--ink);
	color: var(--bone);
	border-radius: 12px;
	padding: 20px 22px;
	margin-bottom: 22px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.incentive .gift { font-size: 36px; flex-shrink: 0; }
.incentive .i-txt strong {
	color: var(--butter);
	font-family: 'Fraunces', serif;
	font-style: italic;
	font-weight: 500;
	font-size: 22px;
	display: block;
	line-height: 1.2;
	margin-bottom: 3px;
}
.incentive .i-txt span { font-size: 13px; opacity: .85; line-height: 1.4; }

/* Benefits list */
ul.benefits {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 11px;
}
ul.benefits li {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	font-size: 14px;
	margin: 0;
}
.benefits .b-ico {
	width: 26px;
	height: 26px;
	border-radius: 999px;
	background: rgba(59, 82, 57, .16);
	color: var(--forest);
	display: grid;
	place-items: center;
	font-size: 13px;
	flex-shrink: 0;
}
.benefits b { font-weight: 600; }

/* Fields (override markup Woo p.form-row) */
.pb-auth .field,
.pb-auth .woocommerce-form-row {
	margin: 0 0 16px;
}
.pb-auth .field label,
.pb-auth .woocommerce-form-row > label {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	margin-bottom: 7px;
	letter-spacing: .02em;
}
.pb-auth .input-text,
.pb-auth input[type="text"],
.pb-auth input[type="email"],
.pb-auth input[type="password"] {
	width: 100%;
	padding: 14px 16px;
	border: 1.5px solid var(--line);
	border-radius: 8px;
	background: var(--bone);
	font-family: inherit;
	font-size: 15px;
	color: var(--ink);
	transition: .18s;
}
.register .input-text,
.register input[type="text"],
.register input[type="email"],
.register input[type="password"] {
	background: var(--white);
}
.pb-auth .input-text:focus,
.pb-auth input:focus {
	outline: none;
	border-color: var(--terra);
	box-shadow: 0 0 0 3px rgba(196, 74, 46, .12);
}
.pb-auth .field-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.pb-auth .forgot {
	font-size: 12.5px;
	color: var(--terra);
	font-weight: 600;
	text-decoration: none;
}
.pb-auth .forgot:hover { text-decoration: underline; }

/* Remember + privacy checkbox */
.pb-auth .remember label,
.pb-auth .check label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 13px;
	color: var(--ink-soft);
	line-height: 1.5;
	font-weight: 400;
	margin: 0;
}
.pb-auth .remember { margin: 6px 0 20px; }
.pb-auth .check { margin: 4px 0 20px; }
.pb-auth .remember input[type="checkbox"],
.pb-auth .check input[type="checkbox"] {
	width: 17px;
	height: 17px;
	margin-top: 2px;
	accent-color: var(--terra);
	flex-shrink: 0;
}
.pb-auth .check a { color: var(--terra); text-decoration: underline; }

/* Divider + social (disabilitati) */
.pb-auth .divider {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 22px 0;
	color: var(--mute);
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.pb-auth .divider::before,
.pb-auth .divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--line);
}
.pb-auth .social {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.social-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px;
	border-radius: 999px;
	border: 1.5px solid var(--line);
	background: var(--bone);
	font-weight: 600;
	font-size: 14px;
	font-family: inherit;
	color: var(--ink);
}
.register .social-btn { background: var(--white); }
.social-btn:not(.is-disabled) { cursor: pointer; transition: .18s; }
.social-btn:not(.is-disabled):hover { border-color: var(--ink); }
.social-btn.is-disabled {
	opacity: .55;
	cursor: not-allowed;
}
.social-btn .g { font-weight: 700; font-size: 16px; color: #4285F4; }
.social-note {
	font-size: 11.5px;
	color: var(--mute);
	text-align: center;
	margin-top: 2px;
}

/* Card footer */
.card-foot { margin-top: auto; padding-top: 18px; }
.switch-note {
	font-size: 13px;
	color: var(--ink-soft);
	text-align: center;
	margin-top: 16px;
}
.switch-note a { color: var(--terra); font-weight: 600; }
.switch-note a:hover { text-decoration: underline; }

/* Submit button full */
.pb-auth .btn.btn-full { width: 100%; }

/* Reassurance strip */
.reassure {
	margin: 30px auto 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px;
	background: var(--bone-2);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 18px 24px;
}
.reassure div {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--ink-soft);
	font-weight: 500;
}
.reassure .r-ico { font-size: 18px; }
.reassure b { color: var(--ink); }

/* Mobile tabs */
.auth-tabs {
	display: none;
	gap: 8px;
	margin: 0 auto 18px;
	max-width: 520px;
}
.auth-tabs .pb-tab {
	flex: 1;
	padding: 13px;
	border-radius: 999px;
	border: 1.5px solid var(--line);
	background: var(--bone-2);
	font-weight: 700;
	font-size: 13.5px;
	cursor: pointer;
	font-family: inherit;
	color: var(--ink-soft);
}
.auth-tabs .pb-tab.active {
	background: var(--ink);
	color: var(--bone);
	border-color: var(--ink);
}

/* Messaggi WooCommerce (notice) sopra il form */
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info {
	max-width: 1120px;
	margin: 0 auto 22px;
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 980px) {
	.woocommerce-account .woocommerce { padding: 0 18px; }
	.acc-nav-wrap { position: static; }
	/* Sidebar -> riga di "tab" scrollabili */
	ul.acc-nav {
		display: flex;
		gap: 8px;
		overflow-x: auto;
		padding: 8px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		background: transparent;
		border: none;
	}
	ul.acc-nav::-webkit-scrollbar { display: none; }
	.acc-card-user { display: none; }
	.acc-nav a {
		flex-shrink: 0;
		white-space: nowrap;
		background: var(--bone-2);
		border: 1px solid var(--line);
		border-radius: 999px;
		padding: 10px 16px;
	}
	.acc-nav a.logout {
		margin-top: 0;
		border: 1px solid var(--line);
		border-radius: 999px;
		padding: 10px 16px;
	}
	.sum-grid { grid-template-columns: 1fr; }

	/* Auth: una colonna con tab */
	.auth-grid { grid-template-columns: 1fr; max-width: 520px; }
	.auth-tabs { display: flex; }
	.auth-card { display: none; }
	.auth-card.show { display: flex; }
}

@media (max-width: 880px) {
	.auth-card { padding: 28px; }
	/* Orders table -> card impilate */
	table.orders thead { display: none; }
	table.orders,
	table.orders tbody,
	table.orders tr,
	table.orders td { display: block; width: 100%; }
	table.orders tr {
		border: 1px solid var(--line);
		border-radius: 10px;
		padding: 14px;
		margin-bottom: 12px;
		background: var(--bone);
	}
	table.orders td {
		border: none;
		padding: 5px 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 14px;
	}
	table.orders td::before {
		content: attr(data-label);
		font-size: 11px;
		text-transform: uppercase;
		letter-spacing: .06em;
		color: var(--mute);
		font-weight: 700;
	}
	table.orders td.o-act-cell { display: block; }
	table.orders td.o-act-cell::before { content: none; }
	.o-actions { justify-content: flex-start; margin-top: 6px; }
}

/* =========================================================================
   CRO — Completamento profilo, riordino rapido, suggeriti (dati reali)
   Markup in dashboard.php. Classi dal mockup account.html.
   ========================================================================= */

/* Profile completion nudge */
.pb-account .profile-nudge {
	background: linear-gradient(100deg, var(--butter) 0%, #eecb6b 100%);
	border-radius: 12px;
	padding: 20px 24px;
	display: flex;
	align-items: center;
	gap: 20px;
	color: var(--ink);
}
.pb-account .profile-nudge .pn-pct {
	font-family: 'Fraunces', serif;
	font-size: 34px;
	line-height: 1;
}
.pb-account .profile-nudge .pn-txt { flex: 1; }
.pb-account .profile-nudge h3 { font-size: 19px; margin-bottom: 3px; }
.pb-account .profile-nudge p { font-size: 13.5px; color: var(--ink-soft); }
.pb-account .profile-nudge .pn-bar {
	height: 8px;
	background: rgba(27, 20, 16, .18);
	border-radius: 999px;
	margin-top: 10px;
	max-width: 260px;
	overflow: hidden;
}
.pb-account .profile-nudge .pn-bar i {
	display: block;
	height: 100%;
	background: var(--ink);
	border-radius: 999px;
}
.pb-account .profile-nudge .btn {
	background: var(--ink);
	color: var(--bone);
	flex-shrink: 0;
}

/* Quick reorder */
.pb-account .qr-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.pb-account .qr-item {
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--bone);
}
.pb-account .qr-item .qr-img {
	aspect-ratio: 1;
	border-radius: 7px;
	overflow: hidden;
	background: var(--bone-2);
}
.pb-account .qr-item .qr-img img { width: 100%; height: 100%; object-fit: cover; }
.pb-account .qr-item .qr-name { font-size: 13.5px; font-weight: 600; line-height: 1.25; }
.pb-account .qr-item .qr-meta { font-size: 12px; color: var(--mute); }
.pb-account .qr-item .qr-price {
	font-family: 'Fraunces', serif;
	font-size: 16px;
	margin-top: auto;
}
.pb-account .qr-item .btn { margin-top: 4px; }

/* Suggested products */
.pb-account .sugg-head { display: flex; align-items: center; gap: 10px; }
.pb-account .age-tag {
	background: var(--bone-2);
	border: 1px solid var(--line);
	font-size: 12px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 999px;
	color: var(--ink-soft);
}
.pb-account .sugg-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.pb-account .prod { border-radius: 10px; overflow: hidden; display: block; }
.pb-account .prod .p-img {
	aspect-ratio: 4/5;
	border-radius: 10px;
	overflow: hidden;
	background: var(--bone-2);
	position: relative;
}
.pb-account .prod .p-img img { width: 100%; height: 100%; object-fit: cover; transition: .4s; }
.pb-account .prod:hover .p-img img { transform: scale(1.04); }
.pb-account .prod .p-name { font-size: 14px; font-weight: 600; margin-top: 10px; }
.pb-account .prod .p-price { font-family: 'Fraunces', serif; font-size: 16px; margin-top: 2px; }
.pb-account .prod .p-price .old {
	color: var(--mute);
	text-decoration: line-through;
	font-size: 13px;
	margin-left: 6px;
}

@media (max-width: 980px) {
	.pb-account .qr-grid,
	.pb-account .sugg-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 880px) {
	.pb-account .profile-nudge { flex-direction: column; align-items: flex-start; text-align: left; }
}
@media (max-width: 560px) {
	.pb-account .qr-grid,
	.pb-account .sugg-grid { grid-template-columns: 1fr 1fr; }
}

/* =========================================================================
   FIX INTERFACCIA ACCOUNT — bottoni, indirizzi, form, tabelle Woo native
   ========================================================================= */

/* Bottoni custom (pb-btn) usati in dashboard/parts */
.pb-account .pb-btn,
.woocommerce-account .pb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px;
	padding: 12px 24px;
	font-family: inherit;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: .18s;
	text-decoration: none;
	line-height: 1;
}
.pb-account .pb-btn-primary,
.woocommerce-account .pb-btn-primary { background: var(--terra); color: #fff; }
.pb-account .pb-btn-primary:hover,
.woocommerce-account .pb-btn-primary:hover { background: var(--terra-deep); }
.pb-account .pb-btn-ghost,
.woocommerce-account .pb-btn-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.pb-account .pb-btn-ghost:hover,
.woocommerce-account .pb-btn-ghost:hover { border-color: var(--ink); }

/* Bottoni WooCommerce nativi dentro l'account → look del tema */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--terra);
	color: #fff;
	border: none;
	border-radius: 999px;
	padding: 13px 26px;
	font-family: inherit;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .18s;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Button:hover { background: var(--terra-deep); }

/* Messaggi info account (ordini/download vuoti) */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info {
	background: var(--bone-2);
	border: 1px solid var(--line);
	border-left: 3px solid var(--terra);
	border-radius: 10px;
	padding: 16px 20px;
	margin: 0 0 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	color: var(--ink-soft);
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before {
	display: none;
	content: none;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button {
	flex-shrink: 0;
}

/* Indirizzi: 2 colonne via grid (niente float legacy col2-set) */
.woocommerce-account .woocommerce-Addresses.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	width: 100%;
}
.woocommerce-account .woocommerce-Addresses .col-1,
.woocommerce-account .woocommerce-Addresses .col-2 {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}
.woocommerce-account .woocommerce-Address {
	background: var(--white, #fff);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 24px;
	height: 100%;
}
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 12px;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	font-size: 20px;
	margin: 0;
}
.woocommerce-account .woocommerce-Address-title .edit {
	font-size: 13px;
	font-weight: 600;
	color: var(--terra);
}
.woocommerce-account address {
	font-style: normal;
	line-height: 1.7;
	color: var(--ink-soft);
	font-size: 15px;
}

/* Form (edit-account, edit-address) → input del tema */
.woocommerce-account .woocommerce-MyAccount-content form .form-row,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 18px;
}
.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
.woocommerce-account .woocommerce-MyAccount-content form .form-row-last {
	display: inline-flex;
	width: calc(50% - 11px);
	vertical-align: top;
}
.woocommerce-account .woocommerce-MyAccount-content form .form-row-first { margin-right: 22px; }
.woocommerce-account .woocommerce-MyAccount-content form label {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-soft);
}
.woocommerce-account .woocommerce-MyAccount-content form .input-text,
.woocommerce-account .woocommerce-MyAccount-content form input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content form input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content form input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content form select {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid var(--line);
	border-radius: 8px;
	font: inherit;
	font-size: 15px;
	background: var(--bone);
	color: var(--ink);
}
.woocommerce-account .woocommerce-MyAccount-content form input:focus,
.woocommerce-account .woocommerce-MyAccount-content form select:focus {
	outline: none;
	border-color: var(--terra);
	box-shadow: 0 0 0 3px rgba(196,74,46,.12);
}
.woocommerce-account .woocommerce-MyAccount-content fieldset {
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 20px 22px;
	margin: 24px 0;
}
.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
	font-family: 'Fraunces', serif;
	font-weight: 500;
	font-size: 18px;
	padding: 0 8px;
}
.woocommerce-account .woocommerce-MyAccount-content .clear { clear: both; }

/* Tabella ordini Woo nativa (endpoint orders, view-order) */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .woocommerce-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14.5px;
	margin-bottom: 20px;
}
.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account .woocommerce-table th {
	text-align: left;
	font-family: 'Instrument Sans', sans-serif;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--mute);
	font-weight: 700;
	padding: 0 12px 12px;
	border-bottom: 1px solid var(--line);
}
.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account .woocommerce-table td {
	padding: 14px 12px;
	border-bottom: 1px solid var(--line);
	vertical-align: middle;
}

@media (max-width: 600px) {
	.woocommerce-account .woocommerce-Addresses.col2-set { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-content form .form-row-first,
	.woocommerce-account .woocommerce-MyAccount-content form .form-row-last { width: 100%; margin-right: 0; }
}
