/*
 * Leni Rosenbauer_Cookie-Consent
 * Erstellt von Leni Rosenbauer
 *
 * Ausschliesslich Theme-Tokens (--wp--preset--*, --wp--custom--*).
 * Keine eigenen Farbwerte. Faellt ein Token aus, greift ein neutraler Ersatz.
 */

.lr-cc {
	position: fixed;
	right: var(--wp--custom--gutter, 1.25rem);
	bottom: var(--wp--custom--gutter, 1.25rem);
	left: var(--wp--custom--gutter, 1.25rem);
	z-index: var(--wp--custom--z--overlay, 200);
	max-width: 40rem;
	margin-inline: auto;
	border: 1px solid var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--l, 18px);
	background-color: var(--wp--preset--color--surface);
	box-shadow: var(--wp--preset--shadow--lifted, 0 12px 32px rgba(0, 0, 0, 0.18));
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--text, inherit);
}

.lr-cc[hidden] {
	display: none !important;
}

.lr-cc:focus {
	outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--brand-secondary);
	outline-offset: var(--wp--custom--focus--offset, 3px);
}

.lr-cc__inner {
	padding: var(--wp--preset--spacing--l, 1.75rem);
}

.lr-cc__title {
	margin: 0 0 var(--wp--preset--spacing--xs, 0.6rem);
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: var(--wp--preset--font-size--xl, 1.5rem);
	font-weight: 400;
	line-height: var(--wp--custom--line-height--tight, 1.1);
	letter-spacing: var(--wp--custom--tracking--normal, 0);
}

.lr-cc__text {
	margin: 0 0 var(--wp--preset--spacing--m, 1.25rem);
	font-size: var(--wp--preset--font-size--sm, 0.9375rem);
	line-height: var(--wp--custom--line-height--body, 1.62);
}

.lr-cc__link {
	color: inherit;
	text-underline-offset: 0.2em;
}

.lr-cc__link:focus {
	outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--brand-secondary);
	outline-offset: var(--wp--custom--focus--offset, 3px);
}

/* ---------- Einstellungsklappe ---------- */

.lr-cc__details {
	margin: 0 0 var(--wp--preset--spacing--m, 1.25rem);
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: var(--wp--preset--spacing--xs, 0.6rem);
}

.lr-cc__summary {
	cursor: pointer;
	padding: 0.35em 0;
	font-size: var(--wp--preset--font-size--sm, 0.9375rem);
	font-weight: 600;
}

.lr-cc__summary:focus-visible {
	outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--brand-secondary);
	outline-offset: var(--wp--custom--focus--offset, 3px);
}

.lr-cc__list {
	margin: var(--wp--preset--spacing--s, 0.85rem) 0 0;
	padding: 0;
	list-style: none;
}

.lr-cc__item {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: var(--wp--preset--spacing--xs, 0.6rem);
	margin: 0 0 var(--wp--preset--spacing--s, 0.85rem);
}

.lr-cc__checkbox {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0.15rem 0 0;
	accent-color: var(--wp--preset--color--brand-primary);
}

.lr-cc__item-label {
	display: block;
	font-size: var(--wp--preset--font-size--sm, 0.9375rem);
	line-height: var(--wp--custom--line-height--normal, 1.5);
}

.lr-cc__item-title {
	display: block;
	font-weight: 600;
}

.lr-cc__item-text {
	display: block;
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--xs, 0.8125rem);
	line-height: var(--wp--custom--line-height--normal, 1.5);
}

.lr-cc__badge {
	display: inline-block;
	margin-left: var(--wp--preset--spacing--2xs, 0.35rem);
	padding: 0.1em 0.6em;
	border-radius: var(--wp--custom--radius--pill, 999px);
	background-color: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--xs, 0.8125rem);
	font-weight: 400;
	letter-spacing: var(--wp--custom--tracking--wide, 0.02em);
}

.lr-cc__details-actions {
	margin: 0;
}

/* ---------- Knoepfe ---------- */

.lr-cc__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--xs, 0.6rem);
	margin: 0;
}

.lr-cc__button {
	display: inline-block;
	padding: 0.7em 1.4em;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--pill, 999px);
	cursor: pointer;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--sm, 0.9375rem);
	font-weight: 600;
	line-height: var(--wp--custom--line-height--snug, 1.35);
	text-align: center;
	transition:
		background-color var(--wp--custom--dur--fast, 150ms) var(--wp--custom--ease--out, ease-out),
		color var(--wp--custom--dur--fast, 150ms) var(--wp--custom--ease--out, ease-out);
}

.lr-cc__button:focus-visible {
	outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--brand-secondary);
	outline-offset: var(--wp--custom--focus--offset, 3px);
}

.lr-cc__button--primary {
	background-color: var(--wp--preset--color--brand-primary);
	color: var(--wp--preset--color--on-brand);
}

.lr-cc__button--primary:hover {
	background-color: var(--wp--preset--color--brand-secondary);
	color: var(--wp--preset--color--text-inverse);
}

.lr-cc__button--secondary {
	border-color: var(--wp--preset--color--line-strong);
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

.lr-cc__button--secondary:hover {
	background-color: var(--wp--preset--color--surface-alt);
}

.lr-cc__button--quiet {
	border-color: var(--wp--preset--color--line-strong);
	background-color: transparent;
	color: var(--wp--preset--color--ink);
}

.lr-cc__button--quiet:hover {
	background-color: var(--wp--preset--color--surface-alt);
}

.lr-cc__saved {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ---------- Platzhalter fuer externe Inhalte ---------- */

.lr-consent-placeholder {
	padding: var(--wp--preset--spacing--l, 1.75rem);
	border: 1px dashed var(--wp--preset--color--line-strong);
	border-radius: var(--wp--custom--radius--xl, 26px);
	background-color: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--ink);
}

.lr-consent-placeholder__title {
	margin: 0 0 var(--wp--preset--spacing--2xs, 0.35rem);
	font-family: var(--wp--preset--font-family--display, inherit);
	font-size: var(--wp--preset--font-size--xl, 1.5rem);
	font-weight: 400;
}

.lr-consent-placeholder__text {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm, 0.9375rem);
	line-height: var(--wp--custom--line-height--body, 1.62);
}

.lr-consent-placeholder__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--xs, 0.6rem);
	margin: var(--wp--preset--spacing--m, 1.25rem) 0 0;
}

.lr-consent-placeholder__note {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--xs, 0.8125rem);
	line-height: var(--wp--custom--line-height--normal, 1.5);
}

.lr-consent-frame {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--wp--custom--radius--xl, 26px);
}

@media (max-width: 600px) {
	.lr-cc__inner {
		padding: var(--wp--preset--spacing--m, 1.25rem);
	}

	.lr-cc__actions .lr-cc__button {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lr-cc__button {
		transition: none;
	}
}
