/**
 * Checkout payment UI fixes.
 * Overrides global /lib/css/base rules that break WooCommerce + PayPal Payments icons.
 */

/* Restore payment method radios (global input styles turn them into grey bars). */
.woocommerce-checkout #payment ul.payment_methods li > input[type="radio"],
.woocommerce-cart #payment ul.payment_methods li > input[type="radio"],
#add_payment_method #payment ul.payment_methods li > input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods li input.input-radio,
.woocommerce-cart #payment ul.payment_methods li input.input-radio,
#add_payment_method #payment ul.payment_methods li input.input-radio {
	-webkit-appearance: radio !important;
	appearance: radio !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	min-width: 1em;
	min-height: 1em;
	margin: 0 0.75em 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	vertical-align: middle;
	float: left;
	position: relative;
	top: 0.35em;
}

/* Payment method title + brand icons stay on one line. */
.woocommerce-checkout #payment ul.payment_methods li > label,
.woocommerce-cart #payment ul.payment_methods li > label,
#add_payment_method #payment ul.payment_methods li > label {
	display: inline !important;
	font-size: 1em;
	line-height: 2;
	cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li label img,
.woocommerce-cart #payment ul.payment_methods li label img,
#add_payment_method #payment ul.payment_methods li label img,
.woocommerce-checkout #payment ul.payment_methods li img.ppcp-card-icon,
.woocommerce-cart #payment ul.payment_methods li img.ppcp-card-icon,
#add_payment_method #payment ul.payment_methods li img.ppcp-card-icon {
	display: inline-block !important;
	width: auto !important;
	max-width: none !important;
	max-height: 25px !important;
	height: auto !important;
	margin: -2px 0 0 0.5em !important;
	padding: 0 !important;
	vertical-align: middle !important;
	box-shadow: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li img.ppcp-card-icon + img.ppcp-card-icon,
.woocommerce-cart #payment ul.payment_methods li img.ppcp-card-icon + img.ppcp-card-icon,
#add_payment_method #payment ul.payment_methods li img.ppcp-card-icon + img.ppcp-card-icon {
	margin-left: 2px !important;
}

/* Keep PayPal Smart Button / Marks iframes from collapsing (do NOT target all #payment iframes). */
.woocommerce-checkout .ppc-button-wrapper iframe,
.woocommerce-cart .ppc-button-wrapper iframe {
	display: inline-block !important;
	max-width: 100%;
	vertical-align: middle;
}

.woocommerce-checkout .ppc-button-wrapper,
.woocommerce-cart .ppc-button-wrapper {
	min-height: 45px;
}

/* PayPal Hosted Fields: tokenization frame must stay hidden or it blocks card inputs. */
#payment iframe[id^="hosted-fields-tokenization-frame_"],
#add_payment_method #payment iframe[id^="hosted-fields-tokenization-frame_"] {
	display: none !important;
}

/* Card field hosts + input iframes must remain clickable/typeable. */
#ppcp-credit-card-gateway-card-number,
#ppcp-credit-card-gateway-card-expiry,
#ppcp-credit-card-gateway-card-cvc {
	position: relative;
	overflow: visible;
	pointer-events: auto !important;
}

#payment .payment_method_ppcp-credit-card-gateway iframe:not([id^="hosted-fields-tokenization-frame_"]),
#add_payment_method #payment .payment_method_ppcp-credit-card-gateway iframe:not([id^="hosted-fields-tokenization-frame_"]) {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 1.5em;
	border: 0 !important;
	pointer-events: auto !important;
	position: relative;
	z-index: 2;
}

/* Fastlane / AXO card component needs explicit height for Braintree iframes */
#ppcp-axo-payment-container,
#ppcp-axo-payment-container-form,
paypal-fastlane-card {
	display: block !important;
	width: 100%;
	position: relative;
	pointer-events: auto !important;
	z-index: 2;
}

paypal-fastlane-card {
	min-height: 160px;
}

#ppcp-axo-payment-container.axo-hidden[style*="display: block"],
#ppcp-axo-payment-container.axo-hidden[style*="display:block"] {
	display: block !important;
}

#braintree-hosted-field-number,
#braintree-hosted-field-expirationDate,
#braintree-hosted-field-cvv,
iframe[name^="braintree-hosted-field-"] {
	display: block !important;
	float: none !important;
	width: 100% !important;
	min-height: 48px !important;
	height: 48px !important;
	max-width: 100% !important;
	border: 0 !important;
	pointer-events: auto !important;
	position: relative;
	z-index: 3;
}

/* Avoid leftover AXO loading overlay blocking clicks */
.payment_method_ppcp-axo-gateway .ppcp-axo-overlay {
	pointer-events: none !important;
}

/* Terms / save-card checkboxes should not inherit the 50px form input look. */
.woocommerce-checkout #payment input[type="checkbox"],
.woocommerce-cart #payment input[type="checkbox"],
#add_payment_method #payment input[type="checkbox"],
.woocommerce-checkout .woocommerce-form__input-checkbox,
.woocommerce-checkout input[type="checkbox"].woocommerce-form__input-checkbox {
	-webkit-appearance: checkbox !important;
	appearance: checkbox !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	min-width: 1em;
	min-height: 1em;
	margin-right: 0.5em !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	vertical-align: middle;
}
