/**
 * Contact FAB — expandable menu (social + phone actions).
 *
 * @package Omran_Behdasht_Chamestan
 */

.obc-contact-fab__wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.obc-contact-fab__stack {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.obc-contact-fab__menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-sm);
	margin-block-end: var(--space-sm);
	list-style: none;
	margin-inline: 0;
	padding: 0;
}

.obc-contact-fab__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border-radius: var(--radius-full);
	background-color: var(--color-surface-container-lowest);
	color: var(--color-on-surface);
	box-shadow: var(--elevation-card);
	text-decoration: none;
	border: 1px solid var(--color-outline-variant);
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.5rem) scale(0.88);
	transition:
		opacity var(--transition-normal),
		transform var(--transition-normal),
		visibility var(--transition-normal),
		background-color var(--transition-fast),
		color var(--transition-fast),
		box-shadow var(--transition-fast);
}

.obc-contact-fab__action-icon,
.obc-contact-fab__action [class*='obc-ms-'],
.obc-contact-fab__action .material-symbols-outlined {
	font-size: 1.25rem;
	line-height: 1;
	color: inherit;
}

.obc-contact-fab__action:hover,
.obc-contact-fab__action:focus-visible {
	background-color: var(--color-primary-container);
	color: var(--color-on-primary-container);
	box-shadow: var(--elevation-hover);
	outline: none;
}

.obc-contact-fab__action:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}

.obc-contact-fab.is-open .obc-contact-fab__action {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.obc-contact-fab.is-open .obc-contact-fab__action:nth-child(1) {
	transition-delay: 0ms;
}

.obc-contact-fab.is-open .obc-contact-fab__action:nth-child(2) {
	transition-delay: 40ms;
}

.obc-contact-fab.is-open .obc-contact-fab__action:nth-child(3) {
	transition-delay: 80ms;
}

.obc-contact-fab.is-open .obc-contact-fab__action:nth-child(4) {
	transition-delay: 120ms;
}

.obc-contact-fab.is-open .obc-contact-fab__action:nth-child(5) {
	transition-delay: 160ms;
}

.obc-contact-fab.is-open .obc-contact-fab__action:nth-child(6) {
	transition-delay: 200ms;
}

.obc-contact-fab:not(.is-open) .obc-contact-fab__action {
	transition-delay: 0ms;
}

.obc-contact-fab__button {
	border: none;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.obc-contact-fab__icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
}

.obc-contact-fab__button .obc-contact-fab__icon,
.obc-contact-fab__button [class*='obc-ms-'] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: inherit;
}

.obc-contact-fab__button .obc-contact-fab__icon--close {
	display: none !important;
}

.obc-contact-fab.is-open .obc-contact-fab__button .obc-contact-fab__icon--open {
	display: none !important;
}

.obc-contact-fab.is-open .obc-contact-fab__button .obc-contact-fab__icon--close {
	display: inline-flex !important;
}

@media (prefers-reduced-motion: reduce) {
	.obc-contact-fab__action {
		transition: none;
	}
}
