.swanpay-payment-page .woocommerce {
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
}
.swanpay-payment-page .woocommerce #order_review {
	float: none;
	width: 100%;
	box-sizing: border-box;
}
.swanpay-payment-shell {
	width: 100%;
	max-width: 620px;
	margin: 24px auto 40px;
	box-sizing: border-box;
	color: #172b3a;
	background: #fff;
	border: 1px solid #dce3e8;
	border-radius: 16px;
	box-shadow: 0 8px 32px #172b3a0a;
	overflow: hidden;
	text-align: left;
}
.swanpay-payment-header { padding: 28px 28px 0; }
.swanpay-payment-header .swanpay-payment-step { color: #526574; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.swanpay-payment-header h2 { margin: 8px 0 12px; font-size: clamp(24px, 4vw, 30px); line-height: 1.2; }
.swanpay-payment-header p { margin: 0 0 16px; color: #526574; font-size: 15px; line-height: 1.6; }
.swanpay-payment-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; border-block: 1px solid #e8edf0; }
.swanpay-payment-summary strong { font-size: 22px; }
.swanpay-payment-content { padding: 24px 28px; }
.swanpay-dropin { width: 100%; min-width: 0; }
.swanpay-payment-status { margin: 0 0 16px; color: #526574; font-size: 14px; }
.swanpay-payment-status:empty { display: none; }
.swanpay-payment-error { padding: 16px; margin-bottom: 16px; border: 1px solid #e7b9b4; border-radius: 8px; background: #fff5f3; color: #8b2520; font-size: 15px; line-height: 1.5; }
.swanpay-payment-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.swanpay-payment-shell button.swanpay-payment-button { flex: 1 1 180px; min-height: 48px; padding: 12px 18px; border: 1px solid #172b3a; border-radius: 8px; background: #172b3a; color: #fff; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.4; cursor: pointer; }
.swanpay-payment-shell button.swanpay-payment-button--secondary { background: #fff; color: #172b3a; }
.swanpay-payment-shell button:disabled { opacity: .55; cursor: wait; }
.swanpay-payment-shell button:focus-visible { outline: 3px solid #538ac8; outline-offset: 3px; }
.swanpay-payment-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding: 18px 28px; background: #f7f9fa; border-top: 1px solid #e8edf0; color: #526574; font-size: 12px; }
.swanpay-payment-shell button.swanpay-payment-link { padding: 0; border: 0; background: none; box-shadow: none; color: #254f73; font: inherit; text-decoration: underline; cursor: pointer; }
.swanpay-payment-shell [hidden] { display: none !important; }
@media (max-width: 480px) {
	.swanpay-payment-shell { margin-block: 16px 24px; border-radius: 12px; }
	.swanpay-payment-header { padding: 20px 16px 0; }
	.swanpay-payment-content { padding: 20px 16px; }
	.swanpay-payment-footer { padding: 16px; }
}

body { margin: 0; padding: 12px; background: #f7f9fa; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1 { font-size: 28px; line-height: 1.2; }
label { display: block; margin: 16px 0 8px; font-weight: 600; }
input:not([type=checkbox]), select { box-sizing: border-box; width: 100%; padding: 12px; border: 1px solid #bccad3; border-radius: 8px; font: inherit; }
input[type=checkbox] { margin-right: 8px; }
form .swanpay-payment-actions { margin-top: 24px; }
