/**
 * Vynox Mini Cart Ã¢â‚¬â€ header cart icon + slide-in drawer. Style-agnostic
 * defaults live here as CSS custom properties (--vynox-mc-*); every one of
 * them is overridable per-instance from the widget's Style tab (see
 * Widgets\Mini_Cart::register_style_controls()), same convention the
 * product card styles use (--vynox-override-*).
 *
 * The free shipping banner's threshold/percentage LOGIC mirrors the
 * [vynox_cart] page's own free-shipping banner (see
 * Modules\CartCheckout\templates\cart.php + assets/css/cart.css) Ã¢â‚¬â€ same
 * shipping-zone lookup, same "locked vs unlocked" states Ã¢â‚¬â€ just laid out
 * to match this drawer's compact width instead of the full cart page's
 * two-column layout.
 */

.vynox-mc {
	--vynox-mc-drawer-width: 400px;
	--vynox-mc-drawer-bg: #ffffff;
	--vynox-mc-trigger-icon-color: #1a1a1a;
	--vynox-mc-badge-bg: #2e7d32;
	--vynox-mc-badge-text: #ffffff;
	--vynox-mc-title-color: #1a1a1a;
	--vynox-mc-close-color: #1a1a1a;
	--vynox-mc-close-color-hover: #1a1a1a;
	--vynox-mc-toast-bg: #f0fdf4;
	--vynox-mc-toast-text: #15803d;
	--vynox-mc-toast-icon: #16a34a;
	--vynox-mc-item-title-color: #1a1a1a;
	--vynox-mc-item-title-color-hover: #2e7d32;
	--vynox-mc-item-meta-color: #767676;
	--vynox-mc-item-price-color: #1a1a1a;
	--vynox-mc-item-img-radius: 8px;
	--vynox-mc-wishlist-color: #1a1a1a;
	--vynox-mc-qty-border-color: #e5e5e5;
	--vynox-mc-qty-border-width: 1px;
	--vynox-mc-qty-radius: 6px;
	--vynox-mc-qty-icon-color: #1a1a1a;
	--vynox-mc-qty-icon-color-hover: #2e7d32;
	--vynox-mc-qty-icon-bg-hover: #f2f2f2;
	--vynox-mc-divider-color: #e5e5e5;
	--vynox-mc-divider-width: 1px;
	--vynox-mc-divider-on: 1;
	--vynox-mc-total-divider-color: #e5e5e5;
	--vynox-mc-total-divider-width: 1px;
	--vynox-mc-total-divider-on: 1;
	--vynox-mc-remove-color: #999999;
	--vynox-mc-remove-color-hover: #e63946;
	--vynox-mc-summary-bg: #ffffff;
	--vynox-mc-summary-label-color: #767676;
	--vynox-mc-summary-value-color: #1a1a1a;
	--vynox-mc-total-label-color: #1a1a1a;
	--vynox-mc-total-value-color: #2e7d32;
	--vynox-mc-shipping-bg: #f0fdf4;
	--vynox-mc-shipping-icon-color: #16a34a;
	--vynox-mc-shipping-heading-color: #15803d;
	--vynox-mc-shipping-track-bg: #dcfce7;
	--vynox-mc-shipping-fill-color: #16a34a;
	--vynox-mc-view-cart-bg: #ffffff;
	--vynox-mc-view-cart-text: #1a1a1a;
	--vynox-mc-view-cart-border: #1a1a1a;
	--vynox-mc-view-cart-bg-hover: #f2f2f2;
	--vynox-mc-view-cart-text-hover: #1a1a1a;
	--vynox-mc-view-cart-border-hover: #1a1a1a;
	--vynox-mc-checkout-bg: #2e7d32;
	--vynox-mc-checkout-text: #ffffff;
	--vynox-mc-checkout-bg-hover: #1f5723;
	--vynox-mc-checkout-text-hover: #ffffff;

	display: inline-block;
}

/* ---------- Trigger + badge ---------- */

.vynox-mc .vynox-mc-trigger {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	color: var( --vynox-mc-trigger-icon-color );
}
.vynox-mc .vynox-mc-trigger:hover {background:unset;}

.vynox-mc .vynox-mc-trigger svg {
	width: 22px;
	height: 22px;
	color: #000;
}

.vynox-mc-badge {
	position: absolute;
	top: -2px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var( --vynox-mc-badge-bg );
	color: var( --vynox-mc-badge-text );
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	border-radius: 999px;
}

.vynox-mc-badge[data-count="0"] {
	display: none;
}

/* ---------- Backdrop + drawer ---------- */

.vynox-mc-backdrop {
	position: fixed;
	inset: 0;
	background: rgba( 0, 0, 0, 0.45 );
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease;
	z-index: 100000;
}

.vynox-mc.is-open .vynox-mc-backdrop {
	opacity: 1;
	visibility: visible;
}

.vynox-mc-drawer {
	position: fixed;
	top: 0;
	bottom: 0;
	width: var( --vynox-mc-drawer-width );
	max-width: 92vw;
	background: var( --vynox-mc-drawer-bg );
	display: flex;
	flex-direction: column;
	transform: translateX( 100% );
	transition: transform 0.3s ease;
	z-index: 100001;
	box-shadow: -8px 0 30px rgba( 0, 0, 0, 0.15 );
}

.vynox-mc-drawer[data-side="right"] {
	right: 0;
	transform: translateX( 100% );
}

.vynox-mc-drawer[data-side="left"] {
	left: 0;
	transform: translateX( -100% );
}

.vynox-mc.is-open .vynox-mc-drawer {
	transform: translateX( 0 );
}

.vynox-mc-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid #dcdbdb;
	flex: 0 0 auto;
}

.vynox-mc-drawer__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: var( --vynox-mc-title-color );
}

.vynox-mc-drawer__header .vynox-mc-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	color: var( --vynox-mc-close-color );
	transition: color 0.2s ease;
}

.vynox-mc-drawer__close:hover {
	color: var( --vynox-mc-close-color-hover );
}

.vynox-mc-drawer__close svg {
	width: 20px;
	height: 20px;
}

/* ---------- Toast ---------- */

.vynox-mc-toast {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 24px 0;
	padding: 10px 14px;
	background: var( --vynox-mc-toast-bg );
	color: var( --vynox-mc-toast-text );
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 0.25s ease, max-height 0.25s ease, margin 0.25s ease;
}

.vynox-mc-toast.is-visible {
	opacity: 1;
	max-height: 60px;
}

.vynox-mc-toast svg {
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	color: var( --vynox-mc-toast-icon );
}

/* ---------- Scrollable body ---------- */

.vynox-mc-drawer__body {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: 8px 24px 16px;
}

.vynox-mc-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	padding: 60px 20px;
	color: var( --vynox-mc-item-meta-color );
}

.vynox-mc-empty svg {
	width: 48px;
	height: 48px;
	opacity: 0.5;
}

/* ---------- Cart items ---------- */

.vynox-mc-item {
	display: flex;
	column-gap: 15px;
	/* row-gap: 6px; */
	padding: 16px 0;
	border-top-style: solid;
	border-top-color: var( --vynox-mc-divider-color );
	border-top-width: calc( var( --vynox-mc-divider-on, 1 ) * var( --vynox-mc-divider-width, 1px ) );
	transition: opacity 0.3s ease, max-height 0.3s ease, padding 0.3s ease, margin 0.3s ease;
}

.vynox-mc-items > .vynox-mc-item:first-child {
	border-top: 0;
}

.vynox-mc-item.is-removing {
	opacity: 0;
	max-height: 0;
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
	overflow: hidden;
	pointer-events: none;
}

.vynox-mc-item.is-updating {
	opacity: 0.5;
	pointer-events: none;
}

.vynox-mc-items .vynox-mc-item .vynox-mc-item__img {
	aspect-ratio: 1 / 1;
	width: 115px;
	height: auto;
	object-fit: cover;
	border-radius: var( --vynox-mc-item-img-radius );
	background: #f3f4f6;
}

.vynox-mc-item__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.vynox-mc-item__title {
	color: var( --vynox-mc-item-title-color );
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	transition: color 0.2s ease;
}

.vynox-mc-item__title:hover {
	color: var( --vynox-mc-item-title-color-hover );
}

.vynox-mc-item__meta {
	font-size: 12px;
	color: var( --vynox-mc-item-meta-color );
}

.vynox-mc-item__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	margin-left: auto;
}

.vynox-mc-item__wishlist {
	color: var( --vynox-mc-wishlist-color );
	line-height: 1;
}

.vynox-mc-item__actions .vynox-mc-item__wishlist button,
.vynox-mc-item__actions .vynox-mc-item__wishlist a {
	display: inline-flex;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: inherit;
}
.vynox-mc-item__actions .vynox-mc-item__wishlist button:hover{background:unset;}

.vynox-mc-item__actions .vynox-mc-item__wishlist svg {
	width: 16px;
	height: 16px;
	color:#000;
}

.vynox-mc-item__actions .vynox-mc-item-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	color: var( --vynox-mc-remove-color );
	transition: color 0.2s ease;
}

.vynox-mc-item__actions .vynox-mc-item-remove:hover {
	color: var( --vynox-mc-remove-color-hover );
	background:unset;
}

.vynox-mc-item__actions .vynox-mc-item-remove svg {
	width: 15px;
	height: 15px;
}

.vynox-mc-item__controls {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	flex-direction: column;
}

.vynox-mc-item__qty {
	display: flex;
	align-items: stretch;
	width: fit-content;
	height: 30px;
	border: var( --vynox-mc-qty-border-width ) solid var( --vynox-mc-qty-border-color );
	border-radius: var( --vynox-mc-qty-radius );
	overflow: hidden;
	background: #fff;
}

.vynox-mc-items .vynox-mc-item .vynox-mc-item__controls .vynox-mc-qty-btn {
	width: 28px;
	background: none;
	border: none;
	cursor: pointer;
	color: var( --vynox-mc-qty-icon-color );
	font-size: 15px;
	line-height: 1;
	transition: background 0.15s ease, color 0.15s ease;
	padding: 0;
}

.vynox-mc-qty-btn:hover {
	background: var( --vynox-mc-qty-icon-bg-hover );
	color: var( --vynox-mc-qty-icon-color-hover );
}

.vynox-mc-qty-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.vynox-mc-item__controls .vynox-mc-qty-input {
	width: 32px;
	border: none;
	border-left: var( --vynox-mc-qty-border-width ) solid var( --vynox-mc-qty-border-color );
	border-right: var( --vynox-mc-qty-border-width ) solid var( --vynox-mc-qty-border-color );
	text-align: center;
	font-size: 13px;
	background: transparent;
	padding: 0;
	color: var( --vynox-mc-item-price-color );
	border-radius: 0;
	-moz-appearance: textfield;
}

.vynox-mc-qty-input::-webkit-outer-spin-button,
.vynox-mc-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.vynox-mc-item__price {
	font-size: 14px;
	font-weight: 700;
	color: var( --vynox-mc-item-price-color );
	white-space: nowrap;
}

/* ---------- Sticky footer: summary + shipping banner + buttons ---------- */

.vynox-mc-drawer__footer {
	flex: 0 0 auto;
	background: var( --vynox-mc-summary-bg );
	border-top: 1px solid var( --vynox-mc-divider-color );
	padding: 18px 24px 22px;
}

.vynox-mc-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	color: var( --vynox-mc-summary-label-color );
	margin-bottom: 8px;
}

.vynox-mc-summary__row span:last-child {
	color: var( --vynox-mc-summary-value-color );
	font-weight: 600;
}

.vynox-mc-summary__total {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 8px;
	padding-top: 12px;
	border-top-style: solid;
	border-top-color: var( --vynox-mc-total-divider-color );
	border-top-width: calc( var( --vynox-mc-total-divider-on, 1 ) * var( --vynox-mc-total-divider-width, 1px ) );
	font-size: 16px;
	font-weight: 700;
}

.vynox-mc-summary__total span:first-child {
	color: var( --vynox-mc-total-label-color );
}

.vynox-mc-summary__total span:last-child {
	color: var( --vynox-mc-total-value-color );
}

/* ---------- Free shipping banner ---------- */

.vynox-mc-shipping {
	display: none;
	align-items: flex-start;
	gap: 10px;
	background: var( --vynox-mc-shipping-bg );
	border-radius: 10px;
	padding: 12px 14px;
	margin-top: 16px;
}

.vynox-mc-shipping__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	color: var( --vynox-mc-shipping-icon-color );
}

.vynox-mc-shipping__icon svg {
	width: 100%;
	height: 100%;
}

.vynox-mc-shipping__icon svg path,
.vynox-mc-shipping__icon svg circle {
	stroke: var( --vynox-mc-shipping-icon-color ) !important;
	fill: transparent;
}

.vynox-mc-shipping__body {
	flex: 1;
	min-width: 0;
}

.vynox-mc-shipping__heading {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 700;
	color: var( --vynox-mc-shipping-heading-color );
}

.vynox-mc-shipping__heading strong {
	color: var( --vynox-mc-shipping-fill-color );
}

.vynox-mc-shipping__track {
	height: 6px;
	border-radius: 999px;
	background: var( --vynox-mc-shipping-track-bg );
	overflow: hidden;
}

.vynox-mc-shipping__fill {
	height: 100%;
	background: var( --vynox-mc-shipping-fill-color );
	border-radius: 999px;
	transition: width 0.3s ease;
}

/* ---------- Buttons ---------- */

.vynox-mc-summary__actions {
	display: flex;
	gap: 10px;
	margin-top: 16px;
}

.vynox-mc-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	border: 1px solid transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.vynox-mc-summary__actions .vynox-mc-btn--view-cart {
	background: var( --vynox-mc-view-cart-bg );
	color: var( --vynox-mc-view-cart-text );
	border-color: var( --vynox-mc-view-cart-border );
}

.vynox-mc-drawer .vynox-mc-btn--view-cart:hover {
	background: var( --vynox-mc-view-cart-bg-hover );
	color: var( --vynox-mc-view-cart-text-hover );
	border-color: var( --vynox-mc-view-cart-border-hover );
}

.vynox-mc-summary__actions .vynox-mc-btn--checkout {
	background: var( --vynox-mc-checkout-bg );
	color: var( --vynox-mc-checkout-text );
}

.vynox-mc-drawer .vynox-mc-btn--checkout:hover {
	background: var( --vynox-mc-checkout-bg-hover );
	color: var( --vynox-mc-checkout-text-hover );
}

.vynox-mc-btn svg {
	width: 15px;
	height: 15px;
}

body.vynox-mc-open {
	overflow: hidden;
}

@media ( max-width: 480px ) {
	.vynox-mc-drawer {
		width: 100%;
		max-width: 100vw;
	}
}
