.bnpb-overlay {
	padding: 45px 18px 18px !important;
}

.bnpb-overlay .bnpb-dialog {
	width: min(var(--bnpb-width), calc(100vw - 36px)) !important;
	max-width: 100% !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

.bnpb-overlay .bnpb-content {
	max-height: var(--bnpb-max-height);
	overflow: auto;
	padding: calc(var(--bnpb-padding) + 4px) var(--bnpb-padding) var(--bnpb-padding) !important;
	box-sizing: border-box;
}

.bnpb-overlay .bnpb-content h2#bnpb-title {
	margin: 0 0 14px !important;
	font-family: var(--bnpb-font) !important;
	font-size: var(--bnpb-title-size) !important;
	font-weight: 700 !important;
	line-height: 1.28 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.bnpb-overlay .bnpb-body {
	margin: 0 0 22px !important;
}

.bnpb-overlay .bnpb-terms-summary {
	margin-top: 8px !important;
}

.bnpb-overlay button.bnpb-terms-open {
	display: inline-flex !important;
	align-items: center;
	margin: 0 0 0 6px !important;
	padding: 4px 8px !important;
	border: 1px solid var(--bnpb-button) !important;
	border-radius: 4px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--bnpb-button) !important;
	font-family: var(--bnpb-font) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: none !important;
}

.bnpb-overlay button.bnpb-terms-open:hover {
	background: var(--bnpb-button) !important;
	color: var(--bnpb-button-text) !important;
}

.bnpb-overlay button.bnpb-copy {
	display: inline-block !important;
	margin: 4px auto 14px !important;
	padding: 8px 14px !important;
	border: 1px solid var(--bnpb-button) !important;
	border-radius: 4px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--bnpb-button) !important;
	font-family: var(--bnpb-font) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: pointer;
}

.bnpb-overlay button.bnpb-copy:hover {
	background: var(--bnpb-button) !important;
	color: var(--bnpb-button-text) !important;
}

.bnpb-terms-layer[hidden] {
	display: none !important;
}

.bnpb-overlay .bnpb-terms-layer {
	position: fixed;
	inset: 0;
	z-index: 10;
	display: grid;
	place-items: center;
	padding: 24px;
	background: rgba(0, 0, 0, .58);
	box-sizing: border-box;
}

.bnpb-overlay .bnpb-terms-modal {
	position: relative;
	width: min(650px, calc(100vw - 48px));
	max-height: min(80vh, 720px);
	overflow: auto;
	padding: 52px 36px 34px;
	border-radius: 8px;
	background: #fff;
	color: #333;
	box-shadow: 0 16px 60px rgba(0, 0, 0, .42);
	box-sizing: border-box;
}

.bnpb-overlay button.bnpb-terms-close {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	left: auto !important;
	z-index: 2;
	display: grid !important;
	place-items: center;
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: #f0f0f1 !important;
	box-shadow: none !important;
	color: #333 !important;
	font-family: Arial, sans-serif !important;
	font-size: 30px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
}

.bnpb-overlay button.bnpb-terms-close:hover,
.bnpb-overlay button.bnpb-terms-close:focus-visible {
	background: var(--bnpb-button) !important;
	color: var(--bnpb-button-text) !important;
}

.bnpb-overlay .bnpb-email-wrap input#bnpb-email {
	display: block !important;
	width: 100% !important;
	height: 60px !important;
	min-height: 60px !important;
	margin: 0 !important;
	padding: 0 18px 0 50px !important;
	border: 2px solid var(--bnpb-input-border) !important;
	border-radius: 7px !important;
	background: var(--bnpb-input-bg) !important;
	box-shadow: none !important;
	font-family: var(--bnpb-font) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 56px !important;
	color: var(--bnpb-text) !important;
	box-sizing: border-box !important;
}

.bnpb-overlay .bnpb-email-icon {
	left: 18px !important;
	top: 50% !important;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	transform: translateY(-50%) !important;
	pointer-events: none;
}

.bnpb-overlay button.bnpb-submit {
	align-self: stretch !important;
	height: 60px !important;
	min-height: 60px !important;
	margin: 0 16px 0 2px !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: var(--bnpb-button) !important;
	box-shadow: none !important;
	color: var(--bnpb-button-text) !important;
	font-family: var(--bnpb-font) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 60px !important;
	text-transform: none !important;
}

.bnpb-overlay button.bnpb-submit:hover {
	background: var(--bnpb-button-hover) !important;
}

.bnpb-overlay .bnpb-gdpr,
.bnpb-overlay .bnpb-gdpr span {
	font-weight: 400 !important;
	text-transform: none !important;
}

.bnpb-overlay button.bnpb-close {
	position: absolute !important;
	top: -37px !important;
	right: 0 !important;
	left: auto !important;
	display: grid !important;
	place-items: center;
	width: 36px !important;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--bnpb-close) !important;
	font-size: 36px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
}

@media (max-width: 700px) {
	.bnpb-overlay { padding: 40px 10px 10px !important; }
	.bnpb-overlay .bnpb-dialog { width: min(var(--bnpb-mobile-width), calc(100vw - 20px)) !important; }
	.bnpb-overlay .bnpb-content { padding: var(--bnpb-mobile-padding) !important; }
	.bnpb-overlay .bnpb-content h2#bnpb-title { margin: 0 0 18px !important; }
	.bnpb-overlay .bnpb-body { margin: 0 0 18px !important; }
	.bnpb-overlay button.bnpb-terms-open { margin: 6px 0 0 !important; }
	.bnpb-overlay .bnpb-row { display: block !important; }
	.bnpb-overlay button.bnpb-submit { width: 100% !important; margin: 8px 0 0 !important; }
	.bnpb-overlay button.bnpb-close { top: -34px !important; right: 0 !important; }
	.bnpb-overlay .bnpb-terms-layer { padding: 12px; }
	.bnpb-overlay .bnpb-terms-modal {
		width: calc(100vw - 24px);
		max-height: calc(100vh - 24px);
		padding: 50px 22px 26px;
	}
}

.bnpb-checkout-optin {
	margin: 18px 0 !important;
	padding: 15px !important;
	border: 1px solid #e1e1e1;
	background: #fafafa;
}

.bnpb-checkout-optin label {
	font-weight: 600;
}

.bnpb-checkout-optin .description {
	display: block !important;
	margin: 6px 0 0 24px;
	font-size: 13px;
	color: #666;
}

.bnpb-checkout-privacy {
	margin: -12px 0 18px 39px;
	font-size: 13px;
}
