/* ARK V7 global campaign center. */
.ark-campaign {
	--ark-campaign-bg: #edf6ef;
	--ark-campaign-text: #173b25;
	--ark-campaign-accent: #2f6b3f;
	--ark-campaign-action: color-mix(in srgb, var(--ark-campaign-accent) 76%, #173b25 24%);
	--ark-campaign-action-hover: color-mix(in srgb, var(--ark-campaign-accent) 64%, #123720 36%);
	--ark-campaign-surface: color-mix(in srgb, var(--ark-campaign-bg) 82%, #fff 18%);
	--ark-campaign-surface-hover: color-mix(in srgb, var(--ark-campaign-bg) 86%, var(--ark-campaign-accent) 14%);
	--ark-campaign-border: color-mix(in srgb, var(--ark-campaign-accent) 34%, #fff 66%);
	--ark-campaign-stem: color-mix(in srgb, var(--ark-campaign-accent) 56%, #8eaa95 44%);
	--ark-campaign-line-length: 22px;
	position: relative;
	z-index: 78;
	color: var(--ark-campaign-text);
}

.ark-campaign__rail {
	position: relative;
	min-height: 44px;
	border-bottom: 1px solid color-mix(in srgb, var(--ark-campaign-accent) 22%, transparent);
	background: var(--ark-campaign-bg);
}

.ark-campaign__rail-inner {
	position: relative;
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 22px;
	padding-top: 7px;
	padding-bottom: 7px;
}

.ark-campaign__copy {
	display: flex;
	min-width: 0;
	max-width: 100%;
	align-items: center;
	justify-content: center;
	gap: clamp(10px, 1.5vw, 22px);
	margin-inline: auto;
	text-align: center;
	white-space: nowrap;
}

.ark-campaign__eyebrow {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ark-campaign__message {
	min-width: 0;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.35;
	text-overflow: ellipsis;
}

.ark-campaign__meta {
	flex: 0 1 auto;
	overflow: hidden;
	color: color-mix(in srgb, var(--ark-campaign-text) 72%, transparent);
	font-size: 12px;
	line-height: 1.35;
	text-overflow: ellipsis;
}

.ark-campaign__inline-link,
.ark-campaign__hanger {
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.ark-campaign__inline-link {
	position: absolute;
	top: 50%;
	right: 0;
	display: none;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 8px 16px;
	border: 1px solid var(--ark-campaign-action);
	border-radius: 999px;
	color: #fff;
	background: var(--ark-campaign-action);
	box-shadow: 0 8px 22px color-mix(in srgb, var(--ark-campaign-accent) 18%, transparent);
	transform: translateY(-50%);
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ark-campaign__inline-link:hover,
.ark-campaign__inline-link:focus-visible {
	border-color: var(--ark-campaign-action-hover);
	color: #fff;
	background: var(--ark-campaign-action-hover);
	box-shadow: 0 10px 26px color-mix(in srgb, var(--ark-campaign-accent) 24%, transparent);
}

.ark-campaign__hanger {
	position: absolute;
	top: calc(100% + var(--ark-campaign-line-length));
	right: clamp(24px, 4vw, 72px);
	z-index: 79;
	display: inline-flex;
	min-width: 158px;
	max-width: min(240px, calc(100vw - 32px));
	height: 42px;
	align-items: center;
	justify-content: flex-start;
	border: 1px solid var(--ark-campaign-border);
	border-radius: 11px;
	color: var(--ark-campaign-text);
	background: linear-gradient(180deg, color-mix(in srgb, var(--ark-campaign-surface) 76%, #fff 24%), var(--ark-campaign-surface));
	box-shadow: 0 10px 24px color-mix(in srgb, var(--ark-campaign-accent) 14%, transparent), 0 2px 7px rgb(23 59 37 / 8%);
	transform-origin: 50% calc(0px - var(--ark-campaign-line-length));
	transition: border-color .22s ease, box-shadow .24s ease, color .2s ease, background .22s ease, opacity .18s ease, transform .26s cubic-bezier(.2,.8,.2,1);
	will-change: transform;
}

/* Keep campaign links readable even when a global theme link-hover rule is active. */
.ark-campaign a.ark-campaign__hanger,
.ark-campaign a.ark-campaign__hanger:visited,
.ark-campaign a.ark-campaign__hanger:hover,
.ark-campaign a.ark-campaign__hanger:focus-visible {
	color: var(--ark-campaign-text);
}

.ark-campaign__hanger-line {
	position: absolute;
	left: 50%;
	bottom: 100%;
	width: 2px;
	height: var(--ark-campaign-line-length);
	border-radius: 999px;
	opacity: 1;
	background: var(--ark-campaign-stem);
	transform: translateX(-1px) scaleY(1);
	transform-origin: top;
	transition: opacity .18s ease, transform .28s cubic-bezier(.2,.8,.2,1);
}

.ark-campaign__hanger-label {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 0 10px 0 17px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ark-campaign__hanger-arrow {
	display: grid;
	width: 29px;
	height: 29px;
	flex: 0 0 29px;
	margin-right: 6px;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--ark-campaign-action) 84%, #fff 16%);
	border-radius: 50%;
	color: #fff;
	background: var(--ark-campaign-action);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 15%);
	font-size: 14px;
	font-weight: 800;
	transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .24s cubic-bezier(.2,.8,.2,1);
}

.ark-campaign__hanger:hover,
.ark-campaign__hanger:focus-visible {
	border-color: color-mix(in srgb, var(--ark-campaign-accent) 46%, #fff 54%);
	color: var(--ark-campaign-text);
	background: linear-gradient(180deg, color-mix(in srgb, var(--ark-campaign-surface-hover) 72%, #fff 28%), var(--ark-campaign-surface-hover));
	box-shadow: 0 13px 28px color-mix(in srgb, var(--ark-campaign-accent) 18%, transparent), 0 3px 9px rgb(23 59 37 / 10%);
	transform: translateY(-2px);
}

.ark-campaign__hanger:hover .ark-campaign__hanger-arrow,
.ark-campaign__hanger:focus-visible .ark-campaign__hanger-arrow {
	border-color: var(--ark-campaign-action-hover);
	background: var(--ark-campaign-action-hover);
	box-shadow: 0 4px 10px color-mix(in srgb, var(--ark-campaign-accent) 22%, transparent);
	transform: translate(2px, -2px);
}

.ark-campaign__sentinel {
	display: block;
	height: 0;
}

.ark-campaign--label .ark-campaign__hanger,
.ark-campaign.is-docked .ark-campaign__hanger {
	position: fixed;
	top: calc(var(--ark-admin-bar-height) + var(--ark-header-height-desktop) + 14px);
	right: 0;
	z-index: 79;
	min-width: 158px;
	height: 42px;
	border-radius: 11px 0 0 11px;
	transform: translateX(0);
	transform-origin: center;
}

.ark-campaign--label .ark-campaign__hanger-line,
.ark-campaign.is-docked .ark-campaign__hanger-line {
	opacity: 0;
	transform: translateX(-1px) scaleY(0);
}

.ark-campaign--label .ark-campaign__hanger:hover,
.ark-campaign--label .ark-campaign__hanger:focus-visible,
.ark-campaign.is-docked .ark-campaign__hanger:hover,
.ark-campaign.is-docked .ark-campaign__hanger:focus-visible {
	transform: translateX(-4px);
}

.ark-campaign.is-handoff .ark-campaign__hanger {
	pointer-events: none;
}

.ark-campaign.is-handoff .ark-campaign__hanger,
.ark-campaign.is-handoff .ark-campaign__hanger-arrow {
	animation: none !important;
}

.ark-campaign.is-disabled-after-scroll .ark-campaign__hanger {
	display: none;
}

.ark-campaign.is-overlay-hidden .ark-campaign__hanger {
	opacity: 0;
	pointer-events: none;
}

.ark-campaign.is-attention:not(.is-docked):not(.ark-campaign--label) .ark-campaign__hanger {
	animation: ark-campaign-hanging-reminder 1.16s cubic-bezier(.22,.72,.24,1) both;
}

.ark-campaign.is-attention.is-docked .ark-campaign__hanger,
.ark-campaign.ark-campaign--label.is-attention .ark-campaign__hanger {
	animation: ark-campaign-docked-reminder 1.05s cubic-bezier(.2,.82,.2,1) both;
}

.ark-campaign.is-attention .ark-campaign__hanger-arrow {
	animation: ark-campaign-arrow-reminder 1.05s cubic-bezier(.2,.82,.2,1) both;
}

.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger,
.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger-arrow,
.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger-line {
	animation: none;
}

.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger:hover,
.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger:focus-visible,
.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger:hover .ark-campaign__hanger-arrow,
.ark-campaign[data-motion-enabled="0"] .ark-campaign__hanger:focus-visible .ark-campaign__hanger-arrow {
	transform: none;
}

@keyframes ark-campaign-hanging-reminder {
	0%, 100% { transform: rotate(0); }
	14% { transform: rotate(-3.5deg); }
	29% { transform: rotate(3deg); }
	44% { transform: rotate(-2.3deg); }
	59% { transform: rotate(1.7deg); }
	73% { transform: rotate(-1.1deg); }
	86% { transform: rotate(.55deg); }
}

@keyframes ark-campaign-docked-reminder {
	0%, 100% { transform: translateX(0); }
	18% { transform: translateX(-11px); }
	34% { transform: translateX(-3px); }
	51% { transform: translateX(-8px); }
	68% { transform: translateX(-2px); }
	83% { transform: translateX(-5px); }
}

@keyframes ark-campaign-arrow-reminder {
	0%, 100% { transform: translate(0, 0); }
	18% { transform: translate(3px, -3px); }
	36% { transform: translate(0, 0); }
	54% { transform: translate(3px, -3px); }
	75% { transform: translate(1px, -1px); }
}

@media (max-width: 1365px) {
	.ark-campaign--label .ark-campaign__hanger,
	.ark-campaign.is-docked .ark-campaign__hanger {
		top: calc(var(--ark-admin-bar-height) + var(--ark-header-height-mobile) + 12px);
	}
}

@media (max-width: 760px) {
	.ark-campaign__rail,
	.ark-campaign__rail-inner {
		min-height: 48px;
	}

	.ark-campaign__rail-inner {
		justify-content: space-between;
		gap: 12px;
	}

	.ark-campaign__copy {
		flex: 1 1 auto;
		justify-content: flex-start;
		gap: 7px;
		margin-inline: 0;
		text-align: left;
		white-space: normal;
	}

	.ark-campaign__eyebrow,
	.ark-campaign__meta {
		display: none;
	}

	.ark-campaign__message {
		display: -webkit-box;
		font-size: 12px;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.ark-campaign__inline-link {
		position: static;
		display: inline-flex;
		min-height: 32px;
		padding: 7px 12px;
		font-size: 12px;
		transform: none;
	}

	.ark-campaign:not(.is-docked):not(.ark-campaign--label) .ark-campaign__hanger {
		display: none;
	}

	.ark-campaign--label .ark-campaign__hanger,
	.ark-campaign.is-docked .ark-campaign__hanger {
		top: calc(var(--ark-admin-bar-height) + var(--ark-header-height-mobile) + 10px);
		min-width: 144px;
		height: 40px;
	}

	.ark-campaign__hanger-arrow {
		width: 28px;
		height: 28px;
		flex-basis: 28px;
	}
}

@media (max-width: 480px) {
	.ark-campaign__rail-inner {
		padding-right: 10px;
		padding-left: 10px;
	}

	.ark-campaign__message {
		font-size: 11px;
	}

	.ark-campaign__inline-link {
		padding-right: 10px;
		padding-left: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ark-campaign__hanger,
	.ark-campaign__hanger-arrow,
	.ark-campaign__hanger-line {
		animation: none !important;
		transition: none !important;
	}
}
