/* Floating side widget (desktop only): "Request a Quote" tab + call button.
 * Hidden below 900px. Fixed to the right edge, vertically centred. */
.intimefire-side-widget {
	display: none;
}

@media (min-width: 900px) {
	.intimefire-side-widget {
		position: fixed;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 90;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 0.5rem;
	}

	.intimefire-side-quote,
	.intimefire-side-call {
		display: flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		box-shadow: 0 6px 20px rgba(20, 24, 31, 0.25);
	}

	/* Vertical red tab. */
	.intimefire-side-quote {
		min-width: 48px;
		padding: 1.25rem 0.75rem;
		background: var(--accent, #c8102e);
		color: #fff;
		font-weight: 700;
		font-size: 0.9375rem;
		letter-spacing: 0.04em;
		writing-mode: vertical-rl;
		text-orientation: mixed;
		border-radius: 12px 0 0 12px;
		transition: padding-right 0.2s ease, background 0.2s ease;
	}

	.intimefire-side-quote:hover,
	.intimefire-side-quote:focus-visible {
		background: #a40d25;
		padding-right: 1.25rem;
		color: #fff;
	}

	/* Call button: circle that expands to show the number on hover/focus. */
	.intimefire-side-call {
		gap: 0.625rem;
		height: 48px;
		min-width: 48px;
		padding: 0 0.875rem;
		background: #14181f;
		color: #fff;
		font-weight: 600;
		font-size: 0.9375rem;
		border-radius: 24px 0 0 24px;
		overflow: hidden;
	}

	.intimefire-side-call:hover,
	.intimefire-side-call:focus-visible {
		color: #fff;
	}

	.intimefire-side-call-number {
		display: none;
		white-space: nowrap;
	}

	.intimefire-side-call:hover .intimefire-side-call-number,
	.intimefire-side-call:focus-visible .intimefire-side-call-number {
		display: inline;
	}

	.intimefire-side-quote:focus-visible,
	.intimefire-side-call:focus-visible {
		outline: 3px solid #14181f;
		outline-offset: 2px;
		box-shadow: 0 0 0 5px #fff;
	}
}

@media (prefers-reduced-motion: reduce) {
	.intimefire-side-quote { transition: none; }
}
