/* OnlySatvik slide-out cart drawer */

/* v2.9.39: one cart UI. The base theme's mini-cart dropdown
   (toggled by the same cart button) is retired — the header
   cart button opens this drawer instead (it carries the
   os-open-cart class), so customers no longer meet two
   different cart panels with different buttons. */
.sb-minicart { display: none !important; }
#os-cart-overlay {
	position: fixed;
	inset: 0;
	background: rgba(35, 30, 65, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s;
	z-index: 9998;
}
#os-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(400px, 92vw);
	background: var(--os-surface, #fff);
	z-index: 9999;
	display: flex;
	flex-direction: column;
	transform: translateX(102%);
	transition: transform 0.3s cubic-bezier(0.22, 0.9, 0.3, 1);
	box-shadow: -12px 0 40px rgba(35, 30, 65, 0.18);
	font-family: var(--os-font, 'Arial Narrow', Arial, sans-serif);
}
body.os-cart-open { overflow: hidden; }
body.os-cart-open #os-cart-overlay { opacity: 1; visibility: visible; }
body.os-cart-open #os-cart-drawer { transform: translateX(0); }

.os-cart-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	border-bottom: 1px solid var(--os-border, #e8e8e8);
}
.os-cart-head h3 { margin: 0; font-size: 20px; }
.os-cart-close {
	background: none;
	border: none;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	color: var(--os-muted, #6f6f87);
	padding: 4px 8px;
}
.os-cart-close:hover { color: var(--os-text, #231e41); }

#os-cart-threshold { padding: 14px 20px 4px; }
.os-threshold-track {
	display: block;
	height: 8px;
	background: var(--os-brand-soft, #e9f9ec);
	border-radius: 999px;
	overflow: hidden;
	margin-bottom: 8px;
}
.os-threshold-track span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--os-brand, #39b54a), var(--os-brand-2, #3ab54a));
	border-radius: 999px;
	transition: width 0.3s ease;
}
.os-threshold p { margin: 0; font-size: 13px; color: var(--os-muted, #6f6f87); }
.os-threshold-ok { color: var(--os-green-dark, #1b5e20) !important; font-weight: 700; }

#os-cart-drawer-body { flex: 1; overflow-y: auto; padding: 12px 20px; }
.os-cart-empty { text-align: center; padding: 40px 10px; color: var(--os-muted, #6f6f87); }
.os-cart-empty-sub { font-size: 14px; }

.os-cart-items { list-style: none; margin: 0; padding: 0; }
.os-cart-item {
	display: flex;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--os-border-soft, #f0f0f0);
}
.os-cart-item-img { flex: 0 0 64px; }
.os-cart-item-img img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	display: block;
}
.os-cart-item-info { flex: 1; min-width: 0; }
.os-cart-item-info h4 { margin: 0 0 8px; font-size: 14px; line-height: 1.35; }
/* v2.9.113: chosen variation attributes + the customer's item
   note under the drawer line's name (small, muted — same data
   the cart page prints). */
.os-cart-item-meta { margin: -4px 0 6px; font-size: 12px; line-height: 1.4; color: var(--os-muted, #6f6f87); }
.os-cart-item-note { margin: -2px 0 8px; font-size: 12px; line-height: 1.4; color: var(--os-muted, #6f6f87); }
.os-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--os-border, #e8e8e8);
	border-radius: 999px;
	overflow: hidden;
}
.os-qty-btn {
	width: 34px;
	height: 34px;
	border: none;
	background: var(--os-bg, #f9fafc);
	font-size: 18px;
	cursor: pointer;
	color: var(--os-text, #231e41);
}
.os-qty-btn:hover { background: var(--os-green-soft, #e8f5e9); }
.os-qty-val {
	min-width: 32px;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
}
.os-cart-item-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
}
.os-cart-item-price { font-weight: 800; font-size: 14px; }
.os-cart-remove {
	background: none;
	border: none;
	color: var(--os-faint, #9ca3af);
	font-size: 12px;
	cursor: pointer;
	text-decoration: underline;
	padding: 4px 0;
}
.os-cart-remove:hover { color: #c62828; }

#os-cart-drawer-foot {
	border-top: 1px solid var(--os-border, #e8e8e8);
	padding: 16px 20px calc(18px + env(safe-area-inset-bottom));
	background: var(--os-surface, #fff);
}
.os-cart-schedule {
	font-size: 12px;
	color: var(--os-muted, #6f6f87);
	background: var(--os-brand-soft, #e9f9ec);
	border-radius: 10px;
	padding: 10px 12px;
	margin: 0 0 12px;
	text-align: center;
}
.os-cart-totals {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 16px;
	margin-bottom: 14px;
}
.os-cart-totals strong { font-size: 20px; }
.os-cart-checkout, .os-cart-browse { width: 100%; }
.os-cart-view {
	width: 100%;
	margin-top: 10px;
	background: #fff;
	color: var(--os-brand-dark, #2c9440);
	border: 1.5px solid var(--os-brand, #39b54a);
	box-shadow: none;
}
.os-cart-view:hover { background: var(--os-brand-soft, #e9f9ec); color: var(--os-brand-dark, #2c9440); }
.os-cart-continue {
	display: block;
	width: 100%;
	background: none;
	border: none;
	margin-top: 10px;
	font-size: 14px;
	color: var(--os-muted, #6f6f87);
	cursor: pointer;
	text-decoration: underline;
}
