/*
 * Proonty · checkout, conferma dell'ordine e avvisi di WooCommerce.
 * Sostituisce gli stili di WooCommerce (vedi inc/woocommerce.php). Si carica solo nel checkout
 * e nell'area abbonamento. Riferimento: tavole «Checkout», «Conferma ordine» e «Avvisi» di design.pen.
 * Sul telefono i campi sono a 16px: sotto quella misura iPhone ingrandisce la pagina al tocco.
 */

/* ------------------------------------------------------------------ */
/* Pagina, header e footer ridotti                                    */
/* ------------------------------------------------------------------ */

.p-negozio {
	background: var(--p-grigio);
}

.p-header--checkout {
	position: relative;
	top: 0;
}

.p-header__lato {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}

.p-header__lato--testo {
	color: var(--p-testo-2);
}

.p-header__lato .p-icona {
	width: 18px;
	height: 18px;
}

a.p-header__lato:hover {
	color: var(--p-blu);
}

.p-footer--checkout {
	padding: 28px var(--p-lato) 36px;
	border-top: 1px solid var(--p-filetto);
	background: #fff;
	color: var(--p-testo-2);
}

.p-footer--checkout .p-footer__basso {
	padding-top: 0;
	border-top: 0;
}

.p-footer--checkout .p-footer__dati,
.p-footer--checkout .p-footer__legale a {
	color: var(--p-testo-2);
}

.p-footer--checkout .p-footer__legale a:hover {
	color: var(--p-blu);
}

/* ------------------------------------------------------------------ */
/* Impaginazione del checkout                                         */
/* ------------------------------------------------------------------ */

.p-checkout {
	display: grid;
	grid-template-areas:
		"testa lato"
		"prima lato"
		"avvisi lato"
		"colonna lato";
	grid-template-columns: minmax(0, 1fr) 420px;
	grid-template-rows: auto auto auto 1fr;
	column-gap: 40px;
	max-width: calc(var(--p-contenuto) + 2 * var(--p-lato));
	margin-inline: auto;
	padding: 48px var(--p-lato) 80px;
}

/* Il modulo non fa da scatola: colonna e riepilogo entrano nella griglia della pagina. */
.p-checkout__modulo {
	display: contents;
}

.p-checkout__testa {
	grid-area: testa;
	margin-bottom: 28px;
}

.p-checkout__prima {
	grid-area: prima;
}

.p-checkout__colonna {
	grid-area: colonna;
	min-width: 0;
}

/* Gli errori dopo l'invio: WooCommerce li mette in cima al modulo, che non fa da scatola
   (display: contents). Senza un posto nella griglia finirebbero in fondo alla pagina. */
.p-checkout__modulo > .woocommerce-NoticeGroup {
	grid-area: avvisi;
	min-width: 0;
}

.p-checkout__lato {
	position: sticky;
	top: 24px;
	grid-area: lato;
	align-self: start;
}

.p-checkout__titolo {
	margin: 0 0 8px;
	font-size: clamp(26px, 19.87px + 1.571vw, 42px);
	letter-spacing: -1px;
	line-height: 1.1;
}

.p-checkout__sottotitolo {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 16px;
}

@media (max-width: 1023px) {
	.p-checkout {
		grid-template-areas:
			"lato"
			"testa"
			"prima"
			"avvisi"
			"colonna";
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		padding: 16px 16px 48px;
	}

	.p-checkout__lato {
		position: static;
		margin-bottom: 20px;
	}

	.p-checkout__testa {
		margin-bottom: 20px;
	}
}

/* ------------------------------------------------------------------ */
/* Riquadri sopra i passi: accesso e utente collegato                 */
/* ------------------------------------------------------------------ */

.p-riquadro-accesso {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	padding: 18px 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-riquadro-accesso > .p-icona {
	width: 20px;
	height: 20px;
	color: var(--p-navy);
}

.p-riquadro-accesso--collegato > .p-icona {
	color: var(--p-blu);
}

.p-riquadro-accesso > div {
	flex: 1 1 auto;
}

.p-riquadro-accesso__titolo {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
}

.p-riquadro-accesso__testo {
	margin: 2px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.45;
}

.p-riquadro-accesso__azione {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 6px;
	color: var(--p-blu);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

@media (max-width: 599px) {
	.p-riquadro-accesso {
		flex-wrap: wrap;
		align-items: flex-start;
		padding: 16px;
	}

	.p-riquadro-accesso:not(.p-riquadro-accesso--collegato) > .p-icona {
		display: none;
	}

	.p-riquadro-accesso > div {
		flex-basis: calc(100% - 40px);
	}

	.p-riquadro-accesso:not(.p-riquadro-accesso--collegato) > div {
		flex-basis: 100%;
	}

	.p-riquadro-accesso--collegato {
		display: grid;
		grid-template-columns: 20px minmax(0, 1fr);
		gap: 8px 12px;
	}

	.p-riquadro-accesso--collegato .p-riquadro-accesso__titolo {
		overflow-wrap: anywhere;
	}

	.p-riquadro-accesso--collegato .p-riquadro-accesso__azione {
		grid-column: 2;
	}
}

/* Modulo di accesso, aperto da «Accedi» */
.p-accesso {
	margin: 0 0 20px;
	padding: 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-accesso__testa {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.p-accesso__titolo {
	margin: 0;
	font-family: var(--p-display);
	font-size: 20px;
	font-weight: 600;
}

.p-accesso__chiudi {
	display: inline-flex;
	color: var(--p-navy);
}

.p-accesso__chiudi .p-icona {
	width: 20px;
	height: 20px;
}

.p-accesso__riga {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 4px 0 16px;
}

.p-accesso__riga .lost_password {
	color: var(--p-blu);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.p-accesso__nota {
	margin: 12px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
}

/* Codice promozionale: c'è (sul sito ci sono buoni attivi), ma resta discreto. */
.p-negozio .woocommerce-form-coupon-toggle .wc-block-components-notice-banner,
.p-negozio .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0 0 16px;
	padding: 0 0 0 26px !important; /* un altro foglio (Subscriptions o l'editor dei campi) mette 16px */
	border: 0;
	background: none;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-negozio .woocommerce-form-coupon-toggle .wc-block-components-notice-banner::before,
.p-negozio .woocommerce-form-coupon-toggle .woocommerce-info::before {
	top: 2px;
	left: 0;
	width: 16px;
	height: 16px;
}

.p-negozio .woocommerce-form-coupon-toggle a {
	color: var(--p-blu);
	font-weight: 600;
	text-decoration: none;
}

.p-negozio form.checkout_coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 10px;
	margin: 0 0 20px;
	padding: 20px 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-negozio form.checkout_coupon > p:first-child {
	flex: 1 0 100%;
	margin: 0;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-negozio form.checkout_coupon .form-row-first {
	flex: 1 1 220px;
	margin: 0;
}

.p-negozio form.checkout_coupon .form-row-last {
	margin: 0;
}

.p-negozio form.checkout_coupon .clear {
	display: none;
}

.p-negozio form.checkout_coupon button {
	min-height: 44px;
	padding: 10px 18px;
	border: 1px solid var(--p-navy);
	border-radius: 4px;
	background: #fff;
	color: var(--p-navy);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.p-negozio form.checkout_coupon button:hover {
	background: var(--p-grigio);
}

/* ------------------------------------------------------------------ */
/* I tre passi                                                        */
/* ------------------------------------------------------------------ */

.p-passo-checkout {
	margin-bottom: 20px;
	padding: 32px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-passo-checkout__titolo {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 24px;
	font-size: 22px;
	letter-spacing: -0.3px;
}

.p-passo-checkout__titolo span {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 2px;
	background: var(--p-navy);
	color: #fff;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
}

.p-passo-checkout__nota {
	margin: 16px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

.p-checkout__spedizione:not(:has(input, select, textarea)) {
	display: none;
}

@media (max-width: 599px) {
	.p-passo-checkout {
		padding: 20px 16px 24px;
	}

	.p-passo-checkout__titolo {
		font-size: 20px;
	}
}

/* ------------------------------------------------------------------ */
/* Campi (nomi ed etichette restano quelli di Checkout Field Editor)  */
/* ------------------------------------------------------------------ */

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.p-checkout .create-account {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

.p-checkout .form-row {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
}

.p-checkout .form-row-first {
	grid-column: 1;
}

.p-checkout .form-row-last {
	grid-column: 2;
}

.p-checkout .create-account .clear,
.p-checkout .form-row:has(> input[type="hidden"]:only-child),
.p-checkout .form-row.thwcfe-hidden-field {
	display: none;
}

.p-negozio .form-row label,
.p-accesso .form-row label {
	display: block;
	margin-bottom: 8px;
	color: var(--p-testo-2);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.p-negozio .form-row .required {
	border: 0;
	color: var(--p-testo-2);
	text-decoration: none;
}

.p-negozio .form-row .optional {
	color: var(--p-testo-2);
	font-weight: 400;
}

.p-negozio .woocommerce-input-wrapper {
	display: block;
}

.p-negozio input.input-text,
.p-negozio input[type="text"],
.p-negozio input[type="email"],
.p-negozio input[type="tel"],
.p-negozio input[type="password"],
.p-negozio input[type="number"],
.p-negozio select,
.p-negozio textarea {
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	color: var(--p-navy);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.3;
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	appearance: none;
}

.p-negozio textarea {
	min-height: 96px;
}

.p-negozio input.input-text:focus,
.p-negozio select:focus,
.p-negozio textarea:focus {
	border-color: var(--p-blu);
	outline: none;
	box-shadow: var(--p-anello);
}

.p-negozio .woocommerce-invalid input.input-text,
.p-negozio .woocommerce-invalid select,
.p-negozio .woocommerce-invalid .select2-selection {
	border-color: var(--wp--preset--color--errore);
	background: #fffafa;
}

.p-negozio .checkout-inline-error-message {
	margin: 6px 0 0;
	color: var(--wp--preset--color--errore);
	font-size: 14px;
}

/* Paese unico (Italia): WooCommerce lo scrive come testo. */
.p-negozio #billing_country_field strong {
	display: block;
	padding: 11px 14px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: var(--p-grigio);
	font-weight: 500;
}

/* Menu a tendina (selectWoo di WooCommerce) */
.p-negozio .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	height: 44px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
}

.p-negozio .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 40px 0 14px;
	color: var(--p-navy);
	font-size: 15px;
	line-height: 42px;
}

.p-negozio .select2-container .select2-selection--single .select2-selection__arrow {
	top: 0;
	right: 10px;
	width: 20px;
	height: 42px;
}

.p-negozio .select2-container .select2-selection--single .select2-selection__arrow b {
	display: none;
}

.p-negozio .select2-container .select2-selection--single .select2-selection__arrow::after {
	content: "";
	position: absolute;
	top: 13px;
	left: 2px;
	width: 16px;
	height: 16px;
	background: var(--p-testo-2);
	-webkit-mask: var(--p-i-chevron-down) center / contain no-repeat;
	mask: var(--p-i-chevron-down) center / contain no-repeat;
}

.p-negozio .select2-container--focus .select2-selection--single,
.p-negozio .select2-container--open .select2-selection--single {
	border-color: var(--p-blu);
	box-shadow: var(--p-anello);
}

.select2-dropdown {
	border-color: var(--p-filetto) !important;
	border-radius: 4px !important;
	box-shadow: var(--p-ombra-menu);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
}

.select2-results__option--highlighted[aria-selected],
.select2-results__option--highlighted[data-selected] {
	background: var(--p-blu) !important;
}

.select2-search--dropdown .select2-search__field {
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid var(--p-filetto) !important;
	border-radius: 4px;
	font-size: 16px;
}

/* Caselle */
.p-negozio input[type="checkbox"],
.p-negozio input[type="radio"],
.p-accesso input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--p-blu);
	cursor: pointer;
}

.p-negozio .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	color: var(--p-navy) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	cursor: pointer;
}

.p-negozio .woocommerce-form__label-for-checkbox input {
	flex: 0 0 auto;
	margin-top: 1px;
}

.p-negozio .woocommerce-form__label-for-checkbox .required {
	margin-left: -6px;
}

/* «Mostra» la password: il pulsante di WooCommerce dentro il campo, scritto a parole. */
.p-negozio .password-input {
	position: relative;
	display: block;
}

.p-negozio .password-input input {
	padding-right: 84px;
}

.p-negozio .show-password-input {
	position: absolute;
	top: 50%;
	right: 6px;
	height: 32px;
	padding: 0 10px;
	border: 0;
	border-radius: 2px;
	background: none;
	color: var(--p-blu);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transform: translateY(-50%);
}

.p-negozio .show-password-input::after {
	content: "Mostra";
}

.p-negozio .show-password-input.display-password::after {
	content: "Nascondi";
}

@media (max-width: 599px) {
	.woocommerce-billing-fields__field-wrapper,
	.p-checkout .create-account {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.p-checkout .form-row-first,
	.p-checkout .form-row-last {
		grid-column: 1;
	}

	/* Nome e cognome restano affiancati, come nel design. */
	.p-checkout .woocommerce-billing-fields__field-wrapper:has(#billing_first_name_field.form-row-first) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-checkout #billing_first_name_field.form-row-first {
		grid-column: 1;
	}

	.p-checkout #billing_last_name_field.form-row-last {
		grid-column: 2;
	}

	.p-checkout .woocommerce-billing-fields__field-wrapper:has(#billing_first_name_field.form-row-first) > .form-row:not(#billing_first_name_field):not(#billing_last_name_field) {
		grid-column: 1 / -1;
	}

	.p-negozio input.input-text,
	.p-negozio input[type="text"],
	.p-negozio input[type="email"],
	.p-negozio input[type="tel"],
	.p-negozio input[type="password"],
	.p-negozio select,
	.p-negozio textarea,
	.p-negozio .select2-container .select2-selection--single .select2-selection__rendered {
		font-size: 16px;
	}
}

/* ------------------------------------------------------------------ */
/* Pagamento, consensi e pulsante                                     */
/* ------------------------------------------------------------------ */

.p-negozio #payment {
	background: none;
	border-radius: 0;
}

.p-negozio .wc_payment_methods {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	list-style: none;
}

.p-negozio .wc_payment_method {
	position: relative;
	margin: 0;
	padding: 0;
	border: 1px solid var(--p-filetto);
	background: #fff;
}

.p-negozio .wc_payment_method:first-child {
	border-radius: 4px 4px 0 0;
}

.p-negozio .wc_payment_method:last-child {
	border-radius: 0 0 4px 4px;
}

.p-negozio .wc_payment_method:only-child {
	border-radius: 4px;
}

.p-negozio .wc_payment_method + .wc_payment_method {
	margin-top: -1px;
}

.p-negozio .wc_payment_method:has(> input:checked) {
	z-index: 1;
	border-color: var(--p-blu);
	background: #f5f9ff;
}

.p-negozio .wc_payment_method > input[type="radio"] {
	position: absolute;
	top: 20px;
	left: 20px;
}

.p-negozio .wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 16px 20px 16px 50px;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

/* Un solo metodo: WooCommerce nasconde il pallino, quindi niente rientro. */
.p-negozio .wc_payment_method:only-child > label {
	padding-left: 20px;
}

.p-negozio .wc_payment_method > label img {
	max-height: 22px;
	margin-left: auto;
}

.p-negozio .payment_box {
	margin: 0;
	padding: 0 20px 20px;
	background: none;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-negozio .payment_box::before {
	display: none;
}

.p-negozio .payment_box p:first-child {
	margin-top: 0;
}

.p-negozio .place-order {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.p-negozio .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
	margin: 0 0 4px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-negozio .woocommerce-terms-and-conditions-wrapper .form-row {
	margin: 0;
}

.p-negozio #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	margin-top: 8px;
	padding: 17px 24px;
	border: 0;
	border-radius: 4px;
	background: var(--p-blu);
	color: #fff;
	font-family: inherit;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.p-negozio #place_order::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--p-i-arrow-right) center / contain no-repeat;
	mask: var(--p-i-arrow-right) center / contain no-repeat;
}

.p-negozio #place_order:hover {
	background: var(--p-blu-scuro);
}

.p-negozio #place_order:focus-visible {
	outline: 2px solid var(--p-navy);
	box-shadow: var(--p-anello);
}

.p-checkout__nota {
	margin: 4px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

/* Mentre WooCommerce aggiorna, niente velo bianco a tutta pagina: solo un po' di trasparenza. */
.p-negozio .blockUI.blockOverlay {
	background: rgba(244, 247, 251, 0.6) !important;
}

/* ------------------------------------------------------------------ */
/* Riepilogo a destra (in cima sul telefono)                          */
/* ------------------------------------------------------------------ */

.p-riepilogo {
	padding: 28px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-riepilogo__apri {
	display: none;
}

.p-riepilogo__occhiello {
	margin: 0 0 14px;
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-riepilogo__piano {
	margin: 0;
	font-family: var(--p-display);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.4px;
	line-height: 1.15;
}

.p-riepilogo__descrizione {
	margin: 4px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-riepilogo__conti {
	width: 100%;
	margin: 20px 0 0;
	border-collapse: collapse;
	border-top: 1px solid var(--p-filetto);
}

.p-riepilogo__conti th,
.p-riepilogo__conti td {
	padding: 8px 0 0;
	border: 0;
	color: var(--p-testo-2);
	font-size: 15px;
	font-weight: 400;
	text-align: left;
	vertical-align: baseline;
}

.p-riepilogo__conti tbody tr:first-child th,
.p-riepilogo__conti tbody tr:first-child td {
	padding-top: 18px;
}

.p-riepilogo__conti td {
	text-align: right;
	white-space: nowrap;
}

.p-riepilogo__conti .order-total th,
.p-riepilogo__conti .order-total td {
	padding: 18px 0 16px;
	border-bottom: 1px solid var(--p-filetto);
	color: var(--p-navy);
	font-weight: 600;
}

.p-riepilogo__conti .order-total td {
	font-family: var(--p-display);
	font-size: 30px;
	letter-spacing: -0.8px;
	line-height: 1;
}

.p-riepilogo__rinnovo {
	margin: 20px 0 0;
	padding: 14px 16px;
	border-radius: 2px;
	background: var(--p-grigio);
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

.p-riepilogo__rinnovo strong {
	display: block;
	margin-top: 2px;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
}

.p-riepilogo__rinnovo span {
	display: block;
	margin-top: 4px;
}

.p-riepilogo__funzioni {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.p-riepilogo__funzioni li {
	display: flex;
	gap: 10px;
	font-size: 15px;
	line-height: 1.35;
}

.p-riepilogo__funzioni .p-icona {
	margin-top: 2px;
	color: var(--p-blu);
}

/* Rassicurazioni: nel riepilogo su desktop, sotto il pulsante sul telefono. */
.p-rassicurazioni {
	margin-top: 20px;
	padding: 20px 28px 24px;
	border: 1px solid var(--p-filetto);
	border-top: 0;
	border-radius: 0 0 4px 4px;
	background: #fff;
}

.p-checkout__lato .p-riepilogo {
	border-radius: 4px 4px 0 0;
}

.p-checkout__lato .p-rassicurazioni {
	margin-top: 0;
}

.p-checkout__lato .p-rassicurazioni ul {
	padding-top: 20px;
	border-top: 1px solid var(--p-filetto);
}

.p-rassicurazioni ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-rassicurazioni li,
.p-rassicurazioni__whatsapp {
	display: flex;
	gap: 10px;
	color: var(--p-navy);
	font-size: 14px;
	line-height: 1.45;
}

.p-rassicurazioni .p-icona {
	width: 18px;
	height: 18px;
	color: var(--p-blu);
}

.p-rassicurazioni__whatsapp {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--p-filetto);
	font-weight: 600;
	text-decoration: none;
}

.p-rassicurazioni__whatsapp .p-icona {
	color: #25d366;
}

.p-rassicurazioni--sotto {
	display: none;
}

@media (max-width: 1023px) {
	.p-riepilogo {
		padding: 0;
	}

	.p-riepilogo__apri {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		padding: 14px 16px;
		border: 0;
		background: none;
		color: var(--p-navy);
		font-family: inherit;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.3;
		text-align: left;
		cursor: pointer;
	}

	.p-riepilogo__apri span {
		flex: 1 1 auto;
	}

	.p-riepilogo__apri strong {
		font-family: var(--p-display);
		font-size: 20px;
		font-weight: 600;
		white-space: nowrap;
	}

	.p-riepilogo__apri .p-icona {
		transition: transform 0.15s ease;
	}

	.p-checkout__lato.is-aperto .p-riepilogo__apri .p-icona {
		transform: rotate(180deg);
	}

	.p-riepilogo__corpo {
		display: none;
		padding: 4px 16px 20px;
		border-top: 1px solid var(--p-filetto);
	}

	.p-checkout__lato.is-aperto .p-riepilogo__corpo {
		display: block;
	}

	.p-riepilogo__occhiello {
		margin-top: 16px;
		font-size: 14px;
	}

	.p-checkout__lato .p-riepilogo {
		border-radius: 4px;
	}

	.p-checkout__lato .p-rassicurazioni--lato {
		display: none;
	}

	.p-rassicurazioni--sotto {
		display: block;
		margin-top: 24px;
		padding: 20px 0 0;
		border: 0;
		border-top: 1px solid var(--p-filetto);
		border-radius: 0;
	}
}

/* ------------------------------------------------------------------ */
/* Avvisi (tavola «Avvisi di WooCommerce»)                            */
/* ------------------------------------------------------------------ */

.p-negozio .woocommerce-notices-wrapper:empty {
	display: none;
}

.p-negozio .wc-block-components-notice-banner,
.p-negozio .woocommerce-error,
.p-negozio .woocommerce-message,
.p-negozio .woocommerce-info {
	position: relative;
	display: block;
	margin: 0 0 16px;
	padding: 16px 20px 16px 52px !important; /* wc-blocks.css mette padding: 16px !important */
	border: 0;
	border-left: 3px solid var(--p-testo-2);
	border-radius: 2px;
	background: #fff;
	color: var(--p-navy);
	font-size: 15px;
	line-height: 1.5;
	list-style: none;
}

.p-negozio .wc-block-components-notice-banner > svg {
	display: none;
}

/* Le varianti di wc-blocks.css (.is-info, .is-error…) arrivano dopo le nostre: qui le battiamo. */
.p-negozio .wc-block-components-notice-banner.is-info,
.p-negozio .wc-block-components-notice-banner.is-notice,
.p-negozio .wc-block-components-notice-banner.is-default {
	border-left-color: var(--p-testo-2);
	background: #fff;
}

.p-negozio .wc-block-components-notice-banner::before,
.p-negozio .woocommerce-error::before,
.p-negozio .woocommerce-message::before,
.p-negozio .woocommerce-info::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 20px;
	width: 20px;
	height: 20px;
	background: var(--p-testo-2);
	-webkit-mask: var(--p-i-info) center / contain no-repeat;
	mask: var(--p-i-info) center / contain no-repeat;
}

.p-negozio .wc-block-components-notice-banner.is-error,
.p-negozio .woocommerce-error {
	border-left-color: var(--wp--preset--color--errore);
	background: var(--wp--preset--color--errore-chiaro);
}

.p-negozio .wc-block-components-notice-banner.is-error::before,
.p-negozio .woocommerce-error::before {
	background: var(--wp--preset--color--errore);
	-webkit-mask-image: var(--p-i-circle-alert);
	mask-image: var(--p-i-circle-alert);
}

.p-negozio .wc-block-components-notice-banner.is-success,
.p-negozio .woocommerce-message {
	border-left-color: var(--p-blu);
	background: var(--p-azzurro);
}

.p-negozio .wc-block-components-notice-banner.is-success::before,
.p-negozio .woocommerce-message::before {
	background: var(--p-blu);
	-webkit-mask-image: var(--p-i-circle-check);
	mask-image: var(--p-i-circle-check);
}

.p-negozio .wc-block-components-notice-banner a,
.p-negozio .woocommerce-error a,
.p-negozio .woocommerce-info a {
	color: inherit;
	font-weight: 600;
}

.p-negozio .wc-block-components-notice-banner.is-error a,
.p-negozio .woocommerce-error a {
	color: var(--wp--preset--color--errore);
}

.p-negozio .wc-block-components-notice-banner__content ul,
.p-negozio .woocommerce-error {
	margin: 0;
	padding-left: 52px;
}

.p-negozio .woocommerce-error li {
	margin: 0;
}

.p-negozio .wc-block-components-notice-banner__content ul li {
	position: relative;
	margin: 2px 0;
	padding-left: 18px;
	list-style: none;
}

.p-negozio .wc-block-components-notice-banner__content ul li::before {
	content: "";
	position: absolute;
	top: 0.75em;
	left: 0;
	width: 10px;
	height: 1.5px;
	background: var(--wp--preset--color--errore);
}

.p-negozio .wc-block-components-notice-banner__content > strong:first-child,
.p-negozio .wc-block-components-notice-banner__content strong {
	font-weight: 600;
}

/* ------------------------------------------------------------------ */
/* Conferma dell'ordine                                               */
/* ------------------------------------------------------------------ */

.p-conferma__dentro {
	max-width: var(--p-contenuto);
	margin-inline: auto;
}

.p-conferma__testa {
	padding: 64px var(--p-lato) 56px;
	border-bottom: 1px solid var(--p-filetto);
	background: radial-gradient(ellipse 60% 120% at 20% 0%, #e3f0ff 0%, #f5f9ff 45%, #fff 100%);
}

.p-conferma__spunta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 24px;
	border-radius: 2px;
	background: var(--p-blu);
	color: #fff;
}

.p-conferma__spunta .p-icona {
	width: 28px;
	height: 28px;
}

.p-conferma__titolo {
	margin: 12px 0 0;
	font-size: clamp(30px, 18.86px + 2.857vw, 54px);
	letter-spacing: -1.6px;
	line-height: 1.06;
}

.p-conferma__testo {
	max-width: 720px;
	margin: 20px 0 0;
	color: var(--p-testo-2);
	font-size: clamp(16px, 15.26px + 0.19vw, 18px);
	line-height: 1.55;
}

.p-conferma__azioni {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0 0;
}

.p-conferma__corpo {
	padding: 48px var(--p-lato) 80px;
}

.p-conferma__griglia {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	align-items: start;
	gap: 40px;
}

.p-conferma__sezione {
	margin: 0 0 20px;
	font-size: 28px;
	letter-spacing: -0.6px;
}

.p-conferma__passi + .p-conferma__sezione {
	margin-top: 40px;
}

.p-conferma__passi {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-conferma__passi li,
.p-accesso-scheda,
.p-conferma__lato {
	padding: 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-conferma__numero {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 2px;
	background: var(--p-navy);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
}

.p-conferma__passi h3 {
	margin: 14px 0 10px;
	font-size: 22px;
	letter-spacing: -0.4px;
}

.p-conferma__passi p,
.p-accesso-scheda__testo {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.55;
}

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

.p-accesso-scheda {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.p-accesso-scheda--evidenza {
	border-color: var(--p-blu);
	box-shadow: 0 0 0 0.5px var(--p-blu);
}

.p-accesso-scheda__titolo {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--p-display);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.4px;
}

.p-accesso-scheda__titolo .p-icona {
	width: 22px;
	height: 22px;
	color: var(--p-blu);
}

.p-accesso-scheda__meta {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 14px;
	font-weight: 600;
}

.p-accesso-scheda .p-pulsante {
	margin-top: auto;
}

.p-accesso-scheda__testo {
	margin-bottom: 12px;
}

.p-conferma__link-whatsapp .p-icona {
	color: #25d366;
}

.p-conferma__metodo:empty {
	display: none;
}

.p-conferma__lato {
	position: sticky;
	top: 24px;
	padding: 28px;
}

.p-conferma__dati {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0 0 20px;
	border-bottom: 1px solid var(--p-filetto);
}

.p-conferma__dati div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	font-size: 14px;
}

.p-conferma__dati dt {
	color: var(--p-testo-2);
}

.p-conferma__dati dd {
	margin: 0;
	font-weight: 500;
	text-align: right;
}

.p-conferma__totale {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: 20px 0 0;
	font-size: 15px;
	font-weight: 600;
}

.p-conferma__totale strong {
	font-family: var(--p-display);
	font-size: 30px;
	letter-spacing: -0.8px;
}

.p-conferma__lato .p-riepilogo__rinnovo {
	margin-top: 16px;
}

.p-conferma__aiuto {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--p-filetto);
}

.p-conferma__aiuto p {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
}

.p-conferma__aiuto a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--p-blu);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.p-conferma__aiuto .p-icona {
	width: 18px;
	height: 18px;
}

@media (max-width: 1023px) {
	.p-conferma__griglia {
		grid-template-columns: minmax(0, 1fr);
	}

	.p-conferma__lato {
		position: static;
	}
}

@media (max-width: 899px) {
	.p-conferma__testa {
		padding: 32px 20px;
	}

	.p-conferma__corpo {
		padding: 32px 16px 56px;
	}

	.p-conferma__passi,
	.p-conferma__accessi {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.p-conferma__sezione {
		font-size: 24px;
	}

	.p-conferma__passi h3,
	.p-accesso-scheda__titolo {
		font-size: 20px;
	}

	.p-conferma__lato {
		padding: 20px;
	}
}

/* ------------------------------------------------------------------ */
/* Area abbonamento (tavole «Area abbonamento · desktop / telefono»)  */
/* ------------------------------------------------------------------ */

/* Pulsanti dell'area */
.p-pulsante--rosso {
	background: #fff;
	color: var(--wp--preset--color--errore);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--errore);
}

.p-pulsante--rosso:hover {
	background: var(--wp--preset--color--errore-chiaro);
	color: var(--wp--preset--color--errore);
}

.p-pulsante--pieno-rosso {
	background: var(--wp--preset--color--errore);
	color: #fff;
}

.p-pulsante--pieno-rosso:hover {
	background: #b42318;
	color: #fff;
}

.p-pulsante .p-icona {
	width: 16px;
	height: 16px;
}

/* Accesso */
.p-accesso-area {
	max-width: 480px;
	margin-inline: auto;
	padding: 64px 16px 96px;
}

.p-accesso-area__scheda {
	padding: 32px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-accesso-area__titolo {
	margin: 0;
	font-size: 26px;
	letter-spacing: -0.5px;
}

.p-accesso-area__testo {
	margin: 10px 0 24px;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.5;
}

.p-accesso-area .form-row {
	margin: 0 0 16px;
	padding: 0;
}

.p-accesso-area__piede {
	margin: 20px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
	text-align: center;
}

.p-accesso-area__piede a {
	font-weight: 600;
	text-decoration: none;
}

/* Impaginazione per chi è collegato */
.p-account {
	max-width: calc(var(--p-contenuto) + 2 * var(--p-lato));
	margin-inline: auto;
	padding: 48px var(--p-lato) 96px;
}

.p-account__testa {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 32px;
}

.p-account__titolo {
	margin: 0;
	font-size: clamp(30px, 26.29px + 0.952vw, 40px);
	letter-spacing: -1px;
}

.p-account__testo {
	margin: 8px 0 0;
	color: var(--p-testo-2);
	font-size: 16px;
}

.p-account__corpo {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: start;
	gap: 40px;
}

/* Menu dell'area */
.p-menu-area__voci {
	margin: 0;
	padding: 8px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	list-style: none;
}

.p-menu-area__voci a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 2px;
	color: var(--p-navy);
	font-size: 15px;
	text-decoration: none;
}

.p-menu-area__voci a:hover {
	background: var(--p-grigio);
}

.p-menu-area__voci .p-icona {
	width: 18px;
	height: 18px;
	color: var(--p-testo-2);
}

.p-menu-area__voci .is-active a {
	background: var(--p-azzurro);
	color: var(--p-blu-scuro);
	font-weight: 600;
}

.p-menu-area__voci .is-active .p-icona {
	color: var(--p-blu);
}

.p-menu-area__selettore {
	display: none;
}

/* Titoli del contenuto */
.p-area__titolo,
.p-dettaglio__titolo {
	margin: 0;
	font-size: 28px;
	letter-spacing: -0.6px;
}

.p-area__sottotitolo {
	margin: 4px 0 20px;
	color: var(--p-testo-2);
	font-size: 15px;
}

.p-area__vuoto {
	margin: 0 0 16px;
	color: var(--p-testo-2);
}

/* Elenco degli abbonamenti */
.p-abbonamenti__elenco {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.p-scheda-abbonamento {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 28px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-scheda-abbonamento__azienda {
	margin: 0;
	font-size: 22px;
	letter-spacing: -0.4px;
}

.p-scheda-abbonamento__etichette {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

.p-scheda-abbonamento__addebito {
	margin: 10px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-scheda-abbonamento__azioni {
	flex: 0 0 auto;
}

.p-abbonamenti__aggiungi {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 20px 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fafcff;
	text-decoration: none;
}

.p-abbonamenti__aggiungi .p-icona {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--p-blu);
}

.p-abbonamenti__aggiungi-titolo {
	display: block;
	color: var(--p-blu);
	font-size: 15px;
	font-weight: 600;
}

.p-abbonamenti__aggiungi-testo {
	display: block;
	margin-top: 2px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-abbonamenti__aggiungi:hover .p-abbonamenti__aggiungi-titolo {
	color: var(--p-blu-scuro);
}

/* Dettaglio di un abbonamento */
.p-dettaglio__indietro {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 14px;
	color: var(--p-blu);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.p-dettaglio .p-scheda-abbonamento__etichette {
	margin: 12px 0 24px;
}

.p-riquadri {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.p-riquadro-dato {
	padding: 20px 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-riquadro-dato p {
	margin: 0;
}

.p-riquadro-dato__etichetta {
	color: var(--p-testo-2);
	font-size: 13px;
}

.p-riquadro-dato__valore {
	margin-top: 6px !important;
	font-family: var(--p-display);
	font-size: 20px;
	font-weight: 600;
	letter-spacing: -0.3px;
	line-height: 1.2;
}

.p-riquadro-dato__nota {
	margin-top: 4px !important;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-riquadro-dato__link {
	display: inline-block;
	margin-top: 6px;
	color: var(--p-blu);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.p-dettaglio__azioni {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.p-disdetta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 16px;
	padding: 20px 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-disdetta__titolo {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
}

.p-disdetta__testo {
	margin: 4px 0 0;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

.p-dettaglio__sezione h3 {
	margin: 40px 0 16px;
	font-size: 22px;
	letter-spacing: -0.4px;
}

/* Finestra di conferma della disdetta */
.p-finestra-conferma {
	width: min(480px, calc(100% - 32px));
	padding: 28px;
	border: 0;
	border-radius: 4px;
	box-shadow: var(--p-ombra-menu);
	color: var(--p-navy);
}

.p-finestra-conferma::backdrop {
	background: rgba(0, 25, 50, 0.45);
}

.p-finestra-conferma__titolo {
	margin: 0;
	font-family: var(--p-display);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.4px;
	line-height: 1.2;
}

.p-finestra-conferma__testo {
	margin: 12px 0 24px;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.5;
}

.p-finestra-conferma__azioni {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.p-finestra-conferma__azioni .p-pulsante {
	padding: 14px 16px;
	font-size: 15px;
}

/* Tabelle dell'area: ordini, ordini collegati, metodi di pagamento */
.p-tabella,
.woocommerce-MyAccount-content .shop_table {
	width: 100%;
	margin: 0 0 24px;
	overflow: hidden;
	border: 1px solid var(--p-filetto);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 4px;
	background: #fff;
	font-size: 15px;
}

.p-tabella th,
.woocommerce-MyAccount-content .shop_table th {
	padding: 12px 16px;
	border-bottom: 1px solid var(--p-filetto);
	background: var(--p-grigio);
	color: var(--p-testo-2);
	font-size: 13px;
	font-weight: 600;
	text-align: left;
}

.p-tabella td,
.woocommerce-MyAccount-content .shop_table td {
	padding: 14px 16px;
	border-top: 1px solid var(--p-filetto);
	vertical-align: middle;
}

.p-tabella tbody tr:first-child td,
.woocommerce-MyAccount-content .shop_table tbody tr:first-child td {
	border-top: 0;
}

.p-tabella a,
.woocommerce-MyAccount-content .shop_table a:not(.button) {
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content .woocommerce-button,
.woocommerce-MyAccount-content .woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border: 0;
	border-radius: 4px;
	background: #fff;
	color: var(--p-navy);
	box-shadow: inset 0 0 0 1px var(--p-navy);
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content .woocommerce-button:hover {
	background: var(--p-grigio);
	color: var(--p-navy);
}

.woocommerce-MyAccount-content button[type="submit"].button,
.woocommerce-MyAccount-content .woocommerce-Button[type="submit"] {
	padding: 14px 22px;
	background: var(--p-blu);
	color: #fff;
	box-shadow: none;
	font-size: 16px;
}

.woocommerce-MyAccount-content button[type="submit"].button:hover {
	background: var(--p-blu-scuro);
	color: #fff;
}

/* Moduli dell'area: dati di fatturazione e dettagli dell'account */
.woocommerce-MyAccount-content > form,
.woocommerce-MyAccount-content .woocommerce-address-fields {
	padding: 28px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.woocommerce-MyAccount-content .woocommerce-address-fields {
	padding: 0;
	border: 0;
}

.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
.woocommerce-MyAccount-content .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm > *,
.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > * {
	grid-column: 1 / -1;
	margin: 0;
}

.woocommerce-MyAccount-content .form-row-first {
	grid-column: 1 !important;
}

.woocommerce-MyAccount-content .form-row-last {
	grid-column: 2 !important;
}

.woocommerce-MyAccount-content .woocommerce-EditAccountForm .clear {
	display: none;
}

.woocommerce-MyAccount-content fieldset {
	display: grid;
	gap: 16px;
	margin: 8px 0 0;
	padding: 20px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
}

.woocommerce-MyAccount-content legend {
	padding: 0 6px;
	font-family: var(--p-display);
	font-size: 17px;
	font-weight: 600;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	letter-spacing: -0.4px;
}

.woocommerce-MyAccount-content > h2:first-child,
.woocommerce-MyAccount-content > h3:first-child,
.woocommerce-MyAccount-content form > h2:first-child,
.woocommerce-MyAccount-content form > h3:first-child {
	margin-top: 0;
}

.woocommerce-MyAccount-content em {
	color: var(--p-testo-2);
	font-size: 14px;
	font-style: normal;
}

/* Cambia piano (inc/cambia-piano.php, blocchi/cambia-piano.php) */
.p-cambio .p-scheda-abbonamento__etichette {
	margin: 12px 0 16px;
}

.p-cambio__intro {
	max-width: 720px;
	margin: 0 0 24px;
	color: var(--p-testo-2);
	font-size: 16px;
	line-height: 1.5;
}

/* Dentro l'area abbonamento titoli e paragrafi hanno i loro margini: nelle schede no, come nei Prezzi. */
.p-cambio .p-piano h3,
.p-cambio .p-piano p,
.p-cambio .p-piano ul {
	margin: 0;
}

.p-piano--attuale {
	background: var(--p-grigio);
}

.p-piano--attuale:hover {
	border-color: var(--p-filetto);
}

.p-bollino--attuale {
	background: var(--p-lilla-chiaro);
	color: var(--p-lilla-scuro);
}

.p-piano__oggi {
	padding: 12px 16px;
	border-radius: 2px;
	background: var(--p-grigio);
}

.p-piano--attuale .p-piano__oggi {
	background: #fff;
}

.p-piano__oggi p {
	margin: 0;
}

.p-piano__oggi-etichetta {
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-piano__oggi-valore {
	margin-top: 4px !important;
	font-size: 15px;
	font-weight: 600;
}

.p-piano__attuale {
	margin: 0;
	padding: 14px 18px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	color: var(--p-testo-2);
	font-size: 16px;
	font-weight: 600;
	text-align: center;
}

.p-cambio__confronto {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 20px;
	color: var(--p-blu);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.p-cambio__confronto:hover {
	color: var(--p-blu-scuro);
}

.p-cambio__titolo {
	margin: 40px 0 16px;
	font-size: 22px;
	letter-spacing: -0.4px;
}

.p-cambio__regole .p-riquadro-dato__nota {
	line-height: 1.5;
}

.p-cambio__aiuto {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--p-filetto);
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.p-cambio__aiuto .p-icona {
	color: #25d366;
}

/* Accanto al menu dell'area tre schede non ci stanno sotto i 1200px: una sotto l'altra. */
@media (max-width: 1199px) {
	.p-cambio__piani {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 1023px) {
	.p-account__corpo {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.p-riquadri {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 899px) {
	.p-account {
		padding: 28px 16px 64px;
	}

	.p-account__testa {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		margin-bottom: 20px;
	}

	.p-account__testa .p-pulsante {
		width: 100%;
	}

	.p-menu-area__voci {
		display: none;
	}

	.p-menu-area__selettore {
		display: block;
	}

	.p-menu-area__selettore span {
		display: block;
		margin-bottom: 8px;
		color: var(--p-testo-2);
		font-size: 14px;
	}

	.p-menu-area__selettore select {
		width: 100%;
		min-height: 48px;
		padding: 12px 40px 12px 14px;
		border: 1px solid var(--p-filetto);
		border-radius: 4px;
		background: #fff;
		color: var(--p-navy);
		font-family: inherit;
		font-size: 16px;
		appearance: none;
		background-image: linear-gradient(45deg, transparent 50%, var(--p-testo-2) 50%), linear-gradient(135deg, var(--p-testo-2) 50%, transparent 50%);
		background-position: calc(100% - 20px) 21px, calc(100% - 15px) 21px;
		background-repeat: no-repeat;
		background-size: 5px 5px, 5px 5px;
	}

	.p-area__titolo,
	.p-dettaglio__titolo {
		font-size: 24px;
	}

	.p-scheda-abbonamento {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 20px;
	}

	.p-scheda-abbonamento__azienda {
		font-size: 20px;
	}

	.p-scheda-abbonamento__azioni .p-pulsante {
		width: 100%;
	}

	.p-chip,
	.p-riquadro-dato__etichetta {
		font-size: 14px;
	}

	.p-riquadri {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.p-disdetta {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.p-finestra-conferma__azioni {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-MyAccount-content > form {
		padding: 20px 16px;
	}

	.woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper,
	.woocommerce-MyAccount-content .woocommerce-EditAccountForm {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-MyAccount-content .form-row-first,
	.woocommerce-MyAccount-content .form-row-last {
		grid-column: 1 !important;
	}

	/* Tabelle come schede, una per riga (WooCommerce scrive il titolo in data-title). */
	.p-tabella thead,
	.woocommerce-MyAccount-content .shop_table_responsive thead {
		display: none;
	}

	.p-tabella,
	.p-tabella tbody,
	.p-tabella tr,
	.p-tabella td,
	.woocommerce-MyAccount-content .shop_table_responsive,
	.woocommerce-MyAccount-content .shop_table_responsive tbody,
	.woocommerce-MyAccount-content .shop_table_responsive tr,
	.woocommerce-MyAccount-content .shop_table_responsive td {
		display: block;
	}

	.p-tabella tr,
	.woocommerce-MyAccount-content .shop_table_responsive tr {
		padding: 14px 16px;
		border-top: 1px solid var(--p-filetto);
	}

	.p-tabella tbody tr:first-child,
	.woocommerce-MyAccount-content .shop_table_responsive tbody tr:first-child {
		border-top: 0;
	}

	.p-tabella td,
	.woocommerce-MyAccount-content .shop_table_responsive td {
		padding: 3px 0;
		border: 0;
	}
}

/* ------------------------------------------------------------------ */
/* Cambio della carta e pagamento di un ordine (order-pay)           */
/* ------------------------------------------------------------------ */

/* Stessa griglia del checkout (il contenitore prende .p-checkout in inc/woocommerce.php).
   L'avviso di Subscriptions o di WooCommerce va sotto il titolo. */
.p-checkout--pagamento > :is(.woocommerce-info, .woocommerce-error, .woocommerce-message, .woocommerce-notices-wrapper) {
	grid-column: 1;
	margin-bottom: 24px;
}

.p-checkout--pagamento .p-riepilogo__conti {
	margin-top: 16px;
}

@media (max-width: 1023px) {
	/* Qui il titolo viene prima del riepilogo, che resta sempre aperto. */
	.p-checkout--pagamento {
		grid-template-areas:
			"testa"
			"prima"
			"lato"
			"colonna";
	}

	.p-checkout__lato--fisso .p-riepilogo__corpo {
		display: block;
		border-top: 0;
	}
}

/* Pulsanti da telefono: un punto di testo in più, stessa misura (vedi in fondo a proonty.css). */
@media (max-width: 899px) {
	.p-negozio #place_order {
		padding: 16px 20px;
		font-size: 18px;
	}

	.p-negozio form.checkout_coupon button {
		padding: 10px 16px;
		font-size: 16px;
	}

	.woocommerce-MyAccount-content .button,
	.woocommerce-MyAccount-content .woocommerce-button,
	.woocommerce-MyAccount-content .woocommerce-Button {
		padding: 8px 12px;
		font-size: 15px;
	}

	.woocommerce-MyAccount-content button[type="submit"].button,
	.woocommerce-MyAccount-content .woocommerce-Button[type="submit"] {
		padding: 13px 20px;
		font-size: 17px;
	}
}
