/* Forest Yarn skin for the Complianz banner.
   Custom properties sit on the banner, so they beat the plugin's :root defaults
   even when Complianz prints its stylesheet later. */

body .cmplz-cookiebanner {
	--cmplz_banner_background_color: #fbf9f6;
	--cmplz_banner_border_color: #d9d9cc;
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 0;
	--cmplz_text_color: #3a3a3a;
	--cmplz_hyperlink_color: #465037;
	--cmplz_text_font_size: 14px;
	--cmplz_link_font_size: 14px;
	--cmplz_title_font_size: 1.65rem;
	--cmplz_button_font_size: 0.72rem;
	--cmplz_button_border_radius: 0;
	--cmplz_button_accept_background_color: #465037;
	--cmplz_button_accept_border_color: #465037;
	--cmplz_button_accept_text_color: #fbf9f6;
	--cmplz_button_deny_background_color: #fbf9f6;
	--cmplz_button_deny_border_color: #d9d9cc;
	--cmplz_button_deny_text_color: #465037;
	--cmplz_button_settings_background_color: #e4e7df;
	--cmplz_button_settings_border_color: #e4e7df;
	--cmplz_button_settings_text_color: #465037;
	--cmplz_slider_active_color: #465037;
	--cmplz_slider_inactive_color: #d9d9cc;
	--cmplz_slider_bullet_color: #fbf9f6;
	--cmplz_category_header_always_active_color: #626a55;
	--cmplz_category_body_font_size: 14px;
	font-family: Inter, Arial, sans-serif;
	color: #3a3a3a;
	line-height: 1.55;
	box-shadow: 0 16px 40px rgb(70 80 55 / 0.08);
}

body .cmplz-cookiebanner .cmplz-title {
	font-family: Gazpacho, Georgia, serif;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.15;
}

body .cmplz-cookiebanner .cmplz-message,
body .cmplz-cookiebanner .cmplz-description {
	color: #68665e;
}

body .cmplz-cookiebanner .cmplz-message a,
body .cmplz-cookiebanner .cmplz-links a {
	color: #465037;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	font-family: Inter, Arial, sans-serif;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background: #f1ece9;
}

body #cmplz-manage-consent {
	display: none !important;
}

@media (max-width: 768px) {
	body .cmplz-cookiebanner {
		--cmplz_text_font_size: 13px;
		--cmplz_text_line_height: 1.35;
		--cmplz_title_font_size: 1.05rem;
		--cmplz_link_font_size: 12px;
		--cmplz_button_font_size: 0.62rem;
		--cmplz_banner_margin: 6px;
		top: auto;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		min-width: 0;
		max-width: none;
		height: auto;
		max-height: none;
		transform: none;
		border-width: 1px 0 0;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
		gap: 6px;
		grid-gap: 6px;
		box-shadow: 0 -8px 24px rgb(70 80 55 / 0.1);
		zoom: 1;
		align-content: start;
	}

	body:has(.pdp-mobile-buy:not(.is-idle)) .cmplz-cookiebanner {
		bottom: calc(4.75rem + env(safe-area-inset-bottom));
		padding-bottom: 8px;
	}

	body .cmplz-cookiebanner .cmplz-divider {
		display: none;
	}

	body .cmplz-cookiebanner .cmplz-header {
		grid-template-columns: 32px minmax(0, 1fr) 32px;
		min-height: 0;
		margin: 0;
	}

	body .cmplz-cookiebanner .cmplz-header .cmplz-title {
		display: block;
	}

	body .cmplz-cookiebanner .cmplz-close {
		display: grid;
		width: 32px;
		height: 32px;
		place-items: center;
	}

	body .cmplz-cookiebanner .cmplz-close svg {
		width: 14px;
		height: 14px;
	}

	body .cmplz-cookiebanner .cmplz-body {
		min-width: 0;
		max-height: none;
		margin: 0;
	}

	body .cmplz-cookiebanner .cmplz-message {
		margin: 0;
	}

	body .cmplz-cookiebanner .cmplz-buttons {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 6px;
		margin: 0;
	}

	body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		min-height: 40px;
		padding: 6px 4px;
		letter-spacing: 0.04em;
		line-height: 1.15;
		white-space: normal;
		zoom: 1;
	}

	body .cmplz-cookiebanner .cmplz-links,
	body .cmplz-cookiebanner .cmplz-documents {
		margin: 0;
		gap: 8px;
	}

	body .cmplz-cookiebanner .cmplz-category .cmplz-category-header {
		grid-template-columns: minmax(0, 1fr) auto 36px !important;
		min-height: 40px;
		padding: 6px 8px;
	}

	body .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) {
		margin-bottom: 6px;
	}

	body .cmplz-cookiebanner.cmplz-categories-visible {
		display: flex;
		flex-direction: column;
		max-height: min(50dvh, 380px);
		overflow: hidden;
	}

	body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-message {
		display: none;
	}

	body:has(.pdp-mobile-buy:not(.is-idle)) .cmplz-cookiebanner.cmplz-categories-visible {
		max-height: min(42dvh, 320px);
	}

	body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-header,
	body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons,
	body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-documents,
	body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-links {
		flex-shrink: 0;
	}

	body .cmplz-cookiebanner.cmplz-categories-visible .cmplz-body {
		flex: 1 1 auto;
		min-height: 0;
		overflow: auto;
	}
}

@media (max-width: 768px) and (max-height: 500px) {
	body .cmplz-cookiebanner {
		max-height: 100dvh;
		zoom: 1;
	}

	body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
	body .cmplz-cookiebanner .cmplz-documents,
	body .cmplz-cookiebanner .cmplz-information,
	body .cmplz-cookiebanner .cmplz-close {
		zoom: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .cmplz-cookiebanner {
		animation: none;
		transition: none;
	}
}

@media print {
	body .cmplz-cookiebanner,
	body #cmplz-manage-consent {
		display: none;
	}
}
