.enginex-offer {
	--enginex-offer-accent: var(--e-global-color-primary, #4f46d7);
	--enginex-offer-surface: var(--e-global-color-background, #fff);
	--enginex-offer-text: var(--e-global-color-text, #17162f);
	--enginex-offer-border: color-mix(in srgb, var(--enginex-offer-text) 16%, transparent);
	color: var(--enginex-offer-text);
	display: grid;
	gap: 1rem;
}
.enginex-offer__card {
	background: var(--enginex-offer-surface);
	border: 1px solid var(--enginex-offer-border);
	border-radius: .875rem;
	box-shadow: 0 .5rem 2rem rgb(22 22 47 / 8%);
	padding: clamp(1rem, 3vw, 1.75rem);
	position: relative;
}
.enginex-offer--grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.enginex-offer--horizontal .enginex-offer__card { align-items: center; display: grid; gap: 1rem; grid-template-columns: 1fr auto; }
.enginex-offer--compact .enginex-offer__card,
.enginex-offer--minimal .enginex-offer__card { padding: .875rem 1rem; }
.enginex-offer__badge,
.enginex-offer__discount {
	color: var(--enginex-offer-accent);
	font-weight: 700;
}
.enginex-offer__badge {
	background: color-mix(in srgb, var(--enginex-offer-accent) 10%, transparent);
	border-radius: 999px;
	display: inline-block;
	font-size: .8125rem;
	padding: .35rem .7rem;
}
.enginex-offer__title { font-size: clamp(1.25rem, 3vw, 1.75rem); margin: .75rem 0 .5rem; }
.enginex-offer__description { line-height: 1.65; }
.enginex-offer__cta,
.enginex-offer__coupon button {
	background: var(--enginex-offer-accent);
	border: 0;
	border-radius: .5rem;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-weight: 700;
	padding: .7rem 1rem;
	text-decoration: none;
}
.enginex-offer__cta:focus-visible,
.enginex-offer__coupon button:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.enginex-offer__coupon { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1rem; }
.enginex-offer__countdown { display: block; font-variant-numeric: tabular-nums; margin-block: .75rem; }
.enginex-offer__disclosure { font-size: .8125rem; opacity: .78; }
.enginex-offer__empty { border: 1px dashed currentColor; padding: 1rem; }
.enginex-offer-modal {
	background: #fff;
	border: 0;
	border-radius: 1.25rem;
	box-shadow: 0 1.5rem 5rem rgb(15 23 42 / 28%);
	box-sizing: border-box;
	color: #17162f;
	max-height: min(90vh, 48rem);
	max-width: min(92vw, 42rem);
	overflow: auto;
	padding: clamp(1.25rem, 4vw, 2.25rem);
	width: 100%;
}
.enginex-offer-modal::backdrop { background: rgb(15 23 42 / 64%); backdrop-filter: blur(3px); }
.enginex-offer-modal__close {
	background: #f1f3f9;
	border: 0;
	border-radius: 50%;
	color: #17162f;
	cursor: pointer;
	font-size: 1.5rem;
	height: 2.5rem;
	line-height: 1;
	position: absolute;
	right: 1rem;
	top: 1rem;
	width: 2.5rem;
}
.enginex-offer-modal__heading { padding-right: 2.5rem; }
.enginex-offer-modal__heading > span { color: var(--enginex-offer-accent); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.enginex-offer-modal__heading h2 { font-size: clamp(1.5rem, 4vw, 2rem); margin: .4rem 0 .5rem; }
.enginex-offer-modal__heading p { color: #5f6378; margin: 0 0 1.25rem; }
.enginex-offer-modal .enginex-lead-form { border: 0; box-shadow: none; max-width: none; padding: 0; }
.enginex-offer-modal .enginex-lead-form h2 { font-size: 1rem; margin-bottom: 1rem; }
.enginex-offer-modal .enginex-lead-form form { display: grid; gap: 0 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.enginex-offer-modal .enginex-lead-form form > p { margin-bottom: 1rem; }
.enginex-offer-modal .enginex-lead-form form > p:nth-last-of-type(2),
.enginex-offer-modal .enginex-lead-form form > p:last-of-type,
.enginex-offer-modal .enginex-lead-form form > button { grid-column: 1 / -1; }
.enginex-offer-modal .enginex-lead-form form > button { width: 100%; }
@media (max-width: 640px) {
	.enginex-offer--horizontal .enginex-offer__card { display: block; }
	.enginex-offer-modal .enginex-lead-form form { display: block; }
}
@media (prefers-reduced-motion: reduce) {
	.enginex-offer * { scroll-behavior: auto !important; transition: none !important; }
}
