/* B-Plant Ordini — sovrascrivi le variabili dal CSS del tema/Elementor per adattare i colori.
 *
 * I pulsanti usano selettori "body button.classe": il tema Hello e il Kit Elementor stilizzano
 * tutti i <button> (sfondo, padding, bordo) con selettori tipo ".elementor-kit-N button" che
 * altrimenti vincerebbero sui nostri.
 */
:root {
	--bplant-verde: #2b4d44;
	--bplant-verde-hover: #1f3a33;
	--bplant-viola: #b94fc2;
	--bplant-testo: #222;
	--bplant-grigio: #6b6b6b;
	--bplant-bordo: #dcdcd6;
	--bplant-note-bg: #fdf9e3;
	--bplant-errore: #b3261e;
	--bplant-ok-bg: #e7f3ec;
	--bplant-radius: 6px;
}

.bplant-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.bplant-add [hidden],
.bplant-ordine [hidden],
.bplant-accesso [hidden],
.bplant-mini [hidden] {
	display: none !important;
}

.bplant-ico {
	display: block;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

/* ---------- Base comune dei pulsanti ---------- */

body button.bplant-btn,
body a.bplant-btn,
body button.bplant-qty__btn,
body button.bplant-rimuovi,
body button.bplant-mini__chiudi,
body button.bplant-fab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: 0;
	box-shadow: none;
	font-family: inherit;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}

/* ---------- Pulsante principale ---------- */

body button.bplant-btn,
body a.bplant-btn {
	min-height: 40px;
	padding: 8px 16px;
	border-radius: var(--bplant-radius);
	background: var(--bplant-verde);
	color: #fff;
	font-size: inherit;
	font-weight: 600;
	line-height: 1.2;
}

body a.bplant-btn:visited {
	color: #fff;
}

body button.bplant-btn:hover,
body button.bplant-btn:focus,
body a.bplant-btn:hover,
body a.bplant-btn:focus {
	background: var(--bplant-verde-hover);
	color: #fff;
}

body button.bplant-btn:focus-visible,
body a.bplant-btn:focus-visible {
	outline: 2px solid var(--bplant-viola);
	outline-offset: 2px;
}

body button.bplant-btn:disabled {
	opacity: .6;
	cursor: wait;
}

body button.bplant-btn--grande {
	min-height: 48px;
	padding: 12px 28px;
	font-size: 1.05em;
}

/* ---------- Stepper ---------- */

.bplant-qty {
	display: inline-flex;
	align-items: stretch;
	height: 40px;
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	overflow: hidden;
	background: #fff;
}

body button.bplant-qty__btn {
	width: 36px;
	min-width: 0;
	height: auto;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: #f4f4f0;
	color: var(--bplant-testo);
}

body button.bplant-qty__btn:hover,
body button.bplant-qty__btn:focus {
	background: #e6e6df;
	color: var(--bplant-testo);
}

body button.bplant-qty__btn:focus-visible {
	outline: 2px solid var(--bplant-verde);
	outline-offset: -2px;
}

body .bplant-qty input.bplant-qty__input {
	width: 52px;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0 4px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	color: var(--bplant-testo);
	font: inherit;
	font-variant-numeric: tabular-nums;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

body .bplant-qty input.bplant-qty__input:focus {
	outline: 2px solid var(--bplant-verde);
	outline-offset: -2px;
}

.bplant-qty__input::-webkit-outer-spin-button,
.bplant-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.bplant-qty.bplant-qty--small {
	height: 34px;
}

body .bplant-qty--small button.bplant-qty__btn {
	width: 32px;
}

body .bplant-qty--small input.bplant-qty__input {
	width: 42px;
}

/* ---------- Pulsante rimuovi ---------- */

body button.bplant-rimuovi {
	width: 32px;
	min-width: 0;
	height: 32px;
	min-height: 0;
	padding: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--bplant-grigio);
}

body button.bplant-rimuovi:hover,
body button.bplant-rimuovi:focus {
	background: #f3e5e4;
	color: var(--bplant-errore);
}

body button.bplant-rimuovi:focus-visible {
	outline: 2px solid var(--bplant-errore);
	outline-offset: 0;
}

/* ---------- Tessera Loop ---------- */

.bplant-add {
	margin-top: 12px;
}

.bplant-add__label {
	display: block;
	margin-bottom: 4px;
	font-weight: 600;
}

body .bplant-add select.bplant-add__select {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0 0 10px;
	padding: 0 12px;
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	background-color: #fff;
	color: var(--bplant-testo);
	font: inherit;
}

body .bplant-add select.bplant-add__select:focus {
	outline: 2px solid var(--bplant-verde);
	outline-offset: -1px;
}

.bplant-add__row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: stretch;
}

body button.bplant-add__btn {
	flex: 1 1 auto;
}

.bplant-add__info {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 6px 0 0;
	font-size: .9em;
	color: var(--bplant-grigio);
}

.bplant-add__incart {
	color: var(--bplant-verde);
	font-weight: 600;
}

.bplant-add__unita {
	font-weight: 400;
	color: var(--bplant-grigio);
}

.bplant-add__pianale,
.bplant-tabella__pianale {
	margin: 2px 0 0;
	font-size: .85em;
	color: var(--bplant-grigio);
}

.bplant-tabella__pianale {
	display: block;
}

.bplant-add__msg {
	margin: 4px 0 0;
	min-height: 1.4em;
	font-size: .9em;
	color: var(--bplant-verde);
}

.bplant-add__msg.bplant-add__msg--errore {
	color: var(--bplant-errore);
	font-weight: 600;
}

.bplant-add__msg a {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
}

.bplant-add--off {
	margin-top: 12px;
	padding: 8px 12px;
	border-radius: var(--bplant-radius);
	background: #f1f1ee;
	color: var(--bplant-grigio);
	font-weight: 600;
	text-align: center;
}

/* ---------- Link carrello per header ---------- */

.bplant-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.bplant-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--bplant-viola);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

/* ---------- Account nell'header ---------- */

.bplant-account {
	position: relative;
	display: inline-block;
}

.bplant-account__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	list-style: none;
}

.bplant-account__link::-webkit-details-marker {
	display: none;
}

.bplant-account__link .bplant-icona {
	display: block;
	flex: 0 0 auto;
}

.bplant-account__nome {
	max-width: 180px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

summary.bplant-account__link::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-left: 2px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

.bplant-account[open] summary.bplant-account__link::after {
	transform: translateY(2px) rotate(-135deg);
}

.bplant-account__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 9995;
	min-width: 200px;
	margin: 0;
	padding: 6px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
	list-style: none;
}

.bplant-account__menu li {
	margin: 0;
}

.bplant-account__menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 6px;
	color: var(--bplant-testo);
	text-decoration: none;
	white-space: nowrap;
}

.bplant-account__menu a:hover,
.bplant-account__menu a:focus-visible {
	background: #f4f4f0;
	color: var(--bplant-verde);
}

@media (max-width: 767px) {
	.bplant-account__nome {
		display: none;
	}
}

/* ---------- Mini carrello flottante ---------- */

.bplant-mini {
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
}

.bplant-mini > * {
	pointer-events: auto;
}

body button.bplant-fab {
	gap: 8px;
	padding: 12px 16px;
	border-radius: 999px;
	background: var(--bplant-verde);
	color: #fff;
	font-size: inherit;
	font-weight: 600;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
}

body button.bplant-fab:hover,
body button.bplant-fab:focus,
body button.bplant-fab[aria-expanded="true"] {
	background: var(--bplant-verde-hover);
	color: #fff;
}

body button.bplant-fab:focus-visible {
	outline: 2px solid var(--bplant-viola);
	outline-offset: 2px;
}

.bplant-fab .bplant-icona {
	display: block;
}

.bplant-mini__bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

/* Pulsante account: bianco per distinguerlo dal carrello */
body button.bplant-fab--account {
	background: #fff;
	color: var(--bplant-verde);
}

body button.bplant-fab--account:hover,
body button.bplant-fab--account:focus,
body button.bplant-fab--account[aria-expanded="true"] {
	background: #f4f4f0;
	color: var(--bplant-verde);
}

.bplant-fab--account .bplant-fab__label {
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Pannello account */

.bplant-mini__body {
	padding: 16px;
	overflow-y: auto;
}

.bplant-login .bplant-campo {
	margin-bottom: 12px;
}

body button.bplant-login__btn {
	width: 100%;
	min-height: 44px;
}

.bplant-login__link,
.bplant-login__nuovo {
	margin: 12px 0 0;
	font-size: .9em;
	text-align: center;
}

.bplant-login__nuovo {
	padding-top: 12px;
	border-top: 1px solid var(--bplant-bordo);
}

.bplant-login__link a,
.bplant-login__nuovo a {
	color: var(--bplant-verde);
	font-weight: 600;
	text-decoration: underline;
}

.bplant-account__saluto {
	margin: 0 0 12px;
}

.bplant-account__saluto span {
	display: block;
	font-size: .85em;
	color: var(--bplant-grigio);
	overflow-wrap: anywhere;
}

.bplant-account__menu.bplant-account__menu--pannello {
	position: static;
	min-width: 0;
	padding: 0;
	box-shadow: none;
}

.bplant-account__menu--pannello li + li {
	border-top: 1px solid var(--bplant-bordo);
}

.bplant-account__menu--pannello a {
	padding: 12px 4px;
	border-radius: 0;
}

.bplant-fab--pulse {
	animation: bplant-pulse .5s ease;
}

@keyframes bplant-pulse {
	0% { transform: scale(1); }
	40% { transform: scale(1.12); }
	100% { transform: scale(1); }
}

.bplant-mini__panel {
	display: flex;
	flex-direction: column;
	width: 360px;
	max-width: calc(100vw - 32px);
	max-height: min(70vh, 560px);
	border-radius: 10px;
	background: #fff;
	color: var(--bplant-testo);
	box-shadow: 0 12px 40px rgba(0, 0, 0, .3);
	overflow: hidden;
	animation: bplant-apri .18s ease-out;
}

@keyframes bplant-apri {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

.bplant-mini__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 10px 10px 16px;
	background: var(--bplant-verde);
	color: #fff;
}

.bplant-mini .bplant-mini__titolo {
	margin: 0;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.3;
	outline: none;
}

body button.bplant-mini__chiudi {
	width: 36px;
	min-width: 0;
	height: 36px;
	min-height: 0;
	padding: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
}

body button.bplant-mini__chiudi:hover,
body button.bplant-mini__chiudi:focus {
	background: rgba(255, 255, 255, .15);
	color: #fff;
}

body button.bplant-mini__chiudi .bplant-ico {
	width: 18px;
	height: 18px;
}

.bplant-mini__vuoto {
	margin: 0;
	padding: 24px 16px;
	color: var(--bplant-grigio);
	text-align: center;
}

.bplant-mini__lista {
	flex: 1 1 auto;
	margin: 0;
	padding: 0 16px;
	list-style: none;
	overflow-y: auto;
}

.bplant-mini__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 32px;
	grid-template-areas:
		"info info rm"
		"qty sub sub";
	gap: 8px;
	align-items: center;
	margin: 0;
	padding: 12px 0;
	border-bottom: 1px solid var(--bplant-bordo);
}

.bplant-mini__item:last-child {
	border-bottom: 0;
}

.bplant-mini__info {
	grid-area: info;
	min-width: 0;
}

.bplant-mini__nome {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bplant-mini__meta {
	display: block;
	font-size: .85em;
	color: var(--bplant-grigio);
}

.bplant-mini__item .bplant-qty {
	grid-area: qty;
	justify-self: start;
}

.bplant-mini__sub {
	grid-area: sub;
	justify-self: end;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

body .bplant-mini__item button.bplant-rimuovi {
	grid-area: rm;
	justify-self: end;
	align-self: start;
}

.bplant-mini__footer {
	padding: 12px 16px 16px;
	border-top: 1px solid var(--bplant-bordo);
	background: #fafaf7;
}

.bplant-mini__totale {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin: 0;
	font-size: 1.05em;
}

.bplant-mini__totale strong {
	font-size: 1.2em;
	font-variant-numeric: tabular-nums;
}

.bplant-mini__nota {
	margin: 4px 0 12px;
	font-size: .8em;
	color: var(--bplant-grigio);
}

body a.bplant-mini__cta {
	width: 100%;
	min-height: 44px;
}

@media (prefers-reduced-motion: reduce) {
	.bplant-fab--pulse,
	.bplant-mini__panel {
		animation: none;
	}
}

/* ---------- Pagina ordine ---------- */

.bplant-ordine {
	color: var(--bplant-testo);
}

.bplant-ordine__stato,
.bplant-ordine__vuoto {
	padding: 24px;
	border-radius: var(--bplant-radius);
	background: #f6f6f2;
	text-align: center;
}

.bplant-ordine__vuoto p {
	margin: 0 0 12px;
}

.bplant-ordine__avviso {
	padding: 10px 14px;
	border-radius: var(--bplant-radius);
	background: var(--bplant-note-bg);
}

.bplant-tabella {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
}

.bplant-tabella th,
.bplant-tabella td {
	padding: 10px;
	border: 0;
	border-bottom: 1px solid var(--bplant-bordo);
	vertical-align: middle;
	text-align: left;
	background: none;
}

/* Intestazioni allineate in basso: quelle lunghe ("Pz. per cassetta") vanno a capo senza sfalsare le altre */
.bplant-tabella thead th {
	border-bottom: 2px solid var(--bplant-verde);
	color: var(--bplant-verde);
	font-size: .8em;
	line-height: 1.25;
	text-transform: uppercase;
	letter-spacing: .02em;
	vertical-align: bottom;
}

/* Allineamento colonne: testi a sinistra, quantità al centro, numeri e importi a destra */
.bplant-tabella .bplant-num {
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.bplant-tabella .bplant-centro {
	text-align: center;
	white-space: nowrap;
}

.bplant-tabella td.bplant-centro .bplant-qty {
	vertical-align: middle;
}

/* "1 Pianale" in grassetto, sotto "+ 2 Cassette" */
.bplant-pianali {
	display: inline-block;
	line-height: 1.3;
	text-align: center;
}

.bplant-pianali__n {
	display: block;
	color: var(--bplant-verde);
	font-weight: 700;
}

.bplant-pianali__resto {
	display: block;
	font-size: .9em;
	font-weight: 400;
	color: var(--bplant-testo);
}

.bplant-tabella__pianali {
	color: var(--bplant-grigio);
}

.bplant-tabella tfoot th,
.bplant-tabella tfoot td {
	border-bottom: 0;
	padding-top: 14px;
	font-size: 1.15em;
	font-weight: 700;
}

.bplant-tabella tfoot th {
	text-align: right;
}

.bplant-tabella__prodotto {
	min-width: 200px;
}

.bplant-tabella__prodotto-box {
	display: flex;
	gap: 12px;
	align-items: center;
}

.bplant-tabella__img {
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	border-radius: 4px;
	object-fit: cover;
}

.bplant-tabella__nome {
	display: block;
}

.bplant-badge-promo {
	display: inline-block;
	margin-top: 4px;
	padding: 1px 8px;
	border-radius: 4px;
	background: var(--bplant-viola);
	color: #fff;
	font-size: .75em;
	font-weight: 700;
	text-transform: uppercase;
}

.bplant-tabella__condizioni {
	display: block;
	margin-top: 2px;
	font-size: .85em;
	color: var(--bplant-grigio);
}

.bplant-tabella__subtot {
	font-weight: 600;
}

.bplant-tabella__rimuovi {
	width: 48px;
	text-align: right;
}

.bplant-ordine__nota {
	margin: 12px 0 0;
	padding: 10px 14px;
	border-radius: var(--bplant-radius);
	background: var(--bplant-note-bg);
	font-size: .95em;
}

/* Form dati cliente */

.bplant-ordine__form {
	margin-top: 16px;
}

/* Data di consegna: subito sotto la nota sconti, in evidenza */

.bplant-consegna {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	margin: 0 0 32px;
	padding: 16px 20px;
	border: 2px solid var(--bplant-verde);
	border-radius: var(--bplant-radius);
	background: var(--bplant-ok-bg);
}

.bplant-consegna .bplant-consegna__label {
	margin: 0;
	color: var(--bplant-verde);
	font-size: 1.1em;
	font-weight: 700;
}

body .bplant-consegna input.bplant-consegna__input {
	width: auto;
	min-width: 200px;
	height: 44px;
	margin: 0;
	padding: 0 12px;
	border: 1px solid var(--bplant-verde);
	border-radius: var(--bplant-radius);
	background: #fff;
	color: var(--bplant-testo);
	font: inherit;
	font-weight: 600;
}

body .bplant-consegna input.bplant-consegna__input:focus {
	outline: 2px solid var(--bplant-viola);
	outline-offset: 1px;
}

/* Chrome/Edge evidenziano giorno/mese/anno col colore di sistema "Highlight"
   (su Windows segue il colore d'accento, a volte grigio scuro): usiamo i colori B-Plant. */
.bplant-consegna__input::-webkit-datetime-edit-day-field,
.bplant-consegna__input::-webkit-datetime-edit-month-field,
.bplant-consegna__input::-webkit-datetime-edit-year-field {
	padding: 2px 3px;
	border-radius: 3px;
	color: var(--bplant-testo);
}

.bplant-consegna__input::-webkit-datetime-edit-day-field:focus,
.bplant-consegna__input::-webkit-datetime-edit-month-field:focus,
.bplant-consegna__input::-webkit-datetime-edit-year-field:focus {
	background-color: var(--bplant-verde);
	color: #fff;
}

.bplant-consegna__input::-webkit-calendar-picker-indicator {
	padding: 4px;
	border-radius: 3px;
	cursor: pointer;
}

.bplant-consegna__input::-webkit-calendar-picker-indicator:hover {
	background-color: var(--bplant-ok-bg);
}

.bplant-consegna__help {
	flex: 1 1 100%;
	color: var(--bplant-grigio);
}

.bplant-ordine__titolo {
	margin: 0 0 4px;
}

/* I tuoi dati: riepilogo compatto, campi apribili con "Modifica" */

.bplant-dati {
	margin: 0 0 20px;
}

.bplant-dati__head {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 8px;
}

.bplant-dati__head .bplant-ordine__titolo {
	margin: 0;
}

.bplant-dati__link {
	font-size: .9em;
	color: var(--bplant-grigio);
}

.bplant-dati__link a {
	color: var(--bplant-verde);
}

.bplant-dati__box {
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	background: #fafaf7;
}

.bplant-dati__riepilogo {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	cursor: pointer;
	list-style: none;
}

.bplant-dati__riepilogo::-webkit-details-marker {
	display: none;
}

.bplant-dati__riepilogo:focus-visible {
	outline: 2px solid var(--bplant-verde);
	outline-offset: -2px;
}

.bplant-dati__testo {
	min-width: 0;
	line-height: 1.45;
}

.bplant-dati__testo span {
	display: block;
	font-size: .9em;
	color: var(--bplant-grigio);
	overflow-wrap: anywhere;
}

.bplant-dati__modifica {
	flex: 0 0 auto;
	padding: 6px 12px;
	border: 1px solid var(--bplant-verde);
	border-radius: var(--bplant-radius);
	background: #fff;
	color: var(--bplant-verde);
	font-size: .9em;
	font-weight: 600;
}

.bplant-dati__modifica::before {
	content: "Modifica";
}

.bplant-dati__box[open] .bplant-dati__modifica::before {
	content: "Chiudi";
}

.bplant-dati__riepilogo:hover .bplant-dati__modifica {
	background: var(--bplant-verde);
	color: #fff;
}

.bplant-dati__campi {
	padding: 14px 16px 12px;
	border-top: 1px solid var(--bplant-bordo);
	background: #fff;
}

.bplant-dati__campi .bplant-campo {
	margin-bottom: 10px;
}

.bplant-dati__campi .bplant-campo label {
	font-size: .9em;
}

.bplant-dati__campi .bplant-campo input:not([type="checkbox"]) {
	padding: 8px 10px;
}

.bplant-campi.bplant-campi--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0 12px;
}

.bplant-dati__nota {
	display: block;
	color: var(--bplant-grigio);
}

@media (max-width: 1024px) {
	.bplant-campi.bplant-campi--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.bplant-ordine__account {
	margin: 0 0 4px;
	padding: 10px 14px;
	border-radius: var(--bplant-radius);
	background: #f4f4f0;
}

.bplant-ordine__sottotitolo {
	margin: 0 0 16px;
	color: var(--bplant-grigio);
}

.bplant-campi {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.bplant-campo {
	margin: 0 0 14px;
}

.bplant-campo label {
	display: block;
	margin-bottom: 4px;
	font-weight: 600;
}

.bplant-campo input:not([type="checkbox"]),
.bplant-campo textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	font: inherit;
	background: #fff;
}

.bplant-campo input[readonly] {
	background: #f4f4f0;
	color: var(--bplant-grigio);
}

.bplant-campo--check label {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-weight: 400;
}

.bplant-campo--check input {
	margin-top: 4px;
}

.bplant-campo small {
	display: block;
	margin-top: 4px;
	color: var(--bplant-grigio);
}

.bplant-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.bplant-ordine__errore {
	padding: 10px 14px;
	border-radius: var(--bplant-radius);
	background: #fbeaea;
	color: var(--bplant-errore);
	font-weight: 600;
}

.bplant-ordine__esito {
	padding: 24px;
	border-radius: var(--bplant-radius);
	background: var(--bplant-ok-bg);
	color: var(--bplant-verde);
	font-size: 1.1em;
	font-weight: 600;
	text-align: center;
	outline: none;
}

.bplant-ordine__esito-link {
	margin: 12px 0 0;
	font-size: .9em;
}

.bplant-ordine__esito-link a {
	color: inherit;
	text-decoration: underline;
}

/* ---------- Storico ordini ---------- */

.bplant-storico {
	display: flex;
	flex-direction: column;
	gap: 12px;
	color: var(--bplant-testo);
}

.bplant-storico__item {
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	background: #fff;
	overflow: hidden;
}

.bplant-storico__summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto auto auto;
	gap: 16px;
	align-items: center;
	padding: 14px 16px;
	cursor: pointer;
	list-style: none;
}

.bplant-storico__summary::-webkit-details-marker {
	display: none;
}

.bplant-storico__summary::after {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .15s ease;
}

.bplant-storico__item[open] > .bplant-storico__summary::after {
	transform: rotate(-135deg);
}

.bplant-storico__item[open] > .bplant-storico__summary {
	border-bottom: 1px solid var(--bplant-bordo);
	background: #fafaf7;
}

.bplant-storico__summary:focus-visible {
	outline: 2px solid var(--bplant-verde);
	outline-offset: -2px;
}

.bplant-storico__numero {
	font-weight: 700;
}

.bplant-storico__data,
.bplant-storico__righe {
	color: var(--bplant-grigio);
	white-space: nowrap;
}

.bplant-storico__totale {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.bplant-storico__body {
	padding: 8px 16px 16px;
}

.bplant-storico__messaggio {
	margin: 8px 0 12px;
	padding: 12px 14px;
	border-left: 4px solid var(--bplant-verde);
	border-radius: 0 var(--bplant-radius) var(--bplant-radius) 0;
	background: #f4f4f0;
}

.bplant-storico__messaggio p {
	margin: 4px 0 0;
}

.bplant-storico .bplant-badge-promo {
	margin: 0 0 0 6px;
}

.bplant-storico__consegna {
	margin: 8px 0 4px;
}

.bplant-storico__note {
	margin: 12px 0 0;
	padding: 10px 14px;
	border-radius: var(--bplant-radius);
	background: var(--bplant-note-bg);
}

.bplant-storico__azioni {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	margin-top: 16px;
}

.bplant-storico__hint {
	font-size: .85em;
	color: var(--bplant-grigio);
}

@media (max-width: 767px) {
	.bplant-storico__summary {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 6px 12px;
	}

	.bplant-storico__numero {
		grid-column: 1;
		grid-row: 1;
	}

	.bplant-storico__summary::after {
		grid-column: 2;
		grid-row: 1;
	}

	.bplant-storico__data {
		grid-column: 1;
		grid-row: 2;
	}

	.bplant-storico__totale {
		grid-column: 2;
		grid-row: 2;
		justify-self: end;
	}

	.bplant-storico__stato {
		grid-column: 1;
		grid-row: 3;
	}

	.bplant-storico__righe {
		display: none;
	}
}

/* Box di accesso (area riservata, pagina ordine, storico) */

.bplant-accesso {
	color: var(--bplant-testo);
}

.bplant-accesso__box {
	max-width: 440px;
	margin: 0 auto;
	padding: 28px 24px;
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	background: #fff;
}

.bplant-accesso .bplant-accesso__titolo {
	margin: 0 0 8px;
	color: var(--bplant-verde);
	font-size: 1.5rem;
	line-height: 1.25;
}

.bplant-accesso__testo {
	margin: 0 0 20px;
	color: var(--bplant-grigio);
}

.bplant-accesso .bplant-campo input:not([type="checkbox"]) {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--bplant-bordo);
	border-radius: var(--bplant-radius);
	font: inherit;
	background: #fff;
}

.bplant-riservata {
	padding: 64px 16px;
}

/* ---------- Mobile ---------- */

@media (max-width: 767px) {
	.bplant-campi,
	.bplant-campi.bplant-campi--4 {
		grid-template-columns: 1fr;
	}

	.bplant-dati__riepilogo {
		align-items: flex-start;
	}

	.bplant-tabella thead {
		display: none;
	}

	.bplant-tabella,
	.bplant-tabella tbody,
	.bplant-tabella tr,
	.bplant-tabella td {
		display: block;
		width: 100%;
	}

	.bplant-tabella tbody tr {
		position: relative;
		padding: 12px;
		border-bottom: 1px solid var(--bplant-bordo);
	}

	/* Lo zebrato del tema Hello sta sulle celle: su mobile lo spostiamo sulla riga,
	   così il padding della riga fa da margine interno al fondino grigio. */
	.bplant-tabella tbody tr:nth-child(odd) {
		background-color: hsla(0, 0%, 50%, .071);
	}

	.bplant-tabella tbody > tr:nth-child(odd) > td {
		background: none;
	}

	.bplant-tabella tbody td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 4px 0;
		border: 0;
		text-align: right;
	}

	.bplant-tabella tbody td::before {
		content: attr(data-label);
		color: var(--bplant-grigio);
		font-size: .9em;
		text-align: left;
	}

	.bplant-tabella tbody td.bplant-tabella__prodotto {
		justify-content: flex-start;
		min-width: 0;
		padding-right: 40px;
		text-align: left;
	}

	.bplant-tabella .bplant-pianali {
		text-align: right;
	}

	.bplant-tabella tbody td.bplant-tabella__prodotto::before,
	.bplant-tabella tbody td.bplant-tabella__rimuovi::before {
		content: none;
	}

	.bplant-tabella tbody td.bplant-tabella__rimuovi {
		position: absolute;
		top: 12px;
		right: 12px;
		width: auto;
		padding: 0;
	}

	.bplant-tabella tfoot tr {
		display: flex;
		justify-content: space-between;
	}

	.bplant-tabella tfoot th,
	.bplant-tabella tfoot td {
		display: block;
		width: auto;
		padding: 14px 0 0;
	}

	.bplant-tabella tfoot td:empty {
		display: none;
	}

	.bplant-fab__label {
		display: none;
	}
}
