.swc-float-wrap {
	position: fixed;
	z-index: 99999;
	bottom: var(--swc-float-bottom, 24px);
	display: flex;
	align-items: center;
	gap: 10px;
	animation: swc-float-drift 3.2s ease-in-out infinite;
}

.swc-float-right {
	right: var(--swc-float-side-offset, 24px);
	flex-direction: row;
}

.swc-float-left {
	left: var(--swc-float-side-offset, 24px);
	flex-direction: row-reverse;
}

.swc-float-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--swc-float-color, #25d366);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.swc-float-button:hover,
.swc-float-button:focus {
	background: var(--swc-float-hover-color, var(--swc-float-color, #25d366));
	color: #fff;
	transform: scale(1.06);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.28);
}

.swc-float-button i {
	font-size: 30px;
	line-height: 1;
}

.swc-country-picker {
	position: absolute;
	right: 0;
	bottom: 68px;
	display: flex;
	flex-direction: column-reverse;
	gap: 8px;
	align-items: center;
	opacity: 0;
	pointer-events: none;
	transform: translateY(8px) scale(0.96);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.swc-float-left .swc-country-picker {
	right: auto;
	left: 0;
}

.swc-country-picker[hidden],
.swc-product-country-picker[hidden] {
	display: none;
}

.swc-country-picker.is-open,
.swc-product-country-picker.is-open {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0) scale(1);
}

.swc-country-choice {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	transform: scale(0.82);
	transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.swc-country-picker.is-open .swc-country-choice,
.swc-product-country-picker.is-open .swc-country-choice {
	transform: scale(1);
}

.swc-country-choice:hover,
.swc-country-choice:focus {
	background: var(--swc-country-hover-color, var(--swc-float-color, #25d366));
	transform: translateY(-2px) scale(1.04);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

.swc-country-choice-tooltip {
	position: absolute;
	top: 50%;
	right: 46px;
	width: max-content;
	max-width: 180px;
	padding: 8px 11px;
	border-radius: 18px;
	background: #111827;
	color: #fff;
	font-size: 12px;
	line-height: 1.25;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%) translateX(4px);
	transition: opacity 0.14s ease, transform 0.14s ease;
}

.swc-float-left .swc-country-choice-tooltip {
	right: auto;
	left: 46px;
	transform: translateY(-50%) translateX(-4px);
}

.swc-country-choice:hover .swc-country-choice-tooltip,
.swc-country-choice:focus .swc-country-choice-tooltip,
.swc-country-picker.is-open .swc-country-choice-tooltip {
	opacity: 1;
	transform: translateY(-50%) translateX(0);
}

.swc-float-tooltip {
	max-width: 220px;
	padding: 9px 12px;
	border-radius: 18px;
	background: #111827;
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
}

.swc-wc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin-top: 12px;
	padding: 11px 18px;
	border: 1px solid var(--swc-wc-border, #1ebe5d);
	border-radius: var(--swc-wc-radius, 6px);
	background: var(--swc-wc-bg, #25d366);
	color: var(--swc-wc-text, #fff);
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	transition: transform 0.16s ease, filter 0.16s ease;
}

.swc-wc-button:hover,
.swc-wc-button:focus {
	border-color: var(--swc-wc-hover-border, var(--swc-wc-border, #1ebe5d));
	background: var(--swc-wc-hover-bg, var(--swc-wc-bg, #25d366));
	color: var(--swc-wc-hover-text, var(--swc-wc-text, #fff));
	filter: brightness(0.96);
	transform: translateY(-1px);
}

.swc-wc-button i {
	font-size: 18px;
}

.swc-product-country-picker {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0 10px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(6px) scale(0.98);
	transition: opacity 0.18s ease, transform 0.18s ease;
	vertical-align: middle;
}

.swc-product-country-picker .swc-country-choice {
	width: 34px;
	height: 34px;
	font-size: 18px;
}

.swc-product-country-picker .swc-country-choice-tooltip {
	top: auto;
	right: auto;
	bottom: 42px;
	left: 50%;
	transform: translateX(-50%) translateY(4px);
}

.swc-product-country-picker .swc-country-choice:hover .swc-country-choice-tooltip,
.swc-product-country-picker .swc-country-choice:focus .swc-country-choice-tooltip {
	transform: translateX(-50%) translateY(0);
}

@keyframes swc-float-drift {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-7px);
	}
}

@media (max-width: 640px) {
	.swc-float-button {
		width: 52px;
		height: 52px;
	}

	.swc-float-button i {
		font-size: 27px;
	}

	.swc-float-tooltip {
		display: none;
	}

	.swc-wc-button {
		width: 100%;
	}
}
