/* ==========================================================================
   Hekstro Cookie Revoke – Fingerabdruck-Button (v1.0.2)
   Fixer kreisrunder Button + separate Tooltip-Bubble links daneben.
   Kein Width-Animation auf dem Button → kein abgeschnittener Text mehr.
   ========================================================================== */

:root {
	--hekstro-fp-color:        #1f2937;
	--hekstro-fp-bg:           rgba(255, 255, 255, 0.55);
	--hekstro-fp-color-hover:  #ffffff;
	--hekstro-fp-bg-hover:     rgba(20, 20, 20, 0.92);
	--hekstro-fp-border:       rgba(0, 0, 0, 0.18);
	--hekstro-fp-border-hover: rgba(255, 255, 255, 0.10);
	--hekstro-fp-shadow:       0 4px 14px rgba(0, 0, 0, 0.18);
	--hekstro-fp-size:         44px;
	--hekstro-fp-offset:       18px;
	--hekstro-fp-z:            2147482000;

	/* Tooltip-Bubble */
	--hekstro-fp-tip-bg:       rgba(20, 20, 20, 0.92);
	--hekstro-fp-tip-color:    #ffffff;
}

.hekstro-cookie-revoke {
	position: fixed;
	right: var(--hekstro-fp-offset);
	bottom: var(--hekstro-fp-offset);
	z-index: var(--hekstro-fp-z);

	/* fixe Geometrie — keine Width-Animation mehr */
	width:  var(--hekstro-fp-size);
	height: var(--hekstro-fp-size);
	padding: 0;
	margin:  0;
	box-sizing: border-box;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: var(--hekstro-fp-color);
	background: var(--hekstro-fp-bg);
	border: 1px solid var(--hekstro-fp-border);
	border-radius: 50%;
	box-shadow: var(--hekstro-fp-shadow);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);

	cursor: pointer;
	opacity: 0.6;
	transition:
		opacity      0.18s ease,
		transform    0.18s ease,
		color        0.20s ease,
		background   0.25s ease,
		border-color 0.25s ease;

	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	line-height: 1;
}

.hekstro-cookie-revoke:hover,
.hekstro-cookie-revoke:focus-visible {
	opacity: 1;
	transform: translateY(-1px);
	outline: none;
	color: var(--hekstro-fp-color-hover);
	background: var(--hekstro-fp-bg-hover);
	border-color: var(--hekstro-fp-border-hover);
}

.hekstro-cookie-revoke:focus-visible {
	box-shadow:
		var(--hekstro-fp-shadow),
		0 0 0 3px rgba(255, 255, 255, 0.35);
}

.hekstro-cookie-revoke:active {
	transform: translateY(0);
	opacity: 0.92;
}

/* Icon-Wrapper — feste Pixelgröße statt Prozent (verhindert Verzerrung) */
.hekstro-cookie-revoke__icon {
	display: inline-flex;
	width:  26px;
	height: 26px;
	flex-shrink: 0;
	pointer-events: none;
}

.hekstro-cookie-revoke__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Tooltip-Bubble: absolut links neben dem Button, kein Einfluss auf Button-Breite */
.hekstro-cookie-revoke__text {
	position: absolute;
	right: calc(100% + 10px);
	top: 50%;
	transform: translateY(-50%) translateX(6px);

	display: inline-block;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.2;

	background: var(--hekstro-fp-tip-bg);
	color: var(--hekstro-fp-tip-color);
	padding: 7px 12px;
	border-radius: 999px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.18s ease,
		transform 0.22s cubic-bezier(0.2, 0.7, 0.3, 1),
		visibility 0s linear 0.2s;
}

/* kleines Pfeil-Dreieck Richtung Button */
.hekstro-cookie-revoke__text::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -5px;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
	height: 8px;
	background: var(--hekstro-fp-tip-bg);
	border-radius: 1px;
}

.hekstro-cookie-revoke:hover .hekstro-cookie-revoke__text,
.hekstro-cookie-revoke:focus-visible .hekstro-cookie-revoke__text {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
	transition:
		opacity 0.18s ease,
		transform 0.22s cubic-bezier(0.2, 0.7, 0.3, 1),
		visibility 0s linear 0s;
}

/* Toast nach Klick (oben mittig über Button) */
.hekstro-cookie-revoke--done::before {
	content: attr(data-done-text);
	position: absolute;
	right: 0;
	bottom: calc(100% + 10px);
	background: rgba(20, 20, 20, 0.92);
	color: #fff;
	font-size: 12px;
	padding: 6px 10px;
	border-radius: 6px;
	white-space: nowrap;
	pointer-events: none;
	animation: hekstro-fp-fade 1.6s ease forwards;
}

@keyframes hekstro-fp-fade {
	0%   { opacity: 0; transform: translateY(4px); }
	15%  { opacity: 1; transform: translateY(0); }
	85%  { opacity: 1; }
	100% { opacity: 0; transform: translateY(-2px); }
}

/* Mobile */
@media (max-width: 600px) {
	.hekstro-cookie-revoke {
		--hekstro-fp-size: 40px;
		--hekstro-fp-offset: 14px;
	}
	.hekstro-cookie-revoke__icon {
		width: 22px;
		height: 22px;
	}
	/* Tooltip auf Touch-Geräten ausblenden — title-Attribut bleibt */
	.hekstro-cookie-revoke__text {
		display: none;
	}
}

/* Druck */
@media print {
	.hekstro-cookie-revoke {
		display: none !important;
	}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.hekstro-cookie-revoke,
	.hekstro-cookie-revoke__text,
	.hekstro-cookie-revoke--done::before {
		transition: none;
		animation: none;
	}
}

/* Dark-Mode-freundlicher Default */
@media (prefers-color-scheme: dark) {
	:root {
		--hekstro-fp-color:        #f3f4f6;
		--hekstro-fp-bg:           rgba(20, 20, 20, 0.55);
		--hekstro-fp-color-hover:  #111111;
		--hekstro-fp-bg-hover:     rgba(245, 245, 245, 0.94);
		--hekstro-fp-border:       rgba(255, 255, 255, 0.22);
		--hekstro-fp-border-hover: rgba(0, 0, 0, 0.10);
		--hekstro-fp-shadow:       0 4px 14px rgba(0, 0, 0, 0.55);
		--hekstro-fp-tip-bg:       rgba(245, 245, 245, 0.94);
		--hekstro-fp-tip-color:    #111111;
	}
}
