/* Keep PayPal's card label readable instead of collapsing it to an icon. */
.am-elf__footer > .maus-paypal-card-buttons,
.am-fs__footer > .maus-paypal-card-buttons {
	flex: 0 1 300px !important;
	width: 300px !important;
	max-width: 100%;
}

@media (max-width: 600px) {
	.am-elf__footer:has(> .maus-paypal-card-buttons),
	.am-fs__footer:has(> .maus-paypal-card-buttons) {
		flex-wrap: wrap !important;
		gap: 12px !important;
	}

	.am-elf__footer > .maus-paypal-card-buttons,
	.am-fs__footer > .maus-paypal-card-buttons {
		flex: 0 0 100% !important;
		width: 100% !important;
		order: -1;
	}
}

.maus-paypal-card-header {
	display: none;
}

/* Resize in place: moving a mounted PayPal iframe would reload its fields. */
.maus-paypal-card-buttons.maus-paypal-card-open {
	position: fixed !important;
	inset: var(--maus-card-top, 0px) 0 auto !important;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	height: var(--maus-card-height, 100dvh);
	padding: 24px;
	background: rgb(17 24 39 / 55%);
	text-align: left;
}

.maus-paypal-card-open .maus-paypal-card-panel {
	display: flex;
	flex-direction: column;
	width: 560px;
	max-width: 100%;
	max-height: 100%;
	min-height: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 20px 60px rgb(0 0 0 / 25%);
}

.maus-paypal-card-open .maus-paypal-card-header {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 16px 20px;
	border-bottom: 1px solid #dfe3e8;
	color: #1f2937;
	font: 600 16px/1.4 Arial, sans-serif;
}

.maus-paypal-card-header button {
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid #b8c0ca;
	border-radius: 6px;
	background: #fff;
	color: #1f2937;
	font: 400 14px/1.4 Arial, sans-serif;
	cursor: pointer;
}

.maus-paypal-card-header button:focus-visible {
	outline: 2px solid #234fcb;
	outline-offset: 2px;
}

.maus-paypal-card-open .maus-paypal-card-content {
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	padding: 20px;
}

@media (max-width: 600px) {
	.maus-paypal-card-buttons.maus-paypal-card-open {
		padding: 0;
	}

	.maus-paypal-card-open .maus-paypal-card-panel {
		width: 100%;
		height: 100%;
		border-radius: 0;
	}

	.maus-paypal-card-open .maus-paypal-card-header,
	.maus-paypal-card-open .maus-paypal-card-content {
		padding: 12px;
	}

	.maus-paypal-card-open .maus-paypal-card-content {
		padding-bottom: max(16px, env(safe-area-inset-bottom));
	}
}
