:root { --aiss-wa-b: 24px; --aiss-wa-r: 24px; --aiss-wa-s: 60px; }
:root:has(#tidio-chat) { --aiss-wa-b: 100px; }
@media (max-width: 767px) {
	:root { --aiss-wa-b: 16px; --aiss-wa-r: 16px; --aiss-wa-s: 56px; }
	:root:has(#tidio-chat) { --aiss-wa-b: 92px; }
}

.aiss-wa {
	position: fixed; z-index: 900; right: var(--aiss-wa-r); bottom: var(--aiss-wa-b);
	display: flex; align-items: center; justify-content: center;
	width: var(--aiss-wa-s); height: var(--aiss-wa-s); box-sizing: border-box; border-radius: 50%;
	background: #25D366; color: #fff; text-decoration: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
	transition: transform .15s ease, box-shadow .15s ease;
}
.aiss-wa svg { display: block; width: 32px; height: 32px; position: relative; }
@media (max-width: 767px) { .aiss-wa svg { width: 28px; height: 28px; } }
.aiss-wa:hover { color: #fff; transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 0, 0, .26); }
.aiss-wa:focus-visible { outline: 3px solid #00476b; outline-offset: 3px; color: #fff; }

.aiss-wa::before {
	content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
	box-shadow: 0 0 0 0 rgba(37, 211, 102, .55);
	animation: aiss-wa-pulse 1.4s ease-out 3s 1 both;
}
@keyframes aiss-wa-pulse {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
	100% { box-shadow: 0 0 0 22px rgba(37, 211, 102, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.aiss-wa::before { animation: none; }
	.aiss-wa { transition: none; }
	.aiss-wa:hover { transform: none; }
}

.aiss-wa__tip { display: none; }
@media (min-width: 768px) and (hover: hover) {
	.aiss-wa__tip {
		display: block; position: absolute; right: calc(100% + 12px); top: 50%; transform: translateY(-50%);
		padding: 8px 12px; border-radius: 4px; background: #fff; color: #00476b;
		font: 600 14px/1.2 'Source Sans Pro', sans-serif; white-space: nowrap;
		box-shadow: 0 2px 12px rgba(0, 0, 0, .18), 0 0 0 1px rgba(0, 71, 107, .08);
		opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s ease, visibility 0s linear .15s;
	}
	.aiss-wa__tip::after {
		content: ""; position: absolute; top: 50%; right: -4px; width: 8px; height: 8px; margin-top: -4px;
		background: #fff; transform: rotate(45deg); box-shadow: 1px -1px 0 0 rgba(0, 71, 107, .08);
	}
	.aiss-wa:hover .aiss-wa__tip, .aiss-wa:focus-visible .aiss-wa__tip { opacity: 1; visibility: visible; transition-delay: 0s; }
}

html.aiss-drawer-open .aiss-wa { display: none; }
@media print { .aiss-wa { display: none; } }

.aiss-recaptcha-note { max-width: 60ch; }
@media (max-width: 767px) {
	.aiss-recaptcha-note { max-width: none; padding-right: calc(var(--aiss-wa-r) + var(--aiss-wa-s) + 8px); box-sizing: border-box; }
}
