/*
 * The widget deliberately uses a strong reset and !important on layout rules.
 * Many commercial themes apply global button/SVG styles; without isolation they
 * can stretch the toggle to full width or add decorative pseudo-elements.
 */
.fmb-widget[data-fmb-widget],
.fmb-widget[data-fmb-widget] *,
.fmb-widget[data-fmb-widget] *::before,
.fmb-widget[data-fmb-widget] *::after {
	box-sizing: border-box !important;
}

.fmb-widget[data-fmb-widget] {
	--fmb-bg: #bd6f52;
	--fmb-icon: #fff;
	--fmb-size: 94px;
	--fmb-gap: 16px;
	--fmb-bottom: 46px;
	--fmb-menu-height: 94px;
	position: fixed !important;
	top: auto !important;
	bottom: calc(var(--fmb-bottom) + env(safe-area-inset-bottom, 0px)) !important;
	z-index: 2147483000 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: var(--fmb-gap) !important;
	width: var(--fmb-size) !important;
	min-width: var(--fmb-size) !important;
	max-width: var(--fmb-size) !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 1 !important;
	text-align: initial !important;
	transform: none !important;
	filter: none !important;
	perspective: none !important;
	isolation: isolate !important;
	contain: layout style !important;
	pointer-events: auto !important;
}

.fmb-widget[data-fmb-widget]::before,
.fmb-widget[data-fmb-widget]::after,
.fmb-widget[data-fmb-widget] *::before,
.fmb-widget[data-fmb-widget] *::after {
	content: none !important;
	display: none !important;
}

.fmb-widget[data-fmb-widget] > .fmb-widget__items {
	all: unset !important;
	box-sizing: border-box !important;
	list-style: none !important;
	width: var(--fmb-size) !important;
	min-width: var(--fmb-size) !important;
	max-width: var(--fmb-size) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: var(--fmb-gap) !important;
	max-height: var(--fmb-menu-height) !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	overflow: visible !important;
	pointer-events: auto !important;
	transition: opacity .22s ease, transform .22s ease, visibility .22s ease, max-height .28s ease !important;
}

.fmb-widget[data-fmb-widget]:not(.is-open) > .fmb-widget__items {
	max-height: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(18px) !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

.fmb-widget[data-fmb-widget] .fmb-widget__item {
	all: unset !important;
	box-sizing: border-box !important;
	list-style: none !important;
	display: block !important;
	width: var(--fmb-size) !important;
	height: var(--fmb-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.fmb-widget[data-fmb-widget] a.fmb-widget__button,
.fmb-widget[data-fmb-widget] button.fmb-widget__button {
	all: unset !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box !important;
	position: relative !important;
	display: grid !important;
	place-items: center !important;
	flex: 0 0 var(--fmb-size) !important;
	width: var(--fmb-size) !important;
	min-width: var(--fmb-size) !important;
	max-width: var(--fmb-size) !important;
	height: var(--fmb-size) !important;
	min-height: var(--fmb-size) !important;
	max-height: var(--fmb-size) !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 !important;
	padding: calc(var(--fmb-size) * .22) !important;
	border: 0 !important;
	border-radius: 50% !important;
	outline: 0 !important;
	background-color: var(--fmb-bg) !important;
	background-image: none !important;
	color: var(--fmb-icon) !important;
	box-shadow: 0 8px 15px rgba(0, 0, 0, .25) !important;
	font: normal 400 0/1 sans-serif !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-indent: 0 !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: normal !important;
	overflow: visible !important;
	cursor: pointer !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	filter: none !important;
	transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
}

.fmb-widget[data-fmb-widget] a.fmb-widget__button:hover,
.fmb-widget[data-fmb-widget] button.fmb-widget__button:hover {
	color: var(--fmb-icon) !important;
	background-color: var(--fmb-bg) !important;
	transform: translateY(-2px) scale(1.025) !important;
	filter: brightness(1.05) !important;
	box-shadow: 0 10px 20px rgba(0, 0, 0, .3) !important;
}

.fmb-widget[data-fmb-widget] a.fmb-widget__button:focus,
.fmb-widget[data-fmb-widget] button.fmb-widget__button:focus {
	color: var(--fmb-icon) !important;
	background-color: var(--fmb-bg) !important;
}

.fmb-widget[data-fmb-widget] a.fmb-widget__button:focus-visible,
.fmb-widget[data-fmb-widget] button.fmb-widget__button:focus-visible {
	outline: 3px solid var(--fmb-icon) !important;
	outline-offset: 4px !important;
}

.fmb-widget[data-fmb-widget] .fmb-widget__toggle {
	flex: 0 0 var(--fmb-size) !important;
}

.fmb-widget[data-fmb-widget] .fmb-widget__toggle-open,
.fmb-widget[data-fmb-widget] .fmb-widget__toggle-close {
	all: unset !important;
	box-sizing: border-box !important;
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	background: transparent !important;
	line-height: 0 !important;
}

.fmb-widget[data-fmb-widget] .fmb-widget__toggle-close,
.fmb-widget[data-fmb-widget].is-open .fmb-widget__toggle-open {
	display: none !important;
}

.fmb-widget[data-fmb-widget].is-open .fmb-widget__toggle-close {
	display: grid !important;
}



.fmb-widget[data-fmb-widget] .fmb-widget__icon-wrap {
	all: unset !important;
	box-sizing: border-box !important;
	display: grid !important;
	place-items: center !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	line-height: 0 !important;
	overflow: visible !important;
}

.fmb-widget[data-fmb-widget] .fmb-widget__icon-wrap > img,
.fmb-widget[data-fmb-widget] img.fmb-widget__custom-image {
	all: unset !important;
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	overflow: visible !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
}

.fmb-widget[data-fmb-widget] svg.fmb-widget__icon {
	all: unset !important;
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	overflow: visible !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
}

.fmb-widget[data-fmb-widget] svg.fmb-widget__icon path {
	opacity: 1 !important;
	vector-effect: non-scaling-stroke !important;
}

.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--phone path,
.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--telegram path {
	fill: currentColor !important;
	stroke: none !important;
}

.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--whatsapp path:first-child {
	fill: none !important;
	stroke: currentColor !important;
}

.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--whatsapp path:last-child {
	fill: currentColor !important;
	stroke: none !important;
}

.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--close path,
.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--chat path,
.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--link path,
.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--email path,
.fmb-widget[data-fmb-widget] svg.fmb-widget__icon--email rect {
	fill: none !important;
	stroke: currentColor !important;
}

@media (prefers-reduced-motion: reduce) {
	.fmb-widget[data-fmb-widget] > .fmb-widget__items,
	.fmb-widget[data-fmb-widget] a.fmb-widget__button,
	.fmb-widget[data-fmb-widget] button.fmb-widget__button {
		transition: none !important;
	}
}


/* JavaScript controls these animations to avoid theme CSS conflicts. */
.fmb-widget[data-fmb-widget] .fmb-widget__toggle-close {
	transform: rotate(0deg) scale(1) !important;
	opacity: 1 !important;
	transition: none !important;
	transform-origin: 50% 50% !important;
	backface-visibility: hidden !important;
}

.fmb-widget[data-fmb-widget] .fmb-widget__item:first-child {
	transform: scale(1) !important;
	transform-origin: 50% 50% !important;
}
