/**
 * PumpkinDP premium payment panel v12.
 * Styling around Stripe's secure hosted fields.
 */

.woocommerce-checkout #order_review {
	--pdp-ink: #171a20;
	--pdp-muted: #69707d;
	--pdp-line: #e7e9ee;
	--pdp-orange: #f47a1f;
	--pdp-soft: #fff8f2;
}

.woocommerce-checkout #payment {
	background: linear-gradient(180deg, #ffffff 0%, #fffdfb 100%) !important;
	border: 1px solid #e7e9ee !important;
	border-radius: 22px !important;
	box-shadow: 0 18px 46px rgba(20, 24, 32, .08) !important;
	overflow: hidden;
}

.woocommerce-checkout #payment ul.payment_methods {
	background: transparent !important;
	margin: 0 !important;
	padding: 18px !important;
}

.woocommerce-checkout #payment .wc_payment_method > input[type="radio"] {
	accent-color: var(--pdp-orange);
}

.woocommerce-checkout #payment .wc_payment_method > label {
	align-items: center;
	color: var(--pdp-ink);
	display: flex;
	font-size: 15px;
	font-weight: 750;
	gap: 8px;
	line-height: 1.4;
	margin-bottom: 0;
}

.woocommerce-checkout #payment .wc_payment_method > label img {
	border-radius: 4px;
	height: 24px;
	margin-left: auto !important;
	object-fit: contain;
	width: auto;
}

.woocommerce-checkout #payment .payment_box.payment_method_stripe {
	background: #fff !important;
	border: 1px solid var(--pdp-line) !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 30px rgba(25, 29, 38, .06) !important;
	margin: 16px 0 0 !important;
	overflow: hidden;
	padding: 0 !important;
}

.woocommerce-checkout #payment .payment_box.payment_method_stripe::before {
	background: linear-gradient(135deg, var(--pdp-soft), #fff);
	border: 0 !important;
	border-bottom: 1px solid #f3dfd0 !important;
	color: var(--pdp-ink);
	content: "Secure card payment";
	display: block !important;
	font-size: 14px;
	font-weight: 800;
	height: auto;
	letter-spacing: .01em;
	margin: 0 !important;
	padding: 14px 46px 14px 18px;
	position: static;
	width: auto;
}

.woocommerce-checkout #payment .payment_box.payment_method_stripe::after {
	color: #32a067;
	content: "● SSL";
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	position: absolute;
	right: 18px;
	top: 16px;
}

.woocommerce-checkout #payment #wc-stripe-upe-form {
	background: #fff !important;
	border: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 18px !important;
	width: 100% !important;
}

.woocommerce-checkout #payment .wc-stripe-upe-element,
.woocommerce-checkout #payment .wc-stripe-upe-element.StripeElement,
.woocommerce-checkout #payment .__PrivateStripeElement,
.woocommerce-checkout #payment .__PrivateStripeElement iframe {
	display: block !important;
	max-width: none !important;
	min-width: 0 !important;
	width: 100% !important;
}

.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
	color: var(--pdp-muted);
	font-size: 12px;
	line-height: 1.6;
}

.woocommerce-checkout #payment .place-order {
	background: #fff !important;
	border-top: 1px solid var(--pdp-line) !important;
	padding: 18px !important;
}

.woocommerce-checkout #payment #place_order {
	background: linear-gradient(135deg, #ff8428, #ef6c12) !important;
	border: 0 !important;
	border-radius: 14px !important;
	box-shadow: 0 12px 26px rgba(244, 122, 31, .25) !important;
	color: #fff !important;
	font-size: 16px;
	font-weight: 800;
	min-height: 56px;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
	width: 100%;
}

.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:focus {
	background: linear-gradient(135deg, #f77b1e, #dc5f09) !important;
	box-shadow: 0 15px 30px rgba(244, 122, 31, .32) !important;
	transform: translateY(-1px);
}

.woocommerce-checkout #payment #place_order:focus-visible {
	outline: 3px solid rgba(244, 122, 31, .25);
	outline-offset: 3px;
}

@media (min-width: 922px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: minmax(0, .92fr) minmax(540px, 1.08fr) !important;
	}

	.woocommerce-checkout form.checkout > #order_review {
		padding: 26px !important;
	}

	.woocommerce-checkout #order_review #payment ul.payment_methods {
		padding: 16px !important;
	}

	.woocommerce-checkout #order_review #payment .payment_box.payment_method_stripe {
		padding: 0 !important;
	}
}

@media (max-width: 921px) {
	.woocommerce-checkout .site-content > .ast-container {
		width: min(100% - 24px, 720px) !important;
	}

	.woocommerce-checkout form.checkout > #customer_details,
	.woocommerce-checkout form.checkout > #order_review {
		border-radius: 18px !important;
		padding: 14px !important;
	}

	.woocommerce-checkout #payment {
		border-radius: 17px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods {
		padding: 10px !important;
	}

	.woocommerce-checkout #payment .payment_box.payment_method_stripe {
		border-radius: 14px !important;
		margin-top: 10px !important;
	}

	.woocommerce-checkout #payment .payment_box.payment_method_stripe::before {
		font-size: 13px;
		padding: 12px 42px 12px 13px;
	}

	.woocommerce-checkout #payment .payment_box.payment_method_stripe::after {
		right: 13px;
		top: 13px;
	}

	.woocommerce-checkout #payment #wc-stripe-upe-form {
		padding: 10px !important;
	}

	.woocommerce-checkout #payment .place-order {
		padding: 12px !important;
	}

	.woocommerce-checkout #payment #place_order {
		border-radius: 13px !important;
		font-size: 15px;
		min-height: 54px;
	}
}

@media (max-width: 480px) {
	.woocommerce-checkout form.checkout > #order_review {
		padding: 10px !important;
	}

	.woocommerce-checkout #payment ul.payment_methods {
		padding: 7px !important;
	}

	.woocommerce-checkout #payment #wc-stripe-upe-form {
		padding: 6px !important;
	}
}
