/* =========================================================
   SHELAN BEAUTY – KONTAKTPILLEN
========================================================= */

#sbcContactPills,
#sbcContactPills *,
#sbcContactPills *::before,
#sbcContactPills *::after {
	box-sizing: border-box !important;
}

#sbcContactPills {
	--sbc-ivory: #FFF8F1;
	--sbc-dark: #292522;
	--sbc-gold: #C9A17A;
	--sbc-text: #5B544F;
	--sbc-position: 52%;
	position: relative;
	z-index: 999999;
	font-family: "Manrope", Arial, sans-serif;
}

#sbcContactPills .sbc-desktop-pills {
	position: fixed;
	top: var(--sbc-position);
	display: flex;
	flex-direction: column;
	gap: 10px;
	transform: translateY(-50%);
	z-index: 999999;
	pointer-events: none;
}

#sbcContactPills.sbc-side-right .sbc-desktop-pills {
	right: 20px;
	align-items: flex-end;
}

#sbcContactPills.sbc-side-left .sbc-desktop-pills {
	left: 20px;
	align-items: flex-start;
}

#sbcContactPills .sbc-pill {
	position: relative;
	width: 56px;
	height: 56px;
	display: flex !important;
	align-items: center;
	overflow: hidden;
	border: 1px solid rgba(201, 161, 122, .36);
	border-radius: 999px;
	background:
		linear-gradient(135deg, rgba(255,255,255,.055), transparent 52%),
		var(--sbc-dark);
	box-shadow:
		0 16px 42px rgba(41, 37, 34, .14),
		0 4px 12px rgba(41, 37, 34, .07);
	color: var(--sbc-ivory) !important;
	text-decoration: none !important;
	pointer-events: auto;
	opacity: 0;
	will-change: width, transform, opacity;
	transition:
		width .62s cubic-bezier(.18,.82,.2,1),
		transform .46s cubic-bezier(.18,.82,.2,1),
		opacity .65s ease,
		border-color .35s ease,
		box-shadow .35s ease;
	transition-delay: 0ms, 0ms, var(--sbc-delay), 0ms, 0ms;
}

#sbcContactPills.sbc-side-right .sbc-pill {
	flex-direction: row-reverse;
	transform: translateX(32px);
}

#sbcContactPills.sbc-side-left .sbc-pill {
	flex-direction: row;
	transform: translateX(-32px);
}

#sbcContactPills.sbc-is-ready .sbc-pill {
	opacity: 1;
	transform: translateX(0);
}

#sbcContactPills .sbc-pill:hover,
#sbcContactPills .sbc-pill:focus-visible {
	width: 292px;
	border-color: var(--sbc-gold);
	box-shadow:
		0 21px 55px rgba(41, 37, 34, .19),
		0 6px 16px rgba(41, 37, 34, .08);
	outline: none;
}

#sbcContactPills .sbc-pill-icon {
	position: relative;
	width: 54px;
	height: 54px;
	flex: 0 0 54px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
	color: var(--sbc-gold);
}

#sbcContactPills .sbc-pill-icon::after {
	content: "";
	position: absolute;
	inset: 7px;
	border: 1px solid rgba(255, 248, 241, .10);
	border-radius: 50%;
	transition: border-color .35s ease, transform .45s ease;
}

#sbcContactPills .sbc-pill:hover .sbc-pill-icon::after,
#sbcContactPills .sbc-pill:focus-visible .sbc-pill-icon::after {
	border-color: rgba(201, 161, 122, .42);
	transform: rotate(45deg);
}

#sbcContactPills .sbc-pill-copy {
	min-width: 218px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 5px;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity .32s ease .10s,
		transform .42s cubic-bezier(.18,.82,.2,1) .06s,
		visibility 0s linear .34s;
}

#sbcContactPills.sbc-side-right .sbc-pill-copy {
	align-items: flex-end;
	padding-left: 20px;
	text-align: right;
	transform: translateX(13px);
}

#sbcContactPills.sbc-side-left .sbc-pill-copy {
	align-items: flex-start;
	padding-right: 20px;
	text-align: left;
	transform: translateX(-13px);
}

#sbcContactPills .sbc-pill:hover .sbc-pill-copy,
#sbcContactPills .sbc-pill:focus-visible .sbc-pill-copy {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	transition-delay: .11s, .07s, 0s;
}

#sbcContactPills .sbc-pill-copy small {
	display: block;
	margin-bottom: 3px;
	font-size: 9px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .19em;
	text-transform: uppercase;
	color: var(--sbc-gold);
}

#sbcContactPills .sbc-pill-copy strong {
	display: block;
	max-width: 210px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: .02em;
	color: var(--sbc-ivory);
}

#sbcContactPills .sbc-pill-shop {
	background:
		linear-gradient(135deg, rgba(255,255,255,.16), transparent 52%),
		var(--sbc-gold);
	border-color: rgba(41, 37, 34, .12);
	color: var(--sbc-dark) !important;
}

#sbcContactPills .sbc-pill-shop .sbc-pill-icon,
#sbcContactPills .sbc-pill-shop .sbc-pill-copy small,
#sbcContactPills .sbc-pill-shop .sbc-pill-copy strong {
	color: var(--sbc-dark);
}

#sbcContactPills .sbc-pill-shop .sbc-pill-icon::after {
	border-color: rgba(41, 37, 34, .12);
}

#sbcContactPills .sbc-mobile-pills {
	display: none;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
	#sbcContactPills .sbc-desktop-pills {
		display: none !important;
	}

	#sbcContactPills .sbc-mobile-pills {
		position: fixed;
		left: 50%;
		bottom: calc(14px + env(safe-area-inset-bottom, 0px));
		width: min(420px, calc(100vw - 28px));
		display: flex;
		justify-content: center;
		gap: 10px;
		transform: translateX(-50%);
		z-index: 999999;
		pointer-events: none;
	}

	#sbcContactPills .sbc-mobile-pill {
		min-width: 0;
		height: 52px;
		flex: 1 1 0;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		gap: 10px;
		padding: 0 18px;
		border: 1px solid rgba(201, 161, 122, .34);
		border-radius: 999px;
		background: var(--sbc-dark);
		box-shadow:
			0 16px 42px rgba(41, 37, 34, .20),
			0 4px 14px rgba(41, 37, 34, .10);
		color: var(--sbc-ivory) !important;
		text-decoration: none !important;
		pointer-events: auto;
		opacity: 0;
		transform: translateY(26px) scale(.96);
		transition:
			transform .58s cubic-bezier(.18,.82,.2,1),
			opacity .58s ease,
			box-shadow .3s ease;
		transition-delay: var(--sbc-mobile-delay);
	}

	#sbcContactPills.sbc-is-ready .sbc-mobile-pill {
		opacity: 1;
		transform: translateY(0) scale(1);
	}

	#sbcContactPills .sbc-mobile-pill:active {
		transform: translateY(1px) scale(.985);
	}

	#sbcContactPills .sbc-mobile-pill i {
		flex: 0 0 auto;
		font-size: 17px;
		color: var(--sbc-gold);
	}

	#sbcContactPills .sbc-mobile-pill span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: 10px;
		font-weight: 600;
		line-height: 1;
		letter-spacing: .13em;
		text-transform: uppercase;
	}

	#sbcContactPills .sbc-mobile-shop {
		background: var(--sbc-gold);
		border-color: rgba(41, 37, 34, .12);
		color: var(--sbc-dark) !important;
	}

	#sbcContactPills .sbc-mobile-shop i {
		color: var(--sbc-dark);
	}
}

@media (max-width: 370px) {
	#sbcContactPills .sbc-mobile-pills {
		width: calc(100vw - 18px);
		gap: 7px;
	}

	#sbcContactPills .sbc-mobile-pill {
		height: 49px;
		gap: 7px;
		padding: 0 12px;
	}

	#sbcContactPills .sbc-mobile-pill span {
		font-size: 9px;
		letter-spacing: .09em;
	}
}

@media (prefers-reduced-motion: reduce) {
	#sbcContactPills .sbc-pill,
	#sbcContactPills .sbc-mobile-pill,
	#sbcContactPills .sbc-pill-copy,
	#sbcContactPills .sbc-pill-icon::after {
		transition: none !important;
	}

	#sbcContactPills .sbc-pill,
	#sbcContactPills .sbc-mobile-pill {
		opacity: 1 !important;
		transform: none !important;
	}
}
