/* ------------------------------------------------------------------
 * Desinsect13000 Anthropic — Floating actions
 * Three stacked circular buttons bottom-right: phone, WhatsApp, scroll-top.
 * Uses tokens.css palette. Hairline borders, soft warm shadow on hover.
 * ------------------------------------------------------------------ */

.d13a-floating {
	position: fixed;
	right: clamp(16px, 2.2vw, 28px);
	bottom: clamp(110px, 14vw, 160px);
	z-index: 950;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	pointer-events: none;
}
.d13a-floating > * { pointer-events: auto; }

/* ----- Base button ----- */
.d13a-floating__btn {
	width: 56px;
	height: 56px;
	border-radius: var(--radius-full, 9999px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border, oklch(0.88 0.012 70));
	background: var(--color-surface, #ffffff);
	color: var(--color-text-primary, #2a2520);
	box-shadow:
		0 1px 2px oklch(0.3 0.02 45 / 0.08),
		0 6px 18px oklch(0.3 0.02 45 / 0.10);
	cursor: pointer;
	position: relative;
	text-decoration: none;
	transition:
		transform var(--duration-base, 220ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
		box-shadow var(--duration-base, 220ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
		background var(--duration-base, 220ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
		color var(--duration-base, 220ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
		border-color var(--duration-base, 220ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1));
}
.d13a-floating__btn:hover {
	transform: translateY(-2px);
	box-shadow:
		0 2px 4px oklch(0.3 0.02 45 / 0.10),
		0 14px 28px oklch(0.3 0.02 45 / 0.16);
}
.d13a-floating__btn:focus-visible {
	outline: 2px solid var(--color-focus-ring, oklch(0.62 0.16 35 / 0.35));
	outline-offset: 3px;
}
.d13a-floating__btn svg { display: block; }

/* ----- Phone button — terracotta accent surface ----- */
.d13a-floating__btn--phone {
	background: var(--color-accent, #c76d54);
	color: var(--color-on-accent, #ffffff);
	border-color: var(--color-accent, #c76d54);
	box-shadow:
		0 2px 4px oklch(0.62 0.16 35 / 0.18),
		0 8px 22px oklch(0.62 0.16 35 / 0.22);
}
.d13a-floating__btn--phone:hover {
	background: var(--color-accent-hover, #b3543d);
	color: var(--color-on-accent, #ffffff);
	border-color: var(--color-accent-hover, #b3543d);
}

/* Soft pulse halo on phone button — visible all sizes, subtler on desktop */
.d13a-floating__pulse {
	position: absolute;
	inset: 0;
	border-radius: var(--radius-full, 9999px);
	border: 2px solid var(--color-accent, #c76d54);
	opacity: 0;
	pointer-events: none;
	animation: d13a-floating-pulse 2.6s ease-out infinite;
}
@keyframes d13a-floating-pulse {
	0%        { transform: scale(1);    opacity: 0.55; }
	80%, 100% { transform: scale(1.55); opacity: 0;    }
}

/* ----- WhatsApp button — official brand green ----- */
.d13a-floating__btn--whatsapp {
	background: #25D366;
	color: #ffffff;
	border-color: #1fb558;
	box-shadow:
		0 2px 4px rgba(37, 211, 102, 0.22),
		0 8px 22px rgba(37, 211, 102, 0.28);
}
.d13a-floating__btn--whatsapp:hover {
	background: #1fb558;
	border-color: #189c4b;
	color: #ffffff;
}

/* ----- Scroll-top — cream surface, charcoal arrow ----- */
.d13a-floating__btn--top {
	width: 48px;
	height: 48px;
	background: var(--color-bg-secondary, oklch(0.96 0.015 75));
	color: var(--color-text-primary, #2a2520);
	border: 1px solid var(--color-border, oklch(0.88 0.012 70));
	animation: d13a-floating-fade-in var(--duration-base, 220ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)) both;
}
.d13a-floating__btn--top:hover {
	background: var(--color-text-primary, #2a2520);
	color: var(--color-bg, oklch(0.98 0.012 80));
	border-color: var(--color-text-primary, #2a2520);
}
.d13a-floating__btn--top[hidden] { display: none; }

@keyframes d13a-floating-fade-in {
	from { opacity: 0; transform: translateY(8px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* ----- Mobile ----- */
@media (max-width: 768px) {
	.d13a-floating {
		right: 12px;
		bottom: 100px;
		gap: 8px;
	}
	.d13a-floating__btn {
		width: 44px;
		height: 44px;
	}
	.d13a-floating__btn svg { width: 18px; height: 18px; }
	.d13a-floating__btn--top {
		width: 38px;
		height: 38px;
	}
	.d13a-floating__btn--top svg { width: 16px; height: 16px; }
}

/* ----- A11y / motion ----- */
@media (prefers-reduced-motion: reduce) {
	.d13a-floating__btn,
	.d13a-floating__btn--top {
		transition: none;
		animation: none;
	}
	.d13a-floating__pulse { display: none; }
}

/* ----- Print ----- */
@media print {
	.d13a-floating { display: none !important; }
}
