/**
 * Base styles for Paid FlayFlix Pro.
 *
 * These styles are core to the plugin and must be loaded for your site to be usable.
 */

/**
 * Root variables
 */
:root {
	--pffxro--base--border-radius: 8px;
	--pffxro--base--spacing--small: 12px;
	--pffxro--base--spacing--medium: 18px;
	--pffxro--base--spacing--large: 36px;
	--pffxro--color--accent: #0c3d54;
	--pffxro--color--base: #ffffff;
	--pffxro--color--base-2: #ededed;
	--pffxro--color--contrast: #222222;
	--pffxro--color--border: #777777;
	--pffxro--color--info-background: #d9edf7;
	--pffxro--color--info-border: #bce8f1;
	--pffxro--color--info-text: #31708f;
	--pffxro--color--info-link: #245269;
	--pffxro--color--success-background: #d4edda;
	--pffxro--color--success-border: #c3e6cb;
	--pffxro--color--success-text: #0F441C;
	--pffxro--color--success-link: #2b542c;
	--pffxro--color--error-background: #f8d7da;
	--pffxro--color--error-border: #f5c6cb;
	--pffxro--color--error-text: #721c24;
	--pffxro--color--error-link: #843534;
	--pffxro--color--alert-background: #fff8e0;
	--pffxro--color--alert-border: #ffeeba;
	--pffxro--color--alert-text: #6C5101;
	--pffxro--color--alert-link: #66512c;
	--pffxro--color--alert2-background: #ffecd9;
    --pffxro--color--alert2-border: #ffddb1;
    --pffxro--color--alert2-text: #995d1d;
    --pffxro--color--alert2-link: #a65e3a;
}

/**
 * Contextual Messages
 */
.pffxro_message {
	background-color: var(--pffxro--color--info-background);
	border: 1px solid var(--pffxro--color--info-border);
	border-radius: var(--pffxro--base--border-radius);
	color: var(--pffxro--color--info-text);
	font-weight: 400;
	margin: var(--pffxro--base--spacing--medium) 0;
	padding: var(--pffxro--base--spacing--small) var(--pffxro--base--spacing--medium);
	text-align: left;
}

.pffxro_message.pffxro_success {
	background-color: var(--pffxro--color--success-background);
	border-color: var(--pffxro--color--success-border);
	color: var(--pffxro--color--success-text);
}

.pffxro_message.pffxro_error {
	background-color: var(--pffxro--color--error-background);
	border-color: var(--pffxro--color--error-border);
	color: var(--pffxro--color--error-text);
}

.pffxro_message.pffxro_alert {
	background-color: var(--pffxro--color--alert-background);
	border-color: var(--pffxro--color--alert-border);
	color: var(--pffxro--color--alert-text);
}

.pffxro_message a {
	color: var(--pffxro--color--info-link);
	text-decoration: underline;
}

.pffxro_success a {
	color: var(--pffxro--color--success-link);
}

.pffxro_error a {
	color: var(--pffxro--color--error-link);
}

.pffxro_alert a {
	color: var(--pffxro--color--alert-link);
}

.pffxro_message p {
	margin: 0 0 var(--pffxro--base--spacing--small);
	padding: 0;
}

.pffxro_message p:last-of-type {
	margin-bottom: 0;
}

/**
 * Form Elements
 */
.pffxro_captcha {
	margin: var(--pffxro--base--spacing--large) 0;
}

.pffxro_captcha div {
	clear: none;
	margin: 0;
}

.pffxro_form_label-inline {
	display: inline-block;
}

.pffxro {
	.pffxro_form_input-text.pffxro_form_input-error,
	.pffxro_form_input-email.pffxro_form_input-error,
	.pffxro_form_input-url.pffxro_form_input-error,
	.pffxro_form_input-password.pffxro_form_input-error,
	.pffxro_form_input-search.pffxro_form_input-error,
	.pffxro_form_input-select.pffxro_form_input-error,
	.pffxro_form_input-checkbox.pffxro_form_input-error,
	.pffxro_form_input-radio.pffxro_form_input-error,
	.pffxro_form_input-multiselect.pffxro_form_input-error,
	.pffxro_form_input-number.pffxro_form_input-error,
	.pffxro_form_input-file.pffxro_form_input-error,
	.pffxro_form_input-date.pffxro_form_input-error,
	.pffxro_form_input-textarea.pffxro_form_input-error {
		border-color: var(--pffxro--color--error-border);
		box-shadow: 0 0 0 0.2rem #f8d7da;
	}
}

/* Checkbox-specific field type */
.pffxro_form_field-checkbox .pffxro_form_label {
	cursor: pointer;
	display: inline;
	width: auto;
}

.pffxro_form_field-checkbox input[type="checkbox"] {
	height: auto;
	opacity: 1;
	width: auto;
}

.pffxro_form_field-checkbox-grouped ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pffxro_form_field-checkbox-grouped li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Radio-specific field type */
.pffxro_form_field-radio-item {
	margin-bottom: 0;
}

.pffxro_form_field-radio-item .pffxro_form_label {
	cursor: pointer;
	display: inline-block;
	width: auto;
}

/* Date-specific field type */
.pffxro_form_field-date select {
	max-width: unset;
	width: unset;
}

.pffxro_form_field-date input[type="text"] {
	margin-left: var(--pffxro--base--spacing--small);
	max-width: unset;
	width: unset;
}

/* File-specific field type */
.pffxro_form_field-file button {
	margin-right: var(--pffxro--base--spacing--small);
}

.pffxro_form_field-file-preview img {
	height: auto;
	width: 200px;
}

/* Checkout and Billing forms */
#pffxro_payment_information_fields .pffxro_form_fields label {
	display: block;
	float: none;
	max-width: initial;
	min-width: initial;
	text-align: left;
	width: auto;
}

button[type="button"]#other_discount_code_toggle,
button[type="button"]#other_discount_code_toggle:hover,
button[type="button"]#other_discount_code_toggle:focus {
	background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
    margin: 0;
    padding: 0;
    text-decoration: underline;
}

#pffxro_tos_fields input[type="checkbox"]#tos {
	width: auto;
}

/* PayPal gateway Membership Checkout specific styles. */
#pffxro_payment_method span.gateway_paypalexpress {
	margin-left: var(--pffxro--base--spacing--large);
}

[id^="pffxro_paypal"] .pffxro_btn-submit-checkout-paypal-image {
	background-image: url(../../images/paypal-color.svg);
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	height: 30px;
	width: 100px;
}

/* Stripe gateway Membership Checkout specific styles. */
.pffxro_checkout_gateway-stripe form.pffxro_form #pffxro_payment_information_fields .pffxro_payment-request-button h3,
.pffxro_billing_gateway-stripe form.pffxro_form #pffxro_payment_information_fields .pffxro_payment-request-button h3 {
	margin: var(--pffxro--base--spacing--medium) 0 var(--pffxro--base--spacing--small);
	padding: 0;
}

.pffxro_checkout_gateway-stripe form.pffxro_form #pffxro_payment_information_fields div#AccountNumber,
.pffxro_checkout_gateway-stripe form.pffxro_form #pffxro_payment_information_fields div#Expiry,
.pffxro_checkout_gateway-stripe form.pffxro_form #pffxro_payment_information_fields div#CVV,
.pffxro_billing_gateway-stripe form.pffxro_form #pffxro_payment_information_fields div#AccountNumber,
.pffxro_billing_gateway-stripe form.pffxro_form #pffxro_payment_information_fields div#Expiry,
.pffxro_billing_gateway-stripe form.pffxro_form #pffxro_payment_information_fields div#CVV {
	border: 1px solid var(--pffxro--color--border);
	padding: var(--pffxro--base--spacing--small);
}

/* Membership Order specific styles. */
.pffxro_invoice_details .pffxro_invoice-billing-address {
	display: flex;
	flex-direction: column;
}

.pffxro_price_part_span {
	display: flex;
	font-weight: normal;
	justify-content: space-between;
}

.pffxro_price_part-total {
	font-weight: 700;
}

/**
 * Lists
 */
.pffxro_list {
	#pffxro_order_single-meta-bill_to {
		word-break: break-all;
	}
}

.pffxro_list.pffxro_list-plain,
.pffxro_list.pffxro_list-plain .pffxro_list_item {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pffxro_list.pffxro_list-bulleted {
	list-style-type: disc;
	margin: 0;
	padding: 0 0 0 var(--pffxro--base--spacing--medium);
}

.pffxro_list.pffxro_list-bulleted .pffxro_list_item {
	margin: 0;
	padding: 0;
}

.pffxro_list .pffxro_list_item:not(:last-child) {
	margin-bottom: var(--pffxro--base--spacing--small);
}

/**
 * Login, Lost Password, Reset Password frontend pages.
 *
 * This section based on similar rules in wp-admin/css/forms.css
 */
#pass-strength-result {
	border: 1px solid var(--pffxro--color--border);
	border-radius: var(--pffxro--base--border-radius);
	color: inherit;
	font-size: 16px;
	margin: 0;
	padding: calc( var(--pffxro--base--spacing--small) / 3 ) var(--pffxro--base--spacing--small);
	text-align: center;
	width: 100%;
	box-sizing: border-box;
	opacity: 0;
}

#pass-strength-result.short {
	background-color: var(--pffxro--color--error-background);
	border-color: var(--pffxro--color--error-border);
	color: var(--pffxro--color--error-text);
	opacity: 1;
}

#pass-strength-result.bad {
	background-color: var(--pffxro--color--alert2-background);
	border-color: var(--pffxro--color--alert2-border);
	color: var(--pffxro--color--alert2-text);
	opacity: 1;
}

#pass-strength-result.good {
	background-color: var(--pffxro--color--alert-background);
	border-color: var(--pffxro--color--alert-border);
	color: var(--pffxro--color--alert-text);
	opacity: 1;
}

#pass-strength-result.strong {
	background-color: var(--pffxro--color--success-background);
	border-color: var(--pffxro--color--success-border);
	color: var(--pffxro--color--success-text);
	opacity: 1;
}

.pass1.short, .pass1-text.short {
	border-color: var(--pffxro--color--error-border);
}

.pass1.bad, .pass1-text.bad {
	border-color: var(--pffxro--color--alert2-border);
}

.pass1.good, .pass1-text.good {
	border-color: var(--pffxro--color--alert-border);
}

.pass1.strong, .pass1-text.strong {
	border-color: var(--pffxro--color--success-border);
}

.pw-weak {
	display: none;
}

.indicator-hint {
	padding-top: 8px;
}

.wp-pwd [type="text"],
.wp-pwd [type="password"] {
	margin-bottom: 0;
	/* Same height as the buttons */
	min-height: 30px;
}

/* Hide the Edge "reveal password" native button */
.wp-pwd input::-ms-reveal {
	display: none;
}

.pass1-text,
.show-password #pass1 {
	display: none;
}

.pass1-text::-ms-clear {
	display: none;
}

.show-password #pass1-text {
	display: inline-block;
}

/**
 * Tables
 */
.pffxro_table {
	border-collapse: collapse;
	margin: 0;
	width: 100%;
}

/**
 * Tags
 */
.pffxro_tag {
	border-radius: var(--pffxro--base--border-radius);
	border: 1px solid var(--pffxro--color--border);
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	padding: calc( var(--pffxro--base--spacing--small) / 3 ) var(--pffxro--base--spacing--small);
	text-align: center;
}

.pffxro_tag-success {
	background-color: var(--pffxro--color--success-background);
	border-color: var(--pffxro--color--success-border);
	color: var(--pffxro--color--success-text);
}

.pffxro_tag-error {
	background-color: var(--pffxro--color--error-background);
	border-color: var(--pffxro--color--error-border);
	color: var(--pffxro--color--error-text);
}

.pffxro_tag-alert {
	background-color: var(--pffxro--color--alert-background);
	border-color: var(--pffxro--color--alert-border);
	color: var(--pffxro--color--alert-text);
}

/**
 * Admin Toolbar View As Feature
 */
#wpadminbar #wp-admin-bar-pffxro-admin-membership-access {
	background-color: #1d2327;
}

#wpadminbar .pffxro_admin-view {
	display: inline-block;
	padding: 0 5px;
}

#wpadminbar .menupop .ab-item:has(.pffxro_admin-view) + .ab-sub-wrapper {
	border-bottom-right-radius: 6px;
	border-bottom-left-radius: 6px;
	padding: 10px;
}

#wpadminbar .menupop .ab-item:has(.pffxro_admin-view) + .ab-sub-wrapper ul li .ab-item {
	height: auto;
}

#wpadminbar .menupop .ab-item:has(.pffxro_admin-view) + .ab-sub-wrapper p {
	color: #fff;
	line-height: 1.5;
	margin-bottom: 5px;
	white-space: normal;
}

#wpadminbar .menupop .ab-item:has(.pffxro_admin-view) + .ab-sub-wrapper select {
	background-color: #fff;
	border-radius: 6px;
	line-height: 1.5;
	padding: 5px 8px;
}

#wpadminbar .ab-item:has(.pffxro_admin-view-yes),
#wpadminbar .ab-top-menu > li.hover > .ab-item:has(.pffxro_admin-view-yes),
#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item:has(.pffxro_admin-view-yes),
#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:has(.pffxro_admin-view-yes):focus,
#wpadminbar .menupop .ab-item:has(.pffxro_admin-view-yes) + .ab-sub-wrapper {
	background-color: #0F441C;
	color: #fff;
}

#wpadminbar .ab-item:has(.pffxro_admin-view-no),
#wpadminbar .ab-top-menu > li.hover > .ab-item:has(.pffxro_admin-view-no),
#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item:has(.pffxro_admin-view-no),
#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:has(.pffxro_admin-view-no):focus,
#wpadminbar .menupop .ab-item:has(.pffxro_admin-view-no) + .ab-sub-wrapper {
	background-color: #721c24;
	color: #fff;
}

#wpadminbar .pffxro_admin-view .ab-icon {
	margin-right: 3px;
}

#wpadminbar .pffxro_admin-view .ab-icon:before,
#wpadminbar li:hover .pffxro_admin-view .ab-icon:before,
#wpadminbar li.hover .pffxro_admin-view .ab-icon:before {
	color: #fff;
}

#wpadminbar .pffxro_admin-view-current .ab-icon:before,
#wpadminbar li:hover .pffxro_admin-view-current .ab-icon:before,
#wpadminbar li.hover .pffxro_admin-view-current .ab-icon:before {
	color: inherit;
}

/**
 * Frontend page navigation
 */
.pffxro_actions_nav:not(#pffxro_login .pffxro_actions_nav) {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.pffxro_actions_nav-left {
	flex: 1;
	order: 1;
	text-align: left;
}

.pffxro_actions_nav-right {
	flex: 1;
	order: 2;
	text-align: right;
}

/**
 * Misc
 */
.pffxro_pad-s {
	padding: var(--pffxro--base--spacing--small);
}

.pffxro_pad-m {
	padding: var(--pffxro--base--spacing--large);
}

.pffxro_pad-l {
	padding: var(--pffxro--base--spacing--large);
}

.pffxro_spacer {
	margin: var(--pffxro--base--spacing--medium) 0;
	min-height: 1px;
}

.pffxro_form .pffxro_spacer {
	margin-top: var(--pffxro--base--spacing--large);
}

.pffxro_clickable {
	cursor: pointer;
}

.pffxro_asterisk abbr,
.pffxro_asterisk abbr[title] {
	border: none;
	color: var(--pffxro--color--error-text);
	cursor: default;
	text-decoration: none;
}

.pffxro_hidden {
	display: none;
}

/**
 * Print Styles
 */
@media print {
	.pffxro {
		.pffxro_actions_nav:not(.pffxro_login_wrap .pffxro_actions_nav),
		.pffxro_actions_nav-right,
		.pffxro_actions_nav-left,
		.pffxro_card_actions,
		.pffxro_hide_print {
			display: none;
		}

		h2, h3 {
			page-break-after: avoid;
		}
	}
}

/**
 * Responsive Styles
 */
@media screen and (max-width: 767px) {
	.pffxro_reset_password_wrap form.pffxro_form #pass-strength-result,
	form.pffxro_form .pffxro_change_password-fields #pass-strength-result {
		max-width: 90%;
	}

	.pffxro_actions_nav {
		text-align: center;
	}

	.pffxro_actions_nav-left,
	.pffxro_actions_nav-right {
		flex-basis: 100%;
		text-align: center;
	}

	.pffxro_table thead {
		display: none;
	}

	.pffxro_table tbody tr th,
	.pffxro_table tbody tr td,
	.pffxro_table tfoot tr td {
		display: grid;
		grid-template-columns: 1fr 2fr;
	}

	.pffxro_table tbody tr th::before,
	.pffxro_table tbody tr td::before,
	.pffxro_table tfoot tr td::before {
		content: attr(data-title) ": ";
	}

	.pffxro_table_cancel tbody tr td:last-child,
	.pffxro_levels_table tbody tr td:last-child {
		display: block;
	}

	.pffxro_table_cancel tbody tr td:last-child::before,
	.pffxro_levels_table tbody tr td:last-child::before {
		content: "";
	}
}

@media screen and (min-width: 768px) {

}

@media screen and (min-width: 1024px) {
	.pffxro_checkout_gateway-stripe form.pffxro_form #pffxro_payment_information_fields #payment-request-button {
		max-width: 50%;
	}
}

@media screen and (min-width: 1280px) {

}
