/**
 * Emergency Floating Button - global front end styles.
 *
 * A fixed-position pill button, rendered once in the footer on every front
 * end page. Every color, size and timing value the admin settings screen
 * exposes is read from a CSS custom property declared inline on the button
 * itself (see Emergency_Button::build_dynamic_css()); the values below are
 * fallbacks only.
 *
 * @package Unchained\Relocation_Calculator
 * @since   2.3.0
 */

.unchained-rc-emergency-btn {
	box-sizing: border-box;
	position: fixed;
	bottom: 24px;
	display: inline-flex;
	align-items: center;
	gap: 10px;

	background: var( --unchained-rc-emergency-bg, linear-gradient(135deg, #4f8cff, #00e5ff) );
	color: var( --unchained-rc-emergency-text, #ffffff );
	border-radius: var( --unchained-rc-emergency-radius, 999px );
	box-shadow: var( --unchained-rc-emergency-shadow, 0 10px 30px rgba(79, 140, 255, 0.35) );
	padding: var( --unchained-rc-emergency-padding-v, 16px ) var( --unchained-rc-emergency-padding-h, 28px );

	font-family: inherit;
	font-size: var( --unchained-rc-emergency-font-size, 15px );
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	text-decoration: none;

	z-index: var( --unchained-rc-emergency-zindex, 999999 );
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease, filter 0.25s ease;
}

.unchained-rc-emergency-btn--bottom-right {
	right: 24px;
}

.unchained-rc-emergency-btn--bottom-left {
	left: 24px;
}

.unchained-rc-emergency-btn:hover,
.unchained-rc-emergency-btn:focus-visible {
	color: var( --unchained-rc-emergency-text, #ffffff );
	transform: translateY(-3px) scale(1.02);
	filter: brightness(1.08);
	box-shadow: var( --unchained-rc-emergency-shadow, 0 10px 30px rgba(79, 140, 255, 0.35) ), 0 4px 18px rgba(0, 0, 0, 0.2);
}

.unchained-rc-emergency-btn:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

.unchained-rc-emergency-btn:active {
	transform: translateY(-1px) scale(0.99);
}

.unchained-rc-emergency-btn__icon {
	flex-shrink: 0;
	display: inline-flex;
	line-height: 0;
}

.unchained-rc-emergency-btn__text {
	display: inline-block;
}

/* Tablet. */
@media (max-width: 1024px) {
	.unchained-rc-emergency-btn {
		bottom: 20px;
	}

	.unchained-rc-emergency-btn--bottom-right {
		right: 20px;
	}

	.unchained-rc-emergency-btn--bottom-left {
		left: 20px;
	}
}

/* Mobile. */
@media (max-width: 767px) {
	.unchained-rc-emergency-btn {
		bottom: 16px;
	}

	.unchained-rc-emergency-btn--bottom-right {
		right: 16px;
	}

	.unchained-rc-emergency-btn--bottom-left {
		left: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.unchained-rc-emergency-btn {
		transition-duration: 0.01ms !important;
	}
}
