#contactino-widget,
#contactino-widget * {
	font-weight: 400 !important;
}

:root {
	--contactino-primary: #fd5f47;
	--contactino-trigger-icon: #fff;
	--contactino-trigger-hover: #251f57;
	--contactino-bg: #fff;
	--contactino-header-bg: #251f57;
	--contactino-header-fg: #fff;
	--contactino-tab-bg: #fff;
	--contactino-tab-fg: #666;
	--contactino-tab-hover-bg: #f4f0ff;
	--contactino-tab-hover-fg: #1a1a1a;
	--contactino-tab-active-bg: var(--contactino-primary);
	--contactino-tab-active-fg: #fff;
	--contactino-text: #1a1a1a;
	--contactino-muted: #666;
	--contactino-border: #e5e5e5;
	--contactino-item-bg: #fff;
	--contactino-item-hover-bg: #fff3ef;
	--contactino-item-radius: 12px;
	--contactino-item-border-width: 1px;
	--contactino-icon-bg: #fff1ed;
	--contactino-control-bg: #fff;
	--contactino-control-fg: #251f57;
	--contactino-control-border: #ddd4ff;
	--contactino-control-hover-bg: #f4f0ff;
	--contactino-control-hover-fg: #251f57;
	--contactino-control-hover-border: #cabcff;
	--contactino-control-size: 36px;
	--contactino-control-radius: 999px;
	--contactino-control-border-width: 1px;
	--contactino-control-icon-size: 18px;
	--contactino-arrow: #251f57;
	--contactino-arrow-bg: transparent;
	--contactino-arrow-border: transparent;
	--contactino-arrow-hover-bg: #f4f0ff;
	--contactino-arrow-hover-color: #251f57;
	--contactino-arrow-hover-border: #d7ccff;
	--contactino-arrow-size: 22px;
	--contactino-arrow-radius: 999px;
	--contactino-arrow-border-width: 1px;
	--contactino-arrow-icon-size: 18px;
	--contactino-offline-bg: #f7f7f7;
	--contactino-offline-fg: #666;
	--contactino-shadow: 0 4px 24px rgba(0, 0, 0, .15);
	--contactino-radius: 16px;
	--contactino-z-index: 1000;
	--contactino-width: 360px;
	--contactino-desktop-right: 24px;
	--contactino-desktop-left: 24px;
	--contactino-desktop-bottom: 24px;
	--contactino-mobile-right: 20px;
	--contactino-mobile-left: 20px;
	--contactino-mobile-bottom: 16px;
}

.contactino-widget,
.contactino-widget * {
	box-sizing: border-box;
}

.contactino-widget {
	position: fixed;
	bottom: var(--contactino-desktop-bottom);
	z-index: var(--contactino-z-index);
	direction: ltr;
	text-align: left;
	font-family: inherit;
	color: var(--contactino-text);
}

.contactino-widget.is-panel-open {
	z-index: 2147483000;
}

body.contactino-crisp-managed .contactino-widget {
	z-index: 2147483000;
}

/*
 * Hide only Crisp's default launcher bubble — never the whole .crisp-client.
 * Hiding the entire client while opening caused race conditions where Crisp
 * stayed "opened but invisible" and blocked Contactino clicks.
 */
body.contactino-crisp-managed:not(.contactino-crisp-chat-open):not(.contactino-crisp-opening) .crisp-client [data-id="chat_closed"],
body.contactino-crisp-managed:not(.contactino-crisp-chat-open):not(.contactino-crisp-opening) .crisp-client [data-id="chat_opened"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.contactino-crisp-managed.contactino-crisp-chat-open .crisp-client,
body.contactino-crisp-managed.contactino-crisp-opening .crisp-client {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

/*
 * While Crisp owns the corner: hide Contactino AND disable its hit-box.
 * Previously only the trigger was invisible, so the 70x70 widget still sat
 * above Crisp (z-index) and blocked the Crisp close / bubble clicks.
 */
.contactino-widget.is-crisp-chat-open,
.contactino-widget.is-crisp-opening {
	pointer-events: none !important;
	z-index: 0 !important;
}

.contactino-widget.is-crisp-chat-open .contactino-trigger,
.contactino-widget.is-crisp-opening .contactino-trigger {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

body:has(.wd-side-hidden.wd-opened) .contactino-widget:not(.is-panel-open),
body:has(.cart-widget-side.wd-opened) .contactino-widget:not(.is-panel-open),
body:has(.mobile-nav.wd-opened) .contactino-widget:not(.is-panel-open),
body:has(.mobile-menu-wrapper.is-open) .contactino-widget:not(.is-panel-open),
body:has(.offcanvas-menu.is-open) .contactino-widget:not(.is-panel-open),
body:has(.main-navigation.toggled) .contactino-widget:not(.is-panel-open) {
	z-index: 10;
}

body.contactino-site-overlay-active .contactino-widget:not(.is-panel-open) {
	z-index: 10;
}

.contactino-position-right {
	right: var(--contactino-desktop-right);
	left: auto;
}

.contactino-position-left {
	right: auto;
	left: var(--contactino-desktop-left);
}

/* ============================================================
   TRIGGER BUTTON — BASE
   ============================================================ */

.contactino-trigger {
	position: relative;
	width: 70px;
	height: 70px;
	min-width: 70px;
	min-height: 70px;
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
	margin-inline-start: auto;
	padding: 0;
	line-height: 1;
	border: 0;
	border-radius: 50%;
	-webkit-appearance: none;
	appearance: none;
	background: var(--contactino-primary);
	color: var(--contactino-trigger-icon);
	cursor: pointer;
	overflow: visible;
	isolation: isolate;
	outline: none;
	animation: contactino-trigger-enter .45s cubic-bezier(.2, 1.25, .35, 1) both;
	transition: transform .25s cubic-bezier(.34, 1.56, .64, 1), box-shadow .25s ease, background .3s ease, border-color .25s ease, color .25s ease;
}

/* High-specificity override — prevents any theme from breaking the circle */
#contactino-widget .contactino-trigger,
#contactino-widget .contactino-trigger:focus,
#contactino-widget .contactino-trigger:active,
#contactino-widget .contactino-trigger:focus-visible {
	border-radius: 50% !important;
	outline: none !important;
}

.contactino-trigger:hover {
	transform: translateY(-3px) scale(1.06);
}

.contactino-trigger-static {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: calc(100% - 10px);
	height: calc(100% - 10px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	border-radius: 50%;
	background: transparent;
	overflow: hidden;
	text-align: center;
	transform: translate(-50%, -50%) scale(1);
	transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), opacity .2s ease;
}

.contactino-trigger-static.is-hidden {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
}

.contactino-trigger img,
.contactino-trigger-icon {
	width: 26px;
	height: 26px;
	filter: none;
	transition: transform .3s ease, opacity .3s ease;
}

.contactino-trigger img {
	border-radius: 50%;
}

.contactino-trigger-icon {
	display: inline-grid;
	place-items: center;
	color: var(--contactino-trigger-icon);
	border-radius: 50%;
}

.contactino-trigger-icon svg {
	width: 26px;
	height: 26px;
	display: block;
	stroke: currentColor;
	fill: currentColor;
}

.contactino-trigger-text {
	display: block;
	max-width: 46px;
	margin-top: 2px;
	font-size: 9px;
	font-weight: 400;
	letter-spacing: .3px;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Force text/icon colors — ID+class specificity beats any theme button color reset.
   --contactino-trigger-icon is set via inline style on #contactino-widget and cascades freely
   since no descendant rule re-declares the variable anymore. */
#contactino-widget .contactino-trigger .contactino-trigger-text,
#contactino-widget .contactino-trigger .contactino-trigger-icon,
#contactino-widget .contactino-trigger .contactino-trigger-close-icon {
	color: var(--contactino-trigger-icon);
}

.contactino-trigger-pulse {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 89px;
	height: 89px;
	border: 0;
	border-radius: 50%;
	background: var(--contactino-primary);
	opacity: .22;
	transform: translate(-50%, -50%) scale(1);
	animation: contactino-trigger-pulse-ring 2.4s cubic-bezier(.22, .61, .36, 1) infinite;
	will-change: transform, opacity;
	pointer-events: none;
}

.contactino-trigger-pulse-delay {
	animation-delay: .65s;
	width: 75px;
	height: 75px;
}

.contactino-trigger-icons {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 999px;
	background: #fff;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06);
	opacity: 0;
	transform: translate3d(-50%, -50%, 0) scale(0);
	transition: transform .22s ease, opacity .22s ease;
	pointer-events: none;
}

.contactino-trigger-icons.is-visible {
	opacity: 1;
	transform: translate3d(-50%, -50%, 0) scale(1);
}

.contactino-trigger-icons-track {
	--contactino-trigger-icon-count: 1;
	position: relative;
	width: 100%;
	height: 100%;
}

.contactino-trigger-channel-icon {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: scale(.72);
	transition: opacity .28s ease, transform .34s cubic-bezier(.2, .9, .2, 1);
	will-change: transform, opacity;
}

.contactino-trigger-channel-icon.is-active {
	opacity: 1;
	transform: scale(1);
}

.contactino-trigger-channel-icon img,
.contactino-trigger-channel-icon svg {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.contactino-trigger-channel-icon svg {
	display: block;
	fill: currentColor;
}

.contactino-trigger.is-open .contactino-trigger-pulse,
.contactino-trigger.is-open .contactino-trigger-icons {
	animation: none;
	opacity: 0;
}

/* On open: fade out icon+text, no rotation */
.contactino-trigger.is-open .contactino-trigger-static {
	animation: none;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.6);
	pointer-events: none;
}

/* On open: fade in the X close icon */
.contactino-trigger.is-open .contactino-trigger-close-icon {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1) rotate(0deg);
}

.contactino-trigger::after {
	content: none;
}

/* ============================================================
   TRIGGER CLOSE ICON — always inside the button, hidden by default
   ============================================================ */

.contactino-trigger-close-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	color: var(--contactino-trigger-icon);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.4) rotate(45deg);
	transition: opacity .25s ease, transform .3s cubic-bezier(.34, 1.56, .64, 1);
	pointer-events: none;
}

.contactino-trigger-close-icon svg {
	width: 28px;
	height: 28px;
	display: block;
}


/* ============================================================
   STYLE 1 — CLASSIC (کلاسیک پیش‌فرض)
   ============================================================ */

.contactino-trigger-style-classic .contactino-trigger {
	background: var(--contactino-primary);
	box-shadow:
		0 1px 3px rgba(0, 0, 0, .08),
		0 4px 10px rgba(0, 0, 0, .14),
		0 10px 24px rgba(0, 0, 0, .12),
		inset 0 1px 0 rgba(255, 255, 255, .22),
		inset 0 -1px 0 rgba(0, 0, 0, .1);
}

.contactino-trigger-style-classic .contactino-trigger:hover {
	background: var(--contactino-trigger-hover);
	box-shadow:
		0 2px 6px rgba(0, 0, 0, .1),
		0 8px 18px rgba(0, 0, 0, .16),
		0 18px 40px rgba(0, 0, 0, .14),
		inset 0 1px 0 rgba(255, 255, 255, .28),
		inset 0 -1px 0 rgba(0, 0, 0, .08);
}

/* ============================================================
   STYLE 2 — GRADIENT (گرادیانت زنده)
   Vivid animated gradient — no color desaturation
   ============================================================ */

.contactino-trigger-style-gradient .contactino-trigger {
	/* Mix only with white/black at small ratios to keep the primary vivid */
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--contactino-primary) 78%, #fff) 0%,
		var(--contactino-primary) 48%,
		color-mix(in srgb, var(--contactino-primary) 80%, #000) 100%
	);
	background-size: 260% 260%;
	background-position: 0% 0%;
	box-shadow:
		0 4px 14px color-mix(in srgb, var(--contactino-primary) 55%, transparent),
		0 10px 28px rgba(0, 0, 0, .15),
		inset 0 1.5px 0 rgba(255, 255, 255, .32),
		inset 0 -1px 0 rgba(0, 0, 0, .1);
	animation:
		contactino-trigger-enter .45s cubic-bezier(.2, 1.25, .35, 1) both,
		contactino-gradient-drift 6s ease-in-out infinite;
}

.contactino-trigger-style-gradient .contactino-trigger.is-open {
	animation: none;
	background-position: 0% 0%;
}

.contactino-trigger-style-gradient .contactino-trigger:hover {
	background: var(--contactino-trigger-hover);
	animation: none;
	box-shadow:
		0 6px 20px color-mix(in srgb, var(--contactino-primary) 62%, transparent),
		0 14px 36px rgba(0, 0, 0, .18),
		inset 0 1.5px 0 rgba(255, 255, 255, .38),
		inset 0 -1px 0 rgba(0, 0, 0, .08);
}

@keyframes contactino-gradient-drift {
	0%   { background-position: 0% 0%; }
	33%  { background-position: 100% 100%; }
	66%  { background-position: 60% 0%; }
	100% { background-position: 0% 0%; }
}

/* ============================================================
   STYLE 3 — NEON GLOW (نئون گلو)
   Dark button with vivid colored halo — ultra-modern
   ============================================================ */

/* Default hover for neon stays dark; user override via --contactino-trigger-hover */
.contactino-trigger-style-outline {
	--contactino-trigger-hover: #0e1621;
}

.contactino-trigger-style-outline .contactino-trigger {
	background: #0e1621;
	border: 2px solid var(--contactino-primary);
	color: var(--contactino-primary);
	box-shadow:
		0 0 0 4px color-mix(in srgb, var(--contactino-primary) 18%, transparent),
		0 0 20px color-mix(in srgb, var(--contactino-primary) 48%, transparent),
		0 0 55px color-mix(in srgb, var(--contactino-primary) 22%, transparent),
		0 8px 24px rgba(0, 0, 0, .35),
		inset 0 0 14px color-mix(in srgb, var(--contactino-primary) 12%, transparent);
}


.contactino-trigger-style-outline .contactino-trigger-pulse {
	background: var(--contactino-primary);
	opacity: .28;
}

.contactino-trigger-style-outline .contactino-trigger-icons {
	background: #0e1621;
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--contactino-primary) 35%, transparent),
		0 0 12px color-mix(in srgb, var(--contactino-primary) 30%, transparent);
}

.contactino-trigger-style-outline .contactino-trigger:hover {
	background: var(--contactino-trigger-hover);
	box-shadow:
		0 0 0 6px color-mix(in srgb, var(--contactino-primary) 24%, transparent),
		0 0 30px color-mix(in srgb, var(--contactino-primary) 60%, transparent),
		0 0 70px color-mix(in srgb, var(--contactino-primary) 28%, transparent),
		0 10px 30px rgba(0, 0, 0, .38),
		inset 0 0 20px color-mix(in srgb, var(--contactino-primary) 18%, transparent);
}

/* ============================================================
   STYLE 4 — GLASS (گلس مات)
   Pure primary color preserved — glass highlight via inset shadow
   ============================================================ */

.contactino-trigger-style-glass .contactino-trigger {
	/* Use pure primary — glass effect comes from inner white highlight + border */
	background: var(--contactino-primary);
	border: 1.5px solid rgba(255, 255, 255, .48);
	backdrop-filter: blur(18px) saturate(180%);
	-webkit-backdrop-filter: blur(18px) saturate(180%);
	box-shadow:
		0 2px 6px rgba(0, 0, 0, .12),
		0 10px 30px rgba(0, 0, 0, .22),
		0 24px 48px rgba(0, 0, 0, .1),
		/* White highlight at top edge simulates glass refraction */
		inset 0 2px 0 rgba(255, 255, 255, .60),
		inset 0 -1.5px 0 rgba(0, 0, 0, .12),
		inset 1px 0 0 rgba(255, 255, 255, .20);
}

.contactino-trigger-style-glass .contactino-trigger:hover {
	background: var(--contactino-trigger-hover);
	border-color: rgba(255, 255, 255, .62);
	box-shadow:
		0 4px 10px rgba(0, 0, 0, .14),
		0 14px 38px rgba(0, 0, 0, .26),
		0 28px 56px rgba(0, 0, 0, .12),
		inset 0 2px 0 rgba(255, 255, 255, .70),
		inset 0 -1.5px 0 rgba(0, 0, 0, .08),
		inset 1px 0 0 rgba(255, 255, 255, .24);
}

.contactino-trigger-style-glass .contactino-trigger-pulse {
	opacity: .18;
}

/* ============================================================
   PANEL
   ============================================================ */

.contactino-panel {
	position: absolute;
	right: 0;
	bottom: 86px;
	width: var(--contactino-width);
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - var(--contactino-desktop-bottom) - 94px);
	max-height: calc(100dvh - var(--contactino-desktop-bottom) - 94px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--contactino-radius);
	background: var(--contactino-bg);
	box-shadow: var(--contactino-shadow);
	opacity: 0;
	pointer-events: none;
	transform: translateY(20px) scale(.96);
	transition: transform .28s cubic-bezier(.34, 1.2, .64, 1), opacity .25s ease;
}

.contactino-position-left .contactino-panel {
	right: auto;
	left: 0;
}

.contactino-panel.is-visible {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0) scale(1);
}

/* ============================================================
   KEYFRAMES
   ============================================================ */

@keyframes contactino-trigger-enter {
	from {
		opacity: 0;
		transform: translateY(12px) scale(.8);
	}

	65% {
		transform: translateY(-3px) scale(1.05);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes contactino-trigger-pulse-ring {
	0% {
		opacity: .28;
		transform: translate3d(-50%, -50%, 0) scale(.94);
	}

	70% {
		opacity: .08;
		transform: translate3d(-50%, -50%, 0) scale(1.16);
	}

	100% {
		opacity: 0;
		transform: translate3d(-50%, -50%, 0) scale(1.22);
	}
}

@keyframes contactino-trigger-show-static {
	0%,
	24% {
		opacity: 1;
		transform: scale(1);
	}

	32%,
	78% {
		opacity: 0;
		transform: scale(.35);
	}

	86%,
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes contactino-trigger-show-icons {
	0%,
	24% {
		opacity: 0;
		transform: scale(.35);
	}

	32%,
	78% {
		opacity: 1;
		transform: scale(1);
	}

	86%,
	100% {
		opacity: 0;
		transform: scale(.35);
	}
}

@keyframes contactino-trigger-icons-rtl {
	0%,
	28% {
		transform: translate(50%, -50%);
	}

	78%,
	100% {
		transform: translate(calc(50% + (var(--contactino-trigger-icon-count) * 48px)), -50%);
	}
}

@keyframes contactino-trigger-icons-ltr {
	0%,
	28% {
		transform: translate(50%, -50%);
	}

	78%,
	100% {
		transform: translate(calc(50% - (var(--contactino-trigger-icon-count) * 48px)), -50%);
	}
}

/* ============================================================
   PANEL HEADER
   ============================================================ */

.contactino-panel-header {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	color: var(--contactino-header-fg);
	background: var(--contactino-header-bg);
}

.contactino-panel-header.has-active-dept {
	direction: ltr;
	text-align: left;
}

.contactino-panel-title {
	display: block;
	flex: 1;
	font-weight: 400;
	text-align: center;
}

.contactino-back {
	width: auto;
	height: var(--contactino-control-size);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	border: 0;
	border-radius: 0;
	padding: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	direction: ltr;
	transition: opacity .2s ease, transform .2s ease;
}

#contactino-widget .contactino-panel-header .contactino-back:is(.btn, .button, button, [type=submit], [type=button]),
#contactino-widget .contactino-panel-header .contactino-back {
	margin-inline-end: auto;
	margin-inline-start: 0;
	background: transparent;
	background-image: none;
	color: #ffffff;
	box-shadow: none;
}

.contactino-back:hover,
#contactino-widget .contactino-panel-header .contactino-back:hover,
#contactino-widget .contactino-panel-header .contactino-back:focus,
#contactino-widget .contactino-panel-header .contactino-back:active {
	transform: none;
	opacity: 1;
	background: transparent;
	background-image: none;
	color: #ffffff;
	box-shadow: none;
}

.contactino-back.is-disabled {
	display: none;
	pointer-events: none;
}

.contactino-panel-header.has-active-dept .contactino-tabs {
	display: none;
}

.contactino-back-label {
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
}

.contactino-dept-view[hidden] {
	display: none;
}

.contactino-control-icon {
	width: var(--contactino-control-icon-size);
	height: var(--contactino-control-icon-size);
	display: inline-grid;
	place-items: center;
	color: currentColor;
}

.contactino-control-icon svg {
	width: var(--contactino-control-icon-size);
	height: var(--contactino-control-icon-size);
	display: block;
	stroke: currentColor;
	fill: none;
}

/* ============================================================
   PANEL BODY & ITEMS
   ============================================================ */

.contactino-panel-body {
	flex: 1 1 auto;
	min-height: 0;
	padding: 16px;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

.contactino-channel-list,
.contactino-tab-panel,
.contactino-dept-view {
	min-height: 0;
}

.contactino-panel-footer {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 8px 12px 9px;
	border-top: 1px solid color-mix(in srgb, var(--contactino-border) 78%, transparent);
	background: color-mix(in srgb, var(--contactino-bg) 94%, #f8fafc);
	color: #000;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}

.contactino-panel-footer a,
.contactino-panel-footer a:visited {
	color: #000;
	text-decoration: none;
	transition: color .18s ease, opacity .18s ease;
}

.contactino-panel-footer a:hover,
.contactino-panel-footer a:focus {
	color: #df0f50;
	text-decoration: none;
}

.contactino-footer-vitrinoo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.contactino-footer-vitrinoo img {
	width: auto;
	height: 14px;
	display: block;
	object-fit: contain;
}

.contactino-panel-header .contactino-tabs {
	width: 100%;
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
	grid-auto-flow: initial;
	grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
	align-items: stretch;
}

.contactino-panel-header .contactino-tab {
	min-height: 40px;
	padding: 8px 7px;
	color: var(--contactino-tab-fg);
	font-size: 11px;
	border-radius: 8px;
}

.contactino-panel-header .contactino-tab:hover {
	color: var(--contactino-tab-hover-fg);
	background: var(--contactino-tab-hover-bg);
}

.contactino-panel-header .contactino-tab.is-active {
	background: var(--contactino-tab-active-bg);
	color: var(--contactino-tab-active-fg);
	box-shadow: none;
}

.contactino-panel-header .contactino-tab-icon {
	width: 16px;
	height: 16px;
	flex-basis: 16px;
}

.contactino-panel-header .contactino-tab-icon svg {
	width: 16px;
	height: 16px;
}

.contactino-panel-header .contactino-tab-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.contactino-tabs-style-integrated .contactino-panel-header {
	padding: 10px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0)),
		var(--contactino-header-bg);
}

.contactino-tabs-style-integrated .contactino-panel-header .contactino-tabs {
	gap: 0;
	padding: 4px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 16px;
	background: rgba(255, 255, 255, .14);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, .18),
		0 10px 26px rgba(0, 0, 0, .12);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.contactino-tabs-style-integrated .contactino-panel-header .contactino-tab {
	min-height: 42px;
	border: 0;
	border-radius: 12px;
	padding: 8px 6px;
	background: transparent;
	color: color-mix(in srgb, var(--contactino-header-fg) 82%, transparent);
	box-shadow: none;
	transform: none;
}

.contactino-tabs-style-integrated .contactino-panel-header .contactino-tab:hover {
	background: rgba(255, 255, 255, .14);
	color: var(--contactino-header-fg);
	transform: none;
}

.contactino-tabs-style-integrated .contactino-panel-header .contactino-tab.is-active {
	background: var(--contactino-bg);
	color: var(--contactino-primary);
	box-shadow:
		0 8px 20px rgba(0, 0, 0, .16),
		inset 0 1px 0 rgba(255, 255, 255, .75);
}

.contactino-tabs-style-integrated .contactino-panel-header .contactino-tab-icon {
	width: 17px;
	height: 17px;
	flex-basis: 17px;
}

.contactino-tabs-style-integrated .contactino-panel-header .contactino-tab-icon svg {
	width: 17px;
	height: 17px;
}

.contactino-tabs {
	display: grid;
	grid-auto-flow: column;
	gap: 8px;
	margin: 0 0 16px;
	padding: 6px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.contactino-tab {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 42px;
	border: 1px solid transparent;
	border-radius: 14px;
	padding: 9px 12px;
	background: var(--contactino-tab-bg);
	color: var(--contactino-tab-fg);
	font: inherit;
	font-size: 13px;
	font-weight: 400;
	cursor: pointer;
	overflow: hidden;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}

.contactino-tab:hover {
	color: var(--contactino-tab-hover-fg);
	background: var(--contactino-tab-hover-bg);
	transform: translateY(-1px);
}

.contactino-tab.is-active {
	border-color: var(--contactino-tab-active-bg);
	background: var(--contactino-tab-active-bg);
	color: var(--contactino-tab-active-fg);
	box-shadow: 0 10px 22px color-mix(in srgb, var(--contactino-primary) 28%, transparent);
}

.contactino-tab-icon {
	width: 19px;
	height: 19px;
	display: inline-grid;
	flex: 0 0 19px;
	place-items: center;
	color: currentColor;
}

.contactino-tab-icon svg {
	width: 19px;
	height: 19px;
	display: block;
	fill: currentColor;
	stroke: currentColor;
}

.contactino-tab-label {
	white-space: nowrap;
}

.contactino-tab-panel[hidden],
.contactino-faq-list[hidden] {
	display: none;
}

.contactino-subtitle {
	margin: 0 0 12px;
	color: var(--contactino-muted);
	font-size: 14px;
}

.contactino-dept-subtitle {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	color: var(--contactino-muted);
	font-size: 14px;
	text-align: center;
}

.contactino-channel,
.contactino-dept-item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 10px;
	padding: 12px;
	border: var(--contactino-item-border-width) solid var(--contactino-border);
	border-radius: var(--contactino-item-radius);
	background: var(--contactino-item-bg);
	color: inherit;
	font: inherit;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}

#contactino-widget .contactino-channel,
#contactino-widget button.contactino-channel,
#contactino-widget a.contactino-channel {
	width: 100%;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 12px;
	margin: 0 0 10px;
	padding: 12px;
	border: var(--contactino-item-border-width) solid var(--contactino-border);
	border-radius: var(--contactino-item-radius);
	-webkit-appearance: none;
	appearance: none;
	background: var(--contactino-item-bg);
	background-image: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: normal;
	text-align: left;
	text-decoration: none;
	vertical-align: top;
	cursor: pointer;
	outline: none;
}

#contactino-widget button.contactino-channel {
	-webkit-user-select: none;
	user-select: none;
}

#contactino-widget .contactino-channel:focus,
#contactino-widget .contactino-channel:active {
	border-color: var(--contactino-border);
	background: var(--contactino-item-bg);
	color: inherit;
	box-shadow: none;
	outline: none;
}

.contactino-channel:hover,
.contactino-dept-item:hover {
	border-color: var(--contactino-primary);
	background: var(--contactino-item-hover-bg);
	transform: translateY(-1px);
}

#contactino-widget .contactino-channel:hover {
	border-color: var(--contactino-primary);
	background: var(--contactino-item-hover-bg);
	color: inherit;
	box-shadow: none;
	text-decoration: none;
	transform: translateY(-1px);
}

.contactino-channel-icon,
.contactino-location-address-icon,
.contactino-dept-img {
	width: 30px;
	height: 30px;
	display: grid;
	flex: 0 0 42px;
	place-items: center;
	overflow: hidden;
}

.contactino-dept-img {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: var(--contactino-icon-bg);
}

.contactino-channel.has-channel-subtitle .contactino-channel-icon {
	width: 42px;
	height: 42px;
}

.contactino-location-address-icon {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	color: #000;
}

.contactino-channel-icon img,
.contactino-channel-icon svg,
.contactino-location-address-icon svg,
.contactino-dept-subtitle img,
.contactino-dept-subtitle svg,
.contactino-dept-subtitle-icon {
	width: 24px;
	height: 24px;
}

.contactino-location-address-icon svg {
	width: 18px;
	height: 18px;
}

.contactino-channel-icon svg,
.contactino-location-address-icon svg,
.contactino-dept-subtitle svg {
	display: block;
	fill: currentColor;
}

.contactino-channel-label,
.contactino-channel-info,
.contactino-location-address-info,
.contactino-dept-info {
	flex: 1;
}

.contactino-channel-info {
	min-width: 0;
}

.contactino-channel.channel-subtitle-inline .contactino-channel-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.contactino-channel.channel-subtitle-stacked .contactino-channel-info {
	display: grid;
	gap: 3px;
}

.contactino-channel-info .contactino-dept-name,
.contactino-channel-info .contactino-dept-role {
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.contactino-channel-info .contactino-dept-name {
	text-align: left;
}

.contactino-channel.channel-subtitle-inline .contactino-channel-info .contactino-dept-name,
.contactino-channel.channel-subtitle-inline .contactino-channel-info .contactino-dept-role {
	color: #000;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

.contactino-channel-info .contactino-dept-role {
	text-align: right;
}

.contactino-channel.channel-subtitle-stacked .contactino-channel-info .contactino-dept-role {
	text-align: left;
}

.contactino-location-address {
	align-items: flex-start;
	cursor: default;
}

.contactino-location-address-info {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.contactino-location-address-title {
	color: #000;
	font-weight: 400;
}

.contactino-location-address-subtitle {
	color: #000;
	font-size: 12px;
}

.contactino-location-address-text {
	color: #000;
	font-size: 13px;
	line-height: 1.7;
}

.contactino-channel-arrow {
	width: var(--contactino-arrow-size);
	height: var(--contactino-arrow-size);
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	margin-inline-start: auto;
	border: var(--contactino-arrow-border-width) solid var(--contactino-arrow-border);
	border-radius: var(--contactino-arrow-radius);
	background: var(--contactino-arrow-bg);
	color: var(--contactino-arrow);
	opacity: 1;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.contactino-channel-arrow svg {
	width: var(--contactino-arrow-icon-size);
	height: var(--contactino-arrow-icon-size);
	display: block;
	stroke: currentColor;
	fill: none;
}

.contactino-channel:hover .contactino-channel-arrow {
	background: var(--contactino-arrow-hover-bg);
	color: var(--contactino-arrow-hover-color);
	border-color: var(--contactino-arrow-hover-border);
}

.contactino-dept-side-text {
	flex: 0 0 auto;
	max-width: 42%;
	overflow: hidden;
	color: #000;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.contactino-dept-img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.contactino-dept-img .contactino-dept-default-avatar {
	width: 22px;
	height: 22px;
	object-fit: contain;
	opacity: .82;
}

.contactino-dept-role,
.contactino-dept-name {
	display: block;
}

.contactino-dept-role {
	margin-bottom: 3px;
	color: var(--contactino-muted);
	font-size: 12px;
}

.contactino-dept-name {
	color: #000;
	font-weight: 400;
}

.contactino-offline-message {
	margin: 0;
	padding: 12px;
	border-radius: 12px;
	background: var(--contactino-offline-bg);
	color: var(--contactino-offline-fg);
	font-size: 14px;
}

.contactino-faq-list {
	display: grid;
	gap: 10px;
}

.contactino-faq-item {
	overflow: hidden;
	border: 1px solid var(--contactino-border);
	border-radius: 14px;
	background: var(--contactino-item-bg);
	box-shadow: 0 8px 18px rgba(7, 21, 41, .04);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.contactino-faq-item[open] {
	border-color: var(--contactino-primary);
	box-shadow: 0 12px 26px color-mix(in srgb, var(--contactino-primary) 13%, transparent);
}

.contactino-faq-question {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 42px 13px 14px;
	color: var(--contactino-faq-question-fg, var(--contactino-text));
	font-weight: 400;
	cursor: pointer;
	list-style: none;
}

.contactino-faq-question-text {
	font-weight: 400;
}

.contactino-faq-question::-webkit-details-marker {
	display: none;
}

.contactino-faq-toggle {
	position: absolute;
	top: 50%;
	right: 14px;
	width: 20px;
	height: 20px;
	color: var(--contactino-faq-question-fg, var(--contactino-text));
	transform: translateY(-50%);
}

.contactino-faq-toggle-icon,
.contactino-faq-toggle-icon svg {
	width: 20px;
	height: 20px;
	display: block;
}

.contactino-faq-toggle-icon svg {
	fill: none;
	stroke: currentColor;
}

.contactino-faq-toggle-close {
	display: none;
}

.contactino-faq-item[open] .contactino-faq-toggle-open {
	display: none;
}

.contactino-faq-item[open] .contactino-faq-toggle-close {
	display: block;
}

.contactino-faq-answer {
	padding: 0 14px 15px 14px;
	color: var(--contactino-faq-answer-fg, var(--contactino-muted));
	font-size: 14px;
	line-height: 1.8;
}

.contactino-hours-list {
	display: grid;
	gap: 10px;
}

.contactino-hours-status,
.contactino-hours-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--contactino-border);
	border-radius: 14px;
	background: var(--contactino-item-bg);
	color: var(--contactino-text);
	font-size: 14px;
}

.contactino-hours-status {
	align-items: center;
	justify-content: flex-start;
	font-weight: 400;
}

.contactino-hours-status-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: #ef4444;
}

.contactino-hours-status.is-open .contactino-hours-status-dot {
	background: #22c55e;
}

.contactino-hours-row.is-today {
	border-color: var(--contactino-primary);
	background: var(--contactino-item-hover-bg);
}

.contactino-hours-row.is-closed {
	border-color: color-mix(in srgb, var(--contactino-border) 72%, #fff);
	background: color-mix(in srgb, var(--contactino-item-bg) 82%, #f1f5f9);
	opacity: .62;
}

.contactino-hours-row.is-closed .contactino-hours-day,
.contactino-hours-row.is-closed .contactino-hours-closed {
	color: #94a3b8;
}

.contactino-hours-day {
	font-weight: 400;
	white-space: nowrap;
}

.contactino-hours-shifts {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 5px;
	min-width: 0;
	color: var(--contactino-muted);
	direction: ltr;
	text-align: left;
	line-height: 1.4;
}

.contactino-hours-shift {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	max-width: 100%;
	padding: 3px 7px;
	border: 1px solid color-mix(in srgb, var(--contactino-primary) 18%, var(--contactino-border));
	border-radius: 999px;
	background: color-mix(in srgb, var(--contactino-primary) 7%, #fff);
	color: var(--contactino-text);
	direction: rtl;
	line-height: 1.35;
	white-space: nowrap;
}

.contactino-hours-shift-label {
	color: var(--contactino-primary);
	font-size: 11px;
	font-weight: 400;
}

.contactino-hours-shift-time {
	color: #000;
	font-size: 12px;
	font-weight: 400;
}

.contactino-hours-closed {
	color: var(--contactino-muted);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 480px) {
	.contactino-widget {
		bottom: var(--contactino-mobile-bottom);
	}

	.contactino-mobile-position-right {
		right: var(--contactino-mobile-right);
		left: auto;
	}

	.contactino-mobile-position-left {
		right: auto;
		left: var(--contactino-mobile-left);
	}

	.contactino-mobile-position-right .contactino-panel {
		right: auto;
		left: auto;
	}

	.contactino-mobile-position-left .contactino-panel {
		right: auto;
		left: auto;
	}

	.contactino-panel {
		position: fixed;
		right: auto;
		left: 50vw;
		bottom: calc(var(--contactino-mobile-bottom) + 86px);
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
		max-height: calc(100vh - var(--contactino-mobile-bottom) - 96px);
		max-height: calc(100dvh - var(--contactino-mobile-bottom) - 96px);
		transform: translateX(-50%) translateY(20px) scale(.96);
	}

	.contactino-panel.is-visible {
		transform: translateX(-50%) translateY(0) scale(1);
	}

	.contactino-mobile-position-right .contactino-panel,
	.contactino-mobile-position-left .contactino-panel {
		right: auto;
		left: 50vw;
	}

	.contactino-panel-body {
		padding: 14px;
	}

	.contactino-tabs {
		grid-auto-flow: row;
	}

	.contactino-panel-header .contactino-tabs {
		grid-auto-flow: initial;
		grid-template-columns: repeat(auto-fit, minmax(72px, 1fr));
	}
}

/* ============================================================
   REDUCED MOTION — Disables all animations and transitions
   for users who prefer reduced motion (accessibility + perf).
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
	.contactino-trigger {
		animation: none;
		transition: none;
	}

	.contactino-trigger-pulse,
	.contactino-trigger-pulse-delay {
		animation: none;
		opacity: 0;
	}

	.contactino-trigger-static,
	.contactino-trigger-icons,
	.contactino-trigger-icons-track {
		animation: none;
		transition: none;
	}

	.contactino-panel {
		transition: none;
	}

	.contactino-channel,
	.contactino-dept-item {
		transition: none;
	}

	.contactino-tab {
		transition: none;
	}

	.contactino-trigger-style-gradient .contactino-trigger {
		animation: none;
		background-size: 100% 100%;
	}

	/* Remove backdrop-filter (GPU-intensive) when motion is reduced. */
	.contactino-trigger-style-glass .contactino-trigger,
	.contactino-tabs-style-integrated .contactino-panel-header {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}
