.sscb {
	--sscb-edge: max(8px, env(safe-area-inset-bottom));
	position: fixed;
	left: var(--sscb-offset-x);
	right: var(--sscb-offset-x);
	z-index: var(--sscb-z);
	font-size: var(--sscb-font);
	color: var(--sscb-text);
	pointer-events: none;
}

.sscb,
.sscb * {
	box-sizing: border-box;
}

.sscb--bottom {
	bottom: calc(var(--sscb-offset-y) + var(--sscb-edge));
}

.sscb--top {
	top: calc(var(--sscb-offset-y) + max(8px, env(safe-area-inset-top)));
}

.sscb--boxed.sscb--align-left {
	right: auto;
}

.sscb--boxed.sscb--align-right {
	left: auto;
}

.sscb--boxed .sscb__shell {
	max-width: var(--sscb-max);
}

.sscb--align-center .sscb__shell {
	margin-inline: auto;
}

.sscb--align-left .sscb__shell {
	margin-right: auto;
}

.sscb--align-right .sscb__shell {
	margin-left: auto;
}

.sscb__shell {
	position: relative;
	width: 100%;
	pointer-events: auto;
}

.sscb__content {
	display: grid;
	grid-template-columns: minmax(150px, 1fr) auto auto auto auto;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 8px 10px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--sscb-radius);
	background: var(--sscb-bg);
	box-shadow: 0 calc(var(--sscb-shadow) * 1px) calc(var(--sscb-shadow) * 2px) rgba(2, 6, 23, 0.28);
}

.sscb--appearance-classic .sscb__shell {
	max-width: min(var(--sscb-max), 1180px);
}

.sscb--appearance-classic .sscb__content {
	padding: 10px 12px;
}

.sscb--appearance-compact .sscb__shell {
	max-width: min(var(--sscb-max), 720px);
}

.sscb--appearance-compact .sscb__content {
	grid-template-columns: minmax(120px, 1fr) auto auto;
}

.sscb--appearance-compact .sscb__status,
.sscb--appearance-compact .sscb__socials {
	display: none;
}

.sscb--appearance-pill .sscb__shell {
	max-width: min(var(--sscb-max), 560px);
}

.sscb--appearance-pill .sscb__content {
	display: inline-flex;
	width: auto;
	max-width: 100%;
	padding: 7px 8px;
	border-radius: 999px;
}

.sscb--appearance-pill.sscb--align-center .sscb__content {
	margin-inline: auto;
}

.sscb--appearance-pill.sscb--align-left .sscb__content {
	margin-right: auto;
}

.sscb--appearance-pill.sscb--align-right .sscb__content {
	margin-left: auto;
}

.sscb--appearance-pill .sscb__intro span,
.sscb--appearance-pill .sscb__status {
	display: none;
}

.sscb--appearance-icon-dock .sscb__shell {
	max-width: min(var(--sscb-max), 420px);
}

.sscb--appearance-icon-dock .sscb__content {
	display: inline-flex;
	width: auto;
	max-width: 100%;
	padding: 6px;
	border-radius: 999px;
}

.sscb--appearance-icon-dock.sscb--align-center .sscb__content {
	margin-inline: auto;
}

.sscb--appearance-icon-dock.sscb--align-left .sscb__content {
	margin-right: auto;
}

.sscb--appearance-icon-dock.sscb--align-right .sscb__content {
	margin-left: auto;
}

.sscb--appearance-icon-dock .sscb__intro,
.sscb--appearance-icon-dock .sscb__status,
.sscb--appearance-icon-dock .sscb__actions {
	display: none;
}

.sscb--appearance-icon-dock .sscb__links {
	display: flex;
	gap: 4px;
}

.sscb--appearance-icon-dock .sscb__item,
.sscb--appearance-icon-dock .sscb__socials a,
.sscb--appearance-icon-dock .sscb__control {
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 999px;
}

.sscb--appearance-cta-card .sscb__shell {
	max-width: min(var(--sscb-max), 390px);
}

.sscb--appearance-cta-card .sscb__content {
	grid-template-columns: 1fr auto;
	padding: 10px;
}

.sscb--appearance-cta-card .sscb__links,
.sscb--appearance-cta-card .sscb__socials,
.sscb--appearance-cta-card .sscb__status {
	display: none;
}

.sscb--glass .sscb__content {
	background: color-mix(in srgb, var(--sscb-bg) 78%, transparent);
	backdrop-filter: blur(var(--sscb-blur));
	-webkit-backdrop-filter: blur(var(--sscb-blur));
}

.sscb--gradient .sscb__content {
	background: linear-gradient(135deg, var(--sscb-bg), color-mix(in srgb, var(--sscb-primary) 42%, var(--sscb-bg)));
}

.sscb--minimal .sscb__content {
	padding: 7px 10px;
	border-color: rgba(15, 23, 42, 0.08);
	background: rgba(255, 255, 255, 0.96);
	color: #0f172a;
}

.sscb__intro,
.sscb__links,
.sscb__status,
.sscb__socials,
.sscb__actions,
.sscb__controls {
	display: flex;
	align-items: center;
}

.sscb__intro {
	min-width: 0;
	gap: 8px;
}

.sscb__intro strong,
.sscb__intro span {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sscb__intro strong {
	font-size: 0.96em;
	line-height: 1.2;
}

.sscb__intro span {
	color: var(--sscb-muted);
	font-size: 0.84em;
	line-height: 1.25;
}

.sscb--minimal .sscb__intro span {
	color: #475569;
}

.sscb__pulse {
	position: relative;
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--sscb-accent);
	box-shadow: 0 0 0 6px color-mix(in srgb, var(--sscb-accent) 18%, transparent);
}

.sscb--closed-hours .sscb__pulse,
.sscb--closed-hours .sscb__status span {
	background: #f59e0b;
	box-shadow: 0 0 0 6px rgba(245, 158, 11, 0.18);
}

.sscb__links {
	flex-wrap: wrap;
	gap: 6px;
}

.sscb__item,
.sscb__socials a,
.sscb__control,
.sscb__restore {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	text-decoration: none;
}

.sscb__item {
	position: relative;
	gap: 6px;
	min-height: 30px;
	padding: 5px 8px;
	border-radius: calc(var(--sscb-radius) * 0.55);
	background: rgba(255, 255, 255, 0.08);
	color: var(--sscb-text);
	transition: background 160ms ease, transform 160ms ease;
}

.sscb--hide-contact-labels .sscb__item span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.sscb--hide-contact-labels .sscb__item {
	width: 30px;
	padding-inline: 0;
}

.sscb__item:hover {
	background: var(--sscb-link-hover);
	color: var(--sscb-link-hover-text);
	transform: translateY(-1px);
}

.sscb--minimal .sscb__item {
	background: #f1f5f9;
	color: #0f172a;
}

.sscb svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.sscb--icons-solid svg,
.sscb__socials svg {
	fill: currentColor;
	stroke: none;
}

.sscb--icons-circle .sscb__item svg,
.sscb--icons-circle .sscb__socials a {
	padding: 4px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--sscb-primary) 28%, transparent);
}

.sscb__status {
	gap: 6px;
	color: var(--sscb-muted);
	font-size: 0.84em;
	white-space: nowrap;
}

.sscb--minimal .sscb__status {
	color: #475569;
}

.sscb__status span {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--sscb-accent);
}

.sscb__socials {
	gap: 4px;
}

.sscb__socials a,
.sscb__control {
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: calc(var(--sscb-radius) * 0.55);
	background: rgba(255, 255, 255, 0.08);
	cursor: pointer;
	transition: background 160ms ease, transform 160ms ease;
}

.sscb__socials a:hover,
.sscb__control:hover {
	background: var(--sscb-link-hover);
	color: var(--sscb-link-hover-text);
	transform: translateY(-1px);
}

.sscb--minimal .sscb__socials a,
.sscb--minimal .sscb__control {
	background: #f1f5f9;
	color: #0f172a;
}

.sscb__actions {
	gap: 6px;
	justify-content: flex-end;
}

.sscb__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 32px;
	padding: 7px 11px;
	border-radius: calc(var(--sscb-radius) * 0.62);
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 160ms ease, filter 160ms ease;
}

.sscb__button:hover {
	background: var(--sscb-button-hover);
	color: var(--sscb-button-hover-text);
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.sscb__button--primary {
	background: linear-gradient(135deg, var(--sscb-primary), var(--sscb-accent));
	color: var(--sscb-button-text);
}

.sscb__button--secondary {
	background: rgba(255, 255, 255, 0.1);
	color: var(--sscb-text);
}

.sscb--minimal .sscb__button--secondary {
	background: #e2e8f0;
	color: #0f172a;
}

.sscb__controls {
	gap: 4px;
}

.sscb__control {
	color: var(--sscb-text);
}

.sscb__restore {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--sscb-primary), var(--sscb-accent));
	color: var(--sscb-button-text);
	box-shadow: 0 12px 30px rgba(2, 6, 23, 0.24);
	cursor: pointer;
	opacity: 0;
	transform: scale(0.8);
	visibility: hidden;
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.sscb.is-minimized .sscb__content,
.sscb.is-closed .sscb__content {
	opacity: 0;
	transform: translateY(10px) scale(0.98);
	pointer-events: none;
	visibility: hidden;
}

.sscb.is-minimized .sscb__restore {
	opacity: 1;
	transform: scale(1);
	visibility: visible;
}

.sscb.is-closed {
	display: none;
}

.sscb--animation-fade .sscb__content {
	animation: sscbFade 360ms ease both;
}

.sscb--animation-slide.sscb--bottom .sscb__content {
	animation: sscbSlideUp 360ms ease both;
}

.sscb--animation-slide.sscb--top .sscb__content {
	animation: sscbSlideDown 360ms ease both;
}

.sscb--animation-pop .sscb__content {
	animation: sscbPop 320ms cubic-bezier(.2, .9, .3, 1.2) both;
}

@keyframes sscbFade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes sscbSlideUp {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes sscbSlideDown {
	from { opacity: 0; transform: translateY(-18px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes sscbPop {
	from { opacity: 0; transform: scale(0.96); }
	to { opacity: 1; transform: scale(1); }
}

@media (max-width: 980px) {
	.sscb__content {
		grid-template-columns: 1fr auto auto;
	}

	.sscb__links,
	.sscb__status {
		display: none;
	}
}

@media (max-width: 767px) {
	.sscb {
		left: 8px;
		right: 8px;
	}

	.sscb__content {
		grid-template-columns: 1fr auto;
		gap: 7px;
		padding: 8px;
		border-radius: min(var(--sscb-radius), 14px);
	}

	.sscb--hide-contacts-mobile .sscb__links {
		display: none;
	}

	.sscb--appearance-pill .sscb__content,
	.sscb--appearance-icon-dock .sscb__content {
		max-width: calc(100vw - 16px);
	}

	.sscb--appearance-pill .sscb__intro {
		max-width: 150px;
	}

	.sscb--appearance-pill .sscb__controls,
	.sscb--appearance-icon-dock .sscb__controls {
		display: none;
	}

	.sscb--appearance-pill .sscb__actions,
	.sscb--appearance-icon-dock .sscb__actions {
		grid-column: auto;
		width: auto;
	}

	.sscb--appearance-pill .sscb__button,
	.sscb--appearance-icon-dock .sscb__button {
		flex: 0 0 auto;
	}

	.sscb__intro span,
	.sscb__socials {
		display: none;
	}

	.sscb__actions {
		grid-column: 1 / -1;
		width: 100%;
	}

	.sscb__button {
		flex: 1;
		min-height: 36px;
	}

	.sscb--mobile-compact .sscb__actions {
		grid-column: auto;
	}

	.sscb--mobile-compact .sscb__controls {
		display: none;
	}

	.sscb--mobile-compact .sscb__button {
		width: auto;
		min-height: 34px;
		padding-inline: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sscb *,
	.sscb__content {
		animation: none !important;
		transition: none !important;
	}
}
