/* IWT Call & Book Now Tracker — floating buttons
   Powered by Instant Web Tools, LLC — instantwebtools.co */

.iwtcbt-float {
	position: fixed;
	bottom: calc(20px + env(safe-area-inset-bottom, 0px)); /* iPhone home-bar safe */
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	z-index: 9990; /* High, but below typical popup/lightbox layers (99999+) */
}
.iwtcbt-float--right { right: calc(20px + env(safe-area-inset-right, 0px)); }
.iwtcbt-float--left  { left:  calc(20px + env(safe-area-inset-left, 0px)); align-items: flex-start; }

.iwtcbt-float-btn {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-height: 56px;               /* Accessibility touch target */
	padding: 0 20px;
	border-radius: 999px;
	background: var(--iwtcbt-btn, #00a32a);
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	transition: transform .15s ease, box-shadow .15s ease;
	-webkit-tap-highlight-color: transparent;
}
.iwtcbt-float-btn:hover,
.iwtcbt-float-btn:focus {
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
}
.iwtcbt-float-ico { flex: 0 0 auto; }
.iwtcbt-float-text { white-space: nowrap; }

/* Icon-only mode: perfect circles */
.iwtcbt-float--iconsonly .iwtcbt-float-btn {
	width: 56px;
	padding: 0;
	justify-content: center;
}

/* Gentle attention pulse (pure CSS, GPU-friendly, respects reduced motion) */
.iwtcbt-float-pulse { animation: iwtcbt-pulse 2.4s ease-out infinite; }
@keyframes iwtcbt-pulse {
	0%   { box-shadow: 0 4px 14px rgba(0, 0, 0, .25), 0 0 0 0 var(--iwtcbt-btn, #00a32a); }
	60%  { box-shadow: 0 4px 14px rgba(0, 0, 0, .25), 0 0 0 14px rgba(0, 0, 0, 0); }
	100% { box-shadow: 0 4px 14px rgba(0, 0, 0, .25), 0 0 0 0 rgba(0, 0, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.iwtcbt-float-pulse { animation: none; }
}

/* Mobile-only visibility (782px = WordPress's own mobile breakpoint) */
@media (min-width: 783px) {
	.iwtcbt-float--mobileonly { display: none; }
}

/* Don't cover content when printing */
@media print {
	.iwtcbt-float { display: none; }
}
