/* Sumeru Floating Contact Bar Stylesheet */

.sumeru-floating-contact-bar {
	position: fixed;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	gap: 12px;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
}

/* Visibility toggling */
.sumeru-floating-contact-bar.sumeru-contact-bar--visible {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/* Positions */
.sumeru-floating-contact-bar.position-bottom-left {
	bottom: var(--sfcb-offset-bottom, 20px);
	left: var(--sfcb-offset-horizontal, 20px);
}

.sumeru-floating-contact-bar.position-bottom-right {
	bottom: var(--sfcb-offset-bottom, 20px);
	right: var(--sfcb-offset-horizontal, 20px);
}

/* Quick Contact Navigation */
.sumeru-floating-contact-bar nav[aria-label="Quick Contact"] {
	display: flex;
	flex-direction: column;
	gap: inherit;
}

/* Contact Link / Button */
.sumeru-contact-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--sfcb-width, 50px);
	height: var(--sfcb-height, 50px);
	border-radius: var(--sfcb-border-radius, 50%);
	background-color: var(--sfcb-bg-color, #56B29D);
	color: var(--sfcb-icon-color, #ffffff);
	text-decoration: none;
	box-shadow: var(--sfcb-box-shadow, 0 4px 10px rgba(0, 0, 0, 0.15));
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
	outline: none;
}

/* SVG Icon Inside Link */
.sumeru-contact-link svg {
	width: var(--sfcb-icon-size, 22px);
	height: var(--sfcb-icon-size, 22px);
	fill: currentColor;
	transition: fill 0.3s ease;
}

/* Hover effects */
.sumeru-contact-link:hover,
.sumeru-contact-link:focus-visible {
	transform: scale(1.15);
	background-color: var(--sfcb-bg-hover, #3e9984);
	color: var(--sfcb-icon-color-hover, #ffffff);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

/* Accessibility Focus Indicator */
.sumeru-contact-link:focus-visible {
	outline: 2px solid #56B29D;
	outline-offset: 3px;
}

/* Tooltip Styles */
.sumeru-contact-link .sumeru-tooltip {
	position: absolute;
	background-color: var(--sfcb-tooltip-bg, #333333);
	color: var(--sfcb-tooltip-color, #ffffff);
	padding: 6px 12px;
	border-radius: 4px;
	font-family: inherit;
	font-size: var(--sfcb-tooltip-font-size, 12px);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
	pointer-events: none;
	z-index: 10000;
	box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

/* Tooltip Positions */
.sumeru-contact-link .sumeru-tooltip.tooltip-left {
	right: calc(100% + 12px);
	top: 50%;
	transform: translateY(-50%) translateX(10px);
}
.sumeru-contact-link:hover .sumeru-tooltip.tooltip-left,
.sumeru-contact-link:focus-visible .sumeru-tooltip.tooltip-left {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
}

.sumeru-contact-link .sumeru-tooltip.tooltip-right {
	left: calc(100% + 12px);
	top: 50%;
	transform: translateY(-50%) translateX(-10px);
}
.sumeru-contact-link:hover .sumeru-tooltip.tooltip-right,
.sumeru-contact-link:focus-visible .sumeru-tooltip.tooltip-right {
	opacity: 1;
	visibility: visible;
	transform: translateY(-50%) translateX(0);
}

.sumeru-contact-link .sumeru-tooltip.tooltip-top {
	bottom: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%) translateY(10px);
}
.sumeru-contact-link:hover .sumeru-tooltip.tooltip-top,
.sumeru-contact-link:focus-visible .sumeru-tooltip.tooltip-top {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.sumeru-contact-link .sumeru-tooltip.tooltip-bottom {
	top: calc(100% + 12px);
	left: 50%;
	transform: translateX(-50%) translateY(-10px);
}
.sumeru-contact-link:hover .sumeru-tooltip.tooltip-bottom,
.sumeru-contact-link:focus-visible .sumeru-tooltip.tooltip-bottom {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* Animations */

/* Fade In */
.sumeru-floating-contact-bar.anim-fade-in {
	transform: scale(0.95);
}
.sumeru-floating-contact-bar.anim-fade-in.sumeru-contact-bar--visible {
	transform: scale(1);
}

/* Slide Left */
.sumeru-floating-contact-bar.anim-slide-left {
	transform: translateX(50px);
}
.sumeru-floating-contact-bar.anim-slide-left.sumeru-contact-bar--visible {
	transform: translateX(0);
}

/* Slide Right */
.sumeru-floating-contact-bar.anim-slide-right {
	transform: translateX(-50px);
}
.sumeru-floating-contact-bar.anim-slide-right.sumeru-contact-bar--visible {
	transform: translateX(0);
}

/* Slide Up */
.sumeru-floating-contact-bar.anim-slide-up {
	transform: translateY(50px);
}
.sumeru-floating-contact-bar.anim-slide-up.sumeru-contact-bar--visible {
	transform: translateY(0);
}

/* Zoom */
.sumeru-floating-contact-bar.anim-zoom {
	transform: scale(0);
}
.sumeru-floating-contact-bar.anim-zoom.sumeru-contact-bar--visible {
	transform: scale(1);
}

/* Responsive display helper classes controlled via CSS variables or Elementor selectors */
@media (max-width: 1024px) {
	.sumeru-floating-contact-bar {
		display: var(--sfcb-tablet-display, flex);
	}
}

@media (max-width: 767px) {
	.sumeru-floating-contact-bar {
		display: var(--sfcb-mobile-display, flex);
	}
}
