/* Accessible presentation for the native WoodMart cart side panel. */
.cart-widget-side.wd-side-basket {
	--forest-900: #0e3923;
	--forest-800: #114426;
	--leaf-600: #22702f;
	--ink: #1c2a20;
	--ink-soft: #4a5a4e;
	--line: #e6e2d8;
	--paper: #faf7f3;
	--sage: #e7eada;
	--tile: #f4f1ea;
	--warm: #fbf4e3;
	--warm-line: #eadbb5;
	--font-head: "Cabin", system-ui, sans-serif;
	--font-body: "Lato", system-ui, sans-serif;
	position: fixed !important;
	inset: 0 !important;
	z-index: 1002 !important;
	width: 100% !important;
	max-width: none !important;
	max-height: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
	visibility: hidden;
	pointer-events: none;
}

.cart-widget-side.wd-side-basket.wd-opened {
	visibility: visible;
}

.cart-widget-side.wd-side-basket > .wd-heading {
	display: none !important;
}

.cart-widget-side.wd-side-basket > div.widget.woocommerce.widget_shopping_cart {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.cart-widget-side.wd-side-basket .widget_shopping_cart_content {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	max-height: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	background: transparent !important;
	box-shadow: none !important;
}

.cart-widget-side.wd-side-basket .shopping-cart-widget-body.wd-scroll {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	max-height: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	background: transparent !important;
}

.cart-widget-side.wd-side-basket .shopping-cart-widget-body.wd-scroll > .wd-scroll-content {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	max-height: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.cart-widget-side.wd-side-basket > .widget_shopping_cart_content .shopping-cart-widget-footer {
	display: none !important;
}

.cart-widget-side.wd-side-basket .wd-side-basket-content.sb {
	position: absolute;
	inset-block: 0;
	top: 0;
	bottom: 0;
	inset-inline-end: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 440px;
	max-width: 100%;
	max-height: none !important;
	height: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	background: var(--paper);
	box-shadow: -18px 0 48px rgba(10, 24, 14, .28);
	color: var(--ink);
	font: 16px/1.5 var(--font-body);
	transform: translateX(100%);
	transition: transform .25s ease-out;
	visibility: hidden;
	pointer-events: none;
	text-align: start;
}

.cart-widget-side.wd-side-basket.wd-opened .wd-side-basket-content.sb {
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
}

.cart-widget-side.wd-side-basket .sb-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(10, 24, 14, .55);
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease-out, visibility .2s ease-out;
}

.cart-widget-side.wd-side-basket.wd-opened .sb-scrim {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.cart-widget-side.wd-side-basket .sb-head,
.cart-widget-side.wd-side-basket .sb-body,
.cart-widget-side.wd-side-basket .sb-foot,
.cart-widget-side.wd-side-basket .sb-gift,
.cart-widget-side.wd-side-basket .sb-line,
.cart-widget-side.wd-side-basket .sb-empty {
	box-sizing: border-box;
}

.cart-widget-side.wd-side-basket .sb button,
.cart-widget-side.wd-side-basket .sb [role="button"],
.cart-widget-side.wd-side-basket .sb .btn,
.cart-widget-side.wd-side-basket .sb .linkbtn {
	box-sizing: border-box;
	position: relative;
	inset: auto;
	margin-block: 0;
	font-family: var(--font-body);
	font-style: normal;
	letter-spacing: normal;
	line-height: 1.25;
	text-transform: none;
}

.cart-widget-side.wd-side-basket .sb .btn,
.cart-widget-side.wd-side-basket .sb .linkbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.cart-widget-side.wd-side-basket .sb button:active,
.cart-widget-side.wd-side-basket .sb [role="button"]:active,
.cart-widget-side.wd-side-basket .sb .btn:active,
.cart-widget-side.wd-side-basket .sb .linkbtn:active {
	bottom: auto;
	transform: none;
}

.cart-widget-side.wd-side-basket .sb-head {
	position: relative;
	z-index: 2;
	display: flex;
	flex: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 68px;
	padding: 10px 10px 10px 22px;
	border-bottom: 1px solid var(--line);
	background: #fff;
}

.cart-widget-side.wd-side-basket .sb-head h2,
.cart-widget-side.wd-side-basket #sb-title {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	margin: 0;
	font: 700 22px/1.2 var(--font-head);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-count {
	flex: none;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--sage);
	font: 700 13px/1.5 var(--font-body);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-close {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	min-height: 44px;
	padding: 0 12px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	cursor: pointer;
	font: 700 15px var(--font-body);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-close:hover {
	background: var(--tile);
}

.cart-widget-side.wd-side-basket .sb-close .i,
.cart-widget-side.wd-side-basket .sb-close svg {
	flex: none;
	width: 20px;
	height: 20px;
}

.cart-widget-side.wd-side-basket .sb-body {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	min-height: 0;
	max-height: none;
	overflow-x: hidden;
	overflow-y: auto;
	display: grid;
	align-content: start;
	gap: 12px;
	padding: 14px 16px 18px;
	overscroll-behavior: contain;
}

.cart-widget-side.wd-side-basket .sb-added,
.cart-widget-side.wd-side-basket [data-sb-error] {
	padding: 11px 14px;
	border: 1px solid #cfe3c6;
	border-radius: 12px;
	background: #e8f2e2;
	font-size: 15px;
	color: var(--ink);
}

.cart-widget-side.wd-side-basket .sb-quantity-status {
	padding: 8px 12px;
	border-inline-start: 3px solid var(--leaf-600);
	border-radius: 6px;
	background: rgba(231, 234, 218, .6);
	font-size: 14px;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket [data-sb-error] {
	border-color: #e4b5ac;
	background: #fff0ed;
	color: #70291f;
}

.cart-widget-side.wd-side-basket .sb-added b {
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-goals {
	padding: 14px 16px 12px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}

.cart-widget-side.wd-side-basket .sb-goals p {
	margin: 0 0 14px;
	font-size: 15px;
}

.cart-widget-side.wd-side-basket .sb-goals p > .i,
.cart-widget-side.wd-side-basket .sb-goals p > svg {
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--leaf-600);
}

.cart-widget-side.wd-side-basket .sb-goals p b {
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-track {
	display: flex;
	align-items: stretch;
	position: relative;
	height: 10px;
	margin: 0 13px;
	background: transparent;
}

.cart-widget-side.wd-side-basket .sb-track-segment {
	position: relative;
	flex: 0 0 var(--sb-segment-width, 100%);
	width: var(--sb-segment-width, 100%);
	min-width: 0;
	height: 10px;
	border-radius: 999px;
	background: #e9e5da;
	--sb-segment-width: 100%;
}

.cart-widget-side.wd-side-basket .sb-track-fill {
	position: absolute;
	z-index: 1;
	inset-block: 0;
	inset-inline-start: 0;
	display: block;
	max-width: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--leaf-600), var(--forest-800));
}

.cart-widget-side.wd-side-basket .sb-track-segment[data-sb-meter="gift"] .sb-track-fill {
	background: linear-gradient(90deg, var(--leaf-600), var(--forest-800));
}

.cart-widget-side.wd-side-basket .sb-track-segment[data-sb-state="unknown"] .sb-track-fill {
	width: 38% !important;
	background: repeating-linear-gradient(135deg, var(--leaf-600) 0 6px, #e9e5da 6px 12px);
}

.cart-widget-side.wd-side-basket .sb-mark {
	position: absolute;
	z-index: 2;
	top: 50%;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	margin: 0;
	transform: translate(50%, -50%);
	border: 2px solid #d6d2c6;
	border-radius: 50%;
	background: #fff;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-track-segment .sb-mark {
	left: auto;
	right: 0;
}

.cart-widget-side.wd-side-basket .sb-mark .i,
.cart-widget-side.wd-side-basket .sb-mark svg {
	width: 14px;
	height: 14px;
}

.cart-widget-side.wd-side-basket .sb-mark.on {
	border-color: var(--forest-800);
	background: var(--forest-800);
	color: #fff;
}

.cart-widget-side.wd-side-basket .sb-track-segment[data-sb-meter="gift"] .sb-mark.on {
	border-color: var(--forest-800);
	background: var(--forest-800);
}

.cart-widget-side.wd-side-basket .sb-track-segment[data-sb-meter="shipping"] .sb-mark {
	width: 26px;
	height: 26px;
}

.cart-widget-side.wd-side-basket .sb-mark[data-sb-coincident="1"][data-sb-stop="gift"] {
	top: calc(50% - 10px);
}

.cart-widget-side.wd-side-basket .sb-mark[data-sb-coincident="1"][data-sb-stop="shipping"] {
	top: calc(50% + 10px);
}

.cart-widget-side.wd-side-basket .sb-marks {
	position: relative;
	display: block;
	min-height: 38px;
	margin: 12px 13px 0;
	overflow: visible;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-marks > [data-sb-stop-label] {
	position: absolute;
	top: 0;
	left: var(--sb-stop-position, 50%);
	display: block;
	min-width: 0;
	width: max-content;
	line-height: 1.3;
	transform: translateX(-50%);
	text-align: center;
	white-space: nowrap;
}

.cart-widget-side.wd-side-basket .sb-marks b {
	display: block;
	font-size: 13px;
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-goal-status,
.cart-widget-side.wd-side-basket .sb-shipping-copy,
.cart-widget-side.wd-side-basket .sb-milestone-status {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-marks .at-gift,
.cart-widget-side.wd-side-basket .sb-marks .at-end {
	text-align: start;
}

.cart-widget-side.wd-side-basket .sb-marks [data-sb-coincident="1"][data-sb-stop-label="gift"] {
	top: 0;
}

.cart-widget-side.wd-side-basket .sb-marks [data-sb-coincident="1"][data-sb-stop-label="shipping"] {
	top: 22px;
}

.cart-widget-side.wd-side-basket .sb-marks:has([data-sb-coincident="1"]) {
	min-height: 58px;
}

.cart-widget-side.wd-side-basket .sb-gift {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
	min-width: 0;
	padding: 14px 16px;
	border: 1px solid var(--warm-line);
	border-radius: 14px;
	background: var(--warm);
}

.cart-widget-side.wd-side-basket .sb-gift > .i,
.cart-widget-side.wd-side-basket .sb-gift > svg {
	width: 26px;
	height: 26px;
	color: #b7791f;
}

.cart-widget-side.wd-side-basket .sb-gift b {
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-gift p {
	margin: 2px 0 10px;
	font-size: 14px;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-gift-items {
	display: grid;
	gap: 8px;
}

.cart-widget-side.wd-side-basket .sb-gift-item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 6px;
	border: 1px solid var(--warm-line);
	border-radius: 12px;
	background: #fff;
	font: 700 14px var(--font-body);
	color: var(--ink);
}

.cart-widget-side.wd-side-basket .sb-gift-item img {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	object-fit: cover;
}

.cart-widget-side.wd-side-basket .sb-gift-item .btn {
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	font-size: 14px;
}

.cart-widget-side.wd-side-basket .sb-lines {
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #fff;
}

.cart-widget-side.wd-side-basket .sb-line,
.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) auto;
	gap: 2px 14px;
	min-width: 0;
	padding: 14px;
}

.cart-widget-side.wd-side-basket .sb-line + .sb-line,
.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item + .woocommerce-mini-cart-item {
	border-top: 1px solid var(--line);
}

.cart-widget-side.wd-side-basket .sb-line .line-img,
.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .cart-item-image {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	grid-row: span 2;
	width: 76px;
	height: 76px;
	padding: 6px;
	border-radius: 8px;
	background: var(--paper);
}

.cart-widget-side.wd-side-basket .sb-line .line-img img,
.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .line-img img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
}

.cart-widget-side.wd-side-basket .sb-line h3 {
	min-width: 0;
	margin: 0;
	font: 700 16px/1.3 var(--font-head);
}

.cart-widget-side.wd-side-basket .sb-line h3 a {
	color: var(--ink);
	text-decoration: none;
}

.cart-widget-side.wd-side-basket .sb-line h3 a:hover {
	text-decoration: underline;
}

.cart-widget-side.wd-side-basket .sb-line .var,
.cart-widget-side.wd-side-basket .sb-line .unit {
	margin: 2px 0 0;
	font-size: 14px;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-line .line-total {
	min-width: 0;
	font-size: 17px;
	white-space: nowrap;
}

.cart-widget-side.wd-side-basket .sb-line .ctrl,
.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .ctrl {
	grid-column: 2 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 8px;
}

.cart-widget-side.wd-side-basket .sb .quantity {
	display: inline-flex;
	align-items: center;
	gap: 0;
	min-height: 44px;
}

.cart-widget-side.wd-side-basket .sb .quantity button,
.cart-widget-side.wd-side-basket .sb .quantity input.qty {
	min-height: 44px;
}

.cart-widget-side.wd-side-basket .sb .quantity button {
	flex: none;
	width: 44px;
	font-size: 20px;
}

.cart-widget-side.wd-side-basket .sb .quantity .plus,
.cart-widget-side.wd-side-basket .sb .quantity .minus {
	--btn-height: 44px;
	--wd-form-height: 44px;
	--btn-padding: 0;
	box-sizing: border-box;
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-width: 44px;
	height: 44px;
	min-height: 44px;
	font-size: 20px;
	font-family: var(--font-body);
	font-weight: 700;
}

.cart-widget-side.wd-side-basket .sb .quantity:has(input.qty) {
	/* Keep the box 44px high; 44px child targets may extend through the 1.5px border edge. */
	box-sizing: border-box;
	height: 44px;
	min-height: 44px;
	padding: 0;
	border: 1.5px solid #cfcbbf !important;
	border-radius: 9px !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: visible;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.cart-widget-side.wd-side-basket .sb .quantity input.qty {
	box-sizing: border-box;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	font-size: 16px;
}

.cart-widget-side.wd-side-basket .sb .quantity .plus,
.cart-widget-side.wd-side-basket .sb .quantity .minus {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-line .line-info {
	min-width: 0;
	overflow-wrap: anywhere;
}

.cart-widget-side.wd-side-basket .sb-line .linkbtn,
.cart-widget-side.wd-side-basket .sb-lines .remove {
	min-width: 44px;
	min-height: 44px;
	font-size: 14px;
}

.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .remove {
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	height: 44px !important;
	min-width: 44px;
	min-height: 44px;
	border-radius: 10px;
	font-size: 14px !important;
	line-height: 1.2 !important;
	text-align: center;
}

.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .remove::after {
	display: none !important;
	content: none !important;
}

.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .remove svg {
	flex: none;
	width: 18px;
	height: 18px;
}

.cart-widget-side.wd-side-basket .sb-empty {
	display: grid;
	justify-items: center;
	gap: 8px;
	padding: 40px 18px 28px;
	text-align: center;
}

.cart-widget-side.wd-side-basket .sb-empty .ic {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: var(--sage);
	color: var(--forest-800);
}

.cart-widget-side.wd-side-basket .sb-empty .ic .i,
.cart-widget-side.wd-side-basket .sb-empty .ic svg {
	width: 38px;
	height: 38px;
}

.cart-widget-side.wd-side-basket .sb-empty h3 {
	margin: 0;
	font: 700 22px var(--font-head);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-empty p {
	margin: 0 0 10px;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-empty .chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
}

.cart-widget-side.wd-side-basket .sb-empty .chip {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 8px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	color: var(--forest-900);
	font-size: 14px;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-row {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	text-align: start;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-wrapper {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-wrapper h3 {
	margin: 0 0 8px;
	font: 700 16px/1.3 var(--font-head);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-table {
	width: 100%;
	margin: 0;
	table-layout: fixed;
	border-collapse: collapse;
	font-size: 14px;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-table th,
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-table td {
	width: 33.333%;
	padding: 8px 4px !important;
	border-bottom: 1px solid var(--warm-line);
	font-size: 13px;
	vertical-align: middle;
	white-space: normal;
	word-break: break-word;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-product-image img {
	width: 40px;
	height: 40px;
	border-radius: 8px;
	object-fit: cover;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-request.button {
	min-width: 44px;
	min-height: 44px !important;
	padding: 8px !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
}

/* The PHP renderer keeps Free Gifts' native action button and form target,
   but presents each choice as a compact list row in the drawer. */
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-table.sb-gift-options {
	display: grid;
	gap: 8px;
	width: 100%;
	margin: 0;
	border: 0;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-product-item.sb-gift-option {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	min-width: 0;
	margin: 0;
	padding: 8px;
	border: 1px solid var(--warm-line);
	border-radius: 12px;
	background: #fff;
}

.cart-widget-side.wd-side-basket .sb-gift-content .sb-gift-name {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	font: 700 14px/1.3 var(--font-body);
	color: var(--ink);
	overflow-wrap: anywhere;
}

.cart-widget-side.wd-side-basket .sb-gift-content .sb-gift-image-cell {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-product-image,
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-product-image img {
	display: block;
	width: 40px !important;
	height: 40px !important;
	margin: 0;
	border-radius: 8px;
	object-fit: cover;
}

.cart-widget-side.wd-side-basket .sb-gift-content .sb-gift-action-cell {
	grid-column: 3;
	grid-row: 1;
	display: flex;
	justify-content: flex-end;
	min-width: 0;
}

.cart-widget-side.wd-side-basket .sb-gift-content .sb-gift-action-cell .wd-free-gift-request.button {
	min-width: 44px;
	min-height: 44px !important;
	height: 44px !important;
	padding: 0 12px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--forest-800) !important;
	color: #fff !important;
	font: 700 13px/1.2 var(--font-body) !important;
	white-space: nowrap;
}

.cart-widget-side.wd-side-basket .sb-gift-content .sb-gift-title {
	margin: 0 0 8px;
	font: 700 16px/1.3 var(--font-head);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-wrapper h3 {
	margin: 0 0 8px;
	font: 700 16px/1.3 var(--font-head);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-gift-content .sb-gift-rule-copy {
	margin: 0 0 8px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ink-soft);
}

/* Fallback for native table markup: keep only the row content visible if an
   older renderer supplies headings and responsive data-title pseudo-labels. */
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-table thead,
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-row > .wd-free-gifts-wrapper > h3,
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gifts-table td::before {
	display: none !important;
	content: none !important;
}

.cart-widget-side.wd-side-basket .sb-foot {
	position: sticky;
	bottom: 0;
	z-index: 2;
	flex: none;
	max-height: none;
	padding: 14px 20px calc(18px + env(safe-area-inset-bottom));
	border-top: 1px solid var(--line);
	background: #fff;
	box-shadow: 0 -8px 24px rgba(10, 24, 14, .06);
}

.cart-widget-side.wd-side-basket .sb-sub {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.cart-widget-side.wd-side-basket .sb-sub > span {
	font: 700 17px var(--font-body);
	color: var(--ink);
}

.cart-widget-side.wd-side-basket .sb-sub b {
	font: 700 26px/1 var(--font-head);
	color: var(--forest-900);
}

.cart-widget-side.wd-side-basket .sb-note {
	margin: 6px 0 14px;
	font-size: 13.5px;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-foot .btn-lg {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 54px;
	min-height: 54px;
	padding: 0 16px;
	font-size: 18px;
}

.cart-widget-side.wd-side-basket .sb-foot .btn-outline {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 48px;
	min-height: 48px;
	padding: 0 16px;
	margin-top: 10px;
	font-size: 16px;
}

.cart-widget-side.wd-side-basket .sb-foot .btn-lg svg {
	flex: none;
	width: 18px;
	height: 18px;
}

.cart-widget-side.wd-side-basket .sb-dispatch {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 12px 0 0;
	font-size: 13.5px;
	color: var(--ink-soft);
}

.cart-widget-side.wd-side-basket .sb-dispatch .i,
.cart-widget-side.wd-side-basket .sb-dispatch svg {
	width: 17px;
	height: 17px;
	color: var(--leaf-600);
}

.cart-widget-side.wd-side-basket [hidden] {
	display: none !important;
}

.cart-widget-side.wd-side-basket :focus-visible {
	outline: 3px solid #e8b64e;
	outline-offset: 3px;
}

body.wd-side-basket-scroll-locked {
	overflow: hidden;
}

body.wd-side-basket-scroll-locked .wd-close-side.wd-close-side-opened {
	z-index: 1001;
	background: transparent;
}

/* The fixed WoodMart toolbar can cover the drawer's checkout footer. Its
   normal inline state is untouched and returns when the drawer releases the
   existing body lock, before exact-opener focus restoration runs. */
body.wd-side-basket-scroll-locked .wd-toolbar {
	visibility: hidden !important;
	pointer-events: none !important;
}

@media (max-width: 560px) {
	.cart-widget-side.wd-side-basket .wd-side-basket-content.sb {
		width: 100%;
		max-width: 100%;
		box-shadow: none;
	}

	.cart-widget-side.wd-side-basket .sb-head {
		min-height: 60px;
		padding-inline-start: 16px;
	}

	.cart-widget-side.wd-side-basket .sb-head h2,
	.cart-widget-side.wd-side-basket #sb-title {
		font-size: 20px;
	}

	.cart-widget-side.wd-side-basket .sb-body {
		gap: 10px;
		padding: 12px 12px 16px;
	}

	.cart-widget-side.wd-side-basket .sb-line,
	.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		gap: 2px 12px;
		padding: 12px;
	}

	.cart-widget-side.wd-side-basket .sb-line .line-img,
	.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .cart-item-image {
		width: 64px;
		height: 64px;
	}

	.cart-widget-side.wd-side-basket .sb-foot {
		padding: 12px 16px calc(14px + env(safe-area-inset-bottom));
	}
}

@media (max-width: 380px) {
	.cart-widget-side.wd-side-basket .sb-gift-item {
		grid-template-columns: 36px minmax(0, 1fr);
	}

	.cart-widget-side.wd-side-basket .sb-gift-item img {
		width: 36px;
		height: 36px;
	}

	.cart-widget-side.wd-side-basket .sb-gift-item .btn {
		grid-column: 2;
		justify-self: start;
	}

	.cart-widget-side.wd-side-basket .sb-line,
	.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.cart-widget-side.wd-side-basket .sb-line .line-img,
	.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .cart-item-image {
		grid-row: span 2;
		width: 64px;
		height: 64px;
	}

	.cart-widget-side.wd-side-basket .sb-line .line-total {
		grid-column: 2;
		grid-row: 2;
	}

	.cart-widget-side.wd-side-basket .sb-line .ctrl,
	.cart-widget-side.wd-side-basket .sb-lines > .woocommerce-mini-cart-item .ctrl {
		grid-column: 2;
		flex-wrap: wrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cart-widget-side.wd-side-basket .wd-side-basket-content.sb {
		transition: none;
	}

	.cart-widget-side.wd-side-basket .sb-scrim {
		transition: none;
	}
}

/* Parent integration: inherit the approved v2 buttons without relying on the
   unrelated .wdr-v2 ancestor that is absent from the native drawer. */
.cart-widget-side.wd-side-basket .sb .btn {
 border: 0;
 border-radius: 9px;
 background: var(--forest-800);
 color: #fff;
 font-weight: 700;
 box-shadow: none;
 text-decoration: none;
}
.cart-widget-side.wd-side-basket .sb .btn-outline {
 border: 1.5px solid var(--forest-800);
 background: transparent;
 color: var(--forest-900);
}
.cart-widget-side.wd-side-basket .sb .btn:hover {
 background: var(--forest-900);
 color: #fff;
}
.cart-widget-side.wd-side-basket .sb .linkbtn {
 border: 0;
 background: transparent;
 color: var(--forest-900);
 font-weight: 700;
 text-decoration: underline;
}
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-request.button {
 border: 1.5px solid var(--forest-800);
 border-radius: 999px;
 background: var(--forest-800);
 color: #fff;
 font-weight: 700;
}
.cart-widget-side.wd-side-basket .sb-gift-content .wd-free-gift-request.button:hover {
 background: var(--forest-900);
 color: #fff;
}
