/* Calio Capture — frontend styles */

#ccap-root,
.ccap-inline {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* Scroll lock — applied to html + body while a popup is open. */
html.ccap-scroll-lock,
body.ccap-scroll-lock {
	overflow: hidden !important;
	touch-action: none;
}

/* ---------- Popup overlay ---------- */
.ccap-overlay {
	position: fixed; inset: 0;
	background: rgba(0, 0, 0, 0.45);
	z-index: 100000;
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
	opacity: 0; pointer-events: none;
	transition: opacity 220ms ease;
}
.ccap-overlay.is-open { opacity: 1; pointer-events: auto; }

.ccap-card {
	background: var(--ccap-bg, #ffffff);
	color: var(--ccap-text, #1a1a1a);
	border-radius: 18px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
	max-width: 1000px; width: 100%;
	max-height: 92vh;
	overflow: hidden;
	position: relative;
	transform: translateY(16px) scale(0.98);
	transition: transform 240ms ease;
}
.ccap-card.ccap-no-image { max-width: 540px; }
.ccap-overlay.is-open .ccap-card { transform: translateY(0) scale(1); }
.ccap-card-inline { box-shadow: 0 4px 16px rgba(0,0,0,0.08); margin: 24px auto; }

/* ---------- Inner layout (single + two-column) ---------- */
.ccap-card-inner { display: flex; align-items: stretch; min-height: 500px; }
.ccap-card-image { display: none; }
.ccap-card-inner.has-image .ccap-card-image {
	display: block;
	flex: 0 0 50%;
	background: #f2eeea;
	overflow: hidden;
}
.ccap-card-inner.has-image .ccap-card-image img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
}
.ccap-card-body {
	flex: 1 1 auto;
	padding: 40px 40px 36px;
	display: flex; flex-direction: column;
	gap: 8px;
	position: relative;
}
.ccap-card-inner:not(.has-image) {
	max-width: 540px;
}
.ccap-card-inner:not(.has-image) .ccap-card-body {
	width: 100%;
	padding: 34px 30px 28px;
}

/* For an inline single-column compact rendering. */
.ccap-card-inline .ccap-card-inner { min-height: 0; }
.ccap-card-inline .ccap-card-inner.has-image { min-height: 360px; }

/* Close button — aggressive reset to defeat theme button styles. */
.ccap-card .ccap-close,
.ccap-card .ccap-close:hover,
.ccap-card .ccap-close:focus,
.ccap-card .ccap-close:focus-visible,
.ccap-card .ccap-close:active {
	position: absolute !important;
	top: 12px !important; right: 12px !important;
	width: 36px !important; height: 36px !important;
	min-width: 0 !important; min-height: 0 !important;
	padding: 0 !important; margin: 0 !important;
	background: rgba(0, 0, 0, 0.04) !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: #555 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important; justify-content: center !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	outline: 0 !important;
	-webkit-tap-highlight-color: transparent !important;
	z-index: 10;
	transition: background 160ms ease, color 160ms ease;
	font-size: 0 !important;
	line-height: 0 !important;
}
.ccap-card .ccap-close:hover {
	background: rgba(0, 0, 0, 0.10) !important;
	color: #111 !important;
}
.ccap-card .ccap-close svg {
	width: 18px !important; height: 18px !important;
	display: block !important;
}

.ccap-card-logo { margin: 0 0 6px; }
.ccap-card-logo img { max-height: 32px; width: auto; display: block; }

.ccap-headline {
	font-size: 44px; font-weight: 800; line-height: 1.15;
	margin: 6px 0 6px;
	padding: 0 20px !important; /* keep clear of the close button */
	text-align: center;
	color: var(--ccap-text, #1a1a1a);
	letter-spacing: -0.01em;
}

/* Wheel popups look unbalanced left-aligned — the wheel itself is dead-centre. */
.ccap-card.ccap-type-wheel .ccap-headline,
.ccap-card.ccap-type-wheel .ccap-sub,
.ccap-card.ccap-type-wheel .ccap-consent {
	text-align: center;
}
.ccap-card.ccap-type-wheel .ccap-headline {
	padding-right: 0; /* close button has its own circle background; centred text is fine under it */
	padding: 0 48px;
}
/* Accented span — wrap any phrase in *asterisks* in the headline to make it pop. */
.ccap-headline .ccap-accent {
	color: var(--ccap-accent-color, var(--ccap-primary, #1f5128));
	font-style: italic;
	font-weight: 800;
}
.ccap-sub {
	font-size: 14px; line-height: 1.5;
	margin: 0 0 18px;
	color: #555;
	text-align: center;
}

/* ---------- Step area ---------- */
.ccap-step-area {
	display: flex; flex-direction: column;
	gap: 14px;
	opacity: 1;
	min-height: 240px;
	height: auto;
	justify-content: flex-start;
	align-items: stretch;
	margin-top: 4px;
}
.ccap-step-fade { animation: ccap-fade-in 260ms ease; }
@keyframes ccap-fade-in {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ---------- Scratch ---------- */
.ccap-scratch-wrap {
	position: relative;
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	aspect-ratio: 16/10;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	user-select: none;
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}
.ccap-scratch-underlay {
	position: absolute; inset: 0;
	background: linear-gradient(135deg, #fff7d6 0%, #ffe9a8 100%);
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	padding: 20px;
	text-align: center;
	gap: 4px;
}
.ccap-underlay-prefix {
	font-size: 13px;
	color: #6b5b1f;
	font-weight: 500;
	letter-spacing: 0.01em;
}
.ccap-underlay-prize {
	font-size: 30px;
	font-weight: 800;
	color: var(--ccap-text, #1a1a1a);
	line-height: 1.05;
	letter-spacing: -0.01em;
}

/* Reserve a fixed slot so the popup doesn't resize when CLAIM appears. */
.ccap-scratch-claim {
	display: flex; justify-content: center; align-items: center;
	min-height: 60px;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 320ms ease, transform 320ms ease;
	margin-top: 6px;
}
.ccap-scratch-claim.is-visible { opacity: 1; transform: translateY(0); }
.ccap-scratch-canvas {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	cursor: crosshair;
	touch-action: none;
}

/* ---------- Wheel of fortune — absolute-positioned wheel, fixed-width form ----------
   Lesson from v2.6.0: a flex row with wheel-side (525px) + form-column on a card
   limited to 790px guarantees flex compression squashes the form into nothing.
   v2.6.1 fixes this by anchoring the wheel with position:absolute on the left edge
   and reserving form-column width via padding-left on the inner. The form column
   then has a GUARANTEED width that nothing can shrink. ---------- */

.ccap-overlay.ccap-overlay-wheel {
	align-items: stretch !important;
	justify-content: flex-start !important;
	padding: 0 !important;
	background: rgba(0, 0, 0, 0.45) !important;
}

.ccap-card.ccap-type-wheel {
	font-family: var(--minimog-typography-body-font-family), var(--e-global-typography-9e72c06-font-family), "Buddy", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	max-width: 785px !important;
	width: 100% !important;
	max-height: 100vh !important;
	height: 100vh !important;
	border-radius: 0 !important;
	background: var(--ccap-primary, #18564B) !important;
	color: #ffffff !important;
	overflow: hidden !important;
	position: relative !important;
	box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.5) !important;
	transform: translateX(-110%) !important;
	transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.ccap-overlay.is-open .ccap-card.ccap-type-wheel {
	transform: translateX(0) !important;
}

/* Inner container: NOT a flex row. Just padded on the left to reserve space for
   the absolutely-positioned wheel. */
.ccap-card.ccap-type-wheel .ccap-card-inner {
	display: block !important;
	height: 100% !important;
	min-height: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 0 380px !important;   /* reserve 380px so wheel + pointer fit (Mabel-exact) */
	position: relative !important;
	overflow: hidden !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

/* Wheel side — ABSOLUTELY positioned. The wheel-stage is bigger than the visible
   space (560×560) and shifted LEFT so only the right half pokes into the card.
   No flex compression can ever shrink this. */
.ccap-card.ccap-type-wheel .ccap-wheel-side {
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 380px !important;             /* visible zone wide enough for half-wheel + pointer */
	height: 525px !important;
	overflow: visible !important;
	background: transparent !important;
}

.ccap-card.ccap-type-wheel .ccap-wheel-stage {
	position: absolute !important;
	width: 525px !important;
	height: 525px !important;
	top: 0 !important;
	left: -225px !important;             /* Mabel-exact: shifts wheel center to x=37 viewport */
	margin: 0 !important;
	transform: none !important;
}

.ccap-card.ccap-type-wheel .ccap-wheel-bg {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
}

.ccap-card.ccap-type-wheel .ccap-wheel-spin-target {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	transform-origin: 50% 50% !important;
	will-change: transform !important;
}

.ccap-card.ccap-type-wheel .ccap-wheel-svg,
.ccap-card.ccap-type-wheel .ccap-wheel-dots-svg,
.ccap-card.ccap-type-wheel .ccap-wheel-ring-svg {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	display: block !important;
}
.ccap-card.ccap-type-wheel .ccap-wheel-svg {
	filter: drop-shadow(0 0 12px rgba(0, 0, 0, 0.35)) !important;
}
.ccap-card.ccap-type-wheel .ccap-wheel-ring-svg circle {
	filter: drop-shadow(8px 9px 0 rgba(0, 0, 0, 0.25));
}
.ccap-card.ccap-type-wheel .ccap-wheel-ring-svg { pointer-events: none !important; }

.ccap-card.ccap-type-wheel .ccap-wheel-labels {
	position: absolute !important;
	inset: 0 !important;
	pointer-events: none !important;
	z-index: 2 !important;
}

.ccap-card.ccap-type-wheel .ccap-wheel-slice {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform-origin: 0 0 !important;
	width: 40% !important;
	text-align: right !important;
	padding-right: 0 !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
	letter-spacing: normal !important;
	font-family: inherit !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
}

/* Pointer — at 3 o'clock of the wheel, tip into the rim. Position relative to
   the wheel-stage (its parent). */
.ccap-card.ccap-type-wheel .ccap-wheel-pointer {
	position: absolute !important;
	width: 95px !important;
	height: 50px !important;
	top: 50% !important;
	left: auto !important;
	right: -50px !important;            /* stick 50px past stage right edge, into form column gap */
	margin-top: -25px !important;
	z-index: 10 !important;
	pointer-events: none !important;
	transform: rotate(0deg) !important;
	transform-origin: 73.31% 44.89% !important;
	transition: transform 0.2s ease !important;
}
.ccap-card.ccap-type-wheel .ccap-wheel-pointer svg {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.25));
}

.ccap-card.ccap-type-wheel .ccap-wheel-pointer.ccap-nudge {
	animation: ccap-wheel-nudge 0.16s ease-out !important;
}
@keyframes ccap-wheel-nudge {
	0%   { transform: rotate(0deg); }
	50%  { transform: rotate(-22deg); }
	100% { transform: rotate(0deg); }
}

/* Form panel — fills the padded zone. GUARANTEED width = card-width - 340 padding.
   On the 820px card that's 480px of clean form column. Cannot be compressed. */
.ccap-card.ccap-type-wheel .ccap-card-body {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 60px 30px 40px 15px !important;
	background: transparent !important;
	color: #ffffff !important;
	box-sizing: border-box !important;
}

/* Close X */
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close:hover,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close:focus,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close:active {
	position: absolute !important;
	top: 18px !important;
	right: 18px !important;
	left: auto !important;
	bottom: auto !important;
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	opacity: 0.85 !important;
	z-index: 30 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0 !important;
	line-height: 1 !important;
	transition: opacity 150ms ease !important;
}
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close:hover { opacity: 1 !important; }
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close svg {
	width: 26px !important;
	height: 26px !important;
	display: block !important;
}
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close svg path {
	stroke-width: 2 !important;
}

/* Form-side typography */
.ccap-card.ccap-type-wheel .ccap-headline,
.ccap-card.ccap-type-wheel .ccap-sub,
.ccap-card.ccap-type-wheel .ccap-consent,
.ccap-card.ccap-type-wheel .ccap-consent span,
.ccap-card.ccap-type-wheel .ccap-error,
.ccap-card.ccap-type-wheel .ccap-result-message,
.ccap-card.ccap-type-wheel .ccap-result h3 {
	color: #ffffff !important;
}

.ccap-card.ccap-type-wheel .ccap-headline {
	padding: 0 !important;
	font-size: 38px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	margin: 0 0 15px !important;
	max-width: 80% !important;
	font-family: inherit !important;
	letter-spacing: -0.01em !important;
	white-space: normal !important;
	word-break: normal !important;
	word-wrap: normal !important;
	overflow-wrap: normal !important;
	text-align: left !important;
	max-width: 80% !important;
	width: auto !important;
	color: #ffffff !important;
	text-transform: none !important;
	hyphens: none !important;
	-webkit-hyphens: none !important;
	writing-mode: horizontal-tb !important;
}

.ccap-card.ccap-type-wheel .ccap-sub,
.ccap-card.ccap-type-wheel .ccap-privacy-inline,
.ccap-card.ccap-type-wheel .ccap-privacy-inline span,
.ccap-card.ccap-type-wheel .ccap-form input,
.ccap-card.ccap-type-wheel .ccap-pill {
	font-family: inherit !important;
}

.ccap-card.ccap-type-wheel .ccap-sub {
	text-align: left !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	max-width: none !important;
	margin: 0 0 18px !important;
	color: #ffffff !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	writing-mode: horizontal-tb !important;
}

.ccap-card.ccap-type-wheel .ccap-headline .ccap-accent {
	color: var(--ccap-accent, var(--ccap-accent-color, #FFC1A7)) !important;
	font-style: normal !important;
	font-weight: 800 !important;
}

.ccap-card.ccap-type-wheel .ccap-consent,
.ccap-card.ccap-type-wheel .ccap-decline {
	display: none !important;
}

.ccap-card.ccap-type-wheel .ccap-privacy-inline {
	margin: 14px 0 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: rgba(255, 255, 255, 0.75) !important;
	text-align: left !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}
.ccap-card.ccap-type-wheel .ccap-privacy-inline a {
	color: #ffffff !important;
	text-decoration: underline !important;
}

.ccap-card.ccap-type-wheel .ccap-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	width: 100% !important;
}
.ccap-card.ccap-type-wheel .ccap-form input[type="email"],
.ccap-card.ccap-type-wheel .ccap-form input[type="text"] {
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #1a1a1a !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 0 25px !important;
	text-align: left !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
	box-shadow: none !important;
	outline: none !important;
	height: 48px !important;
	min-height: 48px !important;
	line-height: 48px !important;
}
.ccap-card.ccap-type-wheel .ccap-form input[type="email"]:focus,
.ccap-card.ccap-type-wheel .ccap-form input[type="text"]:focus {
	box-shadow: 0 0 0 3px rgba(176, 255, 115, 0.4) !important;
}
.ccap-card.ccap-type-wheel .ccap-form input::placeholder {
	color: #9a9a9a !important;
	opacity: 1 !important;
}

#ccap-root .ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill,
#ccap-root .ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill:hover,
#ccap-root .ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill:focus,
#ccap-root .ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill:active,
#ccap-root .ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill:disabled,
#ccap-root .ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill[disabled] {
	font-family: var(--minimog-typography-body-font-family), "Buddy", -apple-system, BlinkMacSystemFont, sans-serif !important;
	background: var(--ccap-accent, var(--ccap-accent-color, #FFC1A7)) !important;
	background-color: var(--ccap-accent, var(--ccap-accent-color, #FFC1A7)) !important;
	background-image: none !important;
	color: #18564B !important;
	border: 0 !important;
	border-radius: 999px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	height: 48px !important;
	padding: 5px !important;
	margin: 6px 0 0 !important;
	font-weight: 600 !important;
	font-size: 18px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
	opacity: 1 !important;
	cursor: pointer !important;
	transform: none !important;
	line-height: 1.2 !important;
	height: auto !important;
	white-space: normal !important;
}
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill:hover {
	filter: brightness(0.95) !important;
}
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill:disabled,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill[disabled] {
	opacity: 0.65 !important;
	cursor: not-allowed !important;
}

/* ---- Tablet (<=1024 but >720) ---- */
@media (max-width: 1024px) and (min-width: 721px) {
	.ccap-card.ccap-type-wheel {
		max-width: 740px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-card-inner {
		padding-left: 300px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-side {
		width: 300px !important;
		height: 480px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-stage {
		width: 480px !important;
		height: 480px !important;
		left: -240px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-pointer {
		left: auto !important;
		right: -42px !important;
		width: 78px !important;
		height: 42px !important;
		margin-top: -21px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-headline { font-size: 27px !important; }
	.ccap-card.ccap-type-wheel .ccap-wheel-slice { font-size: 14px !important; }
}

/* ---- Mobile (<=720): form on TOP, FULL wheel below ---- */
@media (max-width: 720px) {
	.ccap-overlay.ccap-overlay-wheel {
		align-items: stretch !important;
		justify-content: stretch !important;
	}
	.ccap-card.ccap-type-wheel {
		max-width: 100% !important;
		width: 100% !important;
		height: auto !important;
		min-height: 100vh !important;
		max-height: none !important;
	}
	.ccap-card.ccap-type-wheel .ccap-card-inner {
		padding: 0 !important;
		display: flex !important;
		flex-direction: column-reverse !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		height: auto !important;
		min-height: 100% !important;
		overflow: visible !important;
	}
	.ccap-card.ccap-type-wheel .ccap-card-body {
		flex: 0 0 auto !important;
		width: 100% !important;
		height: auto !important;
		padding: 60px 28px 24px !important;
		justify-content: flex-start !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-side {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: 480px !important;
		height: auto !important;
		aspect-ratio: 1 / 1 !important;
		margin: 0 auto 24px !important;
		padding: 8px 18px 0 !important;
		overflow: visible !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-stage {
		position: relative !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 432px !important;
		max-height: 432px !important;
		margin: 0 auto !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-pointer {
		top: 6px !important;
		left: 50% !important;
		right: auto !important;
		margin-top: 0 !important;
		margin-left: -38px !important;
		transform: rotate(-90deg) !important;
		transform-origin: 73.31% 44.89% !important;
		width: 76px !important;
		height: 42px !important;
	}
	@keyframes ccap-wheel-nudge-mobile {
		0%   { transform: rotate(-90deg); }
		50%  { transform: rotate(-112deg); }
		100% { transform: rotate(-90deg); }
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-pointer.ccap-nudge {
		animation: ccap-wheel-nudge-mobile 0.16s ease-out !important;
	}
	.ccap-card.ccap-type-wheel .ccap-headline {
		font-size: 48px !important;
		padding-right: 0 !important;
		line-height: 1.15 !important;
		text-align: center !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-bottom: 18px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-sub {
		text-align: center !important;
	}
	.ccap-card.ccap-type-wheel .ccap-privacy-inline {
		text-align: center !important;
	}
	.ccap-card.ccap-type-wheel .ccap-sub {
		font-size: 16px !important;
		margin-bottom: 18px !important;
		text-align: center !important;
	}
	.ccap-card.ccap-type-wheel .ccap-privacy-inline {
		font-size: 13px !important;
		margin-top: 12px !important;
		text-align: center !important;
	}
	.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel .ccap-close {
		top: 16px !important;
		right: 16px !important;
		width: 30px !important;
		height: 30px !important;
		z-index: 100 !important;
	}
	.ccap-card.ccap-type-wheel .ccap-wheel-slice {
		font-size: 11px !important;
		padding-right: 14px !important;
	}
	/* Bigger inputs + button on mobile for readability (~15% bump) */
	.ccap-card.ccap-type-wheel .ccap-form input[type="email"],
	.ccap-card.ccap-type-wheel .ccap-form input[type="text"] {
		height: 55px !important;
		min-height: 55px !important;
		line-height: 55px !important;
		font-size: 18px !important;
		padding: 0 28px !important;
	}
	.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel button.ccap-pill {
		font-size: 25px !important;
		height: 62px !important;
		min-height: 62px !important;
		padding: 5px !important;
		font-weight: 700 !important;
	}
}

@media (max-width: 400px) {
	.ccap-card.ccap-type-wheel .ccap-card-body {
		padding: 52px 22px 20px !important;
	}
	.ccap-card.ccap-type-wheel .ccap-headline { font-size: 29px !important; }
	.ccap-card.ccap-type-wheel .ccap-wheel-slice { font-size: 10px !important; padding-right: 12px !important; }
}

/* Generic fallback */
.ccap-wheel-stage {
	position: relative;
	width: 300px; height: 300px;
	margin: 0 auto;
}
.ccap-wheel-bg {
	position: relative !important;
	width: 100% !important; height: 100% !important;
}
.ccap-wheel-spin-target {
	position: absolute !important; inset: 0 !important;
	transform-origin: 50% 50% !important;
	transform: rotate(0deg);
	will-change: transform;
}
.ccap-wheel-svg,
.ccap-wheel-dots-svg,
.ccap-wheel-ring-svg {
	position: absolute !important; inset: 0 !important;
	width: 100% !important; height: 100% !important;
	display: block !important;
}
.ccap-wheel-ring-svg { pointer-events: none !important; }
.ccap-wheel-labels {
	position: absolute !important; inset: 0 !important;
	pointer-events: none !important;
}
.ccap-wheel-slice {
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform-origin: 0 0 !important;
	width: 40% !important;
	text-align: right !important;
	padding-right: 22px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: 1.1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18) !important;
}

/* ---------- Mystery ---------- */
.ccap-mystery-wrap {
	display: flex; align-items: center; justify-content: center;
	padding: 30px 16px;
}
.ccap-mystery-btn.ccap-pop {
	animation: ccap-pop 360ms cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes ccap-pop {
	0%   { transform: scale(1); }
	60%  { transform: scale(1.08); }
	100% { transform: scale(1); }
}

/* ---------- Reveal step ---------- */
.ccap-reveal { text-align: center; padding: 8px 0; }
.ccap-reveal-prefix {
	font-size: 14px; color: #555;
	margin: 0 0 6px;
}
.ccap-reveal-text {
	font-size: 30px; font-weight: 800; line-height: 1.05;
	color: var(--ccap-text, #1a1a1a);
	margin: 0 0 22px;
	letter-spacing: -0.01em;
}

/* ---------- Buttons (with defensive resets to defeat theme overrides) ---------- */
#ccap-root .ccap-button,
.ccap-inline .ccap-button,
.ccap-overlay .ccap-button {
	display: inline-block !important;
	padding: 13px 22px !important;
	margin: 0;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	border: 0 !important;
	border-radius: 8px;
	background: var(--ccap-primary, #1f5128);
	color: #fff !important;
	cursor: pointer !important;
	letter-spacing: 0.04em;
	text-transform: none;
	text-decoration: none !important;
	text-align: center;
	box-sizing: border-box !important;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	min-height: 0;
	height: auto;
	width: auto;
	white-space: nowrap;
	transition: transform 120ms ease, opacity 120ms ease, background 120ms ease, box-shadow 200ms ease;
}
#ccap-root .ccap-button:hover,
.ccap-inline .ccap-button:hover,
.ccap-overlay .ccap-button:hover { transform: translateY(-1px); }
#ccap-root .ccap-button:disabled,
.ccap-inline .ccap-button:disabled,
.ccap-overlay .ccap-button:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }

#ccap-root .ccap-pill,
.ccap-inline .ccap-pill,
.ccap-overlay .ccap-pill {
	border-radius: 999px !important;
	padding: 18px 28px !important;
	font-size: 15px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	background: var(--ccap-primary, #1f5128) !important;
	color: #fff !important;
	align-self: stretch;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	line-height: 1.1 !important;
	white-space: normal !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12) !important;
}
#ccap-root .ccap-pill:hover,
.ccap-inline .ccap-pill:hover,
.ccap-overlay .ccap-pill:hover {
	filter: brightness(1.08);
}

/* ---------- Email form ---------- */
.ccap-form { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.ccap-form input[type="email"] {
	width: 100%; padding: 16px 18px; font-size: 17px;
	border: 1px solid #d0d0d0; border-radius: 12px;
	background: #fff; color: var(--ccap-text, #1a1a1a);
	box-sizing: border-box;
	line-height: 1.2;
}
.ccap-form input[type="email"]::placeholder {
	color: #9a9a9a;
	font-size: 17px;
}
.ccap-form input[type="email"]:focus {
	border-color: var(--ccap-text, #1a1a1a);
	outline: 2px solid rgba(0,0,0,0.06);
}
.ccap-consent {
	display: flex; align-items: flex-start; gap: 8px;
	font-size: 13px; color: #555; line-height: 1.45;
}
.ccap-consent input { margin-top: 2px; }
.ccap-consent a {
	color: var(--ccap-primary, #1f5128);
	text-decoration: underline;
}
.ccap-consent a:hover { text-decoration: none; }
.ccap-form .ccap-button { width: 100%; }
.ccap-form .ccap-pill { align-self: stretch; max-width: 100%; }
.ccap-error { color: #b00020; font-size: 13px; margin: 4px 0 0; text-align: center; }

/* "Nej tak" / decline — plain text link, NOT button-styled. Defensive resets to
   defeat themes (Astra, Storefront, Elementor) that auto-style any <button>. */
.ccap-card .ccap-decline,
.ccap-card .ccap-decline:hover,
.ccap-card .ccap-decline:focus,
.ccap-card .ccap-decline:focus-visible,
.ccap-card .ccap-decline:active {
	display: inline-block !important;
	margin: 4px auto 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #888 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: underline !important;
	font-family: inherit !important;
	cursor: pointer !important;
	box-shadow: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	width: auto !important;
	align-self: center !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: 0 !important;
}
.ccap-card .ccap-decline:hover { color: #555 !important; }

/* ---------- Success ---------- */
.ccap-result { text-align: center; padding: 8px 0; }
.ccap-result h3 {
	font-size: 22px; margin: 0 0 8px;
	color: var(--ccap-text, #1a1a1a);
	font-weight: 800; letter-spacing: -0.01em;
}
.ccap-result p { font-size: 14px; line-height: 1.5; color: #555; margin: 0 0 12px; }
.ccap-prize-actual {
	font-size: 24px !important;
	font-weight: 800;
	color: var(--ccap-primary, #1f5128) !important;
	margin: 0 0 14px !important;
}
.ccap-coupon-box {
	display: flex; gap: 8px; align-items: stretch;
	background: #f6f6f6;
	border: 1px dashed #c0c0c0; border-radius: 10px;
	padding: 10px;
}
.ccap-coupon-box code {
	flex: 1; font-size: 17px; font-weight: 700; letter-spacing: 0.06em;
	color: var(--ccap-text, #1a1a1a);
	background: transparent;
	display: flex; align-items: center; justify-content: center;
}
/* Copy button — aggressive reset to defeat theme button styles. */
.ccap-card .ccap-coupon-box .ccap-coupon-copy,
.ccap-card .ccap-coupon-box .ccap-coupon-copy:hover,
.ccap-card .ccap-coupon-box .ccap-coupon-copy:focus,
.ccap-card .ccap-coupon-box .ccap-coupon-copy:focus-visible,
.ccap-card .ccap-coupon-box .ccap-coupon-copy:active {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 16px !important;
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	background: #111 !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: 0 !important;
}
.ccap-card .ccap-coupon-box .ccap-coupon-copy:hover {
	background: #000 !important;
}

/* ---------- Floating button (icon + bubble) ---------- */
#ccap-floating-tab.ccap-fab {
	position: fixed;
	z-index: 99998;
	background: transparent;
	border: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	animation: ccap-fab-in 360ms ease-out;
	transition: transform 220ms ease;
	-webkit-tap-highlight-color: transparent;
}
#ccap-floating-tab.ccap-fab:hover { transform: translateY(-3px); }
@keyframes ccap-fab-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}
.ccap-fab-bottom-left  { bottom: 20px; left: 20px; }
.ccap-fab-bottom-right { bottom: 20px; right: 20px; flex-direction: row-reverse; }
.ccap-fab-top-left     { top: 80px; left: 20px; }
.ccap-fab-top-right    { top: 80px; right: 20px; flex-direction: row-reverse; }

/* Aggressively reset the buttons inside the FAB so theme styles don't apply. */
#ccap-floating-tab.ccap-fab button,
#ccap-floating-tab.ccap-fab button:hover,
#ccap-floating-tab.ccap-fab button:focus,
#ccap-floating-tab.ccap-fab button:focus-visible,
#ccap-floating-tab.ccap-fab button:active {
	margin: 0;
	border: 0 !important;
	outline: 0 !important;
	background: transparent;
	font-family: inherit;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
}

#ccap-floating-tab.ccap-fab .ccap-fab-icon {
	width: 60px; height: 60px;
	padding: 0;
	border-radius: 50%;
	background: #ffffff !important;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.06) !important;
	overflow: hidden;
	flex: 0 0 60px;
	transition: box-shadow 220ms ease;
}
#ccap-floating-tab.ccap-fab:hover .ccap-fab-icon {
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22), 0 3px 8px rgba(0, 0, 0, 0.08) !important;
}
.ccap-fab-icon img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
}
.ccap-fab-emoji {
	font-size: 32px;
	line-height: 1;
}

.ccap-fab-bubble {
	background: #ffffff;
	padding: 6px 6px 6px 16px;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12), 0 1px 3px rgba(0, 0, 0, 0.04);
	font-size: 14px;
	font-weight: 600;
	color: var(--ccap-text, #1a1a1a);
	position: relative;
	white-space: nowrap;
	max-width: 240px;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: box-shadow 220ms ease;
}
#ccap-floating-tab.ccap-fab:hover .ccap-fab-bubble {
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14), 0 2px 5px rgba(0, 0, 0, 0.06);
}
#ccap-floating-tab.ccap-fab .ccap-fab-text {
	font: inherit;
	color: inherit;
	padding: 4px 0;
	white-space: nowrap;
	max-width: 200px;
	overflow: hidden;
	text-overflow: ellipsis;
}
#ccap-floating-tab.ccap-fab .ccap-fab-dismiss {
	width: 22px; height: 22px;
	padding: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.06) !important;
	color: #555;
	font-size: 16px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 22px;
}
#ccap-floating-tab.ccap-fab .ccap-fab-dismiss:hover {
	background: rgba(0, 0, 0, 0.12) !important;
	color: #000;
}
.ccap-fab-bottom-left .ccap-fab-bubble::before,
.ccap-fab-top-left    .ccap-fab-bubble::before {
	content: '';
	position: absolute;
	left: -6px; top: 50%;
	transform: translateY(-50%);
	border-right: 7px solid #fff;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}
.ccap-fab-bottom-right .ccap-fab-bubble::after,
.ccap-fab-top-right    .ccap-fab-bubble::after {
	content: '';
	position: absolute;
	right: -6px; top: 50%;
	transform: translateY(-50%);
	border-left: 7px solid #fff;
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
}

/* ---------- Banner ---------- */
.ccap-banner {
	position: fixed; left: 0; right: 0; z-index: 99999;
	background: var(--ccap-primary, #1f5128); color: #fff;
	padding: 10px 14px;
	box-shadow: 0 4px 18px rgba(0,0,0,0.15);
	transform: translateY(-100%);
	transition: transform 280ms ease;
}
.ccap-banner-top    { top: 0; }
.ccap-banner-bottom { bottom: 0; transform: translateY(100%); }
.ccap-banner.is-open { transform: translateY(0); }
.ccap-banner-close {
	position: absolute; top: 6px; right: 10px;
	background: transparent; border: 0; color: #fff;
	font-size: 20px; cursor: pointer;
}
.ccap-banner-inner {
	display: flex; align-items: center; justify-content: center; gap: 14px;
	flex-wrap: wrap;
}
.ccap-banner-text { font-size: 14px; }
.ccap-banner-text strong { font-weight: 700; }
.ccap-banner-form { display: flex; gap: 6px; }
.ccap-banner-fields { display: flex; gap: 6px; }
.ccap-banner-form input[type="email"] {
	padding: 7px 10px; border: 0; border-radius: 6px;
	font-size: 13px; min-width: 220px;
}
@media (max-width: 720px) {
	.ccap-banner-form input[type="email"] { font-size: 16px; padding: 10px 12px; }
}
.ccap-banner-form button {
	padding: 7px 14px; border: 0; border-radius: 6px;
	font-size: 13px; font-weight: 700;
	background: var(--ccap-accent, #f5c842); color: var(--ccap-text, #1a1a1a);
	cursor: pointer;
}
.ccap-banner-consent {
	display: flex; align-items: center; justify-content: center;
	gap: 6px; font-size: 11px;
	margin-top: 6px; opacity: 0.9;
}
.ccap-banner-error {
	text-align: center; font-size: 12px; color: #ffd2cc;
	margin: 4px 0 0;
}
.ccap-banner-success code {
	background: rgba(255,255,255,0.18);
	padding: 4px 10px; border-radius: 4px;
	font-weight: 700; letter-spacing: 0.06em;
}

/* In-popup privacy policy modal (loaded with the page content from same-site URL). */
.ccap-privacy-modal {
	position: absolute; inset: 0;
	z-index: 20;
	background: rgba(0, 0, 0, 0.45);
	display: flex; align-items: stretch;
	border-radius: inherit;
	overflow: hidden;
	animation: ccap-fade-in 180ms ease;
}
.ccap-privacy-modal-panel {
	position: relative;
	background: #ffffff;
	width: 100%;
	max-height: 100%;
	overflow-y: auto;
	padding: 36px 36px 28px;
}
.ccap-privacy-modal-close {
	position: absolute !important;
	top: 12px !important; right: 12px !important;
	width: 36px !important; height: 36px !important;
	padding: 0 !important; margin: 0 !important;
	background: rgba(0, 0, 0, 0.04) !important;
	border: 0 !important; border-radius: 50% !important;
	color: #555 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important; justify-content: center !important;
	box-shadow: none !important;
	-webkit-appearance: none !important; appearance: none !important;
	outline: 0 !important;
}
.ccap-privacy-modal-close:hover { background: rgba(0, 0, 0, 0.10) !important; color: #111 !important; }
.ccap-privacy-modal-close svg { width: 18px; height: 18px; display: block; }
.ccap-privacy-modal-title {
	font-size: 20px; font-weight: 800; line-height: 1.2;
	margin: 0 0 14px;
	color: var(--ccap-text, #1a1a1a);
	padding-right: 0;
	text-align: center;
}
.ccap-privacy-modal-body {
	font-size: 14px; line-height: 1.65; color: #2a2a2a;
}
.ccap-privacy-modal-body p { margin: 0 0 10px; }
.ccap-privacy-modal-body h1,
.ccap-privacy-modal-body h2,
.ccap-privacy-modal-body h3,
.ccap-privacy-modal-body h4 { margin: 16px 0 6px; font-weight: 700; line-height: 1.25; }
.ccap-privacy-modal-body h2 { font-size: 17px; }
.ccap-privacy-modal-body h3 { font-size: 15px; }
.ccap-privacy-modal-body ul,
.ccap-privacy-modal-body ol { margin: 6px 0 12px 20px; padding: 0; }
.ccap-privacy-modal-body a { color: var(--ccap-primary, #1f5128); text-decoration: underline; }

@media (max-width: 720px) {
	.ccap-privacy-modal-panel { padding: 26px 22px 22px; }
}

.ccap-preview-note {
	background: #fff3cd;
	color: #7a5500;
	border: 1px solid #ffeeba;
	border-radius: 8px;
	padding: 10px 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
	margin-bottom: 14px;
}

/* ---------- Mobile: regular popup, image at bottom, centered text ---------- */
@media (max-width: 720px) {
	.ccap-overlay { padding: 14px; align-items: center; }
	.ccap-card,
	.ccap-card.ccap-no-image {
		max-width: 100%;
		width: 100%;
		max-height: 88vh;
		max-height: 88dvh;
		height: auto;
		border-radius: 16px;
		overflow-y: auto;
	}
	.ccap-headline { padding-right: 20px; padding-left: 20px; padding-top: 20px;}
	/* Hide image on mobile entirely — looks awkward stacked, and the popup
	   is already image-heavy with the scratch card. */
	.ccap-card-inner.has-image .ccap-card-image { display: none !important; }
	.ccap-card-inner,
	.ccap-card-inner.has-image {
		flex-direction: column;
		min-height: 0;
		max-width: 100%;
	}
	.ccap-card-body {
		flex: 1 1 auto;
		padding: 26px 22px 22px;
		text-align: center;
		/* No align-items override — children must still stretch so the scratch
		   wrap and step area get real width to size against. */
	}
	.ccap-headline,
	.ccap-sub,
	.ccap-reveal-prefix,
	.ccap-reveal-text,
	.ccap-underlay-prefix,
	.ccap-underlay-prize,
	.ccap-result h3,
	.ccap-result p {
		text-align: center;
	}
	.ccap-consent {
		justify-content: center;
		text-align: left;
		max-width: 320px;
		margin-left: auto;
		margin-right: auto;
	}
	.ccap-card-logo { display: flex; justify-content: center; }
	.ccap-headline { font-size: 26px; }
	.ccap-sub { font-size: 14px; }
	.ccap-step-area { min-height: 220px; height: auto; margin-top: 4px; }
	.ccap-reveal-text { font-size: 26px; }
	.ccap-pill {
		min-width: 0;
		width: 100% !important;
		padding: 16px 24px !important;
		font-size: 14px !important;
	}
	.ccap-form { max-width: 360px; margin-left: auto; margin-right: auto; width: 100%; }
	.ccap-form input[type="email"] {
		padding: 16px 16px;
		font-size: 16px; /* prevents iOS zoom */
		text-align: center;
	}
	.ccap-scratch-wrap { aspect-ratio: 16/10; max-width: 320px; margin: 0 auto; }
	.ccap-close {
		top: 10px; right: 12px;
		font-size: 28px;
		padding: 6px 10px;
		min-width: 40px; min-height: 40px;
	}
	.ccap-banner-form input { min-width: 0; flex: 1; }
	.ccap-banner-inner { flex-direction: column; gap: 8px; }
	#ccap-floating-tab { gap: 8px; }
	.ccap-fab-icon { width: 52px; height: 52px; flex-basis: 52px; }
	.ccap-fab-emoji { font-size: 28px; }
}

/* Extra-small phones */
@media (max-width: 380px) {
	.ccap-card-inner.has-image .ccap-card-image { height: 150px; }
	.ccap-headline { font-size: 24px; }
	.ccap-reveal-text { font-size: 22px; }
	.ccap-card-body { padding: 22px 18px 20px; }
}


/* ---------- Wheel teaser widget (Mabel-style mini-wheel + speech bubble) ----------
   Sticky floating widget that shows a mini wheel preview with a bubble next to it.
   Clicking opens the wheel popup. Bottom-left or bottom-right positionable. */
.ccap-wheel-teaser {
	position: fixed !important;
	bottom: 20px !important;
	left: 20px !important;
	z-index: 99998 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	cursor: pointer !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	transition: transform 220ms ease, opacity 220ms ease !important;
	animation: ccap-teaser-in 360ms ease-out !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}
.ccap-wheel-teaser.ccap-teaser-right { left: auto !important; right: 20px !important; flex-direction: row-reverse !important; }
.ccap-wheel-teaser:hover { transform: translateY(-3px) !important; }
@keyframes ccap-teaser-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.ccap-wheel-teaser .ccap-teaser-wheel {
	width: 60px !important;
	height: 60px !important;
	position: relative !important;
	border-radius: 50% !important;
	filter: drop-shadow(0 4px 12px rgba(0,0,0,.2)) !important;
	animation: ccap-teaser-pulse 3s ease-in-out infinite !important;
}
@keyframes ccap-teaser-pulse {
	0%, 100% { transform: rotate(0deg); }
	50%      { transform: rotate(15deg); }
}
.ccap-wheel-teaser .ccap-teaser-wheel svg {
	width: 100% !important; height: 100% !important;
	position: absolute !important; inset: 0 !important;
	display: block !important;
}
.ccap-wheel-teaser .ccap-teaser-bubble {
	background: #ffffff !important;
	color: #1a1a1a !important;
	padding: 10px 18px !important;
	border-radius: 8px !important;
	box-shadow: -2px 2px 10px rgba(0,0,0,.13) !important;
	border: 1px solid rgba(0,0,0,.14) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	position: relative !important;
	white-space: nowrap !important;
	line-height: 1 !important;
}
/* speech-bubble tail */
.ccap-wheel-teaser .ccap-teaser-bubble::before {
	content: '' !important;
	position: absolute !important;
	left: -5px !important; top: 50% !important;
	width: 9px !important; height: 9px !important;
	margin-top: -5px !important;
	background: #ffffff !important;
	transform: rotate(45deg) !important;
	border: 1px solid rgba(0,0,0,.16) !important;
	border-top: 0 !important; border-right: 0 !important;
}
.ccap-wheel-teaser.ccap-teaser-right .ccap-teaser-bubble::before {
	left: auto !important; right: -5px !important;
	transform: rotate(-135deg) !important;
}
/* Dismiss X */
.ccap-wheel-teaser .ccap-teaser-dismiss {
	position: absolute !important;
	top: -8px !important; right: -8px !important;
	width: 22px !important; height: 22px !important;
	background: #ffffff !important;
	border: 1px solid rgba(0,0,0,.15) !important;
	border-radius: 50% !important;
	color: #d32f2f !important;
	font-size: 14px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 2px 6px rgba(0,0,0,.15) !important;
	padding: 0 !important;
}
.ccap-wheel-teaser .ccap-teaser-dismiss:hover { background: #fff5f5 !important; color: #b71c1c !important; }
@media (max-width: 720px) {
	.ccap-wheel-teaser .ccap-teaser-wheel { width: 52px !important; height: 52px !important; }
	.ccap-wheel-teaser .ccap-teaser-bubble { font-size: 13px !important; padding: 8px 14px !important; }
}


/* Success popup "Brug rabat nu" cart button — lime green to match main CTA */
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel a.ccap-coupon-cart-btn,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel a.ccap-coupon-cart-btn:hover,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel a.ccap-coupon-cart-btn:focus,
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel a.ccap-coupon-cart-btn:visited {
	background: var(--ccap-cart-btn-bg, #B0FF73) !important;
	background-color: var(--ccap-cart-btn-bg, #B0FF73) !important;
	color: var(--ccap-cart-btn-color, #18564B) !important;
	border: 0 !important;
	border-radius: 999px !important;
	width: 100% !important;
	display: block !important;
	text-align: center !important;
	padding: 16px 24px !important;
	margin: 14px 0 0 !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-sizing: border-box !important;
}
.ccap-overlay.ccap-overlay-wheel .ccap-card.ccap-type-wheel a.ccap-coupon-cart-btn:hover {
	filter: brightness(0.95) !important;
}
.ccap-card.ccap-type-wheel .ccap-coupon-applied-notice {
	text-align: center !important;
	color: rgba(255, 255, 255, 0.85) !important;
	font-size: 14px !important;
	margin: 12px 0 0 !important;
}

/* ============================================================
   Pick a Gift format (v2.9.14 — 2x2 grid, big numbers, cream bow)
   ============================================================ */
#ccap-root .ccap-pick-gift,
#ccap-root .ccap-pick-gift-reveal {
	text-align: center;
	padding: 4px 8px 0;
}
/* 2x2 grid */
#ccap-root .ccap-pick-gift-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 18px;
	max-width: 360px;
	margin: 0 auto 8px;
	justify-items: center;
}
/* Box */
#ccap-root .ccap-gift-box {
	position: relative;
	display: inline-block;
	width: 130px;
	height: 105px;
	padding: 0;
	border: 0 !important;
	background: transparent;
	cursor: pointer;
	outline: 0 !important;
	outline-offset: 0 !important;
	box-shadow: none !important;
	transition: transform 220ms cubic-bezier(0.2, 0.8, 0.3, 1), filter 260ms ease, opacity 360ms ease;
	filter: drop-shadow(0 14px 22px rgba(15, 35, 25, 0.22)) drop-shadow(0 4px 8px rgba(15, 35, 25, 0.1));
	will-change: transform, opacity;
	animation: ccapGiftFloat 3.6s ease-in-out infinite;
}
/* === Kill ALL focus outlines from any source === */
#ccap-root .ccap-gift-box,
#ccap-root .ccap-gift-box:hover,
#ccap-root .ccap-gift-box:focus,
#ccap-root .ccap-gift-box:focus-visible,
#ccap-root .ccap-gift-box:active,
#ccap-root button.ccap-gift-box {
	outline: 0 !important;
	outline-offset: 0 !important;
	outline-style: none !important;
	border: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent !important;
}
#ccap-root .ccap-gift-box::-moz-focus-inner {
	border: 0 !important;
	outline: 0 !important;
}
/* Float stagger (4 boxes now) */
#ccap-root .ccap-gift-float-0 { animation-delay: 0s; }
#ccap-root .ccap-gift-float-1 { animation-delay: -0.9s; }
#ccap-root .ccap-gift-float-2 { animation-delay: -1.8s; }
#ccap-root .ccap-gift-float-3 { animation-delay: -2.7s; }
@keyframes ccapGiftFloat {
	0% { transform: translateY(0) rotate(-2deg); }
	50% { transform: translateY(-6px) rotate(2deg); }
	100% { transform: translateY(0) rotate(-2deg); }
}
/* Hover */
#ccap-root .ccap-gift-box:hover:not([disabled]) {
	animation-play-state: paused;
	transform: translateY(-8px) scale(1.07) rotate(0deg) !important;
	filter: drop-shadow(0 24px 32px rgba(15, 35, 25, 0.3)) drop-shadow(0 8px 14px rgba(15, 35, 25, 0.14));
}
#ccap-root .ccap-gift-box:active:not([disabled]) {
	transform: translateY(-3px) scale(1.03) !important;
}
/* Chosen / faded */
#ccap-root .ccap-gift-box.ccap-gift-chosen {
	animation: none;
	transform: scale(1.1) !important;
}
#ccap-root .ccap-gift-box.ccap-gift-faded {
	animation: none;
	opacity: 0.18;
	filter: drop-shadow(0 4px 8px rgba(15, 35, 25, 0.05)) saturate(0.35);
	pointer-events: none;
	transform: scale(1) !important;
}
#ccap-root .ccap-gift-svg {
	width: 100%;
	height: 100%;
	display: block;
	overflow: visible;
}
/* === Colors — 3-color hierarchy (box / ribbon / bow) === */
#ccap-root .ccap-gift-base {
	fill: var(--ccap-gift-bg, var(--ccap-primary, #19345C));
}
#ccap-root .ccap-gift-lid {
	fill: var(--ccap-gift-bg, var(--ccap-primary, #19345C));
	filter: brightness(1.12);
}
#ccap-root .ccap-gift-ribbon-v,
#ccap-root .ccap-gift-ribbon-h {
	fill: var(--ccap-gift-accent, var(--ccap-accent-color, #FFC1A7));
}
/* Bow gets its own color — cream by default */
#ccap-root .ccap-gift-bow-loop,
#ccap-root .ccap-gift-bow-knot {
	fill: var(--ccap-gift-bow, var(--ccap-accent-color, #FFC1A7));
	stroke: rgba(0, 0, 0, 0);
	stroke-width: 0;
}
/* Big bold number on box body */
#ccap-root .ccap-gift-number {
	fill: #ffffff;
	font-size: 44px;
	font-weight: 900;
	font-family: inherit;
	letter-spacing: -0.04em;
	paint-order: stroke fill;
	stroke: rgba(0, 40, 30, 0.7);
	stroke-width: 1.2;
}
/* === Lid-lift animation === */
#ccap-root .ccap-gift-lid-group {
	transform-origin: 70px 60px;
	transform-box: fill-box;
}
#ccap-root .ccap-gift-animate .ccap-gift-lid-group {
	animation: ccapLidLift 720ms cubic-bezier(0.2, 0.85, 0.35, 1) forwards;
}
@keyframes ccapLidLift {
	0% { transform: translateY(0) rotate(0deg); opacity: 1; }
	40% { transform: translateY(-14px) rotate(-8deg); opacity: 1; }
	100% { transform: translateY(-44px) rotate(-20deg); opacity: 0; }
}
/* Reveal text */
#ccap-root .ccap-pick-gift-prize {
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	margin: 4px 0 18px !important;
	line-height: 1.2;
	animation: ccapFadeIn 520ms ease 280ms both;
}
#ccap-root .ccap-pick-gift-trust {
	font-size: 12px !important;
	letter-spacing: 0.01em;
	opacity: 0.62;
	margin: 18px 0 4px !important;
	line-height: 1.45;
}
@keyframes ccapFadeIn {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: translateY(0); }
}
/* === Mobile === */
@media (max-width: 720px) {
#ccap-root .ccap-card.ccap-type-pick_a_gift .ccap-headline,
#ccap-root .ccap-card.ccap-type-pick-a-gift .ccap-headline {
	font-size: 31px !important;
	line-height: 1.18 !important;
}
#ccap-root .ccap-pick-gift,
#ccap-root .ccap-pick-gift-reveal {
	padding: 8px 4px 6px;
}
#ccap-root .ccap-pick-gift-grid {
	gap: 10px 12px;
	max-width: 300px;
}
#ccap-root .ccap-gift-box {
	width: 120px;
	height: 96px;
}
#ccap-root .ccap-pick-gift-prize {
	font-size: 20px !important;
}
}
@media (max-width: 400px) {
#ccap-root .ccap-pick-gift-grid {
	max-width: 260px;
	gap: 8px;
}
#ccap-root .ccap-gift-box {
	width: 108px;
	height: 86px;
}
#ccap-root .ccap-gift-number {
	font-size: 40px;
}
}
/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
#ccap-root .ccap-gift-box {
	animation: none !important;
	transition: none !important;
}
#ccap-root .ccap-gift-animate .ccap-gift-lid-group {
	animation: none !important;
	opacity: 0;
}
#ccap-root .ccap-pick-gift-prize {
	animation: none !important;
}
}
/* === Close-button alignment === */
#ccap-root .ccap-close {
	right: 16px !important;
	top: 16px !important;
}
@media (max-width: 720px) {
#ccap-root .ccap-close {
	right: 12px !important;
	top: 12px !important;
}
}


/* === v2.9.15 polish overrides === */
#ccap-root .ccap-pick-gift,
#ccap-root .ccap-pick-gift-reveal {
	padding: 4px 8px 0 !important;
}
#ccap-root .ccap-pick-gift-reveal .ccap-coupon-box {
	margin-bottom: 16px !important;
}
#ccap-root .ccap-pick-gift-reveal .ccap-coupon-cart-btn {
	margin-bottom: 4px !important;
}
/* Trust line is no longer rendered, but keep zero margin in case */
#ccap-root .ccap-pick-gift-trust {
	display: none !important;
}
/* Tighter grid spacing */
#ccap-root .ccap-pick-gift-grid {
	margin-bottom: 4px !important;
}


/* === Privacy overlay (v2.9.16) === */
.ccap-card { position: relative; }
.ccap-privacy-overlay {
	position: absolute;
	inset: 0;
	background: #ffffff;
	z-index: 60;
	display: none;
	flex-direction: column;
	border-radius: inherit;
	overflow: hidden;
}
.ccap-privacy-overlay.ccap-privacy-open { display: flex !important; }
.ccap-privacy-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	border-bottom: 1px solid #ececec;
	background: #fafafa;
	flex-shrink: 0;
}
.ccap-privacy-bar .ccap-privacy-title {
	font-size: 15px;
	font-weight: 600;
	color: #111;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ccap-privacy-bar .ccap-privacy-back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	padding: 6px 8px;
	margin: -6px -8px;
	font-size: 14px;
	font-weight: 500;
	border-radius: 8px;
}
.ccap-privacy-bar .ccap-privacy-back:hover { background: #f0f0f0; }
.ccap-privacy-bar .ccap-privacy-spacer { width: 40px; }
.ccap-privacy-body { flex: 1; overflow: hidden; background: #fff; }
.ccap-privacy-body iframe { width: 100%; height: 100%; border: 0; display: block; }

/* === Gift prize preview (above email step in pick_a_gift) === */
.ccap-gift-preview {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	margin: 0 0 18px 0;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--ccap-gift-bg, var(--ccap-primary, #19345C)), color-mix(in srgb, var(--ccap-gift-bg, var(--ccap-primary, #19345C)) 80%, #000 20%));
	color: #fff;
	box-shadow: 0 6px 22px rgba(14, 98, 83, .18);
}
.ccap-gift-preview-badge {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ccap-gift-bow, var(--ccap-accent-color, #FFC1A7));
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -.5px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
.ccap-gift-preview-copy { min-width: 0; flex: 1; }
.ccap-gift-preview-eyebrow {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity: .82;
	font-weight: 600;
	margin-bottom: 2px;
}
.ccap-gift-preview-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}
.ccap-gift-preview-desc {
	font-size: 13px;
	line-height: 1.4;
	opacity: .88;
	margin-top: 4px;
}
@media (max-width: 720px) {
	.ccap-gift-preview { padding: 12px 14px; gap: 12px; margin-bottom: 14px; }
	.ccap-gift-preview-badge { width: 40px; height: 40px; font-size: 20px; }
	.ccap-gift-preview-title { font-size: 16px; }
	.ccap-gift-preview-desc { font-size: 12px; }
	.ccap-privacy-bar { padding: 10px 14px; }
}


/* === Privacy v2.9.20 polish: content fetch + reveal split + banner icon === */
.ccap-privacy-body { padding: 16px 18px 22px; overflow-y: auto !important; -webkit-overflow-scrolling: touch; background: #fff; }
.ccap-privacy-content { max-width: 100%; font-size: 14.5px; line-height: 1.6; color: #333; outline: none; }
.ccap-privacy-content :is(h1,h2,h3,h4,h5,h6) { color: #111; line-height: 1.25; margin: 1.2em 0 .4em; font-weight: 700; }
.ccap-privacy-content h1 { font-size: 22px; margin-top: 0; }
.ccap-privacy-content h2 { font-size: 17px; }
.ccap-privacy-content h3 { font-size: 15px; }
.ccap-privacy-content p, .ccap-privacy-content ul, .ccap-privacy-content ol { margin: 0 0 .85em; }
.ccap-privacy-content ul, .ccap-privacy-content ol { padding-left: 1.25em; }
.ccap-privacy-content a { color: var(--ccap-primary, #1f5128); text-decoration: underline; }
.ccap-privacy-content img, .ccap-privacy-content iframe, .ccap-privacy-content video { max-width: 100%; height: auto; }
.ccap-privacy-content table { width: 100%; border-collapse: collapse; margin: 0 0 1em; font-size: 13px; }
.ccap-privacy-content table th, .ccap-privacy-content table td { padding: 6px 8px; border-bottom: 1px solid #eee; text-align: left; }
.ccap-privacy-loading { padding: 40px 0; color: #999; font-size: 22px; text-align: center; letter-spacing: 4px; }

/* Prize preview banner — gift icon refinement */
.ccap-gift-preview { padding: 13px 16px; gap: 13px; border-radius: 14px; box-shadow: 0 6px 18px rgba(14, 98, 83, .14); }
.ccap-gift-preview-badge { width: 46px !important; height: 46px !important; border-radius: 50%; background: rgba(255,255,255,.16) !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.32); padding: 0; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.ccap-gift-preview-badge svg { width: 24px; height: 24px; }

/* Split reveal layout — single open gift on left, content on right */
.ccap-pick-gift-reveal--split { display: grid; grid-template-columns: minmax(140px, 0.9fr) 1.1fr; gap: 22px; align-items: center; padding: 4px 4px 6px; }
.ccap-pick-gift-reveal-visual { display: flex; align-items: center; justify-content: center; padding: 8px; }
.ccap-pick-gift-reveal-visual .ccap-gift-svg { width: 100%; max-width: 200px; height: auto; }
.ccap-pick-gift-reveal-content { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.ccap-pick-gift-reveal-content .ccap-pick-gift-prize { font-size: 18px; font-weight: 700; line-height: 1.25; color: #111; margin: 0; }
.ccap-pick-gift-reveal-content .ccap-coupon-box { margin: 0; }
.ccap-pick-gift-reveal-content .ccap-coupon-cart-btn { margin: 0; }

/* Open gift SVG */
.ccap-gift-open { display: block; overflow: visible; }
.ccap-gift-open .ccap-gift-base { fill: var(--ccap-gift-bg, var(--ccap-primary, #19345C)); }
.ccap-gift-open .ccap-gift-ribbon-v, .ccap-gift-open .ccap-gift-ribbon-h { fill: var(--ccap-gift-accent, var(--ccap-accent-color, #FFC1A7)); }
.ccap-gift-open .ccap-gift-lid { fill: color-mix(in srgb, var(--ccap-gift-bg, var(--ccap-primary, #19345C)) 90%, #fff 10%); }
.ccap-gift-open .ccap-gift-bow-loop, .ccap-gift-open .ccap-gift-bow-knot { fill: var(--ccap-gift-bow, var(--ccap-accent-color, #FFC1A7)); }
.ccap-gift-open .ccap-gift-inside { fill: #fff8e6; }
.ccap-gift-open .ccap-gift-lid-lifted { transform: translateY(-10px) rotate(-6deg); transform-origin: 80px 40px; animation: ccapLidPop 700ms ease-out both; }
.ccap-gift-open .ccap-gift-sparkles circle { fill: var(--ccap-gift-accent, var(--ccap-accent-color, #FFC1A7)); animation: ccapSparkle 1.8s ease-in-out infinite; }
.ccap-gift-open .ccap-gift-sparkles path { fill: var(--ccap-gift-accent, var(--ccap-accent-color, #FFC1A7)); animation: ccapSparkle 1.8s ease-in-out infinite; }
.ccap-gift-open .ccap-gift-sparkles > *:nth-child(2) { animation-delay: .25s; }
.ccap-gift-open .ccap-gift-sparkles > *:nth-child(3) { animation-delay: .45s; }
.ccap-gift-open .ccap-gift-sparkles > *:nth-child(4) { animation-delay: .7s; }
.ccap-gift-open .ccap-gift-sparkles > *:nth-child(5) { animation-delay: .9s; }
.ccap-gift-open .ccap-gift-sparkles > *:nth-child(6) { animation-delay: 1.1s; }
@keyframes ccapLidPop { 0% { transform: translateY(40px) rotate(0deg); opacity: 0; } 60% { transform: translateY(-14px) rotate(-8deg); opacity: 1; } 100% { transform: translateY(-10px) rotate(-6deg); opacity: 1; } }
@keyframes ccapSparkle { 0%, 100% { opacity: .25; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.15); } }
@media (prefers-reduced-motion: reduce) { .ccap-gift-open .ccap-gift-lid-lifted, .ccap-gift-open .ccap-gift-sparkles circle, .ccap-gift-open .ccap-gift-sparkles path { animation: none !important; transform: translateY(-10px) rotate(-6deg); } }

@media (max-width: 720px) {
	.ccap-pick-gift-reveal--split { grid-template-columns: 1fr; gap: 8px; padding: 4px; }
	.ccap-pick-gift-reveal-visual .ccap-gift-svg { max-width: 150px; }
	.ccap-privacy-content { font-size: 14px; }
	.ccap-gift-preview-badge { width: 40px !important; height: 40px !important; }
	.ccap-gift-preview-badge svg { width: 21px; height: 21px; }
}


/* === Reveal v2.9.21 polish: top row 2-col, full-width action === */
.ccap-pick-gift-reveal--split { display: flex !important; flex-direction: column !important; gap: 14px !important; padding: 4px 2px 4px !important; grid-template-columns: none !important; align-items: stretch !important; }
.ccap-pick-gift-reveal-top { display: grid; grid-template-columns: minmax(110px, 150px) 1fr; gap: 18px; align-items: center; }
.ccap-pick-gift-reveal-visual { display: flex; align-items: center; justify-content: center; padding: 4px; min-height: 110px; }
.ccap-pick-gift-reveal-visual .ccap-gift-svg { width: 100%; max-width: 170px; height: auto; }
.ccap-pick-gift-reveal-headline { display: flex; flex-direction: column; justify-content: center; }
.ccap-pick-gift-reveal-headline .ccap-pick-gift-prize { font-size: 22px; font-weight: 700; line-height: 1.2; color: #111; margin: 0; }
.ccap-pick-gift-reveal-action { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.ccap-pick-gift-reveal-action .ccap-coupon-box { margin: 0 !important; width: 100% !important; box-sizing: border-box; }
.ccap-pick-gift-reveal-action .ccap-coupon-cart-btn { margin: 0 !important; width: 100% !important; text-align: center !important; box-sizing: border-box; }

/* Product image variant */
.ccap-prize-product { width: 100%; aspect-ratio: 1; background: linear-gradient(135deg, #f7f7f7, #ececec); border-radius: 14px; overflow: hidden; display: flex; align-items: center; justify-content: center; max-width: 160px; }
.ccap-prize-product img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ccap-prize-product-skeleton { width: 70%; height: 70%; background: linear-gradient(90deg, #ececec 0%, #f5f5f5 50%, #ececec 100%); background-size: 200% 100%; border-radius: 10px; animation: ccapShimmer 1.4s infinite; }
@keyframes ccapShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

@media (max-width: 720px) {
	.ccap-pick-gift-reveal-top { grid-template-columns: minmax(90px, 120px) 1fr; gap: 12px; }
	.ccap-pick-gift-reveal-headline .ccap-pick-gift-prize { font-size: 18px; }
	.ccap-prize-product { max-width: 130px; }
}


/* === Quiz v2.9.22 styles === */
.ccap-quiz { display: flex; flex-direction: column; gap: 12px; }
.ccap-quiz-intro { display: flex; flex-direction: column; gap: 10px; align-items: stretch; padding: 8px 0 4px; }
.ccap-quiz-intro .ccap-quiz-start { margin: 0; width: 100%; text-align: center; }
.ccap-quiz-intro .ccap-decline { margin-top: 0; }

.ccap-quiz-progress { display: flex; gap: 5px; margin: 2px 0 10px; justify-content: center; }
.ccap-quiz-progress span { width: 22px; height: 4px; border-radius: 2px; background: rgba(0,0,0,.10); transition: background .25s ease; }
.ccap-quiz-progress span.is-current { background: var(--ccap-primary, #1f5128); }
.ccap-quiz-progress span.is-done { background: var(--ccap-primary, #1f5128); }

.ccap-quiz-q-label { font-size: 18px; font-weight: 700; line-height: 1.25; color: #111; margin: 0 0 4px; }
.ccap-quiz-q-sub { font-size: 13px; color: #666; margin: 0 0 8px; line-height: 1.4; }

.ccap-quiz-options { display: flex; flex-direction: column; gap: 14px; margin-top: 10px; }
.ccap-quiz-option {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	padding: 12px 16px;
	border: 1.5px solid rgba(0,0,0,.10);
	background: #fff;
	border-radius: 12px;
	cursor: pointer;
	width: 100%;
	font: inherit;
	color: #111;
	transition: border-color .15s ease, background .15s ease, transform .12s ease;
	-webkit-tap-highlight-color: transparent;
}
.ccap-quiz-option:hover:not([disabled]) { border-color: var(--ccap-primary, #1f5128); background: #f7faf6; }
.ccap-quiz-option:active:not([disabled]) { transform: translateY(1px); }
.ccap-quiz-option:focus { outline: none; border-color: var(--ccap-primary, #1f5128); }
.ccap-quiz-option[disabled] { cursor: default; opacity: .55; }
.ccap-quiz-option-chosen { background: var(--ccap-primary, #1f5128) !important; color: #fff !important; border-color: var(--ccap-primary, #1f5128) !important; opacity: 1 !important; }
.ccap-quiz-option-chosen .ccap-quiz-option-sub { color: rgba(255,255,255,.85) !important; }
.ccap-quiz-option-label { font-size: 15px; font-weight: 600; line-height: 1.3; }
.ccap-quiz-option-sub { font-size: 12.5px; color: #666; line-height: 1.3; margin-top: 2px; }

@media (max-width: 720px) {
	.ccap-quiz-q-label { font-size: 16px; }
	.ccap-quiz-option { padding: 11px 14px; }
	.ccap-quiz-option-label { font-size: 14.5px; }
	.ccap-quiz-option-sub { font-size: 12px; }
}


/* === Quiz v2.9.25 polish === */
/* Force-override theme button styling on quiz options */
#ccap-root .ccap-quiz-option,
.ccap-overlay .ccap-quiz-option,
.ccap-inline .ccap-quiz-option {
	background: #ffffff !important;
	color: #111 !important;
	border: 1.5px solid rgba(0,0,0,.10) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	height: auto !important;
}
#ccap-root .ccap-quiz-option .ccap-quiz-option-label,
.ccap-overlay .ccap-quiz-option .ccap-quiz-option-label {
	color: #111 !important;
	font-weight: 600 !important;
	font-size: 15px !important;
}
#ccap-root .ccap-quiz-option .ccap-quiz-option-sub,
.ccap-overlay .ccap-quiz-option .ccap-quiz-option-sub {
	color: #666 !important;
	font-weight: 400 !important;
	font-size: 12.5px !important;
}
#ccap-root .ccap-quiz-option:hover:not([disabled]),
.ccap-overlay .ccap-quiz-option:hover:not([disabled]) {
	border-color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important;
	background: #f7faf6 !important;
}
#ccap-root .ccap-quiz-option.ccap-quiz-option-chosen,
.ccap-overlay .ccap-quiz-option.ccap-quiz-option-chosen {
	background: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important;
	color: #fff !important;
	border-color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important;
	opacity: 1 !important;
}
#ccap-root .ccap-quiz-option.ccap-quiz-option-chosen .ccap-quiz-option-label,
.ccap-overlay .ccap-quiz-option.ccap-quiz-option-chosen .ccap-quiz-option-label { color: #fff !important; }
#ccap-root .ccap-quiz-option.ccap-quiz-option-chosen .ccap-quiz-option-sub,
.ccap-overlay .ccap-quiz-option.ccap-quiz-option-chosen .ccap-quiz-option-sub { color: rgba(255,255,255,.85) !important; }

/* === Quiz intro polish === */
.ccap-quiz-intro { display: flex; flex-direction: column; align-items: stretch; gap: 14px; padding: 6px 0 4px; }
.ccap-quiz-intro-hero { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 6px 0 4px; flex-wrap: nowrap; }
.ccap-quiz-intro-hero .ccap-prize-product { width: 64px; height: 64px; max-width: 64px; min-width: 64px; border-radius: 12px; flex-shrink: 0; box-shadow: 0 3px 12px rgba(15, 40, 25, .10); border: 2px solid #fff; background: linear-gradient(135deg, #f7f7f7, #ececec); transform: translateY(0); opacity: 0; animation: ccapHeroPop .42s ease-out forwards; }
.ccap-quiz-intro-hero .ccap-prize-product:nth-child(1) { animation-delay: 0s; transform: rotate(-7deg); }
.ccap-quiz-intro-hero .ccap-prize-product:nth-child(2) { animation-delay: .07s; transform: rotate(-3deg); }
.ccap-quiz-intro-hero .ccap-prize-product:nth-child(3) { animation-delay: .14s; transform: scale(1.12); z-index: 2; }
.ccap-quiz-intro-hero .ccap-prize-product:nth-child(4) { animation-delay: .21s; transform: rotate(3deg); }
.ccap-quiz-intro-hero .ccap-prize-product:nth-child(5) { animation-delay: .28s; transform: rotate(7deg); }
@keyframes ccapHeroPop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; } }
.ccap-quiz-intro-badges { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 2px 0 4px; flex-wrap: wrap; }
.ccap-quiz-intro-badge { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: rgba(31, 81, 40, .08); color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)); letter-spacing: .02em; display: inline-flex; align-items: center; gap: 5px; }
.ccap-quiz-intro-badge svg { width: 12px; height: 12px; }
.ccap-quiz-intro .ccap-quiz-start { width: 100%; text-align: center; margin: 6px 0 0; padding: 14px 18px; font-size: 15px; }

@media (max-width: 720px) {
	.ccap-quiz-intro-hero .ccap-prize-product { width: 52px; height: 52px; max-width: 52px; min-width: 52px; }
	.ccap-quiz-intro-badge { font-size: 11.5px; padding: 4px 9px; }
}


/* === Quiz v2.9.26 polish === */
/* Blur the mystery reward number */
.ccap-blur-text { filter: blur(5px); -webkit-filter: blur(5px); user-select: none; pointer-events: none; display: inline-block; font-weight: 700; letter-spacing: 1px; opacity: .85; transform: scale(.92); }
.ccap-quiz-intro-badge-mystery { background: linear-gradient(120deg, color-mix(in srgb, var(--ccap-accent-color, #1f5128) 12%, transparent), color-mix(in srgb, var(--ccap-accent-color, #1f5128) 22%, transparent)) !important; }

/* Option icon layout */
#ccap-root .ccap-quiz-option { flex-direction: row !important; align-items: center !important; gap: 14px !important; padding: 12px 16px !important; }
.ccap-overlay .ccap-quiz-option { flex-direction: row !important; align-items: center !important; gap: 14px !important; padding: 12px 16px !important; }
.ccap-quiz-option-icon { flex-shrink: 0; width: 42px; height: 32px; display: inline-flex; align-items: center; justify-content: center; color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)); }
.ccap-quiz-option-icon svg { width: 100%; height: 100%; }
.ccap-quiz-option-text { display: flex; flex-direction: column; align-items: flex-start; flex: 1; min-width: 0; }
.ccap-quiz-option-chosen .ccap-quiz-option-icon { color: #fff !important; }

/* Hide popup headline + sub on quiz question steps (let the Q take full height) */
.ccap-card:has(.ccap-quiz-question) .ccap-headline,
.ccap-card:has(.ccap-quiz-question) .ccap-sub { display: none !important; }
.ccap-card:has(.ccap-quiz-question) .ccap-step-area { margin-top: 8px !important; }

/* Progress reward marker */
.ccap-quiz-progress { gap: 7px !important; align-items: center; }
.ccap-quiz-progress-reward { width: 22px !important; height: 22px !important; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center; background: rgba(0,0,0,.06); color: #999; margin-left: 4px; transition: background .35s ease, color .35s ease, transform .35s ease; flex-shrink: 0; }
.ccap-quiz-progress-reward svg { width: 14px; height: 14px; }
.ccap-quiz-progress-reward.is-lit { background: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important; color: #fff !important; transform: scale(1.12); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ccap-accent-color, #1f5128) 18%, transparent); }

/* Mobile tweaks */
@media (max-width: 720px) {
	.ccap-quiz-option-icon { width: 36px; height: 28px; }
	.ccap-quiz-progress-reward { width: 20px !important; height: 20px !important; }
	.ccap-quiz-progress-reward svg { width: 12px; height: 12px; }
}


/* === Quiz v2.9.27 polish === */
/* Tighten quiz step top spacing */
.ccap-card:has(.ccap-quiz-question) .ccap-step-area { margin-top: 0 !important; }
.ccap-quiz-question { padding-top: 0 !important; }

/* Top bar: back button + progress side by side */
.ccap-quiz-topbar { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; min-height: 28px; }
.ccap-quiz-back { flex-shrink: 0; width: 32px; height: 32px; padding: 0; border: 1.5px solid rgba(0,0,0,.08); background: #fff; border-radius: 50%; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #555; transition: background .15s ease, border-color .15s ease, color .15s ease; -webkit-tap-highlight-color: transparent; }
.ccap-quiz-back:hover { background: #f5f5f5; border-color: rgba(0,0,0,.16); color: #111; }
.ccap-quiz-back svg { width: 16px; height: 16px; }
.ccap-quiz-topbar .ccap-quiz-progress { flex: 1; margin: 0 !important; }

/* Bigger more interesting progress bar */
.ccap-quiz-progress { display: flex; gap: 6px !important; justify-content: center; align-items: center; }
.ccap-quiz-progress > span:not(.ccap-quiz-progress-reward) { flex: 1; max-width: 60px; height: 6px !important; border-radius: 3px; background: rgba(0,0,0,.08); position: relative; overflow: hidden; transition: background .35s ease; }
.ccap-quiz-progress > span.is-done { background: var(--ccap-accent-color, var(--ccap-primary, #1f5128)); }
.ccap-quiz-progress > span.is-current { background: linear-gradient(90deg, var(--ccap-accent-color, var(--ccap-primary, #1f5128)) 50%, rgba(0,0,0,.08) 50%); animation: ccapQuizPulse 1.4s ease-in-out infinite; }
@keyframes ccapQuizPulse { 0%,100% { opacity: 1; } 50% { opacity: .65; } }
.ccap-quiz-progress-reward { width: 28px !important; height: 28px !important; margin-left: 8px; box-shadow: 0 0 0 2px rgba(0,0,0,.05); }
.ccap-quiz-progress-reward svg { width: 16px; height: 16px; }
.ccap-quiz-progress-reward.is-lit { box-shadow: 0 0 0 4px color-mix(in srgb, var(--ccap-accent-color, #1f5128) 22%, transparent), 0 4px 12px color-mix(in srgb, var(--ccap-accent-color, #1f5128) 30%, transparent) !important; animation: ccapRewardGlow 1.8s ease-in-out infinite; }
@keyframes ccapRewardGlow { 0%,100% { transform: scale(1.12); } 50% { transform: scale(1.22); } }

/* Intro product thumbnails — smaller, lighter */
.ccap-quiz-intro-hero .ccap-prize-product { width: 56px !important; height: 56px !important; max-width: 56px !important; min-width: 56px !important; }
.ccap-quiz-intro-hero .ccap-prize-product img { width: 100% !important; height: 100% !important; object-fit: cover; }

/* Tighter Q top padding */
.ccap-card-body { padding-top: 18px !important; }

@media (max-width: 720px) {
	.ccap-quiz-back { width: 30px; height: 30px; }
	.ccap-quiz-progress-reward { width: 26px !important; height: 26px !important; }
	.ccap-quiz-intro-hero .ccap-prize-product { width: 46px !important; height: 46px !important; max-width: 46px !important; min-width: 46px !important; }
}


/* === Quiz v2.9.29 polish === */
/* Tag-style options for many-option questions */
.ccap-quiz-options--tags { flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; }
#ccap-root .ccap-quiz-tag, .ccap-overlay .ccap-quiz-tag {
	display: inline-flex !important; align-items: center; justify-content: center;
	padding: 9px 15px !important;
	border: 1.5px solid rgba(0,0,0,.10) !important;
	background: #ffffff !important;
	color: #111 !important;
	border-radius: 999px !important;
	cursor: pointer; font: inherit; font-size: 14px !important; font-weight: 600 !important;
	letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
	min-height: 0 !important; height: auto !important; line-height: 1.2 !important;
	transition: border-color .15s ease, background .15s ease, color .15s ease, transform .12s ease;
	-webkit-tap-highlight-color: transparent;
}
#ccap-root .ccap-quiz-tag:hover:not([disabled]), .ccap-overlay .ccap-quiz-tag:hover:not([disabled]) { border-color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important; background: color-mix(in srgb, var(--ccap-accent-color, #1f5128) 6%, #ffffff) !important; }
.ccap-quiz-tag[disabled] { opacity: .55; cursor: default; }
.ccap-quiz-tag.ccap-quiz-option-chosen { background: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important; border-color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)) !important; color: #fff !important; opacity: 1 !important; }

/* Email step value strip (quiz only) */
.ccap-quiz-value-strip { background: linear-gradient(135deg, color-mix(in srgb, var(--ccap-accent-color, #1f5128) 6%, #fafafa), color-mix(in srgb, var(--ccap-accent-color, #1f5128) 2%, #ffffff)); border: 1px solid color-mix(in srgb, var(--ccap-accent-color, #1f5128) 12%, transparent); border-radius: 14px; padding: 12px 14px; margin: 0 0 14px; }
.ccap-quiz-value-row { display: flex; flex-direction: column; gap: 8px; }
.ccap-quiz-value-item { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: #2a2a2a; line-height: 1.35; }
.ccap-quiz-value-item svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--ccap-accent-color, var(--ccap-primary, #1f5128)); }
.ccap-quiz-value-item b { font-weight: 800; }

@media (max-width: 720px) {
	.ccap-quiz-value-item { font-size: 13px; }
	#ccap-root .ccap-quiz-tag, .ccap-overlay .ccap-quiz-tag { padding: 8px 13px !important; font-size: 13.5px !important; }
}


/* === Quiz v2.9.30 polish === */
/* Compact option card variant — denser for 4-5 option questions */
#ccap-root .ccap-quiz-options--compact, .ccap-overlay .ccap-quiz-options--compact { gap: 12px !important; }
#ccap-root .ccap-quiz-option--compact, .ccap-overlay .ccap-quiz-option--compact { padding: 9px 14px !important; gap: 10px !important; }
.ccap-quiz-option--compact .ccap-quiz-option-label { font-size: 14.5px !important; line-height: 1.2 !important; margin-bottom: 2px; }
.ccap-quiz-option--compact .ccap-quiz-option-icon { width: 28px !important; height: 28px !important; }

/* Sub rendered as chips (when sub contains commas) */
.ccap-quiz-option-chips { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.ccap-quiz-option-chip { display: inline-flex; align-items: center; padding: 1px 7px; background: rgba(0,0,0,.05); color: #555; border-radius: 999px; font-size: 11.5px; font-weight: 500; line-height: 1.5; }
.ccap-quiz-option-chosen .ccap-quiz-option-chip { background: rgba(255,255,255,.22) !important; color: #fff !important; }

/* Icon image (uploaded) */
.ccap-quiz-option-icon-img { background: rgba(0,0,0,.04); border-radius: 8px; overflow: hidden; }
.ccap-quiz-option-icon-img img { width: 100%; height: 100%; object-fit: contain; display: block; }


/* === Quiz v2.9.31 polish === */
/* Value strip text in accent color + bigger */
.ccap-quiz-value-item { font-size: 14.5px !important; line-height: 1.4 !important; gap: 12px !important; color: color-mix(in srgb, var(--ccap-accent-color, var(--ccap-primary, #1f5128)) 85%, #000 15%) !important; text-wrap: balance; }
.ccap-quiz-value-item b { font-weight: 700 !important; }
.ccap-quiz-value-item svg { width: 20px !important; height: 20px !important; }
.ccap-quiz-value-strip { padding: 14px 16px !important; }

/* Q3 compact card — chips on right (desktop), below (mobile) */
@media (min-width: 721px) {
	#ccap-root .ccap-quiz-option--compact .ccap-quiz-option-text,
	.ccap-overlay .ccap-quiz-option--compact .ccap-quiz-option-text {
		flex-direction: row !important; align-items: center; gap: 12px; width: 100%;
	}
	.ccap-quiz-option--compact .ccap-quiz-option-label { flex-shrink: 0; }
	.ccap-quiz-option--compact .ccap-quiz-option-chips { margin-left: auto !important; margin-top: 0 !important; justify-content: flex-end; }
	.ccap-quiz-option--compact .ccap-quiz-option-sub { margin-left: auto !important; margin-top: 0 !important; text-align: right; }
}
@media (max-width: 720px) {
	.ccap-quiz-value-item { font-size: 13.5px !important; }
}


/* === Quiz v2.9.32 polish: use --ccap-primary for badges/strip === */
/* Intro badges → primary color (not accent) */
.ccap-quiz-intro-badge {
	color: var(--ccap-primary, #1f5128) !important;
	background: color-mix(in srgb, var(--ccap-primary, #1f5128) 8%, transparent) !important;
}

/* Email value strip → primary */
.ccap-quiz-value-strip {
	background: linear-gradient(135deg, color-mix(in srgb, var(--ccap-primary, #1f5128) 6%, #fafafa), color-mix(in srgb, var(--ccap-primary, #1f5128) 2%, #ffffff)) !important;
	border-color: color-mix(in srgb, var(--ccap-primary, #1f5128) 12%, transparent) !important;
}
.ccap-quiz-value-item {
	color: color-mix(in srgb, var(--ccap-primary, #1f5128) 88%, #000 12%) !important;
}
.ccap-quiz-value-item svg {
	color: var(--ccap-primary, #1f5128) !important;
}

/* Progress bar dashes → primary */
.ccap-quiz-progress > span.is-done,
.ccap-quiz-progress > span.is-current {
	background: var(--ccap-primary, #1f5128) !important;
}
.ccap-quiz-progress > span.is-current {
	background: linear-gradient(90deg, var(--ccap-primary, #1f5128) 50%, rgba(0,0,0,.08) 50%) !important;
}
.ccap-quiz-progress-reward.is-lit {
	background: var(--ccap-primary, #1f5128) !important;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ccap-primary, #1f5128) 22%, transparent), 0 4px 12px color-mix(in srgb, var(--ccap-primary, #1f5128) 30%, transparent) !important;
}

/* Option hover/chosen → primary */
#ccap-root .ccap-quiz-option:hover:not([disabled]),
.ccap-overlay .ccap-quiz-option:hover:not([disabled]) {
	border-color: var(--ccap-primary, #1f5128) !important;
	background: color-mix(in srgb, var(--ccap-primary, #1f5128) 6%, #ffffff) !important;
}
#ccap-root .ccap-quiz-option.ccap-quiz-option-chosen,
.ccap-overlay .ccap-quiz-option.ccap-quiz-option-chosen {
	background: var(--ccap-primary, #1f5128) !important;
	border-color: var(--ccap-primary, #1f5128) !important;
}

/* Option icon (when present) → primary */
.ccap-quiz-option-icon { color: var(--ccap-primary, #1f5128); }

/* .ccap-accent (italic word) keeps its own accent_color — already correct */


/* === Quiz v2.9.35 polish: left-align chips === */
@media (min-width: 721px) {
	#ccap-root .ccap-quiz-option--compact .ccap-quiz-option-chips,
	.ccap-overlay .ccap-quiz-option--compact .ccap-quiz-option-chips {
		margin-left: 16px !important; margin-top: 0 !important;
		margin-right: auto !important;
		justify-content: flex-start !important;
	}
	.ccap-quiz-option--compact .ccap-quiz-option-sub {
		margin-left: 16px !important; margin-top: 0 !important;
		margin-right: auto !important;
		text-align: left !important;
	}
}


/* === Privacy back button v2.9.37 — high contrast === */
/* Filled pill style, always visible regardless of popup colors */
#ccap-root .ccap-privacy-bar,
.ccap-overlay .ccap-privacy-bar {
	padding: 14px 18px !important;
	background: #f7f7f7 !important;
	border-bottom: 1px solid rgba(0,0,0,.08) !important;
}
#ccap-root .ccap-privacy-bar .ccap-privacy-back,
.ccap-overlay .ccap-privacy-bar .ccap-privacy-back {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 10px 18px 10px 14px !important;
	margin: 0 !important;
	background: var(--ccap-primary, #1f5128) !important;
	color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--ccap-primary, #1f5128) 35%, transparent) !important;
	transition: transform .12s ease, box-shadow .12s ease, background .15s ease !important;
	-webkit-tap-highlight-color: transparent !important;
}
#ccap-root .ccap-privacy-bar .ccap-privacy-back:hover,
.ccap-overlay .ccap-privacy-bar .ccap-privacy-back:hover {
	transform: translateY(-1px) !important;
	background: color-mix(in srgb, var(--ccap-primary, #1f5128) 88%, #000 12%) !important;
	box-shadow: 0 4px 14px color-mix(in srgb, var(--ccap-primary, #1f5128) 45%, transparent) !important;
}
#ccap-root .ccap-privacy-bar .ccap-privacy-back:active,
.ccap-overlay .ccap-privacy-bar .ccap-privacy-back:active {
	transform: translateY(0) !important;
}
#ccap-root .ccap-privacy-bar .ccap-privacy-back svg,
.ccap-overlay .ccap-privacy-bar .ccap-privacy-back svg {
	width: 16px !important;
	height: 16px !important;
	color: #ffffff !important;
	stroke: #ffffff !important;
}
#ccap-root .ccap-privacy-bar .ccap-privacy-back span,
.ccap-overlay .ccap-privacy-bar .ccap-privacy-back span {
	color: #ffffff !important;
}
#ccap-root .ccap-privacy-bar .ccap-privacy-title,
.ccap-overlay .ccap-privacy-bar .ccap-privacy-title {
	color: #555 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	letter-spacing: .08em !important;
}


/* === v2.9.38 polish === */

/* Privacy iframe — hide hero/marketing blocks injected at top of WP page */
.ccap-privacy-content > .wp-block-cover,
.ccap-privacy-content > .elementor-section:first-child,
.ccap-privacy-content > .e-con:first-child,
.ccap-privacy-content > figure:first-child,
.ccap-privacy-content > .ccap-hero,
.ccap-privacy-content > [class*="hero"]:first-child,
.ccap-privacy-content > [class*="banner"]:first-child,
.ccap-privacy-content > .wp-block-group:first-child:has(img),
.ccap-privacy-content figure.wp-block-image:first-child,
.ccap-privacy-content > img:first-child,
.ccap-privacy-content > div:first-child:has(> img:first-child) { display: none !important; }
.ccap-privacy-content img { max-width: 100% !important; height: auto !important; max-height: 200px !important; object-fit: contain !important; }

/* Cart CTA button — guarantee contrast on any popup background */
#ccap-root .ccap-coupon-cart-btn,
.ccap-overlay .ccap-coupon-cart-btn {
	background: var(--ccap-cart-btn-bg, #B0FF73) !important;
	color: var(--ccap-cart-btn-color, #18564B) !important;
	border: 2px solid rgba(255,255,255,.9) !important;
	box-shadow: 0 4px 14px rgba(0,0,0,.18), inset 0 0 0 1px rgba(0,0,0,.05) !important;
	font-weight: 800 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
}
#ccap-root .ccap-coupon-cart-btn:hover,
.ccap-overlay .ccap-coupon-cart-btn:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(0,0,0,.22), inset 0 0 0 1px rgba(0,0,0,.05) !important;
}

/* Confetti — fires on .ccap-card.ccap-just-won, 30 pieces falling from top */
.ccap-confetti-stage { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 70; border-radius: inherit; }
.ccap-confetti-piece {
	position: absolute; top: -16px; width: 9px; height: 16px;
	border-radius: 2px; opacity: 0;
	animation: ccapConfettiFall 2.6s cubic-bezier(.2,.65,.6,.95) forwards;
}
@keyframes ccapConfettiFall {
	0% { opacity: 0; transform: translateY(-10px) rotate(0deg); }
	10% { opacity: 1; }
	90% { opacity: 1; }
	100% { opacity: 0; transform: translateY(110%) rotate(720deg); }
}
@media (prefers-reduced-motion: reduce) { .ccap-confetti-piece { animation: none !important; display: none !important; } }


/* === v2.9.39 polish === */
/* Email step heading — bigger, vertical-centered to gift icon */
.ccap-gift-preview { padding: 14px 18px !important; align-items: center !important; }
.ccap-gift-preview-winhead {
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #fff !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 0 !important;
}
.ccap-gift-preview-copy { display: flex; align-items: center; }
@media (max-width: 720px) {
	.ccap-gift-preview-winhead { font-size: 15.5px !important; }
}


/* === Pointer centering v2.9.39 (mobile + desktop) === */
@media (max-width: 720px) {
	.ccap-card.ccap-type-wheel .ccap-wheel-pointer {
		top: 4px !important;
		left: 50% !important;
		right: auto !important;
		margin: 0 !important;
		transform: translateX(-50%) rotate(-90deg) !important;
		transform-origin: center center !important;
	}
}
@media (min-width: 721px) {
	.ccap-card.ccap-type-wheel .ccap-wheel-pointer {
		margin-top: -25px !important;
		transform-origin: center center !important;
	}
}


/* === Mobile popup height stabilization v2.9.43 === */
@media (max-width: 720px) {
	/* Make every form type fill enough of the viewport that step-to-step content changes don't shift card height. Wheel already locks to 100vh; this catches scratch / pick-a-gift / quiz / popup / mystery / banner. */
	.ccap-card:not(.ccap-type-wheel) {
		min-height: 580px !important;
		display: flex !important;
		flex-direction: column !important;
	}
	.ccap-card:not(.ccap-type-wheel) > * { flex-shrink: 0; }
}

/* Field-level validation highlight (added 2026-05-30) */
.ccap-field-error,
input.ccap-field-error,
.ccap-form input.ccap-field-error,
.ccap-form .ccap-field-error {
  border-color: #e02b2b !important;
  box-shadow: 0 0 0 2px rgba(224,43,43,0.18) !important;
}


/* === 2026-06-05: Mobil popup boost - alle popups lidt stoerre paa mobil; quiz-hero i 2 raekker (kun mobil) === */
#ccap-root .ccap-card .ccap-decline, .ccap-overlay .ccap-card .ccap-decline { text-decoration: none !important; font-size: 14.5px !important; }
@media (max-width: 640px) {
  #ccap-root .ccap-overlay:has(.ccap-quiz) { overflow-y: auto !important; }
  #ccap-root .ccap-overlay .ccap-card:not(.ccap-type-wheel) .ccap-headline { font-size: 36px !important; line-height: 1.15 !important; }
  #ccap-root .ccap-overlay .ccap-card:not(.ccap-type-wheel) .ccap-sub { font-size: 19px !important; line-height: 1.45 !important; margin-bottom: 0 !important; }
  #ccap-root .ccap-overlay .ccap-card:not(.ccap-type-wheel) .ccap-pill { font-size: 17px !important; padding: 17px 24px !important; }
  #ccap-root .ccap-overlay .ccap-card:not(.ccap-type-wheel) .ccap-decline { font-size: 18px !important; text-decoration: none !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-intro-hero { flex-wrap: wrap !important; justify-content: center !important; gap: 10px !important; max-width: 250px !important; margin: 0 auto !important; padding: 8px 0 4px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-intro-hero .ccap-prize-product { width: 70px !important; height: 70px !important; max-width: 70px !important; min-width: 70px !important; border-radius: 14px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-intro-badges { gap: 8px !important; justify-content: center !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-intro-badge { font-size: 14.5px !important; padding: 5px 11px !important; white-space: nowrap !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-intro-badge svg { width: 14px !important; height: 14px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-q-label { font-size: 21px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-q-sub { font-size: 16px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-option { padding: 14px 18px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-option-label { font-size: 17px !important; }
  #ccap-root .ccap-card:has(.ccap-quiz) .ccap-quiz-option-sub { font-size: 15px !important; }
  #ccap-root .ccap-card:has(.ccap-scratch-wrap) .ccap-scratch-wrap { max-width: 100% !important; }
  #ccap-root .ccap-card:has(.ccap-scratch-wrap) .ccap-card-body { padding-left: 14px !important; padding-right: 14px !important; }
  #ccap-root .ccap-card:has(.ccap-scratch-wrap) .ccap-scratch-underlay { min-height: 230px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; }
  #ccap-root .ccap-card:has(.ccap-scratch-wrap) .ccap-scratch-canvas { width: 100% !important; height: 100% !important; }
}

/* Nattelyst: recolor wheel pointer (was lime #B0FF73) to brand accent */
.ccap-wheel-pointer svg path[fill="#B0FF73"], .ccap-wheel-pointer svg path[fill="#b0ff73"] { fill: #E0A33C !important; }


/* CCAP: button loading spinner (replaces the '…' text during async waits) */
.ccap-btn-spinner{display:inline-block;width:1.15em;height:1.15em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ccap-btn-spin .6s linear infinite;vertical-align:middle;box-sizing:border-box}
@keyframes ccap-btn-spin{to{transform:rotate(360deg)}}
