/**
 * Webscart Agency Website — Scoped Floating WhatsApp Contact Button
 *
 * Strictly scoped to `.ws-whatsapp-fab-wrap` so zero global styles leak onto
 * Insights posts, archives, or non-shortcode WordPress pages.
 *
 * Placement & collision safety:
 * - Bottom-right viewport placement respecting iOS/Android `env(safe-area-inset-*)`.
 * - Controlled z-index (880): above page content, below sticky `.ws-header` (900),
 *   mobile navigation drawer (980-990), and `#wpadminbar` (99999).
 * - Automatically steps above Astra's `#ast-scroll-top` on non-canvas theme pages
 *   and above common cookie consent bars when present.
 * - Automatically hides while `#ws-mobile-drawer` is open so mobile navigation is unobstructed.
 */

.ws-whatsapp-fab-wrap {
	position: fixed;
	right: max(1.25rem, calc(env(safe-area-inset-right, 0px) + 1rem));
	bottom: max(1.25rem, calc(env(safe-area-inset-bottom, 0px) + 1rem));
	z-index: 880;
	pointer-events: none;
	box-sizing: border-box;
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Step cleanly above theme back-to-top controls on non-canvas blog/insights/public pages */
body:not(.ws-canvas-active):not(.ws-plugin-footer-active):has(#ast-scroll-top) .ws-whatsapp-fab-wrap,
body:not(.ws-canvas-active):not(.ws-plugin-footer-active):has(.back-to-top) .ws-whatsapp-fab-wrap {
	bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px));
}

/* Step above fixed bottom cookie banners when visible */
body:has(.cmplz-cookiebanner.cmplz-show) .ws-whatsapp-fab-wrap,
body:has(#cookie-law-info-bar[style*="display: block"]) .ws-whatsapp-fab-wrap,
body:has(.cky-consent-container:not(.cky-hide)) .ws-whatsapp-fab-wrap {
	bottom: calc(6rem + env(safe-area-inset-bottom, 0px));
}

/* Hide cleanly while Webscart mobile navigation drawer is open */
html:has(.ws-drawer:not([hidden])) .ws-whatsapp-fab-wrap {
	opacity: 0;
	visibility: hidden;
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab {
	pointer-events: auto;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 9999px;
	background-color: #15803D;
	background-image: linear-gradient(145deg, #22C55E 0%, #16A34A 52%, #15803D 100%);
	color: #FFFFFF;
	text-decoration: none;
	border: 2px solid rgba(255, 255, 255, 0.92);
	box-shadow: 0 12px 28px -6px rgba(10, 25, 47, 0.34), 0 4px 10px -2px rgba(21, 128, 61, 0.36);
	transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1), background-color 200ms ease;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab:hover {
	color: #FFFFFF;
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 18px 34px -6px rgba(10, 25, 47, 0.42), 0 6px 14px -2px rgba(21, 128, 61, 0.45);
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab:focus-visible {
	outline: 3px solid #2563EB;
	outline-offset: 3px;
	color: #FFFFFF;
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab__svg {
	width: 27px;
	height: 27px;
	display: block;
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab__tooltip {
	position: absolute;
	right: calc(100% + 0.65rem);
	top: 50%;
	transform: translateY(-50%) translateX(4px);
	padding: 0.42rem 0.78rem;
	border-radius: 9999px;
	background-color: #0A192F;
	color: #FFFFFF;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 8px 20px -4px rgba(10, 25, 47, 0.28);
	border: 1px solid rgba(148, 163, 184, 0.24);
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease, transform 180ms ease;
}

.ws-whatsapp-fab-wrap .ws-whatsapp-fab:hover .ws-whatsapp-fab__tooltip,
.ws-whatsapp-fab-wrap .ws-whatsapp-fab:focus-visible .ws-whatsapp-fab__tooltip {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

@media (max-width: 768px) {
	.ws-whatsapp-fab-wrap {
		right: max(0.875rem, calc(env(safe-area-inset-right, 0px) + 0.75rem));
		bottom: max(0.875rem, calc(env(safe-area-inset-bottom, 0px) + 0.75rem));
	}

	.ws-whatsapp-fab-wrap .ws-whatsapp-fab {
		width: 50px;
		height: 50px;
	}

	.ws-whatsapp-fab-wrap .ws-whatsapp-fab__svg {
		width: 25px;
		height: 25px;
	}

	.ws-whatsapp-fab-wrap .ws-whatsapp-fab__tooltip {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ws-whatsapp-fab-wrap .ws-whatsapp-fab,
	.ws-whatsapp-fab-wrap .ws-whatsapp-fab__tooltip {
		transition: none;
	}

	.ws-whatsapp-fab-wrap .ws-whatsapp-fab:hover {
		transform: none;
	}
}

@media print {
	.ws-whatsapp-fab-wrap {
		display: none !important;
	}
}
