/**
 * Paid Memberships Pro — stili Federnotai
 * Token estratti dal file Figma "Federnotai_1" (Home + Chi Siamo).
 * Percorso: /css/paid-memberships-pro.css nel tema.
 * Presupposto: Memberships > Settings > Design = "Minimal".
 */

/* ==========================================================================
   Token
   ========================================================================== */
.pmpro {
	/* Palette Figma */
	--fn-navy: #203f73;
	--fn-blue: #71a8c0;
	--fn-grey: #d9d9d9;
	--fn-white: #ffffff;

	/* Stati: NON presenti in Figma, da validare */
	--fn-success: var(--fn-blue);
	--fn-error: #b3261e;
	--fn-alert: #c98a1b;

	/* Ruoli (per invertire le card basta cambiare questi 3) */
	--fn-card-bg: var(--fn-navy);
	--fn-card-fg: var(--fn-white);
	--fn-field-bg: var(--fn-grey);
	--fn-field-fg: var(--fn-navy);

	/* Tipografia: Helvetica (Regular 400 / Medium 500), font di sistema */
	--fn-font: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--fn-fs-xs: 12px;
	--fn-fs-s: 14px;
	--fn-fs-m: 16px;
	--fn-fs-l: 18px;
	--fn-fs-xl: 24px;
	--fn-fs-xxl: 32px;

	--fn-radius: 8px;
	--fn-gap: 16px;
	--fn-pad: 24px;
	--fn-focus: 0 0 0 2px var(--fn-card-bg), 0 0 0 4px var(--fn-blue);

	font-family: var(--fn-font);
	color: var(--fn-navy);
}

/* Desktop (stesso punto di rottura del tema): testo un po' più grande. */
@media (min-width: 901px) {
	.pmpro {
		--fn-fs-xs: 14px;
		--fn-fs-s: 16px;
		--fn-fs-m: 18px;
		--fn-fs-l: 21px;
		--fn-fs-xl: 27px;
		--fn-fs-xxl: 35px;
	}
}

/* ==========================================================================
   Messaggi
   ========================================================================== */
.pmpro .pmpro_message {
	margin: 0 0 var(--fn-gap);
	padding: 12px 16px;
	border: 0;
	border-left: 4px solid var(--fn-navy);
	border-radius: var(--fn-radius);
	background: var(--fn-grey);
	color: var(--fn-navy);
	font-size: var(--fn-fs-s);
}

.pmpro .pmpro_message.pmpro_success {
	border-left-color: var(--fn-success);
}

.pmpro .pmpro_message.pmpro_error {
	border-left-color: var(--fn-error);
}

.pmpro .pmpro_message.pmpro_alert {
	border-left-color: var(--fn-alert);
}

.pmpro .pmpro_message a,
.pmpro .pmpro_success a,
.pmpro .pmpro_error a,
.pmpro .pmpro_alert a {
	color: inherit;
	font-weight: 500;
	text-decoration: underline;
}

/* ==========================================================================
   Sezioni e card
   ========================================================================== */
.pmpro .pmpro_section {
	margin: 0 0 40px;
}

.pmpro .pmpro_section:first-of-type {
	margin-top: 0;
}

.pmpro .pmpro_section_title {
	margin: 0 0 var(--fn-gap);
	font-family: var(--fn-font);
	font-size: var(--fn-fs-xxl);
	font-weight: 500;
	line-height: 1.2;
	color: var(--fn-navy);
}

.pmpro .pmpro_card {
	margin: 0 0 var(--fn-gap);
	border: 0;
	border-radius: var(--fn-radius);
	background: var(--fn-card-bg);
	color: var(--fn-card-fg);
	box-shadow: none;
	overflow: hidden;
}

.pmpro .pmpro_card_title {
	margin: 0;
	padding: var(--fn-pad) var(--fn-pad) 0;
	font-family: var(--fn-font);
	font-size: var(--fn-fs-xl);
	font-weight: 400;
	line-height: 1.25;
	color: var(--fn-card-fg);
}

.pmpro .pmpro_card_content {
	padding: var(--fn-pad);
	font-size: var(--fn-fs-m);
	line-height: 1.5;
}

.pmpro .pmpro_card_content p:not(.pmpro_form_hint) {
	margin: 0 0 12px;
}

.pmpro .pmpro_card_content p:last-of-type {
	margin-bottom: 0;
}

.pmpro .pmpro_card_content a:not(.pmpro_btn) {
	color: var(--fn-card-fg);
	text-decoration: underline;
}

.pmpro .pmpro_card_actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	padding: 16px var(--fn-pad);
	border-top: 1px solid rgba(255, 255, 255, .2);
	background: transparent;
	font-size: var(--fn-fs-s);
}

.pmpro .pmpro_card_content+.pmpro_card_actions {
	margin-top: 0;
}

.pmpro .pmpro_card_actions a {
	color: var(--fn-card-fg);
	text-decoration: none;
}

.pmpro .pmpro_card_actions a:hover,
.pmpro .pmpro_card_actions a:focus-visible {
	text-decoration: underline;
}

.pmpro .pmpro_card_action_separator {
	color: var(--fn-blue);
}

.pmpro .pmpro_heading-with-avatar {
	display: flex;
	align-items: center;
	gap: 12px;
}

.pmpro .pmpro_heading-with-avatar img {
	border-radius: 50%;
}

/* ==========================================================================
   Bottoni — da Figma: fondo grigio, testo navy Medium 14px, raggio 8
   ========================================================================== */
.pmpro .pmpro_btn,
.pmpro input[type="submit"].pmpro_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	padding: 10px 20px;
	border: 1px solid var(--fn-grey);
	border-radius: var(--fn-radius);
	background: var(--fn-grey);
	color: var(--fn-navy);
	font-family: var(--fn-font);
	font-size: var(--fn-fs-s);
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.pmpro .pmpro_btn:hover,
.pmpro .pmpro_btn:focus {
	border-color: var(--fn-blue);
	background: var(--fn-blue);
	color: var(--fn-white);
}

.pmpro .pmpro_btn:focus-visible {
	outline: none;
	box-shadow: var(--fn-focus);
}

.pmpro .pmpro_btn:active {
	background: var(--fn-white);
	color: var(--fn-navy);
}

.pmpro .pmpro_btn-outline {
	border-color: currentColor;
	background: transparent;
	color: var(--fn-card-fg);
}

.pmpro .pmpro_btn-outline:hover,
.pmpro .pmpro_btn-outline:focus {
	border-color: var(--fn-grey);
	background: var(--fn-grey);
	color: var(--fn-navy);
}

.pmpro .pmpro_btn-delete {
	border-color: var(--fn-error);
	background: var(--fn-error);
	color: var(--fn-white);
}

.pmpro .pmpro_btn-delete:hover,
.pmpro .pmpro_btn-delete:focus {
	filter: brightness(.9);
	background: var(--fn-error);
	color: var(--fn-white);
}

.pmpro .pmpro_btn-cancel {
	border-color: transparent;
	background: transparent;
	color: var(--fn-card-fg);
}

.pmpro .pmpro_btn-cancel:hover,
.pmpro .pmpro_btn-cancel:focus {
	background: transparent;
	color: var(--fn-card-fg);
	text-decoration: underline;
}

.pmpro .pmpro_btn-plain,
.pmpro .pmpro_btn-plain:hover,
.pmpro .pmpro_btn-plain:focus,
.pmpro .pmpro_btn-plain:active {
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	text-transform: none;
	text-decoration: underline;
}

.pmpro .pmpro_btn-print {
	background: transparent;
	border-color: var(--fn-navy);
	color: var(--fn-navy);
}

.pmpro .pmpro_btn-print:hover {
	background: var(--fn-navy);
	color: var(--fn-white);
}

.pmpro .pmpro_level .pmpro_btn {
	width: 100%;
}

/*
 * Pulsanti di invio del checkout (bonifico e PayPal): come .fn-btn--dark del tema,
 * 192x40, testo a sinistra e freccia ↗ a destra. Sono <input>/<button> generati da PMPro,
 * quindi la freccia è uno sfondo SVG (grigio a riposo, navy in hover).
 */
.pmpro .pmpro_form_submit .pmpro_btn.pmpro_btn-submit-checkout {
	justify-content: space-between;
	min-width: 192px;
	height: 40px;
	min-height: 40px;
	padding: 0 39px 0 13px;
	border-color: var(--fn-navy);
	background: var(--fn-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 11 11 3M5 3h6v6' fill='none' stroke='%23d9d9d9' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;
	color: var(--fn-grey);
	letter-spacing: .02em;
	text-align: left;
	transition: background-color .25s cubic-bezier(.22, .61, .36, 1), color .25s cubic-bezier(.22, .61, .36, 1), background-position .25s cubic-bezier(.22, .61, .36, 1);
}

.pmpro .pmpro_form_submit .pmpro_btn.pmpro_btn-submit-checkout:hover,
.pmpro .pmpro_form_submit .pmpro_btn.pmpro_btn-submit-checkout:focus {
	border-color: var(--fn-blue);
	background-color: var(--fn-blue);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 11 11 3M5 3h6v6' fill='none' stroke='%23203f73' stroke-width='1.5'/%3E%3C/svg%3E");
	background-position: right 11px center;
	color: var(--fn-navy);
}

.pmpro .pmpro_form_submit .pmpro_btn.pmpro_btn-submit-checkout:active {
	background-color: var(--fn-grey);
	color: var(--fn-navy);
}

/* "Elaborando..." finché è nascosto non deve occupare spazio: il pulsante resta allineato ai riquadri. */
.pmpro .pmpro_form_submit #pmpro_processing_message[style*="hidden"] {
	display: none;
}

.pmpro .pmpro_form_submit .pmpro_btn.pmpro_btn-submit-checkout:disabled {
	opacity: .5;
	cursor: not-allowed;
}

/* ==========================================================================
   Form — da Figma (newsletter): campi grigi su card navy, label 12px
   ========================================================================== */
.pmpro .pmpro_form {
	font-family: var(--fn-font);
}

.pmpro .pmpro_section:has(.pmpro_form) .pmpro_card_content {
	padding: var(--fn-pad);
}

.pmpro .pmpro_section:has(.pmpro_form) .pmpro_card_title+.pmpro_card_content {
	padding-top: var(--fn-gap);
}

.pmpro .pmpro_form_fieldset {
	margin: 0 0 var(--fn-pad);
	padding: 0;
	border: 0;
}

.pmpro .pmpro_form_legend {
	padding: 0;
}

.pmpro .pmpro_form_heading,
.pmpro .pmpro_card_content .pmpro_form_heading {
	margin: 0 0 var(--fn-gap);
	font-family: var(--fn-font);
	font-size: var(--fn-fs-l);
	font-weight: 500;
	color: var(--fn-card-fg);
}

.pmpro .pmpro_form_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--fn-gap);
}

.pmpro .pmpro_form_fields-inline {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fn-gap);
}

.pmpro .pmpro_form_field {
	margin: 0;
}

/* textarea, checkbox, radio, file e select2 a tutta larghezza */
.pmpro .pmpro_form_field-textarea,
.pmpro .pmpro_form_field-checkbox,
.pmpro .pmpro_form_field-checkbox-grouped,
.pmpro .pmpro_form_field-radio,
.pmpro .pmpro_form_field-file,
.pmpro .pmpro_form_field-select2 {
	grid-column: 1 / -1;
}

.pmpro .pmpro_form_label {
	font-family: var(--fn-font);
	font-size: var(--fn-fs-xs);
	font-weight: 400;
	color: var(--fn-card-fg);
}

.pmpro .pmpro_form_label:not(.pmpro_form_label-inline) {
	display: block;
	margin-bottom: 6px;
}

.pmpro .pmpro_form_label-inline {
	display: inline;
	margin: 0;
}

.pmpro .pmpro_form_input {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid transparent;
	border-radius: var(--fn-radius);
	background: var(--fn-field-bg);
	color: var(--fn-field-fg);
	font-family: var(--fn-font);
	font-size: var(--fn-fs-m);
	/* >=16px: evita lo zoom automatico su iOS */
	box-shadow: none;
}

.pmpro .pmpro_form_input::placeholder {
	color: var(--fn-field-fg);
	opacity: .6;
}

.pmpro .pmpro_form_input-textarea {
	min-height: 120px;
	resize: vertical;
}

.pmpro .pmpro_form_input-text:focus,
.pmpro .pmpro_form_input-email:focus,
.pmpro .pmpro_form_input-url:focus,
.pmpro .pmpro_form_input-password:focus,
.pmpro .pmpro_form_input-search:focus,
.pmpro .pmpro_form_input-select:focus,
.pmpro .pmpro_form_input-checkbox:focus,
.pmpro .pmpro_form_input-radio:focus,
.pmpro .pmpro_form_input-multiselect:focus,
.pmpro .pmpro_form_input-number:focus,
.pmpro .pmpro_form_input-file:focus,
.pmpro .pmpro_form_input-date:focus,
.pmpro .pmpro_form_input-textarea:focus {
	outline: none;
	border-color: var(--fn-blue);
	background: var(--fn-white);
	box-shadow: 0 0 0 2px var(--fn-blue);
}

.pmpro .pmpro_form_input-multiselect {
	min-height: 120px;
}

.pmpro .pmpro_form_input-file {
	min-height: 0;
	padding: 8px;
}

.pmpro .pmpro_form_hint {
	margin: 6px 0 0;
	font-size: var(--fn-fs-xs);
	color: var(--fn-card-fg);
	opacity: .75;
}

/* Checkbox / radio */
.pmpro .pmpro_form_field-checkbox,
.pmpro .pmpro_form_field-radio-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.pmpro .pmpro_form_field-checkbox .pmpro_form_label,
.pmpro .pmpro_form_field-radio-item .pmpro_form_label {
	font-size: var(--fn-fs-s);
}

.pmpro .pmpro_form_field-checkbox input[type="checkbox"],
.pmpro .pmpro_form_input-checkbox,
.pmpro .pmpro_form_input-radio {
	width: 18px;
	height: 18px;
	min-height: 0;
	margin: 2px 0 0;
	flex: 0 0 18px;
	accent-color: var(--fn-blue);
}

.pmpro .pmpro_form_field-checkbox .pmpro_form_hint,
.pmpro .pmpro_form_field-radio-item .pmpro_form_hint {
	flex-basis: 100%;
	margin-left: 28px;
}

.pmpro .pmpro_form_field-checkbox-grouped ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pmpro .pmpro_form_field-checkbox-grouped li {
	margin: 0 0 8px;
}

.pmpro .pmpro_form_field-radio-item:not(:last-of-type) {
	margin-bottom: 8px;
}

/* Data */
.pmpro .pmpro_form_field-date select,
.pmpro .pmpro_form_field-date input[type="text"] {
	width: auto;
	min-width: 80px;
	margin-right: 8px;
}

/* File */
.pmpro .pmpro_form_field-file button {
	margin-top: 8px;
	padding: 6px 12px;
	border: 1px solid var(--fn-grey);
	border-radius: var(--fn-radius);
	background: transparent;
	color: var(--fn-card-fg);
	font-size: var(--fn-fs-xs);
	cursor: pointer;
}

/* Password toggle */
.pmpro .pmpro_form_field-password-toggle {
	margin-top: 6px;
}

.pmpro .pmpro_form_field-password-toggle button,
.pmpro .pmpro_form_field-password-toggle button:hover,
.pmpro .pmpro_form_field-password-toggle button:focus,
.pmpro .pmpro_form_field-password-toggle button:active {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--fn-card-fg);
	font-size: var(--fn-fs-xs);
	box-shadow: none;
}

.pmpro .pmpro_form_field-password-toggle button:focus-visible {
	outline: 2px solid var(--fn-blue);
	outline-offset: 2px;
}

.pmpro .pmpro_form_field-password-toggle .pmpro_icon-eye svg {
	stroke: currentColor;
}

/* Select2 */
.pmpro .pmpro_form_field-select2 .pmpro_form_label {
	margin-bottom: 6px;
}

.pmpro .pmpro_form_field-select2 .pmpro_form_hint {
	margin-top: 6px;
}

/* Codice sconto e TOS */
button[type="button"]#other_discount_code_toggle,
button[type="button"]#other_discount_code_toggle:hover,
button[type="button"]#other_discount_code_toggle:focus {
	padding: 0;
	border: 0;
	background: none;
	color: var(--fn-card-fg);
	font-size: var(--fn-fs-s);
	text-decoration: underline;
}

.pmpro .pmpro_payment-discount-code #pmpro_discount_code {
	max-width: 240px;
}

.pmpro #other_discount_code_fields {
	margin-top: 12px;
}

/* Consenso privacy: PMPro lo stampa fuori dalle card, sullo sfondo chiaro della pagina. */
.pmpro #pmpro_tos_fields .pmpro_form_label,
.pmpro #pmpro_tos_fields .pmpro_form_label a {
	color: var(--fn-navy);
}

.pmpro #pmpro_tos_fields .pmpro_form_label a {
	text-decoration: underline;
}

.pmpro #pmpro_tos_fields #pmpro_license {
	max-height: 200px;
	overflow-y: auto;
	margin-bottom: 12px;
	padding: 12px;
	border-radius: var(--fn-radius);
	background: var(--fn-field-bg);
	color: var(--fn-field-fg);
	font-size: var(--fn-fs-s);
}

.pmpro .pmpro_form_submit {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: var(--fn-pad);
}

.pmpro .pmpro_captcha {
	margin: var(--fn-gap) 0;
}

.pmpro .pmpro_asterisk abbr,
.pmpro .pmpro_asterisk abbr[title] {
	color: var(--fn-blue);
	text-decoration: none;
	border: 0;
}

/* Login */
.pmpro #loginform p {
	margin: 0 0 var(--fn-gap);
}

.pmpro #loginform label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--fn-fs-xs);
	color: var(--fn-card-fg);
}

.pmpro #loginform input[type="text"],
.pmpro #loginform input[type="password"] {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 0;
	border-radius: var(--fn-radius);
	background: var(--fn-field-bg);
	color: var(--fn-field-fg);
	font-size: var(--fn-fs-m);
}

/*
 * Pulsante "Accedi": è l'<input> di wp_login_form(), quindi lo stile è quello di .fn-btn--light
 * del tema (192x40, testo a sinistra, freccia ↗ come sfondo SVG) — su card navy serve il fondo grigio.
 */
.pmpro #loginform .login-submit {
	margin: var(--fn-pad) 0 0;
}

.pmpro #loginform #wp-submit {
	-webkit-appearance: none;
	appearance: none;
	min-width: 192px;
	height: 40px;
	padding: 0 39px 0 13px;
	border: 0;
	border-radius: var(--fn-radius);
	background: var(--fn-grey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 11 11 3M5 3h6v6' fill='none' stroke='%23203f73' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;
	color: var(--fn-navy);
	font-family: var(--fn-font);
	font-size: var(--fn-fs-s);
	font-weight: 500;
	line-height: 40px;
	letter-spacing: .02em;
	text-align: left;
	text-transform: uppercase;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .25s cubic-bezier(.22, .61, .36, 1), background-position .25s cubic-bezier(.22, .61, .36, 1);
}

.pmpro #loginform #wp-submit:hover,
.pmpro #loginform #wp-submit:focus {
	background-color: var(--fn-blue);
	background-position: right 11px center;
}

.pmpro #loginform #wp-submit:focus-visible {
	outline: none;
	box-shadow: var(--fn-focus);
}

/* "Password dimenticata?" sta nel piede della card navy: testo bianco, non navy. */
.pmpro .pmpro_card_actions .pmpro_actions_nav {
	margin-top: 0;
}

.pmpro .pmpro_card_actions .pmpro_actions_nav a {
	color: var(--fn-card-fg);
	text-decoration: underline;
	text-underline-offset: .15em;
}

/* ==========================================================================
   Liste, tabelle, account
   ========================================================================== */
.pmpro .pmpro_list,
.pmpro .pmpro_list-plain {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pmpro .pmpro_list_item {
	padding: 8px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.pmpro .pmpro_list_item:last-child {
	border-bottom: 0;
}

.pmpro .pmpro_list_item_label {
	font-size: var(--fn-fs-xs);
	opacity: .75;
}

.pmpro .pmpro_list-with-labels .pmpro_list_item {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 12px;
}

.pmpro .pmpro_list-with-labels .pmpro_list_item_label {
	font-weight: 400;
}

.pmpro .pmpro_list-with-labels .pmpro_list_item_value {
	font-weight: 500;
}

.pmpro .pmpro_table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fn-fs-s);
	color: var(--fn-card-fg);
}

.pmpro .pmpro_table th {
	padding: 10px 12px;
	border-bottom: 1px solid var(--fn-blue);
	font-weight: 500;
	text-align: left;
}

.pmpro .pmpro_table td {
	padding: 10px 12px;
	border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.pmpro .pmpro_table a:not(.pmpro_btn) {
	color: var(--fn-card-fg);
}

.pmpro #pmpro_account-membership-none {
	font-style: normal;
}

.pmpro #pmpro_account-links .pmpro_list_item a {
	color: var(--fn-card-fg);
	text-decoration: none;
}

.pmpro #pmpro_account-links .pmpro_list_item a:hover {
	text-decoration: underline;
}

.pmpro .pmpro_logged_in_welcome_wrap {
	font-size: var(--fn-fs-s);
}

.pmpro .pmpro_invoice_details .pmpro_invoice-billing-address {
	font-style: normal;
	line-height: 1.5;
}

/* ==========================================================================
   Pagina livelli / prezzi
   ========================================================================== */
.pmpro .pmpro_levels_table {
	width: 100%;
	border-collapse: collapse;
}

.pmpro .pmpro_price_part_span {
	display: block;
}

.pmpro .pmpro_price_part-total {
	font-size: var(--fn-fs-xl);
	font-weight: 500;
}

/* ==========================================================================
   Messaggio contenuto riservato (fuori card: su fondo pagina)
   ========================================================================== */
.pmpro .pmpro_content_message {
	padding: var(--fn-pad);
	border-radius: var(--fn-radius);
	background: var(--fn-blue);
	color: var(--fn-navy);
}

.pmpro .pmpro_content_message a:not(.pmpro_btn) {
	color: var(--fn-navy);
	font-weight: 500;
}

/* ==========================================================================
   Tag
   ========================================================================== */
.pmpro .pmpro_tag {
	display: inline-block;
	padding: 2px 10px;
	border: 0;
	border-radius: var(--fn-radius);
	background: var(--fn-grey);
	color: var(--fn-navy);
	font-size: var(--fn-fs-xs);
	font-weight: 500;
}

.pmpro .pmpro_tag-success {
	background: #B2E7A4;
	color: var(--fn-navy);
}

.pmpro .pmpro_tag-error {
	background: var(--fn-error);
	color: var(--fn-white);
}

.pmpro .pmpro_tag-alert {
	background: var(--fn-alert);
	color: var(--fn-navy);
}

.pmpro .pmpro_tag-discount-code {
	background: var(--fn-blue);
	color: var(--fn-navy);
}

/* ==========================================================================
   Navigazione azioni
   ========================================================================== */
.pmpro .pmpro_actions_nav {
	display: flex;
	justify-content: space-between;
	gap: var(--fn-gap);
	margin-top: var(--fn-gap);
	font-size: var(--fn-fs-s);
}

.pmpro .pmpro_actions_nav a {
	color: var(--fn-navy);
}

.pmpro .pmpro_actions_nav-left {
	text-align: left;
}

.pmpro .pmpro_actions_nav-right {
	text-align: right;
}

/* ==========================================================================
   Utility
   ========================================================================== */
.pmpro .pmpro_pad-s {
	padding: 8px;
}

.pmpro .pmpro_pad-m {
	padding: var(--fn-gap);
}

.pmpro .pmpro_pad-l {
	padding: var(--fn-pad);
}

.pmpro .pmpro_spacer {
	height: var(--fn-gap);
}

.pmpro .pmpro_clickable {
	cursor: pointer;
}

.pmpro .pmpro_hidden {
	display: none !important;
}

.pmpro .pmpro_cols-2,
.pmpro .pmpro_cols-3 {
	display: grid;
	gap: var(--fn-gap);
}

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

.pmpro .pmpro_cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pmpro .pmpro_cols-2>*,
.pmpro .pmpro_cols-3>* {
	min-width: 0;
}

.pmpro .pmpro_font-x-large {
	font-size: var(--fn-fs-xxl);
}

.pmpro .pmpro_font-large {
	font-size: var(--fn-fs-xl);
}

.pmpro .pmpro_font-medium {
	font-size: var(--fn-fs-l);
}

.pmpro .pmpro_font-small {
	font-size: var(--fn-fs-xs);
}

.pmpro .pmpro_divider {
	height: 1px;
	margin: var(--fn-pad) 0;
	border: 0;
	background: rgba(255, 255, 255, .2);
}

.pmpro .pmpro_form .pmpro_divider {
	margin: var(--fn-gap) 0;
}

.rtl .pmpro .pmpro_form_field-password-toggle {
	text-align: left;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 767px) {
	.pmpro {
		--fn-pad: 16px;
	}

	.pmpro .pmpro_section_title {
		font-size: var(--fn-fs-xl);
	}

	.pmpro .pmpro_form_fields,
	.pmpro .pmpro_cols-2,
	.pmpro .pmpro_cols-3 {
		grid-template-columns: 1fr;
	}

	.pmpro .pmpro_list-with-labels .pmpro_list_item {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.pmpro .pmpro_form_submit {
		justify-content: stretch;
	}

	.pmpro .pmpro_form_submit .pmpro_btn {
		width: 100%;
	}

	.pmpro .pmpro_table {
		display: block;
		overflow-x: auto;
	}

	/* Tabella livelli: il nome del livello va su tutta la riga, senza etichetta. */
	.pmpro .pmpro_levels_table tbody tr th {
		display: block;
	}

	.pmpro .pmpro_levels_table tbody tr th::before {
		content: none;
	}
}

@media (prefers-reduced-motion: reduce) {

	.pmpro .pmpro_btn,
	.pmpro .pmpro_form_submit .pmpro_btn.pmpro_btn-submit-checkout {
		transition: none;
	}
}

/*
 * Rimossi dal blank originale perché non servono con pagamento a bonifico:
 * campi carta Stripe (#AccountNumber, #Expiry, #CVV) e .pmpro_payment-expiration.
 */

/* Personalizzazione campi studio notarile */

#pmpro_form_fieldset-studio-notarile .pmpro_form_fields {
	grid-template-columns: 2fr 1fr 1fr;
}

#pmpro_form_fieldset-studio-notarile .pmpro_form_field-studio_indirizzo {
	grid-column: 1 / -1;
}

@media (max-width: 640px) {
	#pmpro_form_fieldset-studio-notarile .pmpro_form_fields {
		grid-template-columns: 1fr 1fr;
	}

	#pmpro_form_fieldset-studio-notarile .pmpro_form_field-studio_citta {
		grid-column: 1 / -1;
	}
}
/* Area personale: storico iscrizioni scadute ed etichette "In scadenza" / "Scaduto"
   (inc/pmpro-account-scadenze.php) */

.pmpro .pmpro_card_title .fn-pmpro-stato {
	margin-left: 8px;
	vertical-align: middle;
}

.pmpro .fn-pmpro-storico__item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 16px;
}

.pmpro .fn-pmpro-storico__name {
	font-weight: 500;
}

.pmpro .fn-pmpro-storico__date {
	font-size: var(--fn-fs-s);
	opacity: .75;
}

.pmpro .fn-pmpro-storico__item .fn-pmpro-stato {
	margin-left: auto;
}
