/**
 * The primary style variation for Paid Memberships Pro.
 *
 * These styles can be unset on the Memberships > Settings > Design admin screen.
*/

:root {
	--pmpro--color--white: #fff;
	--pmpro--box-shadow: 2px 2px 7px rgba( 0, 0, 0, 0.07 );
}

/**
 * Main Container
*/
.pmpro {
	color: var(--pmpro--color--contrast);

	/**
	* Sections
	*/
	.pmpro_section {
		margin: calc( var(--pmpro--base--spacing--large) * 2 ) 0;
	}

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

	.pmpro_section_title {
		font-weight: 700;
		margin: 0;
		padding: 0;
	}

	/**
	* Cards
	*/
	.pmpro_card {
		background-color: var(--pmpro--color--base);
		border: 1px solid var(--pmpro--color--border--variation);
		border-radius: var(--pmpro--base--border-radius);
		box-shadow: var(--pmpro--box-shadow);
		display: flex;
		flex-direction: column;
		margin: var(--pmpro--base--spacing--medium) 0;
		overflow: hidden;
	}

	.pmpro_card_title {
		color: var(--pmpro--color--contrast);
		font-weight: 700;
		margin: 0;
		padding: var(--pmpro--base--spacing--large) var(--pmpro--base--spacing--large) 0;
	}

	.pmpro_card_content {
		padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--large) var(--pmpro--base--spacing--large);

		p:not(.pmpro_form_hint) {
			margin: var(--pmpro--base--spacing--small) 0;
			padding: 0;
		}

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

	}

	.pmpro_card_actions {
		background-color: rgba( 0, 0, 0, 0.04 );
		border-bottom: 1px solid var(--pmpro--color--border--variation);
		padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--large);
	}

	.pmpro_card_content + .pmpro_card_actions {
		border-top: 1px solid var(--pmpro--color--border--variation);
		border-bottom: none;
	}

	.pmpro_card_actions button {

	}

	.pmpro_card_action_separator {
		margin: 0 calc( var(--pmpro--base--spacing--small) / 2 );
		opacity: 0.25;
	}

	/**
	 * Heading Styles
	 */
	.pmpro_heading-with-avatar {
		align-items: center;
		display: flex;
		font-weight: 700;
		gap: var(--pmpro--base--spacing--small);
	}

	/**
	* Contextual Messages
	*/
	.pmpro_message {
		box-shadow: var(--pmpro--box-shadow);
	}

	/**
	 * Buttons
	 */
	.pmpro_btn {
		background-color: var(--pmpro--color--accent);
		border: 1px solid var(--pmpro--color--accent);
		border-radius: var(--pmpro--base--border-radius);
		box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.1);
		box-sizing: border-box;
		color: var(--pmpro--color--base);
		cursor: pointer;
		display: inline-block;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: normal;
		line-height: 1.5;
		min-height: 40px;
		outline: 0;
		padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--medium);
		text-align: center;
		text-decoration: none;
		text-rendering: geometricprecision;
		text-transform: none;
		user-select: none;
		-webkit-user-select: none;
		touch-action: manipulation;
		vertical-align: middle;
		transition: background-color 0.2s, color 0.2s;
	}

	.pmpro_btn:hover,
	.pmpro_btn:focus {
		background-color: var(--pmpro--color--accent--variation);
		background-position: 0 0;
		border-color: var(--pmpro--color--accent--variation);
		color: var(--pmpro--color--base);
	}

	.pmpro_btn:active {
		opacity: .7;
	}

	.pmpro_btn-outline {
		background-color: transparent;
		color: var(--pmpro--color--accent);
	}

	.pmpro_btn-outline:hover,
	.pmpro_btn-outline:focus {
		background-color: transparent;
		border-color: var(--pmpro--color--accent--variation);
		color: var(--pmpro--color--accent--variation);
	}

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

	.pmpro_btn-delete:hover,
	.pmpro_btn-delete:focus {
		background-color: var(--pmpro--color--error-link);
		border-color: var(--pmpro--color--error-link);
	}

	.pmpro_btn-cancel {
		background-color: transparent;
		border-color: var(--pmpro--color--border);
		box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
		color: var(--pmpro--color--contrast);
	}

	.pmpro_btn-cancel:hover,
	.pmpro_btn-cancel:focus {
		background-color: var(--pmpro--color--border--variation);
		border-color: var(--pmpro--color--border);
		color: var(--pmpro--color--contrast);
	}

	.pmpro_btn-plain,
	.pmpro_btn-plain:hover,
	.pmpro_btn-plain:focus,
	.pmpro_btn-plain:active {
		background: 0 0;
		border: 1px solid transparent;
		box-shadow: none;
		cursor: pointer;
		font-size: 14px;
		margin: 0;
		padding: 0;
	}

	.pmpro_btn-print {
		align-items: center;
		color: var(--pmpro--color--accent);
		display: inline-flex;
		gap: calc( var(--pmpro--base--spacing--small) / 2 );
		justify-content: space-between;
		text-decoration: underline;
	}

	.pmpro_btn-print:hover {
		color: var(--pmpro--color--accent--variation);
	}

	/**
	 * Form Styles
	 */
	.pmpro_form {
		margin: 0;
	}

	.pmpro_section:has(.pmpro_form) .pmpro_card_content {
		padding-top: var(--pmpro--base--spacing--large);
	}

	.pmpro_section:has(.pmpro_form) .pmpro_card_title + .pmpro_card_content {
		padding-top: var(--pmpro--base--spacing--small);
	}

	.pmpro_form_fieldset {
		border: 0;
		margin: 0;
		padding: 0;
	}

	.pmpro_form_legend {
		border: none;
		margin: 0 0 var(--pmpro--base--spacing--medium);
		padding: 0;
	}

	.pmpro_form_heading {
		font-weight: 700;
		margin: var(--pmpro--base--spacing--large) 0 0;
		padding: 0;
	}

	.pmpro_card_content .pmpro_form_heading {
		margin-top: 0;
	}

	.pmpro_form_fields {
		display: flex;
		flex-direction: column;
		gap: var(--pmpro--base--spacing--medium);
	}

	.pmpro_form_fields-inline {
		align-items: center;
		display: flex;
		flex-direction: row;
		gap: calc( var(--pmpro--base--spacing--small) / 2 );
	}

	.pmpro_form_field {
		display: flex;
		flex-direction: column;
		gap: calc( var(--pmpro--base--spacing--small) / 2 );
	}

	.pmpro_form_label {
		margin: 0;
		padding: 0;
	}

	.pmpro_form_label:not(.pmpro_form_label-inline) {
		display: block;
		font-weight: 500;
	}

	.pmpro_form_input {
		background-color: var(--pmpro--color--base);
		border: 1px solid var(--pmpro--color--border);
		border-radius: var(--pmpro--base--border-radius);
		box-shadow: none;
		box-sizing: border-box;
		color: var(--pmpro--color--contrast);
		font-size: 16px;
		height: auto;
		line-height: 1.5;
		margin: 0;
		min-height: auto;
		outline: none;
		padding: var(--pmpro--base--spacing--small);
	}

	.pmpro_form_input-textarea {
		font-family: inherit;
		width: 100%;
	}

	.pmpro_form_input-select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background-image: url('data:image/svg+xml;utf8,<svg height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>');
		background-position: right var(--pmpro--base--spacing--small) center;
		background-repeat: no-repeat;
		background-size: 16px 16px;
		padding-right: calc(var(--pmpro--base--spacing--small) + 20px);
	}

	.pmpro_form_input-text:focus,
	.pmpro_form_input-email:focus,
	.pmpro_form_input-url:focus,
	.pmpro_form_input-password:focus,
	.pmpro_form_input-search:focus,
	.pmpro_form_input-select:focus,
	.pmpro_form_input-checkbox:focus,
	.pmpro_form_input-radio:focus,
	.pmpro_form_input-multiselect:focus,
	.pmpro_form_input-number:focus,
	.pmpro_form_input-file:focus,
	.pmpro_form_input-date:focus,
	.pmpro_form_input-textarea:focus {
		background-color: var(--pmpro--color--base);
		border-color: #80BDFF;
		box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
		outline: none;
		word-break: initial;
	}

	.pmpro_form_hint {
		display: block;
		font-size: 14px;
		margin: 0;
		opacity: 0.75;
		padding: 0;
	}

	.pmpro_form_field-checkbox {

		.pmpro_form_label {
			align-items: first baseline;
			display: flex;
			flex-direction: row;
			gap: calc( var(--pmpro--base--spacing--small) / 2 );
		}

	}

	.pmpro_form_field-radio-item {
		align-items: baseline;
		flex-direction: row;
		flex-wrap: nowrap;

		.pmpro_form_hint {
			flex: 0 0 100%;
		}
	}

	.pmpro_form_field-radio-item:not(:last-of-type) {
		margin-bottom: calc( var(--pmpro--base--spacing--small) / 2 );
	}

	.pmpro_form_field-checkbox-grouped {

		.pmpro_form_field-checkbox-grouped-item {
			align-items: first baseline;
			display: flex;
			flex-direction: row;
			gap: calc( var(--pmpro--base--spacing--small) / 2 );
		}

	}

	.pmpro_form_input-multiselect {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.pmpro_form_input-file {
		border: 3px dashed var(--pmpro--color--border--variation);
		border-radius: var(--pmpro--base--border-radius);
		padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--medium);
		width: 100%;
	}

	/* Special Fields */
	.pmpro_form_field-password-toggle {
		align-items: center;
		display: flex;
		font-weight: 500;
		justify-content: space-between;
		margin: 0;
		padding: 0;
	}

	.pmpro_form_field-password-toggle button,
	.pmpro_form_field-password-toggle button:hover,
	.pmpro_form_field-password-toggle button:focus,
	.pmpro_form_field-password-toggle button:active {
		align-items: center;
		background: transparent;
		border: none;
		box-shadow: none;
		box-sizing: border-box;
		color: var(--pmpro--color--accent);
		display: flex;
		flex-direction: row;
		font-size: 16px;
		gap: calc( var(--pmpro--base--spacing--small) / 2 );
		line-height: 1;
		margin: 0;
		min-height: 1px;
		padding: 0;
	}

	.pmpro_form_field-password-toggle button:focus,
	.pmpro_form_field-password-toggle button:active {
		box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
		color: var(--pmpro--color--accent--variation);
		outline: none;
	}

	.pmpro_form_field-password-toggle .pmpro_icon-eye {
		display: block;
		height: 20px;
		width: 20px;
	}

	.pmpro_form_field-password-toggle button:focus .pmpro_icon-eye svg,
	.pmpro_form_field-password-toggle button:active .pmpro_icon-eye svg {
		stroke: var(--pmpro--color--accent--variation);
	}

	.pmpro_form_field-select2 {
		display: block;
	}

	.pmpro_form_field-select2 .pmpro_form_label {
		margin-bottom: calc( var(--pmpro--base--spacing--small) / 2 );
	}

	.pmpro_form_field-select2 .pmpro_form_hint {
		margin-top: calc( var(--pmpro--base--spacing--small) / 2 );
	}

	.pmpro_payment-expiration #ExpirationMonth,
	.pmpro_payment-expiration #ExpirationYear {
		flex-grow: 1;
	}

	.pmpro_payment-discount-code #pmpro_discount_code {
		flex-grow: 1;
	}

	#other_discount_code_fields {
		margin-bottom: var(--pmpro--base--spacing--small);
	}

	#pmpro_tos_fields {
		margin: var(--pmpro--base--spacing--medium) 0;
	}

	#pmpro_tos_fields #pmpro_license {
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.pmpro_form_submit {
		align-items: center;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--pmpro--base--spacing--medium);
		margin-top: var(--pmpro--base--spacing--medium);
	}

	.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#AccountNumber,
	.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#Expiry,
	.pmpro_checkout_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#CVV,
	.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#AccountNumber,
	.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#Expiry,
	.pmpro_billing_gateway-stripe form.pmpro_form #pmpro_payment_information_fields div#CVV {
		background-color: var(--pmpro--color--white);
		border-radius: var(--pmpro--base--border-radius);
		padding: calc( var(--pmpro--base--spacing--small) + 3px );
	}

	[id^="pmpro_paypal"] .pmpro_btn-submit-checkout-paypal {
		align-items: center;
		background-color: #ffc439;
		border-color: #ffc439;
		color: #000;
		display: flex;
		flex-direction: row;
		gap: calc( var(--pmpro--base--spacing--small) / 2 );
		justify-content: center;
	}

	[id^="pmpro_paypal"] .pmpro_btn-submit-checkout-paypal:hover {
		background-color: #ffb60a;
		border-color: #ffb60a;
	}

	/* Login Form (WordPress default and our lost/reset password forms) */
	#loginform {
		margin-bottom: 0;
	}

	#loginform input[type="submit"] {
		width: 100%;
	}

	.pmpro_section:has(#loginform) .pmpro_card_content:not(.widget .pmpro_section:has(#loginform) .pmpro_card_content) {
		padding-top: var(--pmpro--base--spacing--large);
	}

	.pmpro_section #loginform .login-username,
	.pmpro_section #loginform .login-password,
	.pmpro_section #loginform .login-remember {
		display: flex;
		flex-direction: column;
		gap: calc( var(--pmpro--base--spacing--small) / 2 );
		margin: 0 0 var(--pmpro--base--spacing--medium);
		padding: 0;
	}

	.pmpro_section #loginform label:not(.pmpro_section #loginform .login-remember label) {
		align-items: center;
		display: flex;
		font-weight: 500;
		justify-content: space-between;
		margin: 0;
		padding: 0;
	}

	.pmpro_section #loginform .input {
		background-color: var(--pmpro--color--base);
		border: 1px solid var(--pmpro--color--border);
		border-radius: var(--pmpro--base--border-radius);
		box-shadow: none;
		box-sizing: border-box;
		color: var(--pmpro--color--contrast);
		font-size: 16px;
		line-height: 1.5;
		margin: 0;
		min-height: auto;
		outline: none;
		padding: var(--pmpro--base--spacing--small);
	}

	.pmpro_section #loginform .input:focus {
		background-color: var(--pmpro--color--base);
		border-color: #80BDFF;
		box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
		outline: none;
		word-break: initial;
	}

	.pmpro_section #loginform .login-remember {
		align-items: baseline;
		flex-direction: row;
		flex-wrap: wrap;
	}

	.pmpro_section #loginform .login-submit {
		margin: var(--pmpro--base--spacing--medium) 0 0;
	}

	.pmpro_section #loginform .login-submit .button {
		background-color: var(--pmpro--color--accent);
		border: 1px solid var(--pmpro--color--accent);
		border-radius: var(--pmpro--base--border-radius);
		box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.1);
		box-sizing: border-box;
		color: var(--pmpro--color--base);
		cursor: pointer;
		display: inline-block;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: normal;
		line-height: 1.5;
		min-height: 40px;
		outline: 0;
		padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--medium);
		text-align: center;
		text-decoration: none;
		text-rendering: geometricprecision;
		text-transform: none;
		user-select: none;
		-webkit-user-select: none;
		touch-action: manipulation;
		vertical-align: middle;
		transition: background-color 0.2s, color 0.2s;
	}

	.pmpro_section #loginform .login-submit .button:hover,
	.pmpro_section #loginform .login-submit .button:focus {
		background-color: initial;
		background-position: 0 0;
		border-color: var(--pmpro--color--accent);
		color: var(--pmpro--color--accent);
	}

	.pmpro_section #loginform .login-submit .button:active {
		opacity: .7;
	}

	/* Move password toggle before field visually but structurally after */
	#pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle),
	.pmpro_section #loginform .login-password {
		align-items: center;
		display: grid;
		grid-template-areas:
			"label toggle"
			"input input";
		grid-template-columns: 1fr auto;
	}

	#pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle) label,
	.pmpro_section #loginform .login-password label {
		grid-area: label;
	}

	#pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle) input,
	.pmpro_section #loginform .login-password input {
		grid-area: input;
	}

	#pmpro_user_fields .pmpro_form_field-password .pmpro_form_field-password-toggle,
	.pmpro_section #loginform .login-password .pmpro_form_field-password-toggle {
		grid-area: toggle;
		justify-self: end;
	}

	#resetpassform .pmpro_cols-2 {
		container: resetpassform / inline-size;
	}

	@container resetpassform (max-width: 620px) {
		#resetpassform .pmpro_cols-2 {
			flex-direction: column;
		}

		#resetpassform .pmpro_cols-2 > * {
			width: 100%;
		}
	}

	/**
	* List Styles
	*/
	.pmpro_list.pmpro_cols-3 {

		.pmpro_list_item {
			margin-bottom: 0;
		}

		li:not(.pmpro_list_item) {
			border-top: 1px solid var(--pmpro--color--border--variation);
			padding-top: var(--pmpro--base--spacing--medium);
			grid-column: span 3;
		}
	}

	.pmpro_list_item_label {
		font-weight: 700;
	}

	.pmpro_list-with-labels {

		.pmpro_list_item_label {
			display: block;
			font-weight: 400;
			opacity: 0.75;
		}

		.pmpro_list_item_value {
			font-weight: 700;
		}

	}

	/**
	* Tables and Table Elements
	*/
	.pmpro_table {
		background-color: var(--pmpro--color--base);
		border: none;
		text-align: left;

		thead th {
			background-color: var(--pmpro--color--base);
			border: none;
			padding: var(--pmpro--base--spacing--small);
			vertical-align: text-bottom;
		}

		tbody th,
		tbody td,
		tfoot td  {
			background-color: var(--pmpro--color--base);
			border-color: var(--pmpro--color--border--variation);
			border-width: 1px 0 0 0;
			border-style: solid;
			font-weight: normal;
			padding: var(--pmpro--base--spacing--small);
			vertical-align: middle;
		}

	}

	/**
	* Membership Account
	*/
	#pmpro_account-membership-none {

		.pmpro_card_content {
			padding-top: var(--pmpro--base--spacing--large);

			p {
				margin: 0;
			}

		}

	}

	#pmpro_account-membership {

		.pmpro_account-membership-message {
			border-top: 1px solid var(--pmpro--color--border--variation);
			margin-top: var(--pmpro--base--spacing--large);
			padding-top: var(--pmpro--base--spacing--large);

			> *:first-child {
				margin-top: 0;
				padding-top: 0;
			}
		}

	}

	#pmpro_account-links {

		.pmpro_card_content {
			padding-top: var(--pmpro--base--spacing--large);

			.pmpro_list {
				margin-bottom: 0;
			}

		}

	}

	/**
	 * Membership Levels
	 */
	.pmpro_levels_table {
		table-layout: fixed;
	}

	.pmpro_level td p:first-of-type {
		margin-top: 0;
	}

	.pmpro_level .pmpro_btn {
		display: block;
		text-decoration: none;
	}

	/**
	* Membership Billing
	*/
	[id^="pmpro_billing-"] .pmpro_card .pmpro_card {
		background-color: transparent;
		border: none;
		border-radius: unset;
		box-shadow: none;
		margin: 0;

		.pmpro_card_content {
			padding: 0;
		}
	}

	/**
	* Membership Orders
	*/
	.pmpro_table_orders .pmpro_tag {
		display: block;
	}

	#pmpro_order_single {

		.pmpro_card_actions {
			text-align: right;
		}

		h2 {
			align-items: center;
			display: flex;
			flex-wrap: wrap;
			gap: var(--pmpro--base--spacing--small);
			justify-content: space-between;
		}

		.pmpro_list-with-labels {

			.pmpro_list_item_label {
				font-weight: 700;
				opacity: 1;
			}

		}

		.pmpro_table {

			thead th {
				white-space: nowrap;
			}

			thead th:not(th:first-of-type),
			tbody td,
			tfoot td {
				text-align: right;
			}

			tfoot tr:last-of-type td {
				font-weight: 700;
			}

		}

	}

	.pmpro_price_part-total {
		border-top: 1px solid var(--pmpro--color--border--variation);
		margin-top: var(--pmpro--base--spacing--small);
		padding-top: var(--pmpro--base--spacing--small);
	}

	/**
	* Logged In Member Widget
	*/
	.pmpro_logged_in_welcome_wrap .menu {
		display: flex;
		flex-direction: column;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.pmpro_logged_in_welcome_wrap .menu-item {
		display: block;
		margin: 0 0 calc( var(--pmpro--base--spacing--small) / 2 );
	}

	/**
	* Protected Content Messages
	*/
	.pmpro_content_message .pmpro_card_title {
		align-items: center;
		display: flex;
		gap: var(--pmpro--base--spacing--small);
	}

	.pmpro_content_message:has(.pmpro_card_title) .pmpro_card_content {
		padding-top: 0;
	}

	.pmpro_content_message .pmpro_card_content h2 {
		margin: 0;
		padding: 0;
	}

	.pmpro_content_message .pmpro_card_content p {
		margin: var(--pmpro--base--spacing--medium) 0;
		padding: 0;
	}

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

	.pmpro_content_message .pmpro_card_content .pmpro_btn {
		text-decoration: none;
	}

	.pmpro_content_message .pmpro_card_actions {
		padding-right: var(--pmpro--base--spacing--large);
		padding-left: var(--pmpro--base--spacing--large);
	}

	/**
	 * Pagination
	 */
	.pmpro_pagination {
		align-items: center;
		display: flex;
		gap: var(--pmpro--base--spacing--small);
		justify-content: center;
		margin: var(--pmpro--base--spacing--medium) 0;

		a {
			background-color: var(--pmpro--color--base);
			border: 1px solid var(--pmpro--color--border--variation);
			border-radius: var(--pmpro--base--border-radius);
			color: var(--pmpro--color--contrast);
			padding: 2px var(--pmpro--base--spacing--small);
			text-decoration: none;
			transition: background-color 0.2s, border-color 0.2s, color 0.2s;

			&:hover {
				background-color: var(--pmpro--color--accent--variation);
				border-color: var(--pmpro--color--accent--variation);
				color: var(--pmpro--color--base);
			}
		}

		span {
			background-color: var(--pmpro--color--base);
			border: 1px solid var(--pmpro--color--border--variation);
			border-radius: var(--pmpro--base--border-radius);
			color: var(--pmpro--color--contrast);
			padding: 2px var(--pmpro--base--spacing--small);
		}

		.pmpro_pagination-current {
			background-color: var(--pmpro--color--accent);
			color: var(--pmpro--color--base);
			cursor: default;
			font-weight: 700;
		}

		.pmpro_pagination-disabled {
			background-color: var(--pmpro--color--base--variation);
			border-color: var(--pmpro--color--border--variation);
			color: var(--pmpro--color--contrast--variation);
			cursor: not-allowed;
			opacity: 0.7;
		}

		.pmpro_pagination-dots {
			background: none;
			border: none;
			color: var(--pmpro--color--contrast--variation);
			padding: 0;
		}

		.pmpro_pagination-previous {
			margin-right: 0;
		}

		.pmpro_pagination-next {
			margin-left: 0;
		}

	}

	/**
	 * Misc
	 */
	.avatar {
		border: 1px solid var(--pmpro--color--border--variation);
		border-radius: 50%;
		box-shadow: var(--pmpro--box-shadow);
		margin: 0;
		padding: 0;
	}

	.pmpro_cols-2,
	.pmpro_cols-3 {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--pmpro--base--spacing--medium);
	}

	.pmpro_cols-2 > * {
		width: calc( 50% - calc( var(--pmpro--base--spacing--medium) / 2 ) );
	}

	.pmpro_cols-3 > * {
		width: calc( 33.333333% - calc( var(--pmpro--base--spacing--medium) * 2 / 3 ) );
	}

	.pmpro_font-x-large {
		font-size: 32px;
		line-height: 1.4;
	}

	.pmpro_font-large {
		font-size: 24px;
		line-height: 1.5;
	}

	.pmpro_font-medium {
		font-size: 16px;
		line-height: 1.6;
	}

	.pmpro_font-small {
		font-size: 14px;
		line-height: 1.5;
	}

	.pmpro_tag-discount-code {
		border-style: dashed;
	}

	.pmpro_divider {
		background-color: var(--pmpro--color--border--variation);
		height: 1px;
		margin: var(--pmpro--base--spacing--medium) 0;
	}

	.pmpro_form .pmpro_divider {
		margin-top: var(--pmpro--base--spacing--large);
	}

}

/**
 * RTL Styles
 */
.rtl {

	.pmpro_form_field-password-toggle {
		padding: 0 0 0 var(--pmpro--base--spacing--small);
	}

}

/**
 * Print Styles
 */
@media print {
	.pmpro {
		font-size: 12pt;

		.pmpro_section {
			margin: var(--pmpro--base--spacing--medium) 0;
		}

		.pmpro_card_title {
			padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--small) 0;
		}

		.pmpro_card_content {
			padding: var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--small) var(--pmpro--base--spacing--small);
		}

		.pmpro_section:has(.pmpro_form) .pmpro_card_content {
			padding-top: var(--pmpro--base--spacing--small);
		}

		.pmpro_font-x-large {
			font-size: 18pt;
		}

		.pmpro_font-large {
			font-size: 14pt;
		}

		.pmpro_font-medium {
			font-size: 14pt;
		}

	}
}

/**
 * Print Styles
 */
@media print {
	.pmpro {
		.pmpro_card {
			background-color: transparent;
			border: none;
			box-shadow: none;
		}
		.pmpro_card_title,
		.pmpro_card_content,
		.pmpro_section:has(.pmpro_form) .pmpro_card_title + .pmpro_card_content {
			padding: 0;
		}
		.pmpro_form_legend {
			margin-bottom: 0;
		}
	}
}

/**
 * Responsive Styles
 */
@media screen and (max-width: 767px) {
	.pmpro {

		.pmpro_table {

			tbody tr th:first-child,
			tbody tr td:first-child {
				border-top-width: 4px;
				padding-top: var(--pmpro--base--spacing--large);
			}

			tbody tr th:last-child,
			tbody tr td:last-child {
				padding-bottom: var(--pmpro--base--spacing--large);
			}

			tbody tr:first-child th:first-child,
			tbody tr:first-child td:first-child {
				border-top: none;
			}
		}

		#pmpro_order_single {

			.pmpro_table {

				thead th:not(th:first-of-type),
				tbody td,
				tfoot td {
					text-align: left;
				}

				tbody tr:first-child th {
					display: block;
				}

				tbody tr:first-child th:before {
					display: none;
				}

				tfoot td:first-of-type {
					display: none;
				}
			}

		}

		.pmpro_table_cancel {
			border-bottom: 1px solid var(--pmpro--color--border--variation);
		}

		.pmpro_table_cancel tbody tr td {
			border-width: 0;
			padding-top: 0;
		}

		.pmpro_cols-2,
		.pmpro_cols-3 {
			display: flex;
			flex-direction: column;
			gap: var(--pmpro--base--spacing--medium);
		}

		.pmpro_cols-2 > *,
		.pmpro_cols-3 > * {
			width: auto;
		}

		#pmpro_user_fields .pmpro_form_field-password:has(.pmpro_form_field-password-toggle) {
			width: 100%;
		}

	}

}