:root {
	--gp-bg: #f4f6fb;
	--gp-card: #ffffff;
	--gp-text: #0f172a;
	--gp-muted: #64748b;
	--gp-border: #e2e8f0;
	--gp-primary: #0f172a;
	--gp-primary-hover: #1e293b;
	--gp-accent: #16a34a;
}

* {
	box-sizing: border-box;
}

.gp-body {
	margin: 0;
	background: var(--gp-bg);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--gp-text);
}

.gp-payment {
	max-width: 560px;
	margin: 0 auto;
	padding: 32px 16px 64px;
}

.gp-payment-head {
	background: var(--gp-card);
	border: 1px solid var(--gp-border);
	border-radius: 14px;
	padding: 22px 24px;
	margin-bottom: 18px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.gp-payment-title {
	font-size: 18px;
	margin: 0;
	font-weight: 700;
}

.gp-payment-amount {
	text-align: right;
	line-height: 1.2;
}

.gp-payment-amount span {
	display: block;
	font-size: 12px;
	color: var(--gp-muted);
}

.gp-payment-amount strong {
	font-size: 22px;
	color: var(--gp-text);
}

.gp-test-badge {
	width: 100%;
	background: #fef3c7;
	color: #92400e;
	border: 1px solid #fcd34d;
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
}

.gp-form {
	background: var(--gp-card);
	border: 1px solid var(--gp-border);
	border-radius: 14px;
	padding: 6px 24px 24px;
}

.gp-section {
	padding: 18px 0;
	border-bottom: 1px solid var(--gp-border);
}

.gp-section-title {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--gp-muted);
	margin: 0 0 12px;
	font-weight: 700;
}

.gp-row {
	display: flex;
	gap: 12px;
}

.gp-row + .gp-row {
	margin-top: 12px;
}

.gp-row-3 > .gp-field {
	flex: 1;
}

.gp-field {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.gp-field-wide {
	flex: 100%;
}

.gp-field label {
	font-size: 12px;
	color: var(--gp-muted);
	margin-bottom: 5px;
	font-weight: 600;
}

.gp-input {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--gp-border);
	border-radius: 9px;
	font-size: 15px;
	background: #fff;
	color: var(--gp-text);
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}

.gp-input:focus {
	border-color: var(--gp-primary);
	box-shadow: 0 0 0 3px rgba(15, 23, 42, .08);
}

.gp-security-note {
	font-size: 12px;
	color: var(--gp-muted);
	line-height: 1.5;
	padding: 16px 0 6px;
}

.gp-submit {
	width: 100%;
	border: 0;
	border-radius: 10px;
	background: var(--gp-primary);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	padding: 14px 18px;
	cursor: pointer;
	transition: background .15s;
}

.gp-submit:hover {
	background: var(--gp-primary-hover);
}

.gp-submit:disabled {
	opacity: .6;
	cursor: not-allowed;
}

.gp-confirmation {
	font-size: 14px;
}

@media (max-width: 520px) {
	.gp-row-3 {
		flex-wrap: wrap;
	}

	.gp-row-3 > .gp-field {
		min-width: 30%;
	}
}
