.payment_option_panel {
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 20px;
	margin-bottom: 20px;
}

.payment_option_row {
	display: grid;
	grid-template-columns: 60px 200px 30px;
	grid-row-gap: 20px;
	margin: 0px 0px;
	align-items: center;
}

.payment_option_thumbnail {
	height: 50px;
	width: 50px;
	display: flex;
	/* div下元素垂直居中*/
	align-items: center;
	margin-right: 5px;
}

.payment_option_thumbnail_img {
	border-radius: 12px;
	border-width: 0px;
	max-height: 50px;
	max-width: 50px;
	align-items: center;
}

/*    .payment_option_card {
        display: grid;
        column-gap: 16px;
        grid-template-columns: max-content auto;
        grid-template-columns: auto auto;
        margin: 0px 0px;
    }
*/


.div_payment_form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 10px;
}

.div_payment_amount_panel {

}


.div_payment_option_panel_wrapper {
	/*max-width: 400px;*/
	/*自动居中*/
	/*margin: auto;*/
	margin-bottom: 20px;
}

.payment_option_panel label {
	display: inline-block;
	/*width: 100px;*/
	text-align: left;
	line-height: 26px;
}
.payment_option_panel label input[type="radio"]{
	display: none;
}
.payment_option_panel label input[type="radio"]+span{
	box-sizing: border-box;
	display: inline-block;
	width: 20px;
	height: 20px;
	padding: 2px;
	border: 2px solid #ccc;
	vertical-align: sub;
	margin-right: 5px;
	/* set round option*/
	border-radius:50%;
}
.payment_option_panel label input[type="radio"]+span>span{
	display: inline-block;
	width: 12px;
	height: 12px;
	float: left;
	background: #33bb00;
	opacity: 0;
	/* set round option*/
	border-radius:50%;
}
.payment_option_panel label input[type="radio"]:checked+span{
	border-color: #33bb00;
}
.payment_option_panel label:hover input[type="radio"]+span>span{
	opacity: 0.5;
}
.payment_option_panel label input[type="radio"]:checked+span>span{
	opacity: 1;
}


/*stripe credit card option*/
#payment-form {
	max-width: 500px;
	margin: 0 auto;
	padding: 30px;
	background: white;
	border-radius: 12px; /* 圆角柔和 */
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08); /* 柔和阴影提升层次 */
}

/*Payment Option Status*/
.disabled-payment {
	opacity: 0.6;
	cursor: not-allowed;
	position: relative;
}

.disabled-payment > div {
	pointer-events: none;
}

.payment-tooltip {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #333;
	color: white;
	padding: 5px 10px;
	border-radius: 4px;
	font-size: 12px;
	white-space: nowrap;
	z-index: 10;
}

.btn-recharge {
	background-color: var(--primary-color);
	color: white;
	border: none;
	padding: 14px 25px;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: 100%;
	transition: background-color 0.2s;
}

.btn-recharge:hover {
	background-color: #0069d9;
}

.btn-recharge:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ===== 标签与输入容器 ===== */
.form-group {
	margin-bottom: 25px;
}

.form-group label {
	display: block;
	margin-bottom: 10px;
	font-weight: 600;
	color: #2d3748;
	font-size: 15px;
}


/* ===== Stripe元素容器 ===== */
.StripeElement {
	padding: 14px 16px;
	border: 1px solid #e2e8f0; /* 浅蓝灰边框 */
	border-radius: 8px;
	background-color: white;
	transition: all 0.3s ease;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03);
}

/* 输入框状态反馈 */
.StripeElement--focus {
	border-color: #4a7cff; /* 聚焦时蓝色边框 */
	box-shadow: 0 0 0 3px rgba(74, 124, 255, 0.15); /* 发光效果 */
	outline: none;
}

.StripeElement--invalid {
	border-color: #e53e3e; /* 错误时红色边框 */
}

.StripeElement--webkit-autofill {
	background-color: #fef6dd !important; /* 自动填充黄色背景 */
}

/* ===== 支付按钮 ===== */
#submit-button {
	width: 100%;
	padding: 14px;
	background: #4a7cff; /* 品牌蓝色 */
	color: white;
	font-weight: 600;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-size: 16px;
	transition: background 0.3s, transform 0.1s;
	box-shadow: 0 4px 6px rgba(74, 124, 255, 0.2);
}

#submit-button:hover {
	background: #3a6bf0; /* 悬停深蓝色 */
}

#submit-button:active {
	transform: translateY(1px); /* 点击下沉效果 */
	box-shadow: 0 2px 4px rgba(74, 124, 255, 0.2);
}

#submit-button:disabled {
	background: #cbd5e0; /* 禁用状态灰色 */
	cursor: not-allowed;
}

/* ===== 错误提示 ===== */
#card-errors {
	margin-top: 20px;
	padding: 12px 16px;
	background: #fff5f5; /* 浅红背景 */
	color: #e53e3e; /* 红色文字 */
	border-radius: 8px;
	font-size: 14px;
	border: 1px solid #fed7d7;
	display: none; /* 默认隐藏 */
}

#card-errors[role="alert"] {
	display: block; /* 有错误时显示 */
}

/* ===== 响应式设计 ===== */
@media (max-width: 600px) {
	#payment-form {
		padding: 20px;
		margin: 10px;
	}

	.StripeElement {
		padding: 12px 14px;
	}

	#submit-button {
		padding: 13px; /* 移动端稍小按钮 */
		font-size: 15px;
	}
}
