.checkout-wrap{
	max-width:860px;
	margin:18px auto 26px;
	padding:0 16px;
}

.checkout-card{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:var(--radius);
	box-shadow:var(--shadow);
	padding:18px;
}

.checkout-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}

.checkout-field{
	display:flex;
	flex-direction:column;
	gap:6px;
}

.checkout-field.full{grid-column:1/-1;}

.checkout-field label{font-weight:700;color:#23415f;}

.checkout-field input,
.checkout-field select{
	width:100%;
	padding:11px 12px;
	border:1px solid #c9d9ea;
	border-radius:10px;
	font:inherit;
	color:var(--text);
	background:#fff;
}

.checkout-field input[aria-invalid="true"],
.checkout-field select[aria-invalid="true"]{
	border-color:#c53030;
	box-shadow:0 0 0 2px rgba(197,48,48,.14);
}

.checkout-error{color:#b42318;font-size:.88rem;min-height:1.2em;}

.checkout-plan{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:10px;
	margin:0 0 14px;
	padding:10px 12px;
	border:1px solid #d4e3f5;
	border-radius:12px;
	background:#f4f9ff;
}

.checkout-plan__badge{
	font-weight:800;
	color:#15466c;
	background:#e3f0ff;
	border:1px solid #c6ddf8;
	padding:3px 8px;
	border-radius:999px;
	font-size:.8rem;
}

.billing-toggle{
	display:flex;
	gap:10px;
	flex-wrap:wrap;
	margin:2px 0 8px;
}

.billing-option{
	position:relative;
	border:1px solid #c9d9ea;
	border-radius:12px;
	padding:10px 12px;
	background:#fff;
	min-width:220px;
	cursor:pointer;
}

.billing-option input{margin-right:8px;}
.billing-option strong{font-size:1rem;}
.billing-option small{display:block;color:var(--muted);}
.billing-option .save-badge{
	display:inline-block;
	margin-left:8px;
	padding:2px 7px;
	border-radius:999px;
	font-size:.76rem;
	font-weight:800;
	color:#4e3a0a;
	background:linear-gradient(180deg,#f7da87 0%,#e8bb4d 100%);
	border:1px solid #cf9d30;
}

.checkout-summary{
	margin:10px 0 16px;
	padding:10px 12px;
	border-radius:12px;
	border:1px solid #d4e3f5;
	background:#f8fbff;
	color:#123e62;
	font-weight:700;
}

.checkout-actions{
	display:flex;
	gap:10px;
	align-items:center;
	flex-wrap:wrap;
	margin-top:8px;
}

.checkout-note{font-size:.9rem;color:var(--muted);}

.geo-actions{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}

#checkoutFeedback{min-height:1.2em;color:#173a5e;font-size:.92rem;}

@media (max-width: 760px){
	.checkout-grid{grid-template-columns:1fr;}
	.billing-option{width:100%;min-width:0;}
}
/* Credit Banner */
.credit-banner{
        background:linear-gradient(135deg,#e8f5e9 0%,#f0f9ff 100%);
        border:1.5px solid #66bb6a;
        border-radius:10px;
        padding:12px 16px;
        margin-bottom:16px;
}
.credit-banner__inner{
        display:flex;
        align-items:center;
        gap:12px;
        flex-wrap:wrap;
}
.credit-banner__icon{font-size:1.4rem;flex-shrink:0;}
.credit-banner__text{flex:1;min-width:160px;}
.credit-banner__text strong{display:block;color:#2e7d32;font-size:.97rem;}
.credit-banner__text span{font-size:.88rem;color:#388e3c;}
.credit-banner__toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9rem;color:#1b5e20;font-weight:600;}
.credit-banner__toggle input[type=checkbox]{width:16px;height:16px;accent-color:#43a047;cursor:pointer;}
.credit-banner__pay-row{margin-top:8px;font-size:.88rem;color:#555;border-top:1px solid #c8e6c9;padding-top:8px;}
/* === Quota-Warning Banner (QC-01) === */
.quota-warning{display:flex;align-items:flex-start;gap:10px;background:#fff3e0;border:1.5px solid #e65100;border-radius:10px;padding:12px 16px;margin:0 0 16px 0;}
.quota-warning[hidden]{display:none;}
.quota-warning__icon{font-size:1.2rem;flex-shrink:0;margin-top:1px;}
#quotaWarningText{font-size:.93rem;color:#bf360c;font-weight:500;line-height:1.45;}
