/* CloudSprout Leads 1.4.0 — on-site offers: the bottom card and theme slots ([cs_offer slot="x"], data-cs-offer-slot="x").
   Reads the same public variables as the cookie banner (--csl-bg, --csl-ink, --csl-accent, --csl-accent-ink, --csl-font,
   --csl-radius, --csl-bottom-offset, ...). Extra: --csl-offer-max (card width), --csl-offer-z. Mark anything the card must stay
   clear of with data-csl-offer-avoid (fixed bars at the bottom of the screen are found by themselves). */
.csl-offer {
	--_bg: var(--csl-bg, var(--csl-surface, #ffffff));
	--_ink: var(--csl-ink, var(--csl-text, #1d2327));
	--_accent: var(--csl-accent, var(--csl-primary, #2f7d4f));
	--_accent-ink: var(--csl-accent-ink, var(--csl-accent-text, var(--csl-primary-text, #ffffff)));
	--_accent-hover: var(--csl-accent-hover, var(--csl-primary-hover, var(--_accent)));
	--_muted: var(--csl-muted, var(--csl-text-muted, #50575e));
	--_border: var(--csl-border, rgba(0, 0, 0, .14));
	--_focus: var(--csl-focus-ring, var(--csl-focus, var(--_accent)));
	--_radius: var(--csl-radius, 12px);
	--_btn-radius: var(--csl-btn-radius, var(--csl-button-radius, 8px));
	--_font: var(--csl-font, inherit);
	--_font-h: var(--csl-font-heading, var(--_font));
	--_size: var(--csl-size, 15px);
	--_shadow: var(--csl-shadow, 0 8px 32px rgba(0, 0, 0, .18));
	--_z: var(--csl-offer-z, calc(var(--csl-z, 99999) - 2));
	--_bottom: var(--csl-bottom-offset, var(--csl-offset-bottom, var(--csl-offset, 0px)));
	--_max: var(--csl-offer-max, 380px);
	font-family: var(--_font); font-size: var(--_size); line-height: 1.45; color: var(--_ink);
}
.csl-offer *, .csl-offer *::before, .csl-offer *::after { box-sizing: border-box; }
.csl-offer-slot[hidden], .csl-offer[hidden] { display: none !important; }

/* Bottom card: fixed, never pushes content, lifted above the banner / action bars by the script (--csl-offer-lift). */
.csl-offer--card {
	position: fixed; left: 8px; right: 8px; bottom: calc(8px + var(--_bottom) + var(--csl-offer-lift, 0px)); z-index: var(--_z);
	margin: 0 auto; max-width: var(--_max);
	opacity: 0; transform: translateY(12px); visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.csl-offer--card.is-open { opacity: 1; transform: none; visibility: visible; transition: opacity .2s ease, transform .2s ease, visibility 0s; }
@media (min-width: 600px) {
	.csl-offer--card { left: auto; right: 16px; bottom: calc(16px + var(--_bottom) + var(--csl-offer-lift, 0px)); width: min(var(--_max), calc(100vw - 32px)); }
}
@media (prefers-reduced-motion: reduce) {
	.csl-offer--card, .csl-offer--card.is-open { transition: none; transform: none; }
}
.csl-offer__inner {
	position: relative; display: flex; gap: 12px; align-items: flex-start;
	background: var(--_bg); color: var(--_ink); border: 1px solid var(--_border); border-radius: var(--_radius); padding: 14px 52px 14px 16px;
}
.csl-offer--card .csl-offer__inner { box-shadow: var(--_shadow); max-height: calc(100vh - 32px); overflow-y: auto; }
.csl-offer__img { flex: 0 0 64px; width: 64px; height: 64px; object-fit: cover; border-radius: calc(var(--_radius) / 2); }
.csl-offer__body { flex: 1 1 auto; min-width: 0; }
.csl-offer__headline.csl-offer__headline { margin: 0 0 4px; font-family: var(--_font-h); font-weight: 700; font-size: 1.02em; line-height: 1.3; color: inherit; }
.csl-offer__text.csl-offer__text, .csl-offer__code.csl-offer__code, .csl-offer__ends.csl-offer__ends { margin: 0 0 8px; font-size: .93em; color: inherit; }
.csl-offer__ends.csl-offer__ends { color: var(--_muted); }
.csl-offer__code strong { letter-spacing: .04em; }
.csl-offer__cta.csl-offer__cta, .csl-offer__cta.csl-offer__cta:visited {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 48px; padding: 10px 18px; margin: 2px 0 0;
	border: 2px solid var(--_accent); border-radius: var(--_btn-radius); background: var(--_accent); color: var(--_accent-ink);
	font: inherit; font-weight: 600; font-size: .95em; line-height: 1.2; text-decoration: none; text-align: center; box-shadow: none;
}
.csl-offer__cta.csl-offer__cta:hover { background: var(--_accent-hover); border-color: var(--_accent-hover); color: var(--_accent-ink); }
.csl-offer__close.csl-offer__close, .csl-offer__close.csl-offer__close:hover, .csl-offer__close.csl-offer__close:focus {
	position: absolute; top: 2px; right: 2px; display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; min-width: 48px; min-height: 48px; padding: 0; margin: 0; border: 0; border-radius: var(--_btn-radius);
	background: transparent; color: var(--_ink); font: inherit; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: none;
}
.csl-offer__cta:focus-visible, .csl-offer__close:focus-visible { outline: 3px solid var(--_focus); outline-offset: 2px; }
.csl-offer--slot { margin: 16px 0; }
@media print { .csl-offer--card { display: none !important; } }
