/**
 * Side cart — matched to Woodmart mini-cart (header-el-cart-side + woo-widget-shopping-cart).
 * Layout rules use !important so theme/Woo/Rocket cannot force full-width stacked images.
 */

/* ========== Overlay + panel shell ========== */
.wd-close-side.wd-fill {
	position: fixed !important;
	inset: 0 !important;
	top: 0 !important;
	z-index: 100050 !important;
}

.cart-widget-side.wd-side-hidden {
	--wd-side-hidden-w: 340px;
	--pmc-cart-thumb: 65px;
	position: fixed !important;
	top: var(--wd-admin-bar-h, 0px) !important;
	bottom: 0 !important;
	z-index: 100060 !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	width: min(var(--wd-side-hidden-w), 100vw) !important;
	max-width: 100vw;
	background: #fff !important;
	color: #333;
	font-size: 14px;
	line-height: 1.45;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
	transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	outline: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.cart-widget-side.wd-side-hidden.wd-left {
	left: 0 !important;
	right: auto !important;
	transform: translate3d(-105%, 0, 0);
}

.cart-widget-side.wd-side-hidden.wd-right {
	right: 0 !important;
	left: auto !important;
	transform: translate3d(105%, 0, 0);
}

.cart-widget-side.wd-side-hidden.wd-opened {
	transform: none !important;
}

@media (max-width: 1024px) {
	.cart-widget-side.wd-side-hidden {
		--wd-side-hidden-w: min(300px, 80vw);
	}
}

body:not(.woocommerce-cart):not(.woocommerce-checkout) .cart-widget-side {
	display: flex !important;
}

.cart-widget-side *,
.cart-widget-side *::before,
.cart-widget-side *::after {
	box-sizing: border-box;
}

/* ========== Heading (Woodmart .wd-heading) ========== */
.cart-widget-side > .wd-heading {
	display: flex !important;
	flex: 0 0 auto !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px;
	padding: 20px 15px !important;
	margin: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.105) !important;
	background: #fff;
}

.cart-widget-side > .wd-heading .title {
	flex: 1 1 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 130% !important;
	font-weight: 600;
	color: #242424;
	line-height: 1.3;
}

.cart-widget-side .close-side-widget {
	flex: 0 0 auto !important;
}

.cart-widget-side .close-side-widget a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.3em;
	height: 25px;
	color: #333;
	text-decoration: none !important;
	font-size: 13px;
	line-height: 1;
}

.cart-widget-side .close-side-widget a:hover {
	color: #767676;
}

.cart-widget-side .wd-cross-icon .wd-action-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.cart-widget-side .wd-cross-icon .wd-action-icon::before {
	content: "\00d7";
	font-family: inherit;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	speak: never;
}

/* ========== Widget column layout ========== */
.cart-widget-side .widget,
.cart-widget-side .widget_shopping_cart {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 100% !important;
	position: relative !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.cart-widget-side .widget_shopping_cart_content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	height: 100% !important;
	min-height: 0 !important;
}

.cart-widget-side .widget-title,
.cart-widget-side .widgettitle {
	display: none !important;
}

.cart-widget-side .shopping-cart-widget-body {
	position: relative !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.cart-widget-side .wd-scroll-content {
	position: absolute !important;
	inset: 0 !important;
	max-height: 100% !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: none;
}

/* ========== Cart items — horizontal row like Woodmart ========== */
.cart-widget-side ul.woocommerce-mini-cart,
.cart-widget-side ul.cart_list,
.cart-widget-side ul.product_list_widget {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cart-widget-side ul.woocommerce-mini-cart > li.mini_cart_item,
.cart-widget-side ul.woocommerce-mini-cart > li,
.cart-widget-side .woocommerce-mini-cart-item {
	position: relative !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 15px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
	background: transparent;
	transition: background-color 0.3s ease;
}

.cart-widget-side ul.woocommerce-mini-cart > li:hover {
	background-color: #f7f7f7;
}

/* Full-row hit area (Woodmart .cart-item-link.wd-fill) */
.cart-widget-side .cart-item-link {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	font-size: 0 !important;
	color: transparent !important;
	text-indent: -9999px;
}

/* Remove × */
.cart-widget-side .woocommerce-mini-cart .remove,
.cart-widget-side .mini_cart_item .remove {
	position: absolute !important;
	top: 13px !important;
	inset-inline-end: 10px !important;
	right: 10px; /* LTR fallback */
	z-index: 3 !important;
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	color: #333 !important;
	text-align: center !important;
	font-size: 0 !important;
	line-height: 20px !important;
	text-decoration: none !important;
	background: transparent;
}

html[dir="rtl"] .cart-widget-side .woocommerce-mini-cart .remove,
html[dir="rtl"] .cart-widget-side .mini_cart_item .remove,
.rtl .cart-widget-side .woocommerce-mini-cart .remove {
	right: auto;
	left: 10px;
}

.cart-widget-side .woocommerce-mini-cart .remove::after,
.cart-widget-side .mini_cart_item .remove::after {
	content: "\00d7" !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400;
	line-height: 20px;
	color: inherit;
}

.cart-widget-side .woocommerce-mini-cart .remove:hover {
	background-color: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}

/* Thumbnail — fixed 65×65 like Woodmart product_list_widget */
.cart-widget-side .cart-item-image {
	position: relative !important;
	z-index: 2 !important;
	display: block !important;
	flex: 0 0 var(--pmc-cart-thumb) !important;
	width: var(--pmc-cart-thumb) !important;
	min-width: var(--pmc-cart-thumb) !important;
	max-width: var(--pmc-cart-thumb) !important;
	margin: 0 !important;
	margin-inline-end: 15px !important;
	overflow: hidden !important;
	float: none !important;
}

.cart-widget-side .cart-item-image img,
.cart-widget-side .mini_cart_item > img,
.cart-widget-side .mini_cart_item img,
.cart-widget-side ul.product_list_widget li img,
.cart-widget-side .woocommerce-mini-cart img {
	display: block !important;
	float: none !important;
	width: var(--pmc-cart-thumb) !important;
	min-width: var(--pmc-cart-thumb) !important;
	max-width: var(--pmc-cart-thumb) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: calc(var(--wd-brd-radius, 4px) / 1.5);
	object-fit: cover;
}

/* Product text column */
.cart-widget-side .cart-info {
	position: relative !important;
	z-index: 2 !important;
	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	padding-inline-end: 22px !important;
	float: none !important;
}

.cart-widget-side .cart-info .wd-entities-title {
	display: block !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	color: #333 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	word-wrap: break-word;
}

.cart-widget-side li:hover .cart-info .wd-entities-title {
	color: var(--wd-primary-color, #21503c);
}

.cart-widget-side .cart-info span.quantity {
	display: block !important;
	margin: 0 !important;
	color: #bbb !important;
	font-size: 90% !important;
	line-height: 1.4;
}

.cart-widget-side .cart-info .woocommerce-Price-amount {
	color: #333;
	font-weight: 600;
}

.cart-widget-side .cart-info ul.variation {
	display: block !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 12px;
	color: #767676;
}

.cart-widget-side .cart-info ul.variation li {
	display: block !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
}

.cart-widget-side .cart-info div.quantity {
	display: inline-flex !important;
	margin-bottom: 8px !important;
	position: relative;
	z-index: 2;
}

.cart-widget-side .cart-info .wd-product-detail {
	margin-bottom: 5px;
	font-size: 12px;
	color: #767676;
}

.cart-widget-side .woocommerce-mini-cart .blockOverlay {
	display: none !important;
}

/* ========== Footer ========== */
.cart-widget-side .shopping-cart-widget-footer {
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 0 15px !important;
	background: #fff;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.cart-widget-side .shopping-cart-widget-footer.wd-cart-empty {
	border-top: 0;
	padding: 0;
}

.cart-widget-side .shopping-cart-widget-footer > * {
	margin: 0 0 10px !important;
	padding-inline: 15px !important;
}

.cart-widget-side .shopping-cart-widget-footer > *:last-child {
	margin-bottom: 0 !important;
}

.cart-widget-side .woocommerce-mini-cart__total {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	margin: 0 !important;
	padding-block: 15px !important;
	font-size: 130% !important;
	border: 0 !important;
}

.cart-widget-side .woocommerce-mini-cart__total strong {
	color: #242424 !important;
	font-weight: 600;
}

.cart-widget-side .woocommerce-mini-cart__total .woocommerce-Price-amount {
	flex-grow: 1 !important;
	text-align: end !important;
	color: #242424;
	font-weight: 700;
}

.cart-widget-side .woocommerce-mini-cart__buttons {
	display: block !important;
	margin: 0 !important;
	padding-inline: 15px !important;
	text-align: center !important;
}

.cart-widget-side .woocommerce-mini-cart__buttons > * {
	display: block !important;
	width: 100% !important;
	margin: 0 0 10px !important;
	box-sizing: border-box !important;
}

.cart-widget-side .woocommerce-mini-cart__buttons > *:last-child {
	margin-bottom: 0 !important;
}

.cart-widget-side .woocommerce-mini-cart__buttons a.button,
.cart-widget-side .woocommerce-mini-cart__buttons .button,
.cart-widget-side .woocommerce-mini-cart__buttons a.wc-forward {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 42px !important;
	padding: 5px 20px !important;
	border: 0 !important;
	border-radius: var(--btn-brd-radius, 0.001px);
	background: #f1f1f1 !important;
	color: #333 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.cart-widget-side .woocommerce-mini-cart__buttons a.button:hover,
.cart-widget-side .woocommerce-mini-cart__buttons .button:hover,
.cart-widget-side .woocommerce-mini-cart__buttons a.wc-forward:hover {
	background: #e8e8e8 !important;
	color: #111 !important;
}

.cart-widget-side .woocommerce-mini-cart__buttons a.checkout,
.cart-widget-side .woocommerce-mini-cart__buttons .checkout {
	background: var(--btn-accented-bgcolor, var(--wd-primary-color, #21503c)) !important;
	color: var(--btn-accented-color, #fff) !important;
}

.cart-widget-side .woocommerce-mini-cart__buttons a.checkout:hover,
.cart-widget-side .woocommerce-mini-cart__buttons .checkout:hover {
	background: var(--btn-accented-bgcolor-hover, #1a3f2f) !important;
	color: #fff !important;
}

/* ========== Empty ========== */
.cart-widget-side .wd-empty-mini-cart {
	margin-top: 20px !important;
	padding: 20px 15px !important;
	text-align: center !important;
}

.cart-widget-side .wd-empty-mini-cart::before {
	display: block !important;
	margin: 0 auto 20px !important;
	width: 56px;
	height: 56px;
	border: 3px solid rgba(0, 0, 0, 0.08);
	border-radius: 8px;
	content: "";
	box-sizing: border-box;
}

.cart-widget-side .wd-empty-mini-cart .woocommerce-mini-cart__empty-message,
.cart-widget-side .wd-empty-mini-cart .empty {
	margin: 0 0 16px !important;
	color: #555;
	font-size: 15px;
	font-weight: 600;
}

.cart-widget-side .wd-empty-mini-cart .btn,
.cart-widget-side .wd-empty-mini-cart a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 5px 14px !important;
	min-height: 36px !important;
	background: var(--wd-primary-color, #21503c) !important;
	color: #fff !important;
	text-decoration: none !important;
	text-transform: uppercase;
	font-size: 12px !important;
	font-weight: 600;
	border-radius: var(--btn-brd-radius, 0.001px);
}

.cart-widget-side .wd-empty-mini-cart .btn:hover,
.cart-widget-side .wd-empty-mini-cart a.button:hover {
	opacity: 0.9;
}
