/*
 * Cart component (shop): quantity stepper, side cart body, checkout steps
 * band, cart page (table desktop / cards <= 768px), basket totals,
 * shipping calculator, empty cart, searchable country select.
 * Numbers: design-shop.md 2.7, 5.4, 5.8, 6.4, T.5, I.4 + live computed styles.
 * Small UI images are the live PNGs, inlined (ui/minus.png, Plus.png,
 * Plus-hover.png, bi_cart-x.png, ep_arrow-down.png).
 */

/* Quantity stepper ------------------------------------------------------- */

.lvt-cqty {
	display: inline-flex;
	align-items: stretch;
	vertical-align: middle;
	--lvt-cqty-h: 42px;
	--lvt-cqty-btn: 25px;
	--lvt-cqty-input: 61px;
}

.lvt-cqty--side {
	--lvt-cqty-h: 32px;
	--lvt-cqty-input: 58px;
}

/* Live: on product pages the product stepper sizes also apply to the side cart. */
.lvt-product-page .lvt-cqty--side {
	--lvt-cqty-h: 48px;
	--lvt-cqty-btn: 32px;
	--lvt-cqty-input: 70px;
}

.lvt-cqty__btn {
	flex: none;
	width: var(--lvt-cqty-btn);
	height: var(--lvt-cqty-h);
	margin: 0;
	padding: 0 5px;
	border: 1px solid var(--lvt-c-form-border);
	background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABKSURBVHgBzVFBCgAgCFvRQ3xCdOj/P8mfmEJHBTsEDXZxG0MFHMw+ltHTGnxQMEfFJd4HylmOkn7WBkEegVdbxehpH14p+LRwFNjvNAyo1y9qVAAAAABJRU5ErkJggg==") center / 12px 12px no-repeat;
	cursor: pointer;
	transition: background-color .25s ease;
	-webkit-appearance: none;
	appearance: none;
}

.lvt-cqty__minus {
	border-radius: 5px 0 0 5px;
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAACCAYAAABsfz2XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAfSURBVHgBlcBBAQAABMDAkUT/RnsRRQUu1AaKm0meFn43BG4BU4haAAAAAElFTkSuQmCC");
	background-size: 12px 2px;
}

.lvt-cqty__plus {
	border-radius: 0 5px 5px 0;
}

.lvt-cqty__plus:hover,
.lvt-cqty__plus:focus-visible {
	background-color: var(--lvt-c-primary);
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABGSURBVHgBzZFBCgAgCAS36CH+/0ee8ieV0HGFPAQOeHFdFhUgqOr0YtoAR4I+OpL8N7S7nDzOWzqBclKXF9MKXin6tEWGDUsME2qe/SY2AAAAAElFTkSuQmCC");
}

.lvt-cqty__minus:focus-visible {
	background-color: var(--lvt-c-primary);
}

.lvt-cqty .lvt-cqty__input {
	flex: none;
	width: var(--lvt-cqty-input);
	height: var(--lvt-cqty-h);
	margin: 0;
	padding: 0 2px;
	border-width: 1px 0;
	border-radius: 0;
	color: var(--lvt-c-secondary);
	font-size: 14px;
	line-height: 19.6px;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}

.lvt-cqty .lvt-cqty__input::-webkit-inner-spin-button,
.lvt-cqty .lvt-cqty__input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

/* Cart/checkout buttons use the body font like live (quoted Arial stack). */
.lvt-mini-cart .lvt-btn,
.lvt-cart-page .lvt-btn,
.lvt-checkout-page .lvt-btn,
.lvt-received .lvt-btn {
	font-family: var(--lvt-font-body);
}

/* Shared line meta: "Length: 2400" */
.lvt-cart-meta {
	margin: 0;
	color: var(--lvt-c-text);
	font-size: 14px;
	line-height: 20px;
}

.lvt-cart-meta__label {
	color: var(--lvt-c-heading);
	font-weight: 600;
}

/* Side cart (design-shop 2.7) ------------------------------------------- */

.lvt-side-cart__body {
	display: flex;
	flex-direction: column;
}

.lvt-mini-cart {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.lvt-mini-cart .lvt-mini-cart__notice {
	margin: 15px 15px 0;
	padding: 12px 15px 12px 45px;
	font-size: 14px;
	line-height: 20px;
}

.lvt-mini-cart .lvt-mini-cart__notice::before {
	left: 15px;
}

.lvt-mini-cart__list {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-y: auto;
}

.lvt-mini-cart__item {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 15px;
	border-bottom: 1px solid var(--lvt-c-line-soft);
	transition: opacity .25s ease;
}

.lvt-mini-cart__item:last-child {
	border-bottom: 0;
}

.lvt-mini-cart__item.is-loading {
	opacity: .5;
	pointer-events: none;
}

.lvt-mini-cart__fill {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.lvt-mini-cart__thumb {
	position: relative;
	z-index: 1;
	flex: none;
	width: 65px;
	line-height: 0;
}

.lvt-mini-cart__thumb img,
.lvt-mini-cart__thumb .lvt-cart-thumb-empty {
	display: block;
	width: 65px;
	height: 43px;
	object-fit: cover;
	background: var(--lvt-c-bg);
}

.lvt-mini-cart__info {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	min-width: 0;
	padding-right: 20px;
	pointer-events: none;
}

.lvt-mini-cart__info a,
.lvt-mini-cart__info .lvt-cqty {
	pointer-events: auto;
}

.lvt-mini-cart__title {
	display: block;
	color: #333333;
	font-size: 16px;
	line-height: 22.4px;
	text-decoration: none;
}

.lvt-mini-cart__title:hover {
	color: var(--lvt-c-primary);
}

.lvt-mini-cart__info .lvt-cart-meta {
	margin: 8px 0 6px;
}

.lvt-mini-cart__qty {
	display: block;
	margin-top: 8px;
	color: var(--lvt-c-grey-ui);
	font-size: 14.4px;
	font-weight: 400;
	line-height: 20px;
}

.lvt-mini-cart__qty .lvt-price__amount {
	color: var(--lvt-c-secondary);
	font-weight: 600;
}

.lvt-mini-cart__remove {
	position: absolute;
	top: 13px;
	right: 10px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: none;
	color: #333333;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	transition: color .25s ease;
}

.lvt-mini-cart__remove::before,
.lvt-mini-cart__remove::after,
.lvt-cart-remove::before,
.lvt-cart-remove::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 1.2px;
	background: currentColor;
	transform: translate(-50%, -50%) rotate(45deg);
}

.lvt-mini-cart__remove::after,
.lvt-cart-remove::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.lvt-mini-cart__remove:hover {
	color: var(--lvt-c-muted);
}

.lvt-mini-cart__footer {
	flex: none;
	border-top: 1px solid var(--lvt-c-line-soft);
}

.lvt-mini-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 32px;
	padding: 18px 15px;
	border-bottom: 1px solid var(--lvt-c-line-2);
	line-height: 22px;
}

.lvt-mini-cart__total strong {
	color: var(--lvt-c-secondary);
	font-size: 16px;
	font-weight: 600;
	line-height: 16px;
}

.lvt-mini-cart__total .lvt-price__amount {
	color: var(--lvt-c-primary);
	font-size: 20px;
	font-weight: 700;
}

.lvt-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0 15px 15px;
}

.lvt-mini-cart__buttons .lvt-btn {
	min-height: 42px;
	padding: 5px 20px;
	font-size: 18px;
	line-height: 18px;
}

.lvt-mini-cart__buttons .lvt-btn--tint:hover {
	color: #FFFFFF;
}

/* Empty side cart */
.lvt-mini-cart__empty {
	padding: 30px 15px 15px;
	text-align: center;
}

.lvt-mini-cart__empty-icon {
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 26px;
	background: url("data:image/png;base64,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") center / cover no-repeat;
}

/* Live: text margin-bottom 20px + button margin-top 36px, both counted (56px
   gap). The button is block-level here (.lvt-btn--block = flex), so the two
   margins would collapse to 36px: the whole gap sits on the button instead. */
.lvt-mini-cart__empty-text {
	margin: 0;
	color: var(--lvt-c-grey-btn);
	font-size: 16px;
	font-weight: 600;
	line-height: 16px;
	text-transform: uppercase;
}

/* Also wins over the phone button rules of buttons.css
   (.lvt-btn--gradient:not(.lvt-btn--sm):not(.lvt-btn--md) = 44px, 1px border):
   live keeps 54px, 18px padding and no border at every width. */
.lvt-mini-cart__empty a.lvt-btn.lvt-mini-cart__shop {
	min-height: 54px;
	margin-top: 56px;
	padding: 18px;
	border: 0;
	font-size: 18px;
	line-height: 18px;
}

@media (max-width: 767px) {
	.lvt-mini-cart__title {
		font-size: 14px;
		line-height: 20px;
	}

	.lvt-mini-cart__info .lvt-cart-meta,
	.lvt-mini-cart__qty {
		font-size: 12.6px;
		line-height: 18px;
	}

	.lvt-mini-cart__info .lvt-cart-meta {
		margin: 8px 0 5px;
	}

	.lvt-mini-cart__qty {
		margin-top: 6px;
	}

	.lvt-mini-cart__remove {
		top: 12px;
	}
}

/* Checkout steps band (design-shop 5.4) --------------------------------- */

.lvt-steps {
	margin-top: calc(-1 * var(--lvt-main-gap));
	margin-bottom: var(--lvt-main-gap);
	padding: 41px 0;
	background: #0A0A0A url("../img/page-title-bg.webp") center / cover no-repeat;
	color: #FFFFFF;
	text-align: center;
}

.lvt-steps__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lvt-steps__item {
	display: flex;
	align-items: center;
	gap: 15px;
	font-family: var(--lvt-font-arial);
	font-size: 20px;
	font-weight: 600;
	line-height: 24px;
	text-transform: uppercase;
}

.lvt-steps__link {
	display: block;
	color: #FFFFFF;
	text-decoration: none;
	opacity: .7;
	transition: opacity .25s ease;
}

a.lvt-steps__link:hover,
.lvt-steps__item.is-active .lvt-steps__link {
	color: #FFFFFF;
	opacity: 1;
}

.lvt-steps__link > span {
	position: relative;
	display: block;
}

.lvt-steps__item.is-active .lvt-steps__link > span::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -3px;
	left: 0;
	height: 2px;
	background: var(--lvt-c-primary);
}

.lvt-steps__arrow {
	flex: none;
	width: 17px;
	height: 10px;
	color: #FFFFFF;
	opacity: .7;
}

@media (max-width: 1024px) {
	.lvt-steps {
		padding: 15px 0;
	}
}

/* Live at 768: only the current step, band still 54px (15px padding);
   the 50px band (13px padding) starts at 767. */
@media (max-width: 767px) {
	.lvt-steps {
		padding: 13px 0;
	}
}

@media (max-width: 768px) {
	.lvt-steps__item:not(.is-active) {
		display: none;
	}

	.lvt-steps__item .lvt-steps__arrow {
		display: none;
	}

	/* Live: the single current step has no underline at 768 and on phones. */
	.lvt-steps__item.is-active .lvt-steps__link > span::after {
		content: none;
	}
}

/* Cart page (design-shop 6.4) -------------------------------------------- */

.lvt-cart-notices .lvt-notice:last-child {
	margin-bottom: 50px;
}

.lvt-cart-notices:has(+ .lvt-cart-empty) .lvt-notice:last-child {
	margin-bottom: 20px;
}

.lvt-cart-notices .lvt-notice a {
	margin-left: 4px;
}

.lvt-cart {
	display: flex;
	align-items: flex-start;
	gap: 30px;
}

.lvt-cart__form {
	flex: 1 1 auto;
	min-width: 0;
}

.lvt-cart-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	color: var(--lvt-c-text);
	font-size: 16px;
	line-height: 22.4px;
}

.lvt-cart-table th {
	padding: 15px 10px;
	border-bottom: 2px solid rgba(0, 0, 0, .075);
	color: var(--lvt-c-heading);
	font-size: 14px;
	font-weight: 600;
	line-height: 19.6px;
	text-align: left;
	text-transform: uppercase;
	white-space: nowrap;
}

.lvt-cart-table th.lvt-cart-table__remove {
	width: 40px;
	padding-left: 0;
}

.lvt-cart-table th.lvt-cart-table__name {
	position: relative;
	left: -90px;
}

.lvt-cart-table th.lvt-cart-table__subtotal {
	padding-right: 0;
	text-align: right;
}

.lvt-cart-table td {
	padding: 15px 12px;
	border-bottom: 1px solid rgba(0, 0, 0, .106);
	vertical-align: middle;
}

.lvt-cart-table td.lvt-cart-table__remove {
	width: 40px;
	padding: 0;
	text-align: center;
}

.lvt-cart-remove {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	color: #333333;
	font-size: 0;
	line-height: 0;
	text-decoration: none;
	vertical-align: middle;
	transition: color .25s ease;
}

.lvt-cart-remove::before,
.lvt-cart-remove::after {
	width: 14px;
}

.lvt-cart-remove:hover {
	color: var(--lvt-c-muted);
}

.lvt-cart-table__thumb {
	width: 104px;
}

.lvt-cart-table__thumb a {
	display: block;
	line-height: 0;
}

.lvt-cart-table__thumb img,
.lvt-cart-table__thumb .lvt-cart-thumb-empty {
	display: block;
	width: 80px;
	height: 53px;
	object-fit: cover;
	background: var(--lvt-c-bg-box);
}

.lvt-cart-table__title {
	display: inline-block;
	color: #333333;
	font-size: 16px;
	line-height: 22.4px;
	text-decoration: none;
}

.lvt-cart-table__title:hover {
	color: var(--lvt-c-primary);
}

.lvt-cart-table__name .lvt-cart-meta {
	margin: 5px 0 6px;
}

.lvt-cart-table__price {
	color: var(--lvt-c-heading);
	white-space: nowrap;
}

.lvt-cart-table td.lvt-cart-table__subtotal {
	padding-right: 0;
	color: var(--lvt-c-primary);
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

.lvt-cart-table__row.is-loading {
	opacity: .5;
	pointer-events: none;
}

.lvt-cart__actions {
	display: flex;
	justify-content: flex-end;
	margin: 30px 0 0;
}

.lvt-cart__update.lvt-btn {
	min-height: 42px;
	padding: 5px 34px;
	background: var(--lvt-gradient);
	background-color: var(--lvt-c-primary-dark); /* under the gradient: instant, opaque hover swap as the other gradient buttons (buttons.css) */
	font-size: 16px;
	line-height: 16px;
}

.lvt-cart__update.lvt-btn:hover {
	background: var(--lvt-c-primary-dark);
}

.lvt-cart__update.lvt-btn:disabled {
	background: var(--lvt-c-disabled-bg);
	color: var(--lvt-c-grey-btn);
	opacity: .6;
	cursor: default;
}

/* Basket totals */
.lvt-cart-totals {
	flex: 0 0 387px;
	max-width: 387px;
	padding: 25px;
	border-radius: var(--lvt-radius);
	background: var(--lvt-c-bg-box);
}

.lvt-cart-totals__title {
	margin: 0 0 15px;
	color: var(--lvt-c-secondary);
	font-family: var(--lvt-font-heading);
	font-size: 26px;
	font-weight: 600;
	line-height: 26px;
	letter-spacing: -.26px;
}

.lvt-totals {
	width: 100%;
	margin: 0 0 14px;
	border-collapse: collapse;
	font-size: 16px;
	line-height: 22.4px;
}

.lvt-totals th {
	padding: 15px 10px 15px 0;
	border-bottom: 1px solid rgba(0, 0, 0, .106);
	color: var(--lvt-c-heading);
	font-weight: 600;
	text-align: left;
	vertical-align: middle;
}

.lvt-totals td {
	padding: 15px 0 15px 12px;
	border-bottom: 1px solid rgba(0, 0, 0, .106);
	color: var(--lvt-c-heading);
	text-align: right;
	vertical-align: middle;
}

.lvt-totals__row--total th,
.lvt-totals__row--total td {
	border-bottom: 0;
}

.lvt-totals__row--vat td,
.lvt-totals__row--total td {
	color: var(--lvt-c-primary);
	font-weight: 600;
}

.lvt-totals__row--total strong {
	font-size: 20.8px; /* 130 % of the body size, as live */
	font-weight: 600;
	line-height: 30.8px;
}

.lvt-totals__method {
	margin: 0 0 10px;
	color: var(--lvt-c-heading);
}

.lvt-totals__destination {
	margin: 0 0 10px;
	color: var(--lvt-c-text);
}


.lvt-shipcalc__toggle {
	color: var(--lvt-c-primary);
	font-weight: 600;
	text-decoration: none;
}

.lvt-shipcalc__toggle:hover {
	color: var(--lvt-c-primary-dark);
}

.lvt-shipcalc__form {
	margin-top: 20px;
	text-align: right;
}

.lvt-shipcalc__form .lvt-label {
	color: var(--lvt-c-heading);
}

.lvt-shipcalc__form .lvt-field {
	margin-bottom: 18px;
}

.lvt-shipcalc__submit {
	margin: 0 0 20px;
}

.lvt-shipcalc__button.lvt-btn {
	min-height: 36px;
	padding: 5px 14px;
	font-size: 13px;
	font-weight: 600;
	line-height: 13px;
}

.lvt-cart-totals__checkout.lvt-btn {
	min-height: 42px;
	padding: 5px 20px;
	font-size: 18px;
	line-height: 18px;
}

/* Tablet 769-1024: table full width, totals below (T.5). */
@media (max-width: 1024px) {
	.lvt-cart {
		flex-direction: column;
		align-items: stretch;
	}

	.lvt-cart-totals {
		flex: none;
		max-width: none;
	}
}

/* <= 768: cards (Woodmart responsive table). */
@media (max-width: 768px) {
	.lvt-cart-table,
	.lvt-cart-table tbody,
	.lvt-cart-table tr,
	.lvt-cart-table td {
		display: block;
	}

	.lvt-cart-table thead {
		display: none;
	}

	.lvt-cart-table__row {
		position: relative;
		display: flex !important;
		flex-direction: column;
		gap: 5px;
		min-height: 136px;
		margin: 0 0 15px;
		padding: 0 0 15px 115px;
		border-bottom: 1px solid rgba(0, 0, 0, .106);
	}

	.lvt-cart-table td {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 5px;
		padding: 0 0 5px;
		border-bottom: 0;
		text-align: right;
	}

	.lvt-cart-table td[data-title]::before {
		content: attr(data-title);
		color: var(--lvt-c-text);
		font-size: 14px;
		font-weight: 400;
		line-height: 20px;
		text-align: left;
	}

	.lvt-cart-table td.lvt-cart-table__name::before {
		display: none;
	}

	.lvt-cart-table td.lvt-cart-table__remove {
		position: absolute;
		top: 0;
		right: 0;
		width: 30px;
		height: 35px;
		padding: 0 0 5px;
	}

	.lvt-cart-table td.lvt-cart-table__thumb {
		position: absolute;
		top: 0;
		left: 0;
		width: 100px;
		padding: 0 0 5px;
	}

	.lvt-cart-table__thumb img,
	.lvt-cart-table__thumb .lvt-cart-thumb-empty {
		width: 100px;
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.lvt-cart-table td.lvt-cart-table__name {
		display: block;
		padding: 0 20px 5px 0;
		text-align: left;
	}

	.lvt-cart-table__title {
		max-width: none;
	}

	.lvt-cart-table__name .lvt-cart-meta {
		font-size: 12.96px;
	}

	.lvt-cart-table td.lvt-cart-table__price,
	.lvt-cart-table td.lvt-cart-table__qty {
		border-bottom: 1px dashed rgba(0, 0, 0, .106);
	}

	.lvt-cart-table td.lvt-cart-table__subtotal {
		padding: 0;
	}

	.lvt-cart__actions {
		margin-top: 30px;
	}

	.lvt-cart__update.lvt-btn {
		width: 100%;
	}

	.lvt-totals th,
	.lvt-totals td {
		display: block;
	}

	.lvt-totals tr {
		display: flex;
		justify-content: space-between;
		align-items: center;
		border-bottom: 1px solid rgba(0, 0, 0, .106);
	}

	.lvt-totals th,
	.lvt-totals td {
		border: 0;
	}

	.lvt-totals__row--shipping {
		flex-direction: column;
		align-items: stretch !important;
	}

	.lvt-totals__row--shipping td {
		padding: 0 0 15px;
		text-align: left;
	}

	.lvt-totals__row--total {
		border-bottom: 0 !important;
	}
}

@media (max-width: 768px) {
	.lvt-cart-totals__title {
		margin-bottom: 0;
	}

	.lvt-totals {
		margin-bottom: 0;
	}

	.lvt-totals__row--subtotal th,
	.lvt-totals__row--subtotal td {
		padding-top: 13px;
	}

	.lvt-totals__row--shipping th {
		padding-bottom: 10px;
	}
}

@media (max-width: 767px) {
	.lvt-totals {
		font-size: 14px;
		line-height: 20px;
	}

	.lvt-totals__row--total strong {
		font-size: 18.2px;
		line-height: 26px;
	}

	.lvt-cart-totals__checkout.lvt-btn {
		padding: 5px 20px;
	}

	/* Live: buttons get the 1px brown border on phones (shell rule for gradient buttons). */
	.lvt-cart__update.lvt-btn {
		border: 1px solid var(--lvt-c-primary);
	}
}

/* Empty cart page */
.lvt-cart-empty {
	text-align: center;
}

.lvt-cart-empty__icon {
	display: block;
	width: 114px;
	height: 115px;
	margin: 0 auto 21px;
	background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 114 115' fill='none' stroke='%23E5E5E5' stroke-width='8.8'><path d='M0 4.4h16.8L35.4 92.6H102M31.8 76.5h67.4L113.4 34.5l-25.6-3.2M25.4 27.6l19.4 2'/><path d='M47.7 13.5l37 37M84.7 13.5l-37 37'/><circle cx='33' cy='102.6' r='7.8'/><circle cx='96.2' cy='102.6' r='7.8'/></svg>") center / contain no-repeat;
}

.lvt-cart-empty__title {
	margin: 0 0 20px;
	color: var(--lvt-c-heading);
	font-family: var(--lvt-font-heading);
	font-size: 34px;
	font-weight: 600;
	line-height: 40px;
	letter-spacing: -.01px;
}

.lvt-cart-empty__text {
	max-width: 535px;
	margin: 0 auto 20px;
	color: var(--lvt-c-text);
}

.lvt-cart-empty__actions {
	margin: 0;
}

.lvt-cart-empty__actions .lvt-btn {
	min-height: 42px;
	padding: 5px 20px;
	font-size: 18px;
	line-height: 18px;
}

@media (max-width: 767px) {
	.lvt-cart-empty__icon {
		width: 87px;
		height: 88px;
	}

	.lvt-cart-empty__title {
		font-size: 26px;
		line-height: 32px;
	}

	.lvt-cart-empty__actions .lvt-btn {
		padding: 5px 20px;
	}
}

/* Searchable select (design-shop I.4, live select2 look) ---------------- */

.lvt-select {
	position: relative;
}

.lvt-select .lvt-select__native {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.lvt-select__button {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 42px;
	margin: 0;
	padding: 0 42px 0 15px;
	border: 1px solid var(--lvt-c-form-border);
	border-radius: var(--lvt-radius);
	background: transparent;
	color: var(--lvt-c-secondary);
	font-family: var(--lvt-font-arial);
	font-size: 14px;
	font-weight: 400;
	line-height: 24px;
	text-align: left;
	cursor: pointer;
	transition: border-color .5s ease;
}

.lvt-select__button:disabled {
	cursor: default;
	opacity: .6;
}

.lvt-select__value {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.lvt-select__arrow {
	position: absolute;
	top: 0;
	right: 0;
	width: 42px;
	height: 100%;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAATCAYAAACdkl3yAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACtSURBVHgB7Y/BDcIwDEWdSN0jI3BEwIHeOFUdgQ0YwckobAAIzj2B2ILsURGTCBBpgyOOVOqToiSW/5MNMDI8RPwx1fwGQOCkK83uarmQqRYaiNCn13g4b0NNdjooHKGkkw3WU5WVBO6fekfk2qL0l+VksYSINJ6e0ySrBXC1VLJoG/9UIMi+1+xL9PFi4lwi+ibzg+99esNJWFEie8FJsqK+LCf5GaxnExj5Hx6pTF+VyXPOegAAAABJRU5ErkJggg==") center / 18px 19px no-repeat;
}

.lvt-select.is-open .lvt-select__button {
	border-radius: 5px 5px 0 0;
}

.lvt-select.is-open.is-above .lvt-select__button {
	border-radius: 0 0 5px 5px;
}

.lvt-field.is-invalid .lvt-select__button {
	border-color: var(--lvt-c-invalid);
}

.lvt-select__dropdown {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 60;
	border: 1px solid var(--lvt-c-form-border);
	border-top: 0;
	background: #FFFFFF;
}

.lvt-select.is-above .lvt-select__dropdown {
	top: auto;
	bottom: 100%;
	border-top: 1px solid var(--lvt-c-form-border);
	border-bottom: 0;
}

.lvt-select__search-wrap {
	padding: 18px;
	border-bottom: 1px solid var(--lvt-c-form-border);
	background: #F2F2F2;
}

.lvt-select .lvt-select__search {
	height: 42px;
	padding: 0 38px 0 15px;
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23bbb' stroke-width='1.8' d='M10.4 3a7.4 7.4 0 1 0 0 14.7 7.4 7.4 0 0 0 0-14.7ZM15.9 15.9 21 21'/%3E%3C/svg%3E") right 12px center / 18px 18px no-repeat;
	color: var(--lvt-c-muted);
}

.lvt-select__list {
	max-height: 200px;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style: none;
}

.lvt-select__option,
.lvt-select__empty {
	margin: 0;
	padding: 10px 18px;
	color: var(--lvt-c-secondary);
	font-family: var(--lvt-font-arial);
	font-size: 16px;
	line-height: 24px;
	text-align: left;
	transition: background-color .1s ease, color .1s ease;
}

.lvt-select__option {
	cursor: pointer;
}

.lvt-select__option[aria-selected="true"] {
	font-weight: 600;
}

.lvt-select__option.is-highlighted {
	background: var(--lvt-c-primary);
	color: #FFFFFF;
}
