/* Jivo Cart v2
--------------------------------------------------------------- */


.jivo-cart-v1 {
	--jivo-ink: #171714;
	--jivo-muted: #6e6e73;
	--jivo-line: #e5e5ea;
	--jivo-paper: #ffffff;
	--jivo-canvas: #ffffff;
	--jivo-accent: #5865f2;
	--jivo-accent-dark: #3f4bd8;
	--jivo-accent-soft: #f1f3ff;
	--jivo-success: #196b4b;

	/* Quick controls: Points & Rewards */
	--jivo-rewards-bg-start: #fffdf8;
	--jivo-rewards-bg-end: #fff8e9;
	--jivo-rewards-border: #f0dfbd;
	--jivo-rewards-text: #292b38;
	--jivo-rewards-strong: #24273a;
	--jivo-rewards-icon: #b88732;
	--jivo-rewards-input-bg: #ffffff;
	--jivo-rewards-input-border: #d9dce8;
	--jivo-rewards-button-bg: #5865f2;
	--jivo-rewards-button-text: #ffffff;

	/* Quick controls: Coupon */
	--jivo-coupon-bg: #f5f5f7;
	--jivo-coupon-label: #171714;
	--jivo-coupon-icon: #5865f2;
	--jivo-coupon-input-bg: #ffffff;
	--jivo-coupon-button-bg: #5865f2;
	--jivo-coupon-button-text: #ffffff;
	--jivo-radius-lg: 24px;
	--jivo-radius-md: 16px;
	--jivo-shadow: 0 8px 28px rgba(0, 0, 0, 0.055);
	background: var(--jivo-canvas);
}

.jivo-cart-v1 #nm-main,
.jivo-cart-v1 .nm-page-default,
.jivo-cart-v1 .nm-page-default-col {
	background: var(--jivo-canvas);
}

.jivo-cart-v1 .nm-page-default {
	max-width: 1320px;
	padding-top: clamp(28px, 4vw, 54px);
	padding-bottom: clamp(48px, 6vw, 80px);
}

.jivo-cart-v1 .nm-page-default-col {
	padding-right: clamp(18px, 3vw, 36px);
	padding-left: clamp(18px, 3vw, 36px);
}

.jivo-cart-v1 .nm-page-default-col > .page > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 410px);
	gap: 20px 30px;
	align-items: start;
}

.jivo-cart-v1 .woocommerce > .woocommerce-notices-wrapper,
.jivo-cart-v1 .woocommerce > #yith-par-message-cart,
.jivo-cart-v1 .woocommerce > #yith-par-message-reward-cart,
.jivo-cart-v1 .woocommerce > .woocommerce-message,
.jivo-cart-v1 .woocommerce > .woocommerce-error,
.jivo-cart-v1 .woocommerce > .woocommerce-info,
.jivo-cart-v1 .woocommerce > .cross-sells,
.jivo-cart-v1 .woocommerce > .nm-cart-empty,
.jivo-cart-v1 .woocommerce > .return-to-shop {
	grid-column: 1 / -1;
}

.jivo-cart-v1 .woocommerce-cart-form,
.jivo-cart-v1 .cart-collaterals,
.jivo-cart-v1 #yith-par-message-cart,
.jivo-cart-v1 #yith-par-message-reward-cart {
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.jivo-cart-v1 .woocommerce-cart-form {
	float: none;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.jivo-cart-v1 .woocommerce-cart-form > h1 {
	margin: 0 0 16px;
	color: var(--jivo-ink);
	font-size: clamp(30px, 3.5vw, 44px);
	font-weight: 650;
	letter-spacing: -0.045em;
	line-height: 1.05;
}

.jivo-cart-v1 .woocommerce-cart-form > h1::after {
	display: none;
}

.jivo-cart-v1 .woocommerce-cart-form .shop_table.cart {
	width: 100%;
	margin: 0;
	border: 1px solid var(--jivo-line);
	border-radius: 20px;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--jivo-paper);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
	overflow: hidden;
}

.jivo-cart-v1 .shop_table.cart tr.cart_item {
	position: relative;
}

.jivo-cart-v1 .shop_table.cart tr.cart_item + tr.cart_item td {
	border-top: 1px solid var(--jivo-line);
}

.jivo-cart-v1 .shop_table.cart tr.cart_item td {
	padding-top: 20px;
	padding-bottom: 20px;
	border: 0;
	vertical-align: middle;
}

.jivo-cart-v1 .shop_table.cart .product-thumbnail {
	width: 132px;
	padding-left: 20px;
}

.jivo-cart-v1 .shop_table.cart .product-thumbnail a {
	display: block;
	border-radius: 14px;
	background: #f2f0ea;
	overflow: hidden;
}

.jivo-cart-v1 .shop_table.cart .product-thumbnail img {
	display: block;
	width: 108px;
	height: 108px;
	margin: 0;
	object-fit: cover;
	transition: transform 280ms ease;
}

.jivo-cart-v1 .shop_table.cart .product-thumbnail a:hover img {
	transform: scale(1.025);
}

.jivo-cart-v1 .shop_table.cart .nm-product-details {
	padding-right: 18px;
	padding-left: 22px;
	color: var(--jivo-ink);
}

.jivo-cart-v1 .shop_table.cart .nm-product-details > a {
	display: inline-block;
	max-width: 540px;
	color: var(--jivo-ink);
	font-size: 16px;
	font-weight: 620;
	letter-spacing: -0.015em;
	line-height: 1.45;
}

.jivo-cart-v1 .shop_table.cart .nm-product-details > a:hover {
	color: var(--jivo-accent-dark);
}

.jivo-cart-v1 .shop_table.cart .variation {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 8px 0 0;
	color: var(--jivo-muted);
	font-size: 13px;
}

.jivo-cart-v1 .shop_table.cart .variation li {
	display: flex;
	gap: 4px;
	margin: 0;
}

.jivo-cart-v1 .shop_table.cart .variation p {
	margin: 0;
}

.jivo-cart-v1 .nm-product-quantity-pricing {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 16px;
}

.jivo-cart-v1 .nm-quantity-wrap {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.jivo-cart-v1 .nm-quantity-wrap > label {
	display: none;
}

.jivo-cart-v1 .nm-quantity-wrap .quantity {
	display: grid !important;
	grid-template-columns: 38px 42px 38px;
	width: 120px;
	height: 40px;
	border: 1px solid var(--jivo-line);
	border-radius: 999px;
	background: #f5f5f7;
	overflow: hidden;
}

.jivo-cart-v1 .nm-quantity-wrap .nm-qty-minus,
.jivo-cart-v1 .nm-quantity-wrap .nm-qty-plus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	font-family: inherit !important;
	font-size: 0 !important;
	color: var(--jivo-ink);
	cursor: pointer;
	transition: background-color 180ms ease;
}

.jivo-cart-v1 .nm-quantity-wrap .nm-qty-minus::before {
	content: "\2212";
	font-family: inherit !important;
	font-size: 17px;
	font-weight: 450;
}

.jivo-cart-v1 .nm-quantity-wrap .nm-qty-plus::before {
	content: "+";
	font-family: inherit !important;
	font-size: 17px;
	font-weight: 450;
}

.jivo-cart-v1 .nm-quantity-wrap .nm-qty-minus:hover,
.jivo-cart-v1 .nm-quantity-wrap .nm-qty-plus:hover {
	background: var(--jivo-accent-soft);
}

.jivo-cart-v1 .nm-quantity-wrap input.qty {
	width: 42px;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--jivo-ink);
	font-size: 14px;
	font-weight: 650;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.jivo-cart-v1 .shop_table.cart .product-quantity {
	float: none;
}

.jivo-cart-v1 .shop_table.cart .product-quantity .nm-quantity-wrap {
	display: inline-flex;
	width: auto;
	border: 0;
	overflow: visible;
}

.jivo-cart-v1 .shop_table.cart .product-quantity .nm-quantity-wrap > label {
	display: none !important;
}

.jivo-cart-v1 .shop_table.cart .product-quantity .nm-quantity-wrap .quantity {
	display: grid !important;
	margin: 0 !important;
}

.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .nm-qty-minus,
.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .nm-qty-plus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	font-family: inherit !important;
	font-size: 0 !important;
	line-height: 38px;
	text-align: center;
}

.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .qty {
	width: 42px;
	height: 38px;
	font-size: 14px;
	line-height: 38px;
}

.jivo-cart-v1 .shop_table.cart .product-subtotal {
	color: var(--jivo-ink);
	font-size: 16px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.jivo-cart-v1 .shop_table.cart .product-remove {
	width: 58px;
	padding-right: 22px;
	text-align: center;
}

.jivo-cart-v1 .shop_table.cart .product-remove .remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--jivo-muted);
	transition: 180ms ease;
}

.jivo-cart-v1 .shop_table.cart .product-remove .remove:hover,
.jivo-cart-v1 .shop_table.cart .product-remove .remove:focus-visible {
	border-color: #ecd6d2;
	background: #fff3f1;
	color: #9a3325;
}

.jivo-cart-v1 .shop_table.cart .actions {
	padding: 14px 20px;
	border-top: 1px solid var(--jivo-line);
	background: #fcfbf8;
}

.jivo-cart-v1 .woocommerce-cart-form .actions .coupon {
	display: none;
}

.jivo-cart-v1 .shop_table.cart .actions .button {
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--jivo-line);
	border-radius: 999px;
	background: var(--jivo-paper);
	color: var(--jivo-ink);
	font-size: 13px;
	font-weight: 650;
	line-height: 42px;
	text-transform: none;
	transition: 180ms ease;
}

.jivo-cart-v1 .shop_table.cart .actions .button:hover {
	border-color: var(--jivo-ink);
	background: var(--jivo-ink);
	color: #fff;
}

.jivo-cart-v1 .shop_table.cart .actions button[name="update_cart"] {
	float: right;
}

.jivo-cart-v1 .shop_table.cart .actions button[disabled] {
	opacity: 0.45;
}

.jivo-cart-v1.jivo-cart-enhanced .shop_table.cart .actions {
	display: none;
}

.jivo-cart-v1 .cart-collaterals {
	position: sticky;
	top: 108px;
	float: none;
	width: 100%;
	margin: 0;
	padding: 22px;
	border: 1px solid var(--jivo-line);
	border-radius: 20px;
	background: var(--jivo-paper);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.04);
}

.jivo-cart-v1 .cart-collaterals > h2 {
	margin: 0 0 14px;
	color: var(--jivo-ink);
	font-size: 20px;
	font-weight: 680;
	letter-spacing: -0.025em;
}

.jivo-cart-v1 .cart-collaterals .nm-coupon-wrap {
	margin: 0 0 12px;
	padding: 0 0 12px;
	border: 0;
	border-radius: 14px;
	background: var(--jivo-coupon-bg);
	overflow: hidden;
}

.jivo-cart-v1 .cart-collaterals #nm-coupon-btn {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 38px;
	padding: 8px 12px;
	color: var(--jivo-coupon-label);
	font-size: 13px;
	font-weight: 650;
}

.jivo-cart-v1 .cart-collaterals #nm-coupon-btn::before {
	position: static;
	top: auto;
	margin-right: 8px;
	width: 18px;
	height: 18px;
	content: "";
	background: var(--jivo-coupon-icon);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.59 13.41 11 3.83V3H4v7h.83l9.58 9.59a2 2 0 0 0 2.82 0l3.36-3.36a2 2 0 0 0 0-2.82ZM7.5 8A1.5 1.5 0 1 1 7.5 5a1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.59 13.41 11 3.83V3H4v7h.83l9.58 9.59a2 2 0 0 0 2.82 0l3.36-3.36a2 2 0 0 0 0-2.82ZM7.5 8A1.5 1.5 0 1 1 7.5 5a1.5 1.5 0 0 1 0 3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.jivo-cart-v1 .cart-collaterals #nm-coupon-btn::after {
	top: 9px;
	right: 2px;
	content: "\2304";
	font-family: inherit;
	font-size: 15px;
}

.jivo-cart-v1 .cart-collaterals .nm-coupon-inner {
	padding: 0;
}

.jivo-cart-v1 .cart-collaterals .nm-coupon {
	padding: 0 10px 10px;
}

.jivo-cart-v1 .nm-cart-coupon-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.jivo-cart-v1 .nm-cart-coupon-form .input-text {
	height: 42px;
	padding: 0 14px;
	border: 1px solid var(--jivo-line);
	border-radius: 12px;
	background: var(--jivo-coupon-input-bg);
}

.jivo-cart-v1 .nm-cart-coupon-form .button {
	height: 42px;
	padding: 0 16px;
	border-radius: 12px;
	background: var(--jivo-coupon-button-bg);
	color: var(--jivo-coupon-button-text);
	font-weight: 650;
	text-transform: none;
}

.jivo-cart-v1 .cart_totals,
.jivo-cart-v1 .cart_totals table {
	width: 100%;
	margin: 0;
}

.jivo-cart-v1 .cart_totals table th,
.jivo-cart-v1 .cart_totals table td {
	padding: 10px 0;
	border: 0;
	color: var(--jivo-muted);
	font-size: 14px;
	line-height: 1.45;
	background: transparent;
}

.jivo-cart-v1 .cart_totals table th {
	font-weight: 500;
	text-align: left;
}

.jivo-cart-v1 .cart_totals table td {
	color: var(--jivo-ink);
	font-weight: 620;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

.jivo-cart-v1 .cart_totals tr.shipping th {
	display: table-cell;
}

.jivo-cart-v1 .cart_totals tr.shipping td {
	padding-top: 10px;
	border-left: 0;
	text-align: right;
}

.jivo-cart-v1 .cart_totals .nm-shipping-th-title {
	display: none;
}

.jivo-cart-v1 .cart_totals .woocommerce-shipping-methods,
.jivo-cart-v1 .cart_totals .woocommerce-shipping-methods li {
	margin: 0;
	list-style: none;
}

.jivo-cart-v1 .cart_totals .woocommerce-shipping-destination {
	margin: 5px 0 0;
	color: var(--jivo-muted);
	font-size: 11px;
	font-weight: 450;
	line-height: 1.45;
}

.jivo-cart-v1 .woocommerce-shipping-calculator,
.jivo-cart-v1 .shipping-calculator-button {
	display: none !important;
}

.jivo-cart-v1 .cart_totals tr.order-total th,
.jivo-cart-v1 .cart_totals tr.order-total td {
	padding-top: 15px;
	border-top: 1px solid var(--jivo-line);
	color: var(--jivo-ink);
	font-size: 17px;
	font-weight: 720;
}

.jivo-cart-v1 .cart_totals tr.order-total .amount {
	font-size: 21px;
}

.jivo-cart-v1 .wc-proceed-to-checkout {
	padding: 16px 0 0;
}

.jivo-cart-v1 .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 0 22px;
	border: 1px solid var(--jivo-accent);
	border-radius: 14px;
	background: var(--jivo-accent);
	box-shadow: 0 10px 24px rgba(88, 101, 242, 0.2);
	color: #fff;
	font-size: 15px;
	font-weight: 680;
	letter-spacing: 0;
	line-height: 1.25;
	text-transform: none;
	transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.jivo-cart-v1 .wc-proceed-to-checkout .checkout-button:hover,
.jivo-cart-v1 .wc-proceed-to-checkout .checkout-button:focus-visible {
	border-color: var(--jivo-accent-dark);
	background: var(--jivo-accent-dark);
	box-shadow: 0 12px 28px rgba(63, 75, 216, 0.22);
	color: #fff;
	transform: translateY(-1px);
}

.jivo-cart-v1 .jivo-cart-assurances {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px 14px;
	margin-top: 13px;
	color: var(--jivo-muted);
	font-size: 11px;
	font-weight: 560;
}

.jivo-cart-v1 .jivo-cart-assurances span::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin-right: 5px;
	border-radius: 50%;
	background: #e7f2ec;
	color: var(--jivo-success);
	content: "\2713";
	font-size: 9px;
	font-weight: 800;
}

/* YITH Points & Rewards 4.x */
.jivo-cart-v1 #yith-par-message-cart,
.jivo-cart-v1 #yith-par-message-reward-cart {
	position: relative;
	min-height: 54px;
	margin: 0 0 8px;
	padding: 12px 14px 12px 52px;
	border: 1px solid var(--jivo-rewards-border);
	border-radius: 16px;
	background: linear-gradient(135deg, var(--jivo-rewards-bg-start) 0%, var(--jivo-rewards-bg-end) 100%);
	box-shadow: none;
	color: var(--jivo-rewards-text);
	font-size: 13px;
	font-weight: 520;
	line-height: 1.55;
}

.jivo-cart-v1 #yith-par-message-cart::before,
.jivo-cart-v1 #yith-par-message-reward-cart::before {
	position: absolute;
	top: 11px;
	left: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 50%;
	background: linear-gradient(145deg, #e4c477, #b88732);
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.48 2 2 4.24 2 7s4.48 5 10 5 10-2.24 10-5-4.48-5-10-5Zm0 2c4.29 0 8 1.4 8 3s-3.71 3-8 3-8-1.4-8-3 3.71-3 8-3ZM2 11v4c0 2.76 4.48 5 10 5s10-2.24 10-5v-4c-1.75 2.02-5.53 3-10 3s-8.25-.98-10-3Z'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.48 2 2 4.24 2 7s4.48 5 10 5 10-2.24 10-5-4.48-5-10-5Zm0 2c4.29 0 8 1.4 8 3s-3.71 3-8 3-8-1.4-8-3 3.71-3 8-3ZM2 11v4c0 2.76 4.48 5 10 5s10-2.24 10-5v-4c-1.75 2.02-5.53 3-10 3s-8.25-.98-10-3Z'/%3E%3C/svg%3E") center / 24px 24px no-repeat;
}

.jivo-cart-v1 #yith-par-message-cart > img,
.jivo-cart-v1 #yith-par-message-reward-cart > img {
	display: none;
}

.jivo-cart-v1 #yith-par-message-cart strong,
.jivo-cart-v1 #yith-par-message-reward-cart strong {
	color: var(--jivo-rewards-strong);
	font-size: 14px;
	font-weight: 760;
}

.jivo-cart-v1 .ywpar_apply_discounts,
.jivo-cart-v1 #ywpar_apply_discounts,
.jivo-cart-v1 .ywpar-button-message,
.jivo-cart-v1 .ywpar-redeem-points {
	border-radius: 12px;
}

.jivo-cart-v1 input[id*="ywpar"],
.jivo-cart-v1 input[name*="ywpar"] {
	width: 76px;
	min-height: 36px;
	margin: 0 5px;
	padding: 0 8px;
	border: 1px solid var(--jivo-rewards-input-border);
	border-radius: 10px;
	background: var(--jivo-rewards-input-bg);
}

.jivo-cart-v1 button[id*="ywpar"],
.jivo-cart-v1 button[name*="ywpar"],
.jivo-cart-v1 .ywpar-button-message {
	min-height: 36px;
	padding: 0 13px;
	border-radius: 10px;
	background: var(--jivo-rewards-button-bg);
	color: var(--jivo-rewards-button-text);
	font-weight: 650;
	text-transform: none;
}

/* Unified notices and focus */
.jivo-cart-v1 .woocommerce-error,
.jivo-cart-v1 .woocommerce-message,
.jivo-cart-v1 .woocommerce-info:not(#yith-par-message-cart):not(#yith-par-message-reward-cart) {
	position: relative;
	min-height: 44px;
	margin: 0 0 12px;
	padding: 12px 42px 12px 44px;
	border: 1px solid #dfe5ef;
	border-radius: 14px;
	background: #f5f8ff;
	box-shadow: 0 5px 18px rgba(35, 42, 70, 0.05);
	color: #34415b;
	font-size: 13px;
	font-weight: 560;
	line-height: 1.45;
	transition: opacity 180ms ease, transform 180ms ease;
}

.jivo-cart-v1 .woocommerce-message {
	border-color: #d7eee2;
	background: #f2fbf6;
	color: #176946;
}

.jivo-cart-v1 .woocommerce-error {
	border-color: #f2d8db;
	background: #fff5f6;
	color: #9b2936;
}

.jivo-cart-v1 .woocommerce-error::before,
.jivo-cart-v1 .woocommerce-message::before,
.jivo-cart-v1 .woocommerce-info:not(#yith-par-message-cart):not(#yith-par-message-reward-cart)::before {
	top: 13px;
	left: 16px;
	margin: 0;
	color: currentColor;
}

.jivo-cart-v1 .woocommerce-error.is-leaving,
.jivo-cart-v1 .woocommerce-message.is-leaving,
.jivo-cart-v1 .woocommerce-info.is-leaving {
	opacity: 0;
	transform: translateY(-5px);
}

.jivo-stock-status {
	display: block;
	width: fit-content;
	margin-top: 7px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #fff7e8;
	color: #8b5d12;
	font-size: 11px;
	font-weight: 670;
	line-height: 1.2;
}

.jivo-stock-status.is-limit {
	background: #f3f4f8;
	color: #5f6370;
}

.jivo-stock-status.is-emphasized {
	animation: jivo-status-pulse 420ms ease;
}

.jivo-cart-v1 .nm-qty-plus.is-at-limit {
	color: #b7b8c1 !important;
}

.jivo-cart-v1 .nm-qty-plus.is-limit-hit {
	animation: jivo-limit-shake 320ms ease;
}

@keyframes jivo-status-pulse {
	50% { background: #ffedc5; transform: scale(1.025); }
}

@keyframes jivo-limit-shake {
	25% { transform: translateX(-2px); }
	50% { transform: translateX(2px); }
	75% { transform: translateX(-1px); }
}

.jivo-cart-v1 a:focus-visible,
.jivo-cart-v1 button:focus-visible,
.jivo-cart-v1 input:focus-visible {
	outline: 3px solid rgba(166, 124, 50, 0.28);
	outline-offset: 2px;
}

/* Empty cart */
.jivo-cart-v1 .nm-cart-empty {
	max-width: 680px;
	margin: 0 auto;
	padding: clamp(42px, 7vw, 76px) 28px;
	border: 1px solid var(--jivo-line);
	border-radius: var(--jivo-radius-lg);
	background: var(--jivo-paper);
	box-shadow: var(--jivo-shadow);
	text-align: center;
}

.jivo-cart-v1 .nm-cart-empty .icon {
	color: var(--jivo-accent);
}

.jivo-cart-v1 .nm-cart-empty .return-to-shop .button {
	min-height: 52px;
	padding: 0 24px;
	border-radius: 12px;
	background: var(--jivo-ink);
	color: #fff;
	font-weight: 650;
	line-height: 52px;
	text-transform: none;
}

/* Cross-sells */
.jivo-cart-v1 .cross-sells {
	margin-top: 34px;
	padding-top: 12px;
}

.jivo-cart-v1 .cross-sells > h2 {
	color: var(--jivo-ink);
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 660;
	letter-spacing: -0.035em;
}

@media (max-width: 991px) {
	.jivo-cart-v1 .nm-page-default-col > .page > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.jivo-cart-v1 .woocommerce > .woocommerce-notices-wrapper,
	.jivo-cart-v1 .woocommerce > #yith-par-message-cart,
	.jivo-cart-v1 .woocommerce > #yith-par-message-reward-cart,
	.jivo-cart-v1 .woocommerce > .woocommerce-message,
	.jivo-cart-v1 .woocommerce > .woocommerce-error,
	.jivo-cart-v1 .woocommerce > .woocommerce-info,
	.jivo-cart-v1 .woocommerce > .cross-sells,
	.jivo-cart-v1 .woocommerce > .nm-cart-empty,
	.jivo-cart-v1 .woocommerce > .return-to-shop {
		grid-column: auto;
	}

	.jivo-cart-v1 .cart-collaterals {
		position: static;
		margin: 0;
	}
}

@media (max-width: 767px) {
	.jivo-cart-v1 .nm-page-default {
		padding-top: 22px;
	}

	.jivo-cart-v1 .nm-page-default-col {
		padding-right: 14px;
		padding-left: 14px;
	}

	.jivo-cart-v1 .woocommerce-cart-form > h1 {
		margin-bottom: 13px;
		padding-bottom: 0;
		font-size: 30px;
	}

	.jivo-cart-v1 .shop_table.cart tr.cart_item {
		display: grid;
		grid-template-columns: 78px minmax(0, 1fr) 28px;
		align-items: start;
		padding: 14px;
	}

	.jivo-cart-v1 .shop_table.cart tr.cart_item + tr.cart_item {
		border-top: 1px solid var(--jivo-line);
	}

	.jivo-cart-v1 .shop_table.cart tr.cart_item td,
	.jivo-cart-v1 .shop_table.cart tr.cart_item + tr.cart_item td {
		display: block;
		width: auto;
		padding: 0;
		border: 0;
		text-align: left;
	}

	.jivo-cart-v1 .shop_table.cart tr.cart_item td::before {
		display: none;
	}

	.jivo-cart-v1 .shop_table.cart .product-thumbnail {
		grid-column: 1;
		grid-row: 1;
	}

	.jivo-cart-v1 .shop_table.cart .product-thumbnail img {
		width: 68px;
		height: 68px;
	}

	.jivo-cart-v1 .shop_table.cart .nm-product-details {
		grid-column: 2;
		grid-row: 1;
		padding: 0 8px 0 2px;
	}

	.jivo-cart-v1 .shop_table.cart .nm-product-details > a {
		padding-right: 0;
		font-size: 13.5px;
		line-height: 1.4;
	}

	.jivo-cart-v1 .nm-product-quantity-pricing {
		align-items: center;
		gap: 8px;
		margin: 11px 0 0;
		margin-right: 0;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity,
	.jivo-cart-v1 .shop_table.cart .nm-product-quantity-pricing .product-subtotal {
		float: none;
		padding: 0;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity .nm-quantity-wrap > label {
		display: none !important;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity .nm-quantity-wrap .quantity {
		display: grid;
		grid-template-columns: 30px 32px 30px;
		width: 94px;
		height: 34px;
		margin: 0;
		border: 1px solid var(--jivo-line);
		border-radius: 999px;
		background: #f7f7f8;
		overflow: hidden;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .nm-qty-minus,
	.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .nm-qty-plus {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 30px;
		height: 32px;
		font-family: inherit !important;
		font-size: 0;
		line-height: 32px;
		text-align: center;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .nm-qty-minus::before {
		content: "\2212";
		font-family: inherit !important;
		font-size: 16px;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .nm-qty-plus::before {
		content: "+";
		font-family: inherit !important;
		font-size: 16px;
	}

	.jivo-cart-v1 .shop_table.cart .product-quantity .quantity .qty {
		width: 32px;
		height: 32px;
		font-size: 13px;
		line-height: 32px;
	}

	.jivo-cart-v1 .shop_table.cart .product-subtotal {
		font-size: 14px;
	}

	.jivo-cart-v1 .shop_table.cart .product-remove {
		grid-column: 3;
		grid-row: 1;
	}

	.jivo-cart-v1 .shop_table.cart .product-remove .remove {
		width: 32px;
		height: 32px;
	}

	.jivo-cart-v1 .shop_table.cart .actions {
		display: block;
		padding: 12px 14px;
	}

	.jivo-cart-v1 .shop_table.cart .actions .button,
	.jivo-cart-v1 .shop_table.cart .actions button[name="update_cart"] {
		float: none;
		width: 100%;
		margin: 0;
		padding: 0 10px;
		text-align: center;
	}

	.jivo-cart-v1 .cart-collaterals {
		margin-top: 0;
		padding: 18px 16px;
		border-radius: 18px;
	}

	.jivo-cart-v1 #yith-par-message-cart,
	.jivo-cart-v1 #yith-par-message-reward-cart {
		padding: 11px 12px 11px 49px;
		font-size: 12.5px;
	}

	.jivo-cart-v1 #yith-par-message-cart::before,
	.jivo-cart-v1 #yith-par-message-reward-cart::before {
		top: 10px;
		left: 11px;
		width: 29px;
		height: 29px;
	}
}



.jivo-cart-v1 #yith-par-message-cart,
.jivo-cart-v1 #yith-par-message-reward-cart {
	border-color: #eadfc9;
	background: #fff;
	box-shadow: 0 5px 18px rgba(38, 33, 22, .035);
}

.jivo-cart-v1 #yith-par-message-cart::before,
.jivo-cart-v1 #yith-par-message-reward-cart::before {
	width: 32px;
	height: 32px;
	border: 1px solid #efe3cc;
	border-radius: 11px;
	background-color: #a7792e;
	box-shadow: inset 0 1px 0 #fff;
}

.jivo-cart-v1 #yith-par-message-reward-cart::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 8h-2.18A3 3 0 0 0 12 6.94 3 3 0 0 0 6.18 8H4a2 2 0 0 0-2 2v2h1v8h18v-8h1v-2a2 2 0 0 0-2-2Zm-5-3a1 1 0 1 1 0 2h-2c0-1.1.9-2 2-2ZM9 5c1.1 0 2 .9 2 2H9a1 1 0 1 1 0-2Zm-5 5h7v2H4v-2Zm1 4h6v4H5v-4Zm14 4h-6v-4h6v4Zm1-6h-7v-2h7v2Z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 8h-2.18A3 3 0 0 0 12 6.94 3 3 0 0 0 6.18 8H4a2 2 0 0 0-2 2v2h1v8h18v-8h1v-2a2 2 0 0 0-2-2Zm-5-3a1 1 0 1 1 0 2h-2c0-1.1.9-2 2-2ZM9 5c1.1 0 2 .9 2 2H9a1 1 0 1 1 0-2Zm-5 5h7v2H4v-2Zm1 4h6v4H5v-4Zm14 4h-6v-4h6v4Zm1-6h-7v-2h7v2Z'/%3E%3C/svg%3E");
}

@media (max-width: 400px) {
	.jivo-cart-v1 .shop_table.cart .product-quantity .nm-quantity-wrap .quantity {
		margin-left: 0;
	}

	.jivo-cart-v1 .shop_table.cart .product-remove .remove {
		top: 0;
		right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jivo-cart-v1 *,
	.jivo-cart-v1 *::before,
	.jivo-cart-v1 *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
/* Jivo Cart v2.4 — focused shell and refined promo control */
.jivo-cart-v1,
.jivo-cart-v1 #nm-main,
.jivo-cart-v1 .nm-page-wrap,
.jivo-cart-v1 .nm-page-wrap-inner,
.jivo-cart-v1 .nm-page-default,
.jivo-cart-v1 .nm-page-default-col {
	background: #fff !important;
}

.jivo-cart-v1 #nm-header,
.jivo-cart-v1 #nm-header-placeholder,
.jivo-cart-v1 #nm-footer,
.jivo-cart-v1 .nm-footer,
.jivo-cart-v1 .nm-footer-bar {
	display: none !important;
}

.jivo-cart-header {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr) 38px;
	grid-column: 1 / -1;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--jivo-line);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.jivo-cart-header a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--jivo-line);
	border-radius: 12px;
	background: #fff;
	color: var(--jivo-ink);
}

.jivo-cart-header svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.jivo-cart-header h1 {
	margin: 0;
	color: var(--jivo-ink);
	font-size: 22px;
	font-weight: 735;
	letter-spacing: -.035em;
	line-height: 1;
}

.jivo-cart-v1 .woocommerce-cart-form > h1 {
	display: none;
}

.jivo-cart-v1 .cart-collaterals .nm-coupon-wrap {
	margin-bottom: 15px;
	padding: 0;
	border: 1px solid var(--jivo-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 5px 18px rgba(27, 29, 38, .035);
}

.jivo-cart-v1 .cart-collaterals #nm-coupon-btn {
	min-height: 48px;
	padding: 9px 13px;
}

.jivo-cart-v1 .cart-collaterals #nm-coupon-btn::before {
	width: 20px;
	height: 20px;
	margin-right: 10px;
}

.jivo-cart-v1 .cart-collaterals #nm-coupon-btn::after {
	top: 14px;
	right: 11px;
}

.jivo-cart-v1 .cart-collaterals .nm-coupon {
	padding: 2px 12px 12px;
	border-top: 1px solid #eeeeF2;
}

.jivo-cart-v1 .nm-cart-coupon-form {
	gap: 9px;
	padding-top: 10px;
}

.jivo-cart-v1 .nm-cart-coupon-form .input-text {
	height: 44px;
	border-radius: 12px;
	background: #fafafd;
}

.jivo-cart-v1 .nm-cart-coupon-form .input-text:focus {
	border-color: var(--jivo-accent);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(88, 101, 242, .1);
}

.jivo-cart-v1 .nm-cart-coupon-form .button {
	height: 44px;
	min-width: 82px;
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(88, 101, 242, .16);
}

/* StoreApps Smart Coupons on the cart page. */
.jivo-cart-v1 .wc_sc_available_coupons,
.jivo-cart-v1 .smart-coupons {
	grid-column: 1 / -1;
	margin: 10px 0;
	padding: 12px;
	border: 1px solid var(--jivo-line);
	border-radius: 15px;
	background: #fff;
}

.jivo-cart-v1 .wc_sc_available_coupons .coupon-container,
.jivo-cart-v1 .wc_sc_available_coupons .sc-coupon,
.jivo-cart-v1 .smart-coupons .coupon-container {
	border: 1px dashed rgba(88, 101, 242, .38);
	border-radius: 12px;
	background: var(--jivo-accent-soft);
	box-shadow: none;
}

@media (max-width: 767px) {
	.jivo-cart-v1 .nm-page-default {
		padding-top: 10px;
	}

	.jivo-cart-header {
		grid-template-columns: 36px minmax(0, 1fr) 36px;
		min-height: 44px;
		padding-bottom: 9px;
	}

	.jivo-cart-header a {
		width: 36px;
		height: 36px;
		border-radius: 11px;
	}

	.jivo-cart-header h1 {
		font-size: 20px;
	}

	.jivo-cart-v1 .cart-collaterals .nm-coupon-wrap {
		border-radius: 14px;
	}
}

/* Jivo cart v2.5: resilient rewards and delivery rows. */
.jivo-cart-v1 #yith-par-message-cart,
.jivo-cart-v1 #yith-par-message-reward-cart {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.jivo-cart-v1 #yith-par-message-cart form.ywpar_apply_discounts,
.jivo-cart-v1 #yith-par-message-reward-cart form.ywpar_apply_discounts {
	display: block;
	width: 100%;
	min-width: 0;
	margin: 0;
	line-height: 1.8;
}

.jivo-cart-v1 .cart_totals tr.shipping th,
.jivo-cart-v1 .cart_totals tr.shipping td {
	padding-top: 13px;
	padding-bottom: 13px;
	background: #f8fafc;
}

.jivo-cart-v1 .cart_totals tr.shipping th {
	position: relative;
	padding-left: 44px;
	border-radius: 13px 0 0 13px;
}

.jivo-cart-v1 .cart_totals tr.shipping th::before {
	position: absolute;
	top: 13px;
	left: 12px;
	width: 22px;
	height: 22px;
	background: #5865f2;
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3'/%3E%3Cpath d='M14 9h4l4 4v4h-3'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3'/%3E%3Cpath d='M14 9h4l4 4v4h-3'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.jivo-cart-v1 .cart_totals tr.shipping td {
	border-radius: 0 13px 13px 0;
	color: #19724b;
	font-weight: 720;
}

@media (max-width: 480px) {
	.jivo-cart-v1 #yith-par-message-cart,
	.jivo-cart-v1 #yith-par-message-reward-cart {
		padding: 11px 10px 11px 52px;
		font-size: 11.5px;
		line-height: 1.55;
	}

	.jivo-cart-v1 .ywpar_apply_discounts input.input-text {
		width: 64px;
		margin: 2px 3px;
	}

	.jivo-cart-v1 .ywpar_apply_discounts button.button {
		margin: 3px 0 3px 2px;
		padding-right: 11px;
		padding-left: 11px;
	}
}

/* Jivo cart v2.6: readable one-line assurances and delivery summary. */
.jivo-cart-v1 .jivo-cart-assurances {
	flex-wrap: nowrap;
	gap: 7px 12px;
	font-size: 11.5px;
	font-weight: 630;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-cart-assurances span {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

.jivo-cart-v1 .cart_totals tr.shipping {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	width: 100%;
	border-radius: 13px;
	background: #f8fafc;
}

.jivo-cart-v1 .cart_totals tr.shipping th,
.jivo-cart-v1 .cart_totals tr.shipping td {
	display: flex !important;
	align-items: center;
	box-sizing: border-box;
	min-height: 48px;
	padding-top: 10px;
	padding-bottom: 10px;
	background: transparent;
	white-space: nowrap;
}

.jivo-cart-v1 .cart_totals tr.shipping td,
.jivo-cart-v1 .cart_totals tr.shipping .woocommerce-shipping-methods,
.jivo-cart-v1 .cart_totals tr.shipping .woocommerce-shipping-methods li {
	justify-content: flex-end;
	white-space: nowrap;
}

@media (max-width: 390px) {
	.jivo-cart-v1 .jivo-cart-assurances {
		gap: 5px;
		font-size: 10.25px;
	}
}

/* Jivo cart v2.7: compact rewards and stable flex-based shipping. */
.jivo-cart-v1 #yith-par-message-cart,
.jivo-cart-v1 #yith-par-message-reward-cart {
	min-height: 48px;
	padding: 8px 10px 8px 48px;
	font-size: 11.5px;
	line-height: 1.45;
}

.jivo-cart-v1 #yith-par-message-cart::before,
.jivo-cart-v1 #yith-par-message-reward-cart::before {
	top: 8px;
	left: 10px;
	width: 28px;
	height: 28px;
}

.jivo-cart-v1 form.jivo-redeem-enhanced {
	display: block !important;
	line-height: 1.35;
}

.jivo-cart-v1 .jivo-redeem-summary,
.jivo-cart-v1 .jivo-redeem-controls {
	display: flex;
	align-items: center;
	gap: 7px;
}

.jivo-cart-v1 .jivo-redeem-summary {
	justify-content: space-between;
	color: #575a64;
	font-size: 10.75px;
}

.jivo-cart-v1 .jivo-redeem-summary span {
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-controls {
	margin-top: 6px;
}

.jivo-cart-v1 .jivo-redeem-controls label {
	flex: 1 1 auto;
	margin: 0;
	color: #575a64;
	font-size: 10.75px;
	font-weight: 630;
}

.jivo-cart-v1 .jivo-redeem-controls input.input-text,
.jivo-cart-v1 .jivo-redeem-controls button.button {
	flex: 0 0 auto;
	height: 32px;
	min-height: 32px;
	margin: 0;
}

.jivo-cart-v1 .jivo-redeem-controls input.input-text {
	width: 62px;
}

.jivo-cart-v1 .jivo-redeem-controls button.button {
	padding: 0 12px;
	border-radius: 10px;
	background: linear-gradient(135deg, #bd9140, #9f7227);
	box-shadow: 0 5px 14px rgba(159, 114, 39, .2);
}

.jivo-cart-v1 .cart_totals tr.shipping {
	display: flex !important;
	align-items: center;
	width: 100%;
	min-height: 48px;
	border-radius: 0;
	background: transparent;
}

.jivo-cart-v1 .cart_totals tr.shipping th,
.jivo-cart-v1 .cart_totals tr.shipping td {
	display: flex !important;
	align-items: center;
	width: auto !important;
	min-height: 48px;
	border-radius: 0;
	background: transparent;
}

.jivo-cart-v1 .cart_totals tr.shipping th {
	flex: 1 1 auto;
	padding: 10px 0 10px 32px;
}

.jivo-cart-v1 .cart_totals tr.shipping th::before {
	top: 13px;
	left: 0;
}

.jivo-cart-v1 .cart_totals tr.shipping td {
	flex: 0 0 auto;
	padding: 10px 0;
}

.jivo-cart-v1 .cart_totals .nm-shipping-th-title,
.jivo-cart-v1 .cart_totals .woocommerce-shipping-destination,
.jivo-cart-v1 .cart_totals .woocommerce-shipping-contents {
	display: none !important;
}

/* Jivo cart v2.8: balanced rewards typography and denser totals. */
.jivo-cart-v1 #yith-par-message-cart,
.jivo-cart-v1 #yith-par-message-reward-cart {
	color: #4c4f59;
	font-size: 12px;
	font-weight: 610;
}

.jivo-cart-v1 #yith-par-message-cart strong,
.jivo-cart-v1 #yith-par-message-reward-cart strong,
.jivo-cart-v1 .jivo-redeem-summary strong {
	color: #292b35;
	font-size: inherit;
	font-weight: 700;
}

.jivo-cart-v1 .jivo-redeem-summary,
.jivo-cart-v1 .jivo-redeem-controls label {
	color: #50535d;
	font-size: 11.5px;
	font-weight: 620;
}

.jivo-cart-v1 .jivo-redeem-controls button.button {
	color: #fff;
	font-size: 12px;
	font-weight: 720;
}

.jivo-cart-v1 .cart_totals tr.shipping {
	min-width: 0;
	overflow: hidden;
}

.jivo-cart-v1 .cart_totals tr.shipping th,
.jivo-cart-v1 .cart_totals tr.shipping td {
	min-width: 0;
	font-size: 13px;
}

@media (max-width: 420px) {
	.jivo-cart-v1 #yith-par-message-cart,
	.jivo-cart-v1 #yith-par-message-reward-cart {
		padding-right: 9px;
		padding-left: 45px;
	}

	.jivo-cart-v1 .jivo-redeem-summary,
	.jivo-cart-v1 .jivo-redeem-controls {
		gap: 5px;
	}

	.jivo-cart-v1 .jivo-redeem-summary,
	.jivo-cart-v1 .jivo-redeem-controls label {
		font-size: 11px;
	}
}

/* Jivo cart v2.10: stable points redemption and private shipping status. */
.jivo-cart-v1 .jivo-redeem-enhanced {
	display: block !important;
	min-width: 0;
	width: 100%;
	line-height: 1.3;
}

.jivo-cart-v1 #yith-par-message-reward-cart:has(.jivo-redeem-enhanced) {
	min-height: 76px;
}

.jivo-cart-v1 .jivo-redeem-summary,
.jivo-cart-v1 .jivo-redeem-controls {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.jivo-cart-v1 .jivo-redeem-summary {
	justify-content: space-between;
	font-size: 11.25px;
}

.jivo-cart-v1 .jivo-redeem-summary span {
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-controls {
	margin-top: 6px;
}

.jivo-cart-v1 .jivo-redeem-controls label {
	font-size: 11.25px;
}

.jivo-cart-v1 .jivo-redeem-controls input.input-text,
.jivo-cart-v1 .jivo-redeem-controls button.button {
	height: 31px;
	min-height: 31px;
	margin: 0;
}

.jivo-cart-v1 .jivo-redeem-controls input.input-text {
	width: 58px;
}

.jivo-cart-v1 .jivo-redeem-controls button.button {
	padding: 0 11px;
	border: 1px solid #a97b2e;
	background: linear-gradient(145deg, #c89a48, #a9792d);
	color: #fff;
	box-shadow: 0 4px 11px rgba(164, 115, 37, .2);
}

.jivo-cart-v1 .cart_totals tr.shipping td {
	max-width: 58%;
	justify-content: flex-end;
	overflow: hidden;
	text-align: right;
}

.jivo-cart-v1 .cart_totals tr.shipping td ul,
.jivo-cart-v1 .cart_totals tr.shipping td li {
	min-width: 0;
	max-width: 100%;
	margin: 0;
	white-space: normal !important;
}

.jivo-cart-v1 .jivo-cart-shipping-status {
	display: block;
	max-width: 180px;
	color: #5f636d;
	font-size: 11px;
	font-weight: 620;
	line-height: 1.3;
	text-align: right;
	white-space: normal;
}

@media (max-width: 380px) {
	.jivo-cart-v1 .jivo-redeem-summary,
	.jivo-cart-v1 .jivo-redeem-controls label {
		font-size: 10.5px;
	}

	.jivo-cart-v1 .jivo-redeem-controls input.input-text {
		width: 52px;
	}
}

/* Jivo cart v2.11: readable single-row point controls. */
.jivo-cart-v1 .jivo-redeem-controls {
	display: flex;
	flex-wrap: nowrap;
	gap: 7px;
}

.jivo-cart-v1 .jivo-redeem-controls label {
	min-width: 64px;
	flex: 1 1 auto;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-controls button.button {
	border-color: #252a3b;
	background: linear-gradient(145deg, #30364b, #222636);
	box-shadow: 0 4px 12px rgba(28, 32, 47, .2);
}

@media (max-width: 380px) {
	.jivo-cart-v1 .jivo-redeem-controls {
		gap: 5px;
	}

	.jivo-cart-v1 .jivo-redeem-controls label {
		min-width: 55px;
	}
}

/* Jivo cart v2.12: compact rewards and rate-safe shipment row. */
.jivo-cart-v1 #yith-par-message-cart {
	min-height: 42px;
	padding-top: 6px;
	padding-bottom: 6px;
}

.jivo-cart-v1 #yith-par-message-reward-cart:has(.jivo-redeem-enhanced) {
	min-height: 68px;
	padding-top: 7px;
	padding-bottom: 7px;
}

.jivo-cart-v1 .jivo-redeem-summary {
	font-size: 11px;
	line-height: 1.2;
}

.jivo-cart-v1 .jivo-redeem-controls {
	margin-top: 4px;
}

.jivo-cart-v1 .jivo-redeem-controls label {
	color: #2e313b;
	font-size: 11.25px;
	font-weight: 740;
}

.jivo-cart-v1 .jivo-redeem-controls input.input-text,
.jivo-cart-v1 .jivo-redeem-controls button.button {
	height: 29px;
	min-height: 29px;
}

.jivo-cart-v1 .jivo-redeem-controls button.button {
	border-color: #a9792d !important;
	background: linear-gradient(145deg, #c89a48, #a9792d) !important;
	color: #fff !important;
	box-shadow: 0 4px 11px rgba(164, 115, 37, .2) !important;
}

.jivo-cart-v1 .jivo-cart-shipping-status {
	max-width: 150px;
	color: #5d616b;
	font-size: 11px;
	font-weight: 650;
	white-space: nowrap;
}

/* Jivo cart v2.14: compact points switch and free-shipping progress. */
.jivo-cart-v1 #yith-par-message-reward-cart:has(.jivo-redeem-enhanced) {
	min-height: 54px;
	padding-top: 6px;
	padding-bottom: 6px;
}

.jivo-cart-v1 .jivo-redeem-enhanced {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
}

.jivo-cart-v1 .jivo-redeem-summary {
	justify-content: flex-start;
	gap: 8px;
	font-size: 10.75px;
}

.jivo-cart-v1 .jivo-redeem-controls {
	gap: 7px;
	margin: 0;
}

.jivo-cart-v1 .jivo-redeem-controls label {
	min-width: 0;
	color: #2e313b;
	font-size: 11px;
	font-weight: 760;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-controls input.input-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}

.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch {
	position: relative;
	width: 44px;
	min-width: 44px;
	height: 25px;
	min-height: 25px;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px;
	background: #dfe2ea !important;
	font-size: 0 !important;
	box-shadow: inset 0 0 0 1px #d4d8e2 !important;
}

.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(28, 31, 47, .24);
}

.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch.is-applying {
	background: linear-gradient(145deg, #646fff, #4f5be8) !important;
	box-shadow: inset 0 0 0 1px rgba(40, 48, 170, .12), 0 3px 8px rgba(79, 91, 232, .22) !important;
}

.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch.is-applying::after {
	transform: translateX(19px);
}

.jivo-cart-v1 .jivo-shipping-goal {
	display: block;
	max-width: 205px;
	margin-left: auto;
	color: #246a4c;
	font-size: 11px;
	font-weight: 720;
	line-height: 1.25;
	text-align: right;
	text-wrap: balance;
	white-space: normal;
}

@media (max-width: 390px) {
	.jivo-cart-v1 .jivo-redeem-summary {
		gap: 5px;
		font-size: 10px;
	}

	.jivo-cart-v1 .jivo-redeem-controls label {
		font-size: 10.5px;
	}
}

/* Jivo cart v2.15: one-row points, contained coupons and resilient shipping. */
.jivo-cart-v1 #yith-par-message-reward-cart:has(.jivo-redeem-enhanced) {
	min-height: 46px;
	padding-top: 5px;
	padding-bottom: 5px;
}

.jivo-cart-v1 .jivo-redeem-enhanced {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
}

.jivo-cart-v1 .jivo-redeem-summary,
.jivo-cart-v1 .jivo-redeem-controls {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
}

.jivo-cart-v1 .jivo-redeem-summary {
	justify-content: flex-start;
	gap: 4px;
	color: #252936;
	font-size: 11.5px;
	line-height: 1.15;
}

.jivo-cart-v1 .jivo-redeem-title {
	font-size: 12.5px;
	font-weight: 760;
}

.jivo-cart-v1 .jivo-redeem-available {
	color: #777b87;
	font-size: 10.5px;
	font-weight: 590;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-available strong {
	color: inherit;
	font-weight: inherit;
}

.jivo-cart-v1 .jivo-redeem-controls {
	justify-content: flex-end;
	gap: 8px;
}

.jivo-cart-v1 .jivo-redeem-value {
	color: #747884;
	font-size: 10.75px;
	font-weight: 590;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-value strong {
	color: #252936;
	font-weight: 740;
}

.jivo-cart-v1 #coupons_list:not(.jivo-coupons-relocated),
.jivo-cart-v1 .wc_sc_available_coupons:not(.jivo-coupons-relocated),
.jivo-cart-v1 .smart-coupons:not(.jivo-coupons-relocated) {
	display: none !important;
}

.jivo-cart-v1 .jivo-cart-coupon-offers {
	padding-top: 10px;
}

.jivo-cart-v1 .jivo-cart-coupon-offers #coupons_list,
.jivo-cart-v1 .jivo-cart-coupon-offers .jivo-coupons-relocated,
.jivo-cart-v1 .jivo-cart-coupon-offers .wc_sc_available_coupons,
.jivo-cart-v1 .jivo-cart-coupon-offers .smart-coupons {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.jivo-cart-v1 .jivo-cart-coupon-offers #coupons_list > .sc-accordion-header,
.jivo-cart-v1 .jivo-cart-coupon-offers .jivo-coupons-relocated > .sc-accordion-header {
	display: none !important;
}

.jivo-cart-v1 .jivo-cart-coupon-offers #coupons_list > .sc-accordion-content,
.jivo-cart-v1 .jivo-cart-coupon-offers .jivo-coupons-relocated > .sc-accordion-content {
	display: block !important;
	padding: 0 !important;
}

.jivo-cart-v1 .cart_totals tr.shipping td {
	box-sizing: border-box;
	min-width: 0;
	max-width: calc(100% - 108px);
}

.jivo-cart-v1 .jivo-shipping-goal {
	width: 100%;
	max-width: none;
	margin: 0;
	white-space: normal;
	word-break: normal;
	overflow-wrap: break-word;
}

@media (max-width: 360px) {
	.jivo-cart-v1 .jivo-redeem-enhanced { gap: 5px; }
	.jivo-cart-v1 .jivo-redeem-summary { gap: 3px; font-size: 10.5px; }
	.jivo-cart-v1 .jivo-redeem-title { font-size: 11.5px; }
	.jivo-cart-v1 .jivo-redeem-available,
	.jivo-cart-v1 .jivo-redeem-value { font-size: 9.5px; }
	.jivo-cart-v1 .jivo-redeem-controls { gap: 5px; }
}

/* Jivo cart v2.16: enforce compact rows after cart fragment refreshes. */
.jivo-cart-v1 .jivo-redeem-enhanced {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-width: 0 !important;
	gap: 8px !important;
}

.jivo-cart-v1 .jivo-redeem-summary {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-controls {
	flex: 0 0 auto !important;
	width: auto !important;
}

.jivo-cart-v1 .cart_totals tr.shipping {
	display: table-row !important;
	width: auto !important;
}

.jivo-cart-v1 .cart_totals tr.shipping th,
.jivo-cart-v1 .cart_totals tr.shipping td {
	display: table-cell !important;
	box-sizing: border-box;
	height: 52px;
	min-height: 0;
	vertical-align: middle;
}

.jivo-cart-v1 .cart_totals tr.shipping th { width: 42% !important; }

.jivo-cart-v1 .cart_totals tr.shipping td {
	width: 58% !important;
	max-width: none !important;
	overflow: visible;
}

@media (max-width: 360px) {
	.jivo-cart-v1 .jivo-redeem-enhanced { gap: 4px !important; }
	.jivo-cart-v1 .jivo-redeem-summary { gap: 2px; }
	.jivo-cart-v1 .jivo-redeem-available,
	.jivo-cart-v1 .jivo-redeem-value { font-size: 9px; }
	.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch {
		width: 40px;
		min-width: 40px;
	}
}

/* Jivo cart v2.17: stable points, shipment and async coupon layouts. */
.jivo-cart-v1 #yith-par-message-reward-cart:has(.jivo-redeem-enhanced) {
	box-sizing: border-box;
	min-height: 54px !important;
	padding: 6px 10px 6px 48px !important;
}

.jivo-cart-v1 #yith-par-message-reward-cart form.ywpar_apply_discounts.jivo-redeem-enhanced,
.jivo-cart-v1 #yith-par-message-reward-cart > .jivo-redeem-enhanced {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 40px;
	margin: 0 !important;
	gap: 10px !important;
}

.jivo-cart-v1 .jivo-redeem-summary {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	gap: 1px !important;
	white-space: normal !important;
}

.jivo-cart-v1 .jivo-redeem-summary .jivo-redeem-title,
.jivo-cart-v1 .jivo-redeem-summary .jivo-redeem-available {
	display: block;
	margin: 0 !important;
	line-height: 1.2;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-redeem-controls {
	display: flex !important;
	flex: 0 0 auto !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	gap: 8px !important;
}

.jivo-cart-v1 .cart_totals tr.shipping {
	display: table-row !important;
}

.jivo-cart-v1 .cart_totals tr.shipping > th.jivo-shipping-cell {
	display: table-cell !important;
	box-sizing: border-box;
	width: auto !important;
	height: auto;
	padding: 0 !important;
	border-radius: 13px;
	background: #f8fafc;
}

.jivo-cart-v1 .cart_totals tr.shipping > th.jivo-shipping-cell::before {
	display: none !important;
}

.jivo-cart-v1 .jivo-shipping-row {
	display: flex;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 9px 10px 9px 44px;
}

.jivo-cart-v1 .jivo-shipping-row::before {
	position: absolute;
	width: 22px;
	height: 22px;
	margin-left: -32px;
	background: #5865f2;
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3'/%3E%3Cpath d='M14 9h4l4 4v4h-3'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17h4V5H2v12h3'/%3E%3Cpath d='M14 9h4l4 4v4h-3'/%3E%3Ccircle cx='7.5' cy='17.5' r='2.5'/%3E%3Ccircle cx='16.5' cy='17.5' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.jivo-cart-v1 .jivo-shipping-row__label {
	flex: 0 0 auto;
	color: #6f727b;
	font-weight: 500;
	white-space: nowrap;
}

.jivo-cart-v1 .jivo-shipping-row__value {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: flex-end;
	min-width: 0;
	margin-left: 14px;
	color: #19724b;
	font-size: 11px;
	font-weight: 720;
	line-height: 1.25;
	text-align: right;
}

.jivo-cart-v1 .jivo-shipping-row__value > *,
.jivo-cart-v1 .jivo-shipping-row__value .woocommerce-shipping-methods {
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch::before {
	display: none !important;
	content: none !important;
}

.jivo-cart-v1 .jivo-shipping-row__value .jivo-shipping-goal {
	width: auto !important;
	max-width: 280px !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

.jivo-cart-v1 .jivo-cart-coupon-offers .jivo-coupons-relocated {
	display: grid !important;
	gap: 8px;
	margin: 0 !important;
	padding: 8px 0 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.jivo-cart-v1 .jivo-cart-coupon-offers .sc-coupon,
.jivo-cart-v1 .jivo-cart-coupon-offers .coupon-container {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Jivo cart v2.18: single-line points and compact coupon cards. */
.jivo-cart-v1 .jivo-redeem-summary {
	flex-direction: row !important;
	align-items: baseline !important;
	justify-content: flex-start !important;
	gap: 5px !important;
	white-space: nowrap !important;
}

.jivo-cart-v1 .jivo-coupon-card {
	position: relative !important;
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 10px !important;
	overflow: hidden !important;
	border: 1px solid #e2e4ec !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
	transform: none !important;
}

.jivo-cart-v1 .jivo-coupon-card > div > .flex,
.jivo-cart-v1 .jivo-coupon-card > .flex,
.jivo-cart-v1 .jivo-coupon-card .items-center {
	display: flex !important;
	align-items: center !important;
}

.jivo-cart-v1 .jivo-coupon-card svg,
.jivo-cart-v1 .jivo-coupon-card img {
	flex: 0 0 24px !important;
	width: 24px !important;
	max-width: 24px !important;
	height: 24px !important;
	max-height: 24px !important;
	object-fit: contain;
}

.jivo-cart-v1 .jivo-coupon-card .mx-2 { margin-right: 0 !important; margin-left: 10px !important; }
.jivo-cart-v1 .jivo-coupon-card .inline-flex { display: inline-flex !important; }
.jivo-cart-v1 .jivo-coupon-card .space-x-1 > * + * { margin-left: 4px !important; }
.jivo-cart-v1 .jivo-coupon-card .space-y-1 > * + * { margin-top: 4px !important; }
.jivo-cart-v1 .jivo-coupon-card .text-sm { font-size: 12px !important; }
.jivo-cart-v1 .jivo-coupon-card .text-xs { font-size: 10.5px !important; }
.jivo-cart-v1 .jivo-coupon-card .font-bold { font-weight: 750 !important; }
.jivo-cart-v1 .jivo-coupon-card .uppercase { text-transform: none !important; }
.jivo-cart-v1 .jivo-coupon-card .leading-none,
.jivo-cart-v1 .jivo-coupon-card .leading-tight { line-height: 1.25 !important; }

.jivo-cart-v1 .jivo-coupon-empty {
	padding: 10px;
	color: #747884;
	font-size: 11px;
	line-height: 1.35;
	text-align: center;
}

/* Jivo cart v2.19: reliable points switch and modern coupon cards. */
.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch {
	position: relative !important;
	display: block !important;
	box-sizing: border-box !important;
	flex: 0 0 44px !important;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	height: 26px !important;
	min-height: 26px !important;
	max-height: 26px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 999px !important;
	line-height: 0 !important;
	appearance: none;
	-webkit-appearance: none;
}

.jivo-cart-v1 .jivo-redeem-controls button.button.jivo-rewards-switch::after {
	top: 3px !important;
	left: 3px !important;
	box-sizing: border-box;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
}

.jivo-cart-v1 .jivo-coupon-card {
	display: grid !important;
	grid-template-columns: 36px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 76px !important;
	padding: 11px !important;
	border-color: #e3e5ee !important;
	background: linear-gradient(145deg, #fff 0%, #fafaff 100%) !important;
	box-shadow: 0 5px 16px rgba(37, 42, 63, .055) !important;
}

.jivo-cart-v1 .jivo-coupon-card__icon { display: block; width: 36px; height: 36px; border-radius: 11px; background: #eef0ff; }
.jivo-cart-v1 .jivo-coupon-card__icon::before { display: block; width: 18px; height: 18px; margin: 9px; background: #5865f2; content: ""; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M20 12a2 2 0 0 0 0-4V5H4v3a2 2 0 0 0 0 4v3h16v-3Z'/%3E%3Cpath d='M9 5v10' stroke-dasharray='2 2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M20 12a2 2 0 0 0 0-4V5H4v3a2 2 0 0 0 0 4v3h16v-3Z'/%3E%3Cpath d='M9 5v10' stroke-dasharray='2 2'/%3E%3C/svg%3E") center / contain no-repeat; }
.jivo-cart-v1 .jivo-coupon-card__copy { display: grid; min-width: 0; gap: 6px; }
.jivo-cart-v1 .jivo-coupon-card__title { color: #222631; font-size: 11.75px; font-weight: 760; line-height: 1.28; overflow-wrap: break-word; }
.jivo-cart-v1 .jivo-coupon-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; color: #777b87; font-size: 9.75px; line-height: 1.2; }
.jivo-cart-v1 .jivo-coupon-card__code { padding: 3px 6px; border: 1px dashed #cfd3e7; border-radius: 6px; background: #f7f8fc; color: #4d5365; font: 700 9.5px/1 ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; }
.jivo-cart-v1 .jivo-coupon-card__action { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 30px; padding: 0 10px; border-radius: 9px; background: #5966ef; color: #fff; font-size: 10.5px; font-weight: 750; box-shadow: 0 4px 10px rgba(89, 102, 239, .2); }
