/*
 * Contour Promo Panels - front-end styles.
 * Everything is namespaced .cpp-panel. Override the custom properties below
 * from a theme to restyle without touching the plugin.
 */
.cpp-panel {
	--cpp-bg: #e5dfd0;
	--cpp-text: #000;
	--cpp-accent: #b0966f;
	--cpp-btn-bg: #000;
	--cpp-btn-text: #fff;
	--cpp-bottom: 67px;
	--cpp-width: 462px;
	--cpp-radius: 36px;
	--cpp-z: 1000;
	--cpp-font: ppradiogrotesk, pstimes, HelveticaNeue-Light, "Helvetica Neue Light", "Helvetica Neue", helvetica, arial, "Lucida Grande", sans-serif;

	position: fixed;
	left: 50%;
	bottom: var(--cpp-bottom);
	z-index: var(--cpp-z);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: var(--cpp-width);
	padding: 13px 16px 13px 10px;
	background: var(--cpp-bg);
	color: var(--cpp-text);
	font-family: var(--cpp-font);
	font-size: 14px;
	text-align: left;
	border-radius: var(--cpp-radius);
	box-shadow: rgba(0, 0, 0, 0.2) 0 -2px 6px;
	transform: translate(-50%, calc(100% + var(--cpp-bottom) + 40px));
	visibility: hidden;
	transition: transform 0.5s ease, visibility 0s linear 0.5s;
}

.cpp-panel.is-visible {
	transform: translate(-50%, 0);
	visibility: visible;
	transition: transform 0.5s ease, visibility 0s;
}

.cpp-panel *,
.cpp-panel *::before,
.cpp-panel *::after {
	box-sizing: border-box;
}

.cpp-panel__close {
	flex: 0 0 auto;
	margin: 0 4px 0 0;
	padding: 0;
	background: none;
	border: 0;
	color: #888;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.cpp-panel__close:hover,
.cpp-panel__close:focus-visible {
	color: #000;
}

.cpp-panel__badge {
	position: absolute;
	top: -15px;
	left: 36px;
	width: 87px;
	height: auto;
	pointer-events: none;
}

.cpp-panel__content {
	margin-left: 96px;
	min-width: 0;
}

.cpp-panel--no-badge .cpp-panel__content {
	margin-left: 8px;
}

.cpp-panel__headline {
	margin: 0;
	color: var(--cpp-accent);
	font-family: inherit;
	font-size: 1.15em;
	line-height: 1.25;
	text-transform: none;
}

.cpp-panel__body {
	margin: 3px 0 0;
	line-height: 1.35em;
}

.cpp-panel__body p {
	margin: 0 0 0.4em;
}

.cpp-panel__body > :last-child {
	margin-bottom: 0;
}

.cpp-panel__body a {
	color: inherit;
	text-decoration: underline;
}

.cpp-panel__cta {
	display: inline-block;
	margin-top: 6px;
	padding: 7px 10px;
	background: var(--cpp-btn-bg);
	color: var(--cpp-btn-text);
	border-radius: 15px;
	font-size: 1em;
	line-height: 1;
	text-decoration: none;
}

.cpp-panel__cta:hover,
.cpp-panel__cta:focus-visible {
	color: var(--cpp-btn-text);
	opacity: 0.85;
}

@media screen and (max-width: 550px) {
	.cpp-panel {
		left: 0;
		right: 0;
		width: auto;
		max-width: 100%;
		border-radius: 0;
		transform: translateY(calc(100% + var(--cpp-bottom) + 40px));
	}

	.cpp-panel.is-visible {
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cpp-panel,
	.cpp-panel.is-visible {
		transition: none;
	}
}

@media print {
	.cpp-panel {
		display: none;
	}
}
