#tamasino-widget,
#tamasino-widget * {
	font-weight: 400 !important;
}

:root {
	--tamasino-primary: #008749;
	--tamasino-trigger-icon: #fff;
	--tamasino-trigger-hover: var(--tamasino-primary);
	--tamasino-bg: #fff;
	--tamasino-header-bg: #075e54;
	--tamasino-header-fg: #fff;
	--tamasino-tab-bg: #fff;
	--tamasino-tab-fg: #666;
	--tamasino-tab-hover-bg: #f2fbf8;
	--tamasino-tab-hover-fg: #1a1a1a;
	--tamasino-tab-active-bg: var(--tamasino-primary);
	--tamasino-tab-active-fg: #fff;
	--tamasino-text: #1a1a1a;
	--tamasino-muted: #666;
	--tamasino-border: #e5e5e5;
	--tamasino-item-bg: #fff;
	--tamasino-item-hover-bg: #f7fbf8;
	--tamasino-item-radius: 12px;
	--tamasino-item-border-width: 1px;
	--tamasino-icon-bg: #e9f8ef;
	--tamasino-control-bg: #fff;
	--tamasino-control-fg: #075e54;
	--tamasino-control-border: #d9ece9;
	--tamasino-control-hover-bg: #f2fbf8;
	--tamasino-control-hover-fg: #075e54;
	--tamasino-control-hover-border: #b6dbd4;
	--tamasino-control-size: 36px;
	--tamasino-control-radius: 999px;
	--tamasino-control-border-width: 1px;
	--tamasino-control-icon-size: 18px;
	--tamasino-arrow: #075e54;
	--tamasino-arrow-bg: transparent;
	--tamasino-arrow-border: transparent;
	--tamasino-arrow-hover-bg: #eef8f5;
	--tamasino-arrow-hover-color: #075e54;
	--tamasino-arrow-hover-border: #d3ebe5;
	--tamasino-arrow-size: 22px;
	--tamasino-arrow-radius: 999px;
	--tamasino-arrow-border-width: 1px;
	--tamasino-arrow-icon-size: 18px;
	--tamasino-offline-bg: #f7f7f7;
	--tamasino-offline-fg: #666;
	--tamasino-shadow: 0 4px 24px rgba(0, 0, 0, .15);
	--tamasino-radius: 16px;
	--tamasino-z-index: 1000;
	--tamasino-width: 360px;
	--tamasino-desktop-right: 24px;
	--tamasino-desktop-left: 24px;
	--tamasino-desktop-bottom: 24px;
	--tamasino-mobile-right: 20px;
	--tamasino-mobile-left: 20px;
	--tamasino-mobile-bottom: 16px;
}

.tamasino-widget,
.tamasino-widget * {
	box-sizing: border-box;
}

body.tamasino-goftino-managed #box-widget-icon {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.tamasino-widget {
	position: fixed;
	bottom: var(--tamasino-desktop-bottom);
	z-index: var(--tamasino-z-index);
	direction: rtl;
	font-family: inherit;
	color: var(--tamasino-text);
}

.tamasino-widget.is-panel-open {
	z-index: 2147483000;
}

body:has(.wd-side-hidden.wd-opened) .tamasino-widget:not(.is-panel-open),
body:has(.cart-widget-side.wd-opened) .tamasino-widget:not(.is-panel-open),
body:has(.mobile-nav.wd-opened) .tamasino-widget:not(.is-panel-open),
body:has(.mobile-menu-wrapper.is-open) .tamasino-widget:not(.is-panel-open),
body:has(.offcanvas-menu.is-open) .tamasino-widget:not(.is-panel-open),
body:has(.main-navigation.toggled) .tamasino-widget:not(.is-panel-open) {
	z-index: 10;
}

body.tamasino-site-overlay-active .tamasino-widget:not(.is-panel-open) {
	z-index: 10;
}

.tamasino-position-right {
	right: var(--tamasino-desktop-right);
	left: auto;
}

.tamasino-position-left {
	right: auto;
	left: var(--tamasino-desktop-left);
}

/* ============================================================
   TRIGGER BUTTON — BASE
   ============================================================ */

.tamasino-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(--tamasino-primary);
	color: var(--tamasino-trigger-icon);
	cursor: pointer;
	overflow: visible;
	isolation: isolate;
	outline: none;
	animation: tamasino-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 */
#tamasino-widget .tamasino-trigger,
#tamasino-widget .tamasino-trigger:focus,
#tamasino-widget .tamasino-trigger:active,
#tamasino-widget .tamasino-trigger:focus-visible {
	border-radius: 50% !important;
	outline: none !important;
}

.tamasino-trigger:hover {
	transform: translateY(-3px) scale(1.06);
}

.tamasino-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;
}

.tamasino-trigger-static.is-hidden {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
}

.tamasino-trigger img,
.tamasino-trigger-icon {
	width: 26px;
	height: 26px;
	filter: none;
	transition: transform .3s ease, opacity .3s ease;
}

.tamasino-trigger img {
	border-radius: 50%;
}

.tamasino-trigger-icon {
	display: inline-grid;
	place-items: center;
	color: var(--tamasino-trigger-icon);
	border-radius: 50%;
}

.tamasino-trigger-icon svg {
	width: 26px;
	height: 26px;
	display: block;
	stroke: currentColor;
	fill: currentColor;
}

.tamasino-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.
   --tamasino-trigger-icon is set via inline style on #tamasino-widget and cascades freely
   since no descendant rule re-declares the variable anymore. */
#tamasino-widget .tamasino-trigger .tamasino-trigger-text,
#tamasino-widget .tamasino-trigger .tamasino-trigger-icon,
#tamasino-widget .tamasino-trigger .tamasino-trigger-close-icon {
	color: var(--tamasino-trigger-icon);
}

.tamasino-trigger-pulse {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	width: 89px;
	height: 89px;
	border: 0;
	border-radius: 50%;
	background: var(--tamasino-primary);
	opacity: .22;
	transform: translate(-50%, -50%) scale(1);
	animation: tamasino-trigger-pulse-ring 2.4s cubic-bezier(.22, .61, .36, 1) infinite;
	will-change: transform, opacity;
	pointer-events: none;
}

.tamasino-trigger-pulse-delay {
	animation-delay: .65s;
	width: 75px;
	height: 75px;
}

.tamasino-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;
}

.tamasino-trigger-icons.is-visible {
	opacity: 1;
	transform: translate3d(-50%, -50%, 0) scale(1);
}

.tamasino-trigger-icons-track {
	--tamasino-trigger-icon-count: 1;
	position: relative;
	width: 100%;
	height: 100%;
}

.tamasino-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;
}

.tamasino-trigger-channel-icon.is-active {
	opacity: 1;
	transform: scale(1);
}

.tamasino-trigger-channel-icon img,
.tamasino-trigger-channel-icon svg {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.tamasino-trigger-channel-icon svg {
	display: block;
	fill: currentColor;
}

.tamasino-trigger.is-open .tamasino-trigger-pulse,
.tamasino-trigger.is-open .tamasino-trigger-icons {
	animation: none;
	opacity: 0;
}

/* On open: fade out icon+text, no rotation */
.tamasino-trigger.is-open .tamasino-trigger-static {
	animation: none;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.6);
	pointer-events: none;
}

/* On open: fade in the X close icon */
.tamasino-trigger.is-open .tamasino-trigger-close-icon {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1) rotate(0deg);
}

.tamasino-trigger::after {
	content: none;
}

/* ============================================================
   TRIGGER CLOSE ICON — always inside the button, hidden by default
   ============================================================ */

.tamasino-trigger-close-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	color: var(--tamasino-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;
}

.tamasino-trigger-close-icon svg {
	width: 28px;
	height: 28px;
	display: block;
}


/* ============================================================
   STYLE 1 — CLASSIC (کلاسیک پیش‌فرض)
   ============================================================ */

.tamasino-trigger-style-classic .tamasino-trigger {
	background: var(--tamasino-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);
}

.tamasino-trigger-style-classic .tamasino-trigger:hover {
	background: var(--tamasino-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
   ============================================================ */

.tamasino-trigger-style-gradient .tamasino-trigger {
	/* Mix only with white/black at small ratios to keep the primary vivid */
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--tamasino-primary) 78%, #fff) 0%,
		var(--tamasino-primary) 48%,
		color-mix(in srgb, var(--tamasino-primary) 80%, #000) 100%
	);
	background-size: 260% 260%;
	background-position: 0% 0%;
	box-shadow:
		0 4px 14px color-mix(in srgb, var(--tamasino-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:
		tamasino-trigger-enter .45s cubic-bezier(.2, 1.25, .35, 1) both,
		tamasino-gradient-drift 6s ease-in-out infinite;
}

.tamasino-trigger-style-gradient .tamasino-trigger.is-open {
	animation: none;
	background-position: 0% 0%;
}

.tamasino-trigger-style-gradient .tamasino-trigger:hover {
	background: var(--tamasino-trigger-hover);
	animation: none;
	box-shadow:
		0 6px 20px color-mix(in srgb, var(--tamasino-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 tamasino-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 --tamasino-trigger-hover */
.tamasino-trigger-style-outline {
	--tamasino-trigger-hover: #0e1621;
}

.tamasino-trigger-style-outline .tamasino-trigger {
	background: #0e1621;
	border: 2px solid var(--tamasino-primary);
	color: var(--tamasino-primary);
	box-shadow:
		0 0 0 4px color-mix(in srgb, var(--tamasino-primary) 18%, transparent),
		0 0 20px color-mix(in srgb, var(--tamasino-primary) 48%, transparent),
		0 0 55px color-mix(in srgb, var(--tamasino-primary) 22%, transparent),
		0 8px 24px rgba(0, 0, 0, .35),
		inset 0 0 14px color-mix(in srgb, var(--tamasino-primary) 12%, transparent);
}


.tamasino-trigger-style-outline .tamasino-trigger-pulse {
	background: var(--tamasino-primary);
	opacity: .28;
}

.tamasino-trigger-style-outline .tamasino-trigger-icons {
	background: #0e1621;
	box-shadow:
		inset 0 0 0 1px color-mix(in srgb, var(--tamasino-primary) 35%, transparent),
		0 0 12px color-mix(in srgb, var(--tamasino-primary) 30%, transparent);
}

.tamasino-trigger-style-outline .tamasino-trigger:hover {
	background: var(--tamasino-trigger-hover);
	box-shadow:
		0 0 0 6px color-mix(in srgb, var(--tamasino-primary) 24%, transparent),
		0 0 30px color-mix(in srgb, var(--tamasino-primary) 60%, transparent),
		0 0 70px color-mix(in srgb, var(--tamasino-primary) 28%, transparent),
		0 10px 30px rgba(0, 0, 0, .38),
		inset 0 0 20px color-mix(in srgb, var(--tamasino-primary) 18%, transparent);
}

/* ============================================================
   STYLE 4 — GLASS (گلس مات)
   Pure primary color preserved — glass highlight via inset shadow
   ============================================================ */

.tamasino-trigger-style-glass .tamasino-trigger {
	/* Use pure primary — glass effect comes from inner white highlight + border */
	background: var(--tamasino-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);
}

.tamasino-trigger-style-glass .tamasino-trigger:hover {
	background: var(--tamasino-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);
}

.tamasino-trigger-style-glass .tamasino-trigger-pulse {
	opacity: .18;
}

/* ============================================================
   PANEL
   ============================================================ */

.tamasino-panel {
	position: absolute;
	right: 0;
	bottom: 86px;
	width: var(--tamasino-width);
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - var(--tamasino-desktop-bottom) - 94px);
	max-height: calc(100dvh - var(--tamasino-desktop-bottom) - 94px);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--tamasino-radius);
	background: var(--tamasino-bg);
	box-shadow: var(--tamasino-shadow);
	opacity: 0;
	pointer-events: none;
	transform: translateY(20px) scale(.96);
	transition: transform .28s cubic-bezier(.34, 1.2, .64, 1), opacity .25s ease;
}

.tamasino-position-left .tamasino-panel {
	right: auto;
	left: 0;
}

.tamasino-panel.is-visible {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0) scale(1);
}

/* ============================================================
   KEYFRAMES
   ============================================================ */

@keyframes tamasino-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 tamasino-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 tamasino-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 tamasino-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 tamasino-trigger-icons-rtl {
	0%,
	28% {
		transform: translate(50%, -50%);
	}

	78%,
	100% {
		transform: translate(calc(50% + (var(--tamasino-trigger-icon-count) * 48px)), -50%);
	}
}

@keyframes tamasino-trigger-icons-ltr {
	0%,
	28% {
		transform: translate(50%, -50%);
	}

	78%,
	100% {
		transform: translate(calc(50% - (var(--tamasino-trigger-icon-count) * 48px)), -50%);
	}
}

/* ============================================================
   PANEL HEADER
   ============================================================ */

.tamasino-panel-header {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	color: var(--tamasino-header-fg);
	background: var(--tamasino-header-bg);
}

.tamasino-panel-header.has-active-dept {
	direction: rtl;
	text-align: right;
}

.tamasino-panel-title {
	display: block;
	flex: 1;
	font-weight: 400;
	text-align: center;
}

.tamasino-back {
	width: auto;
	height: var(--tamasino-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: rtl;
	transition: opacity .2s ease, transform .2s ease;
}

#tamasino-widget .tamasino-panel-header .tamasino-back:is(.btn, .button, button, [type=submit], [type=button]),
#tamasino-widget .tamasino-panel-header .tamasino-back {
	margin-right: 0;
	margin-left: auto;
	background: transparent;
	background-image: none;
	color: #ffffff;
	box-shadow: none;
}

.tamasino-back:hover,
#tamasino-widget .tamasino-panel-header .tamasino-back:hover,
#tamasino-widget .tamasino-panel-header .tamasino-back:focus,
#tamasino-widget .tamasino-panel-header .tamasino-back:active {
	transform: none;
	opacity: 1;
	background: transparent;
	background-image: none;
	color: #ffffff;
	box-shadow: none;
}

.tamasino-back.is-disabled {
	display: none;
	pointer-events: none;
}

.tamasino-panel-header.has-active-dept .tamasino-tabs {
	display: none;
}

.tamasino-back-label {
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
}

.tamasino-dept-view[hidden] {
	display: none;
}

.tamasino-control-icon {
	width: var(--tamasino-control-icon-size);
	height: var(--tamasino-control-icon-size);
	display: inline-grid;
	place-items: center;
	color: currentColor;
}

.tamasino-control-icon svg {
	width: var(--tamasino-control-icon-size);
	height: var(--tamasino-control-icon-size);
	display: block;
	stroke: currentColor;
	fill: none;
}

/* ============================================================
   PANEL BODY & ITEMS
   ============================================================ */

.tamasino-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;
}

.tamasino-channel-list,
.tamasino-tab-panel,
.tamasino-dept-view {
	min-height: 0;
}

.tamasino-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(--tamasino-border) 78%, transparent);
	background: color-mix(in srgb, var(--tamasino-bg) 94%, #f8fafc);
	color: #000;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
}

.tamasino-panel-footer a,
.tamasino-panel-footer a:visited {
	color: #000;
	text-decoration: none;
	transition: color .18s ease, opacity .18s ease;
}

.tamasino-panel-footer a:hover,
.tamasino-panel-footer a:focus {
	color: #df0f50;
	text-decoration: none;
}

.tamasino-footer-vitrinoo {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.tamasino-footer-vitrinoo img {
	width: auto;
	height: 14px;
	display: block;
	object-fit: contain;
}

.tamasino-panel-header .tamasino-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;
}

.tamasino-panel-header .tamasino-tab {
	min-height: 40px;
	padding: 8px 7px;
	color: var(--tamasino-tab-fg);
	font-size: 11px;
	border-radius: 8px;
}

.tamasino-panel-header .tamasino-tab:hover {
	color: var(--tamasino-tab-hover-fg);
	background: var(--tamasino-tab-hover-bg);
}

.tamasino-panel-header .tamasino-tab.is-active {
	background: var(--tamasino-tab-active-bg);
	color: var(--tamasino-tab-active-fg);
	box-shadow: none;
}

.tamasino-panel-header .tamasino-tab-icon {
	width: 16px;
	height: 16px;
	flex-basis: 16px;
}

.tamasino-panel-header .tamasino-tab-icon svg {
	width: 16px;
	height: 16px;
}

.tamasino-panel-header .tamasino-tab-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tamasino-tabs-style-integrated .tamasino-panel-header {
	padding: 10px;
	background:
		linear-gradient(135deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0)),
		var(--tamasino-header-bg);
}

.tamasino-tabs-style-integrated .tamasino-panel-header .tamasino-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);
}

.tamasino-tabs-style-integrated .tamasino-panel-header .tamasino-tab {
	min-height: 42px;
	border: 0;
	border-radius: 12px;
	padding: 8px 6px;
	background: transparent;
	color: color-mix(in srgb, var(--tamasino-header-fg) 82%, transparent);
	box-shadow: none;
	transform: none;
}

.tamasino-tabs-style-integrated .tamasino-panel-header .tamasino-tab:hover {
	background: rgba(255, 255, 255, .14);
	color: var(--tamasino-header-fg);
	transform: none;
}

.tamasino-tabs-style-integrated .tamasino-panel-header .tamasino-tab.is-active {
	background: var(--tamasino-bg);
	color: var(--tamasino-primary);
	box-shadow:
		0 8px 20px rgba(0, 0, 0, .16),
		inset 0 1px 0 rgba(255, 255, 255, .75);
}

.tamasino-tabs-style-integrated .tamasino-panel-header .tamasino-tab-icon {
	width: 17px;
	height: 17px;
	flex-basis: 17px;
}

.tamasino-tabs-style-integrated .tamasino-panel-header .tamasino-tab-icon svg {
	width: 17px;
	height: 17px;
}

.tamasino-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;
}

.tamasino-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(--tamasino-tab-bg);
	color: var(--tamasino-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;
}

.tamasino-tab:hover {
	color: var(--tamasino-tab-hover-fg);
	background: var(--tamasino-tab-hover-bg);
	transform: translateY(-1px);
}

.tamasino-tab.is-active {
	border-color: var(--tamasino-tab-active-bg);
	background: var(--tamasino-tab-active-bg);
	color: var(--tamasino-tab-active-fg);
	box-shadow: 0 10px 22px color-mix(in srgb, var(--tamasino-primary) 28%, transparent);
}

.tamasino-tab-icon {
	width: 19px;
	height: 19px;
	display: inline-grid;
	flex: 0 0 19px;
	place-items: center;
	color: currentColor;
}

.tamasino-tab-icon svg {
	width: 19px;
	height: 19px;
	display: block;
	fill: currentColor;
	stroke: currentColor;
}

.tamasino-tab-label {
	white-space: nowrap;
}

.tamasino-tab-panel[hidden],
.tamasino-faq-list[hidden] {
	display: none;
}

.tamasino-subtitle {
	margin: 0 0 12px;
	color: var(--tamasino-muted);
	font-size: 14px;
}

.tamasino-dept-subtitle {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr) 24px;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	color: var(--tamasino-muted);
	font-size: 14px;
	text-align: center;
}

.tamasino-channel,
.tamasino-location-address,
.tamasino-dept-item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 10px;
	padding: 12px;
	border: var(--tamasino-item-border-width) solid var(--tamasino-border);
	border-radius: var(--tamasino-item-radius);
	background: var(--tamasino-item-bg);
	color: inherit;
	font: inherit;
	text-align: right;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}

#tamasino-widget .tamasino-channel,
#tamasino-widget button.tamasino-channel,
#tamasino-widget a.tamasino-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(--tamasino-item-border-width) solid var(--tamasino-border);
	border-radius: var(--tamasino-item-radius);
	-webkit-appearance: none;
	appearance: none;
	background: var(--tamasino-item-bg);
	background-image: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: normal;
	text-align: right;
	text-decoration: none;
	vertical-align: top;
	cursor: pointer;
	outline: none;
}

#tamasino-widget button.tamasino-channel {
	-webkit-user-select: none;
	user-select: none;
}

#tamasino-widget .tamasino-channel:focus,
#tamasino-widget .tamasino-channel:active {
	border-color: var(--tamasino-border);
	background: var(--tamasino-item-bg);
	color: inherit;
	box-shadow: none;
	outline: none;
}

.tamasino-channel:hover,
.tamasino-dept-item:hover {
	border-color: var(--tamasino-primary);
	background: var(--tamasino-item-hover-bg);
	transform: translateY(-1px);
}

#tamasino-widget .tamasino-channel:hover {
	border-color: var(--tamasino-primary);
	background: var(--tamasino-item-hover-bg);
	color: inherit;
	box-shadow: none;
	text-decoration: none;
	transform: translateY(-1px);
}

.tamasino-channel-icon,
.tamasino-location-address-icon,
.tamasino-dept-img {
	width: 30px;
	height: 30px;
	display: grid;
	flex: 0 0 42px;
	place-items: center;
	overflow: hidden;
}

.tamasino-dept-img {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: var(--tamasino-icon-bg);
}

.tamasino-channel.has-channel-subtitle .tamasino-channel-icon {
	width: 42px;
	height: 42px;
}

.tamasino-location-address-icon {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	color: #000;
}

.tamasino-channel-icon img,
.tamasino-channel-icon svg,
.tamasino-location-address-icon svg,
.tamasino-dept-subtitle img,
.tamasino-dept-subtitle svg,
.tamasino-dept-subtitle-icon {
	width: 24px;
	height: 24px;
}

.tamasino-location-address-icon svg {
	width: 18px;
	height: 18px;
}

.tamasino-channel-icon svg,
.tamasino-location-address-icon svg,
.tamasino-dept-subtitle svg {
	display: block;
	fill: currentColor;
}

.tamasino-channel-label,
.tamasino-channel-info,
.tamasino-location-address-info,
.tamasino-dept-info {
	flex: 1;
}

.tamasino-channel-info {
	min-width: 0;
}

.tamasino-channel.channel-subtitle-inline .tamasino-channel-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.tamasino-channel.channel-subtitle-stacked .tamasino-channel-info {
	display: grid;
	gap: 3px;
}

.tamasino-channel-info .tamasino-dept-name,
.tamasino-channel-info .tamasino-dept-role {
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.tamasino-channel-info .tamasino-dept-name {
	text-align: right;
}

.tamasino-channel.channel-subtitle-inline .tamasino-channel-info .tamasino-dept-name,
.tamasino-channel.channel-subtitle-inline .tamasino-channel-info .tamasino-dept-role {
	color: #000;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

.tamasino-channel-info .tamasino-dept-role {
	text-align: left;
}

.tamasino-channel.channel-subtitle-stacked .tamasino-channel-info .tamasino-dept-role {
	text-align: right;
}

.tamasino-location-address {
	align-items: flex-start;
	cursor: default;
}

.tamasino-location-address-info {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.tamasino-location-address-title {
	color: #000;
	font-weight: 400;
}

.tamasino-location-address-subtitle {
	color: #000;
	font-size: 12px;
}

.tamasino-location-address-text {
	color: #000;
	font-size: 13px;
	line-height: 1.7;
}

.tamasino-channel-arrow {
	width: var(--tamasino-arrow-size);
	height: var(--tamasino-arrow-size);
	display: grid;
	place-items: center;
	border: var(--tamasino-arrow-border-width) solid var(--tamasino-arrow-border);
	border-radius: var(--tamasino-arrow-radius);
	background: var(--tamasino-arrow-bg);
	color: var(--tamasino-arrow);
	opacity: 1;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.tamasino-channel-arrow svg {
	width: var(--tamasino-arrow-icon-size);
	height: var(--tamasino-arrow-icon-size);
	display: block;
	stroke: currentColor;
	fill: none;
}

.tamasino-channel:hover .tamasino-channel-arrow {
	background: var(--tamasino-arrow-hover-bg);
	color: var(--tamasino-arrow-hover-color);
	border-color: var(--tamasino-arrow-hover-border);
}

.tamasino-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;
}

.tamasino-dept-img img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.tamasino-dept-img .tamasino-dept-default-avatar {
	width: 22px;
	height: 22px;
	object-fit: contain;
	opacity: .82;
}

.tamasino-dept-role,
.tamasino-dept-name {
	display: block;
}

.tamasino-dept-role {
	margin-bottom: 3px;
	color: var(--tamasino-muted);
	font-size: 12px;
}

.tamasino-dept-name {
	color: #000;
	font-weight: 400;
}

.tamasino-offline-message {
	margin: 0;
	padding: 12px;
	border-radius: 12px;
	background: var(--tamasino-offline-bg);
	color: var(--tamasino-offline-fg);
	font-size: 14px;
}

.tamasino-faq-list {
	display: grid;
	gap: 10px;
}

.tamasino-faq-item {
	overflow: hidden;
	border: 1px solid var(--tamasino-border);
	border-radius: 14px;
	background: var(--tamasino-item-bg);
	box-shadow: 0 8px 18px rgba(7, 21, 41, .04);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.tamasino-faq-item[open] {
	border-color: var(--tamasino-primary);
	box-shadow: 0 12px 26px color-mix(in srgb, var(--tamasino-primary) 13%, transparent);
}

.tamasino-faq-question {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 14px 13px 42px;
	color: var(--tamasino-faq-question-fg, var(--tamasino-text));
	font-weight: 400;
	cursor: pointer;
	list-style: none;
}

.tamasino-faq-question-text {
	font-weight: 400;
}

.tamasino-faq-question::-webkit-details-marker {
	display: none;
}

.tamasino-faq-toggle {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 20px;
	height: 20px;
	color: var(--tamasino-faq-question-fg, var(--tamasino-text));
	transform: translateY(-50%);
}

.tamasino-faq-toggle-icon,
.tamasino-faq-toggle-icon svg {
	width: 20px;
	height: 20px;
	display: block;
}

.tamasino-faq-toggle-icon svg {
	fill: none;
	stroke: currentColor;
}

.tamasino-faq-toggle-close {
	display: none;
}

.tamasino-faq-item[open] .tamasino-faq-toggle-open {
	display: none;
}

.tamasino-faq-item[open] .tamasino-faq-toggle-close {
	display: block;
}

.tamasino-faq-answer {
	padding: 0 54px 15px 14px;
	color: var(--tamasino-faq-answer-fg, var(--tamasino-muted));
	font-size: 14px;
	line-height: 1.8;
}

.tamasino-hours-list {
	display: grid;
	gap: 10px;
}

.tamasino-hours-status,
.tamasino-hours-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid var(--tamasino-border);
	border-radius: 14px;
	background: var(--tamasino-item-bg);
	color: var(--tamasino-text);
	font-size: 14px;
}

.tamasino-hours-status {
	align-items: center;
	justify-content: flex-start;
	font-weight: 400;
}

.tamasino-hours-status-dot {
	width: 9px;
	height: 9px;
	border-radius: 999px;
	background: #ef4444;
}

.tamasino-hours-status.is-open .tamasino-hours-status-dot {
	background: #22c55e;
}

.tamasino-hours-row.is-today {
	border-color: var(--tamasino-primary);
	background: var(--tamasino-item-hover-bg);
}

.tamasino-hours-row.is-closed {
	border-color: color-mix(in srgb, var(--tamasino-border) 72%, #fff);
	background: color-mix(in srgb, var(--tamasino-item-bg) 82%, #f1f5f9);
	opacity: .62;
}

.tamasino-hours-row.is-closed .tamasino-hours-day,
.tamasino-hours-row.is-closed .tamasino-hours-closed {
	color: #94a3b8;
}

.tamasino-hours-day {
	font-weight: 400;
	white-space: nowrap;
}

.tamasino-hours-shifts {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 5px;
	min-width: 0;
	color: var(--tamasino-muted);
	direction: ltr;
	text-align: left;
	line-height: 1.4;
}

.tamasino-hours-shift {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	max-width: 100%;
	padding: 3px 7px;
	border: 1px solid color-mix(in srgb, var(--tamasino-primary) 18%, var(--tamasino-border));
	border-radius: 999px;
	background: color-mix(in srgb, var(--tamasino-primary) 7%, #fff);
	color: var(--tamasino-text);
	direction: rtl;
	line-height: 1.35;
	white-space: nowrap;
}

.tamasino-hours-shift-label {
	color: var(--tamasino-primary);
	font-size: 11px;
	font-weight: 400;
}

.tamasino-hours-shift-time {
	color: #000;
	font-size: 12px;
	font-weight: 400;
}

.tamasino-hours-closed {
	color: var(--tamasino-muted);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 480px) {
	.tamasino-widget {
		bottom: var(--tamasino-mobile-bottom);
	}

	.tamasino-mobile-position-right {
		right: var(--tamasino-mobile-right);
		left: auto;
	}

	.tamasino-mobile-position-left {
		right: auto;
		left: var(--tamasino-mobile-left);
	}

	.tamasino-mobile-position-right .tamasino-panel {
		right: auto;
		left: auto;
	}

	.tamasino-mobile-position-left .tamasino-panel {
		right: auto;
		left: auto;
	}

	.tamasino-panel {
		position: fixed;
		right: auto;
		left: 50vw;
		bottom: calc(var(--tamasino-mobile-bottom) + 86px);
		width: calc(100vw - 24px);
		max-width: calc(100vw - 24px);
		max-height: calc(100vh - var(--tamasino-mobile-bottom) - 96px);
		max-height: calc(100dvh - var(--tamasino-mobile-bottom) - 96px);
		transform: translateX(-50%) translateY(20px) scale(.96);
	}

	.tamasino-panel.is-visible {
		transform: translateX(-50%) translateY(0) scale(1);
	}

	.tamasino-mobile-position-right .tamasino-panel,
	.tamasino-mobile-position-left .tamasino-panel {
		right: auto;
		left: 50vw;
	}

	.tamasino-panel-body {
		padding: 14px;
	}

	.tamasino-tabs {
		grid-auto-flow: row;
	}

	.tamasino-panel-header .tamasino-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) {
	.tamasino-trigger {
		animation: none;
		transition: none;
	}

	.tamasino-trigger-pulse,
	.tamasino-trigger-pulse-delay {
		animation: none;
		opacity: 0;
	}

	.tamasino-trigger-static,
	.tamasino-trigger-icons,
	.tamasino-trigger-icons-track {
		animation: none;
		transition: none;
	}

	.tamasino-panel {
		transition: none;
	}

	.tamasino-channel,
	.tamasino-dept-item {
		transition: none;
	}

	.tamasino-tab {
		transition: none;
	}

	.tamasino-trigger-style-gradient .tamasino-trigger {
		animation: none;
		background-size: 100% 100%;
	}

	/* Remove backdrop-filter (GPU-intensive) when motion is reduced. */
	.tamasino-trigger-style-glass .tamasino-trigger,
	.tamasino-tabs-style-integrated .tamasino-panel-header {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}
