/**
 * Cuvys Cart header widget — Woodmart-style cart button, badge presets, dropdown mini-cart.
 * Elementor Style tab sets CSS variables on .cuvys-ec-cart-header; rules below use var(…, fallback).
 */

.elementor-widget-cuvys-essential-commerce-cart-header,
.elementor-widget-cuvys-essential-commerce-cart-header .elementor-widget-container {
	overflow: visible;
}

.elementor-widget-cuvys-essential-commerce-cart-header {
	flex: 0 0 auto;
	width: auto;
	min-width: 0;
	max-width: none;
	position: relative;
	background: transparent;
}

.elementor-widget-cuvys-essential-commerce-cart-header .elementor-widget-container {
	width: fit-content;
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
}

.cuvys-ec-cart-header {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	line-height: 1;
	--cuvys-ec-ch-badge-offset-y-base: -4px;
	--cuvys-ec-ch-badge-offset-x-base: -8px;
	--cuvys-ec-ch-trigger-color: inherit;
	--cuvys-ec-ch-trigger-icon-color: var(--cuvys-ec-ch-icon-color, #111111);
	--cuvys-ec-ch-trigger-bg: var(--cuvys-ec-ch-circle-fill, transparent);
	--cuvys-ec-ch-trigger-border-color: var(--cuvys-ec-ch-circle-border, transparent);
	--cuvys-ec-ch-trigger-color-hover: var(--cuvys-ec-ch-trigger-color, inherit);
	--cuvys-ec-ch-trigger-icon-color-hover: var(--cuvys-ec-ch-trigger-icon-color, var(--cuvys-ec-ch-icon-color, #111111));
	--cuvys-ec-ch-trigger-bg-hover: var(--cuvys-ec-ch-trigger-bg, transparent);
	--cuvys-ec-ch-trigger-border-color-hover: var(--cuvys-ec-ch-trigger-border-color, transparent);
}

.cuvys-ec-cart-header__trigger,
.cuvys-ec-cart-header__trigger.cart-contents {
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 0.45rem;
	width: fit-content !important;
	max-width: 100%;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: var(--cuvys-ec-ch-icon-color, #111111);
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	font: inherit;
	box-sizing: border-box;
	flex-shrink: 0;
}

.cuvys-ec-cart-header__trigger.cart-contents::after {
	content: none !important;
	display: none !important;
	margin: 0 !important;
}

.cuvys-ec-cart-header--display-icon_subtotal .cuvys-ec-cart-header__trigger,
.cuvys-ec-cart-header--display-text_subtotal .cuvys-ec-cart-header__trigger {
	gap: 0.65rem;
}

.cuvys-ec-cart-header__label {
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--cuvys-ec-ch-trigger-color, inherit);
}

.cuvys-ec-cart-header__subtotal {
	color: var(--cuvys-ec-ch-subtotal-color, #111111);
	font-weight: 600;
	white-space: nowrap;
}

.cuvys-ec-cart-header--display-icon .cuvys-ec-cart-header__label,
.cuvys-ec-cart-header--display-icon .cuvys-ec-cart-header__subtotal,
.cuvys-ec-cart-header--display-icon_subtotal .cuvys-ec-cart-header__label,
.cuvys-ec-cart-header--display-icon_text .cuvys-ec-cart-header__subtotal,
.cuvys-ec-cart-header--display-text .cuvys-ec-cart-header__icon-wrap,
.cuvys-ec-cart-header--display-text .cuvys-ec-cart-header__subtotal,
.cuvys-ec-cart-header--display-text_subtotal .cuvys-ec-cart-header__icon-wrap {
	display: none;
}

.cuvys-ec-cart-header--icon-after-text .cuvys-ec-cart-header__icon-wrap {
	order: 2;
}

.cuvys-ec-cart-header--icon-after-text .cuvys-ec-cart-header__label {
	order: 1;
}

.cuvys-ec-cart-header__subtotal {
	order: 3;
}

.cuvys-ec-cart-header__trigger:hover .cuvys-ec-cart-header__label,
.cuvys-ec-cart-header__trigger:focus-visible .cuvys-ec-cart-header__label,
.elementor-widget-cuvys-essential-commerce-cart-header:hover .cuvys-ec-cart-header__label {
	color: var(--cuvys-ec-ch-trigger-color-hover, var(--cuvys-ec-ch-trigger-color, inherit)) !important;
}

.cuvys-ec-cart-header__trigger:hover .cuvys-ec-cart-header__icon,
.cuvys-ec-cart-header__trigger:focus-visible .cuvys-ec-cart-header__icon,
.elementor-widget-cuvys-essential-commerce-cart-header:hover .cuvys-ec-cart-header__icon {
	color: var(--cuvys-ec-ch-trigger-icon-color-hover, var(--cuvys-ec-ch-icon-color, currentColor)) !important;
}

.cuvys-ec-cart-header--design-5 .cuvys-ec-cart-header__trigger:hover .cuvys-ec-cart-header__icon-wrap,
.cuvys-ec-cart-header--design-6 .cuvys-ec-cart-header__trigger:hover .cuvys-ec-cart-header__icon-wrap,
.cuvys-ec-cart-header--design-7 .cuvys-ec-cart-header__trigger:hover .cuvys-ec-cart-header__icon-wrap,
.elementor-widget-cuvys-essential-commerce-cart-header:hover .cuvys-ec-cart-header--design-5 .cuvys-ec-cart-header__icon-wrap,
.elementor-widget-cuvys-essential-commerce-cart-header:hover .cuvys-ec-cart-header--design-6 .cuvys-ec-cart-header__icon-wrap,
.elementor-widget-cuvys-essential-commerce-cart-header:hover .cuvys-ec-cart-header--design-7 .cuvys-ec-cart-header__icon-wrap {
	background: var(--cuvys-ec-ch-trigger-bg-hover, var(--cuvys-ec-ch-circle-fill, transparent)) !important;
	background-color: var(--cuvys-ec-ch-trigger-bg-hover, var(--cuvys-ec-ch-circle-fill, transparent)) !important;
	border-color: var(--cuvys-ec-ch-trigger-border-color-hover, var(--cuvys-ec-ch-circle-border, transparent)) !important;
}

.cuvys-ec-cart-header__icon-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--cuvys-ec-ch-icon-box-size, auto);
	height: var(--cuvys-ec-ch-icon-box-size, auto);
	min-width: var(--cuvys-ec-ch-icon-box-size, 0);
	min-height: var(--cuvys-ec-ch-icon-box-size, 0);
	padding-top: max(0px, calc(-1 * (var(--cuvys-ec-ch-badge-offset-y-base, -4px) + var(--cuvys-ec-ch-badge-offset-y, 0px))));
	padding-right: max(0px, calc(-1 * (var(--cuvys-ec-ch-badge-offset-x-base, -8px) + var(--cuvys-ec-ch-badge-offset-x, 0px))));
	box-sizing: content-box;
	transform: translate(var(--cuvys-ec-ch-icon-position-x, 0px), var(--cuvys-ec-ch-icon-position-y, 0px));
}

.cuvys-ec-cart-header__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--cuvys-ec-ch-icon-size, 22px);
	height: var(--cuvys-ec-ch-icon-size, 22px);
	color: var(--cuvys-ec-ch-icon-color, #111111);
}

.cuvys-ec-cart-header__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.cuvys-ec-cart-header__icon svg :is(path, circle, line, polyline, rect) {
	stroke-width: var(--cuvys-ec-ch-icon-weight, 2);
}

.cuvys-ec-cart-header__count {
	position: absolute;
	top: calc(var(--cuvys-ec-ch-badge-offset-y-base, -4px) + var(--cuvys-ec-ch-badge-offset-y, 0px));
	right: calc(var(--cuvys-ec-ch-badge-offset-x-base, -8px) + var(--cuvys-ec-ch-badge-offset-x, 0px));
	left: auto;
	bottom: auto;
	transform: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--cuvys-ec-ch-badge-min, 16px);
	height: var(--cuvys-ec-ch-badge-min, 16px);
	padding: 0 4px;
	border-width: var(--cuvys-ec-ch-badge-border-width, 0px);
	border-style: var(--cuvys-ec-ch-badge-border-style, none);
	border-color: var(--cuvys-ec-ch-badge-border-color, transparent);
	border-radius: var(--cuvys-ec-ch-badge-radius, 50%);
	background: var(--cuvys-ec-ch-badge-bg, #3bb54a);
	color: var(--cuvys-ec-ch-badge-color, #ffffff);
	font-size: var(--cuvys-ec-ch-badge-size, 10px);
	font-weight: 600;
	line-height: 1;
	pointer-events: none;
	box-sizing: border-box;
}

/* Design 1 — plain icon, no badge */
.cuvys-ec-cart-header--design-1 .cuvys-ec-cart-header__count {
	display: none !important;
}

/* Design 2 — outlined count badge */
.cuvys-ec-cart-header--design-2 {
	--cuvys-ec-ch-badge-offset-y-base: -6px;
	--cuvys-ec-ch-badge-offset-x-base: -8px;
}

.cuvys-ec-cart-header--design-2 .cuvys-ec-cart-header__count {
	min-width: calc(var(--cuvys-ec-ch-badge-min, 16px) - 2px);
	height: calc(var(--cuvys-ec-ch-badge-min, 16px) - 2px);
	font-size: calc(var(--cuvys-ec-ch-badge-size, 10px) - 1px);
	background: #ffffff !important;
	color: var(--cuvys-ec-ch-badge-bg, #3bb54a) !important;
	border-width: var(--cuvys-ec-ch-badge-border-width, 1px) !important;
	border-style: var(--cuvys-ec-ch-badge-border-style, solid) !important;
	border-color: var(--cuvys-ec-ch-badge-border-color, var(--cuvys-ec-ch-badge-bg, #3bb54a)) !important;
}

/* Design 3 — faded icon, no badge */
.cuvys-ec-cart-header--design-3 .cuvys-ec-cart-header__icon-wrap {
	opacity: 0.4;
}

.cuvys-ec-cart-header--design-3 .cuvys-ec-cart-header__count {
	display: none !important;
}

/* Design 4 — solid badge (Woodmart default) */
.cuvys-ec-cart-header--design-4 {
	--cuvys-ec-ch-badge-offset-y-base: -4px;
	--cuvys-ec-ch-badge-offset-x-base: -8px;
}

.cuvys-ec-cart-header--design-4 .cuvys-ec-cart-header__count {
	background: var(--cuvys-ec-ch-badge-bg, #3bb54a) !important;
	color: var(--cuvys-ec-ch-badge-color, #ffffff) !important;
}

/* Circle designs wrap the icon only, so subtotal stays beside the circle */
.cuvys-ec-cart-header--design-5 .cuvys-ec-cart-header__icon-wrap,
.cuvys-ec-cart-header--design-6 .cuvys-ec-cart-header__icon-wrap,
.cuvys-ec-cart-header--design-7 .cuvys-ec-cart-header__icon-wrap {
	width: var(--cuvys-ec-ch-icon-box-size, calc(var(--cuvys-ec-ch-icon-size, 22px) + 18px));
	height: var(--cuvys-ec-ch-icon-box-size, calc(var(--cuvys-ec-ch-icon-size, 22px) + 18px));
	padding: 0 !important;
	border-radius: 50%;
	box-sizing: border-box !important;
	overflow: visible;
}

/* Design 5 — thin circle + badge */
.cuvys-ec-cart-header--design-5 {
	--cuvys-ec-ch-badge-offset-y-base: -4px;
	--cuvys-ec-ch-badge-offset-x-base: -4px;
}

.cuvys-ec-cart-header--design-5 .cuvys-ec-cart-header__icon-wrap {
	border: var(--cuvys-ec-ch-trigger-border-width, 1px) solid var(--cuvys-ec-ch-circle-border, #111111) !important;
	background: var(--cuvys-ec-ch-circle-fill, transparent) !important;
}

/* Design 6 — filled circle + badge */
.cuvys-ec-cart-header--design-6 {
	--cuvys-ec-ch-badge-offset-y-base: -4px;
	--cuvys-ec-ch-badge-offset-x-base: -4px;
}

.cuvys-ec-cart-header--design-6 .cuvys-ec-cart-header__icon-wrap {
	background: var(--cuvys-ec-ch-circle-fill, rgba(17, 17, 17, 0.08)) !important;
	background-color: var(--cuvys-ec-ch-circle-fill, rgba(17, 17, 17, 0.08)) !important;
	border: 0 !important;
}

/* Design 7 — thick outlined circle + badge */
.cuvys-ec-cart-header--design-7 {
	--cuvys-ec-ch-badge-offset-y-base: -4px;
	--cuvys-ec-ch-badge-offset-x-base: -4px;
}

.cuvys-ec-cart-header--design-7 .cuvys-ec-cart-header__icon-wrap {
	border: var(--cuvys-ec-ch-trigger-border-width, 2px) solid var(--cuvys-ec-ch-circle-border, #3bb54a) !important;
	background: var(--cuvys-ec-ch-circle-fill, transparent) !important;
}

.cuvys-ec-cart-header--design-5 .cuvys-ec-cart-header__count,
.cuvys-ec-cart-header--design-6 .cuvys-ec-cart-header__count,
.cuvys-ec-cart-header--design-7 .cuvys-ec-cart-header__count {
	background: var(--cuvys-ec-ch-badge-bg, #3bb54a) !important;
	color: var(--cuvys-ec-ch-badge-color, #ffffff) !important;
}

.cuvys-ec-cart-header__dropdown-backdrop {
	display: none;
}

.cuvys-ec-cart-header--placeholder {
	padding: 8px 12px;
	background: rgba(0, 0, 0, 0.04);
	border-radius: 4px;
	font-size: 12px;
	color: #666666;
}

.elementor-location-header .cuvys-ec-cart-header,
.elementor-widget-cuvys-essential-commerce-cart-header .cuvys-ec-cart-header {
	vertical-align: middle;
}

@media (min-width: 993px) {
	.elementor-location-header .cuvys-ec-cart-header .cuvys-ec-cart-header__trigger,
	.site-header .cuvys-ec-cart-header .cuvys-ec-cart-header__trigger {
		padding: 0 !important;
	}
}
