/**
 * Fixed actions owned by Index.pe Travel Core, independent of Elementor layout.
 * Booking bar always wins. Scoped classes protect regular CTA/buttons elsewhere.
 */
.idx-floating-actions {
	position: fixed;
	inset-inline: 0;
	bottom: max(20px, calc(12px + env(safe-area-inset-bottom, 0px)));
	z-index: 94; /* The booking dock has z-index: 95. */
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	padding-inline: max(22px, env(safe-area-inset-left, 0px)) max(22px, env(safe-area-inset-right, 0px));
	box-sizing: border-box;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	font-family: var(--idx-font-body, "Manrope", sans-serif);
	transition: opacity 180ms ease, visibility 180ms ease;
}
.idx-floating-actions.is-idx-ready:not(.is-idx-suppressed) {
	visibility: visible;
	opacity: 1;
}
/* Instant CSS interlock when booking bar changes, even before the JS observer. */
body:has([data-idx-booking-bar].is-idx-visible) .idx-floating-actions,
body:has([data-idx-booking-bar][aria-hidden="false"]:not(.is-idx-editor-preview)) .idx-floating-actions,
.idx-floating-actions.is-idx-suppressed {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}
.idx-floating-actions__whatsapp,
.idx-floating-actions__top {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	pointer-events: auto;
	box-sizing: border-box;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition: transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease, opacity 200ms ease;
}
.idx-floating-actions__whatsapp {
	width: 58px;
	height: 58px;
	min-width: 58px;
	min-height: 58px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 999px;
	background: #25D366;
	color: #fff !important;
	box-shadow: 0 8px 24px rgba(37, 211, 102, .22), 0 3px 9px rgba(15,80,41,.14);
}
.idx-floating-actions__whatsapp::before {
	content: "";
	position: absolute;
	inset: -4px;
	border: 1.5px solid rgba(37, 211, 102, .50);
	border-radius: inherit;
	pointer-events: none;
	animation: idx-floating-whatsapp-ring 3.5s ease-out infinite;
}
.idx-floating-actions__whatsapp:hover {
	background: #25D366;
	color: #fff;
	transform: translateY(-3px) scale(1.03);
	box-shadow: 0 12px 29px rgba(37, 211, 102, .25), 0 3px 10px rgba(5,39,32,.12);
}
.idx-floating-actions__whatsapp:active { transform: translateY(-1px); }
.idx-floating-actions__whatsapp:focus-visible,
.idx-floating-actions__top:focus-visible {
	outline: 3px solid #f8c675;
	outline-offset: 4px;
}
.idx-floating-actions__whatsapp-icon,
.idx-floating-actions__whatsapp-icon svg {
	width: 29px;
	height: 29px;
	min-width: 29px;
	max-width: 29px;
	display: block;
	fill: currentColor;
}
.idx-floating-actions__whatsapp-icon svg {
	stroke: none;
	overflow: visible;
}
.idx-floating-actions__top {
	width: 50px;
	height: 50px;
	margin-inline-start: auto;
	padding: 0;
	border: 1px solid rgba(25, 49, 55, .12);
	border-radius: 999px;
	background: #f8f7f2;
	color: #19363a;
	box-shadow: 0 6px 22px rgba(16,35,37,.13), 0 2px 5px rgba(16,35,37,.06);
}
.idx-floating-actions__top svg { display:block; width:23px; height:23px; }
.idx-floating-actions__top:hover {
	background: #e7eae3;
	transform: translateY(-3px);
	box-shadow: 0 9px 25px rgba(16,35,37,.18);
}
.idx-floating-actions__top:not(.is-idx-top-visible) {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(12px);
}
@keyframes idx-floating-whatsapp-ring {
	0%, 48% { opacity: 0; transform: scale(1); }
	55% { opacity: .65; transform: scale(1); }
	86%, 100% { opacity: 0; transform: scale(1.17); }
}
@media (max-width: 767px) {
	.idx-floating-actions {
		gap: 10px;
		bottom: max(14px, calc(8px + env(safe-area-inset-bottom, 0px)));
		padding-inline: max(14px, env(safe-area-inset-left, 0px)) max(14px, env(safe-area-inset-right, 0px));
	}
	.idx-floating-actions__whatsapp {
		width: 54px;
		height: 54px;
		min-width: 54px;
		min-height: 54px;
	}
	.idx-floating-actions__whatsapp-icon,
	.idx-floating-actions__whatsapp-icon svg {
		width: 28px;
		height: 28px;
		min-width: 28px;
		max-width: 28px;
	}
	.idx-floating-actions__top { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
	.idx-floating-actions,
	.idx-floating-actions__whatsapp,
	.idx-floating-actions__top { transition: none; }
	.idx-floating-actions__whatsapp::before { animation: none; opacity: 0; }
}
@media print {
	.idx-floating-actions { display: none !important; }
}
body.elementor-editor-active .idx-floating-actions { display: none !important; }
