/* Haystack's first-party Cookiebot presentation. */

#CybotCookiebotDialog {
	background: #fff !important;
	border: 0 !important;
	border-top: 1px solid #000 !important;
	box-shadow: none !important;
	color: #000 !important;
	font-family: "Area Normal", Arial, sans-serif !important;
}

#CybotCookiebotDialog * {
	font-family: inherit !important;
}

#CybotCookiebotDialogHeader {
	display: none !important;
}

#CybotCookiebotDialog h2,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription {
	color: #000 !important;
}

#CybotCookiebotDialog h2 {
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
}

#CybotCookiebotDialog p,
#CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription {
	font-size: 12px !important;
	line-height: 1.4 !important;
}

#CybotCookiebotDialog a,
#CybotCookiebotDialog button:not(.CybotCookiebotDialogBodyButton) {
	color: #000 !important;
}

#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 999px !important;
	color: #000 !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	letter-spacing: .06em !important;
	line-height: 1.2 !important;
	min-height: 38px !important;
	padding: 9px 18px !important;
	text-transform: uppercase !important;
}

#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton:hover,
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton:focus-visible {
	background: #000 !important;
	color: #fff !important;
}

/* Settings is a secondary path; Reject and Allow remain the equal primary choices. */
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	flex: 0 0 auto !important;
	min-width: auto !important;
	padding-left: 14px !important;
	padding-right: 14px !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 3px !important;
	width: auto !important;
}

#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize:hover,
#CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize:focus-visible {
	background: transparent !important;
	color: #000 !important;
	text-decoration-thickness: 2px !important;
}

#CybotCookiebotDialog input:focus-visible + span,
#CybotCookiebotDialog button:focus-visible,
#CybotCookiebotDialog a:focus-visible,
.haystack-cookie-settings:focus-visible {
	outline: 2px solid #000 !important;
	outline-offset: 3px !important;
}

/* Cookiebot documents these selectors for removing its banner branding. */
a#CybotCookiebotDialogPoweredbyCybot,
div#CybotCookiebotDialogPoweredByText {
	display: none !important;
}

/* The Haystack footer control replaces Cookiebot's branded floating widget. */
#CookiebotWidget {
	display: none !important;
}

#CybotCookiebotDialog .haystack-cookie-popup-close {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	display: none;
	font-family: Arial, sans-serif !important;
	font-size: 24px !important;
	font-weight: 300 !important;
	height: 32px;
	justify-content: center;
	line-height: 1 !important;
	margin: 0;
	padding: 0 0 3px;
	position: absolute;
	right: 7px;
	top: 7px;
	width: 32px;
	z-index: 3;
}

#CybotCookiebotDialog[data-template="popup"] .haystack-cookie-popup-close {
	display: flex;
}

#CybotCookiebotDialog[data-template="popup"] .haystack-cookie-popup-close:hover,
#CybotCookiebotDialog[data-template="popup"] .haystack-cookie-popup-close:focus-visible {
	background: #f1f1f1;
}

/* Quietly separate the full settings panel from the page behind it. */
body:has(#CybotCookiebotDialog[data-template="popup"].CybotCookiebotDialogActive)::before {
	background: rgb(0 0 0 / 18%);
	content: "";
	inset: 0;
	position: fixed;
	z-index: 2147483630;
}

#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogNavList {
	padding-right: 46px !important;
}

/* The Settings control already leads to Cookiebot's complete details and controls. */
#CybotCookiebotDialog:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyEdgeMoreDetails {
	display: none !important;
}

#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyButtonDecline {
	order: 1 !important;
}

#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
	order: 2 !important;
}

#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyLevelButtonCustomize {
	display: none !important;
}

#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection {
	background: #111 !important;
	color: #fff !important;
	display: block !important;
	order: 3 !important;
}

#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:hover,
#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:focus-visible {
	background: #fff !important;
	color: #000 !important;
}

.haystack-cookie-settings {
	appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: inherit;
	cursor: pointer;
	display: block;
	font-family: "Area Normal", Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 14px;
	margin: 14px 0 0;
	padding: 0;
	text-align: left;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-transform: none;
}

.haystack-cookie-settings:hover {
	text-decoration-thickness: 2px;
}

@media (min-width: 768px) {
	/* Keep the first layer genuinely slim; the granular second layer may expand. */
	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) {
		bottom: 0 !important;
		left: 0 !important;
		max-width: none !important;
		padding: 0 !important;
		right: 0 !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) .CybotCookiebotDialogContentWrapper {
		align-items: center !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		width: 100% !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogTabContent,
	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBody {
		height: auto !important;
		min-height: 0 !important;
		width: auto !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBody {
		align-items: center !important;
		flex-direction: row !important;
		padding: 14px 0 14px 24px !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBody > .CybotCookiebotScrollContainer {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyContent {
		padding: 0 !important;
		width: auto !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) .CybotCookiebotDialogBodyBottomWrapper {
		height: auto !important;
		margin: 0 24px !important;
		width: auto !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogFooter {
		flex: 0 0 422px !important;
		height: auto !important;
		min-width: 422px !important;
		padding-right: 24px !important;
		width: 422px !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyButtonsWrapper {
		align-items: center !important;
		flex-direction: row !important;
		gap: 6px !important;
		width: auto !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyButtons {
		flex: 0 0 398px !important;
		width: 398px !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyButtonDecline,
	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
		flex: 0 0 142px !important;
		width: 142px !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyButtonDecline {
		order: 1 !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
		order: 2 !important;
	}

	#CybotCookiebotDialog[data-template="bottom"]:has(#CybotCookiebotDialogBody:not(.CybotCookiebotDialogHide)) #CybotCookiebotDialogBodyLevelButtonCustomize {
		order: 3 !important;
	}

	/* Compact, first-party presentation for Cookiebot's full settings panel. */
	#CybotCookiebotDialog[data-template="popup"] {
		border: 1px solid #000 !important;
		border-radius: 8px !important;
		box-shadow: 0 18px 48px rgb(0 0 0 / 12%) !important;
		max-height: calc(100vh - 48px) !important;
		max-width: 760px !important;
		padding: 0 !important;
		width: calc(100vw - 48px) !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogNav,
	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogNavList {
		height: 46px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogNav {
		border-bottom: 1px solid #d8d8d8 !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogNavItemLink {
		font-size: 13px !important;
		font-weight: 400 !important;
		height: 45px !important;
		padding: 13px 12px 11px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
		border-bottom-color: #000 !important;
		border-bottom-width: 2px !important;
		color: #000 !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogTabContent {
		height: 380px !important;
		max-height: calc(100vh - 158px) !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogTabContentDetails {
		padding: 0 !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogDetailBody,
	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogDetailBodyContent,
	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogDetailBodyContentTextOverview,
	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogDetailBodyContentCookieContainer {
		height: auto !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogDetailBodyContentCookieContainerTypes {
		padding: 0 18px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CookieCard {
		padding: 10px 0 !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CookieCard:last-child {
		margin-bottom: 0 !important;
		padding-bottom: 10px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogDetailBodyContentCookieContainerHeader {
		min-height: 28px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogDetailBodyContentCookieContainerButton,
	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogDetailBodyContentCookieContainerButton h3 {
		font-size: 13px !important;
		font-weight: 400 !important;
		line-height: 20px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogDetailBodyContentCookieTypeIntro {
		font-size: 12px !important;
		line-height: 1.35 !important;
		padding: 4px 72px 0 30px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogBodyLevelButtonSliderWrapperFullWidth {
		transform: scale(.82) !important;
		transform-origin: right center !important;
	}

	#CybotCookiebotDialog[data-template="popup"] .CybotCookiebotDialogBodyLevelButton:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
		background-color: #111 !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogDetailFooter {
		font-size: 10px !important;
		line-height: 1.3 !important;
		padding: 10px 18px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogFooter {
		border-top: 1px solid #d8d8d8 !important;
		height: 66px !important;
		align-items: center !important;
		padding: 12px 18px !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogFooter > .CybotCookiebotScrollArea {
		height: 36px !important;
		padding: 0 !important;
		width: 100% !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyButtons,
	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogBodyButtonsWrapper {
		height: 36px !important;
		width: 100% !important;
	}

	#CybotCookiebotDialog[data-template="popup"] #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
		font-size: 10px !important;
		min-height: 36px !important;
		padding: 8px 14px !important;
	}

}

@media (max-width: 767px) {
	#CybotCookiebotDialog[data-template="bottom"] {
		bottom: 0 !important;
		left: 0 !important;
		max-width: none !important;
		right: 0 !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
	}

	#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton {
		min-height: 42px !important;
		width: 100% !important;
	}
}
