/**
 * masterE Mini Cart (v0.10.0)
 *
 * All control-driven values read a --mfk-mc-* variable whose fallback equals the
 * shipped design-system token, so a placed widget is correct before any control
 * is touched and a no-{{WRAPPER}} context still renders right. RTL throughout via
 * logical properties; the drawer slides on a logical inset so it flips for RTL
 * with no [dir] override.
 */

/* ── Root + toggle ──────────────────────────────────────────────────────── */
.mfk-mini-cart {
	position: relative;
	display: flex;
	align-items: center;
}
.mfk-mini-cart--hidden { display: none; }

.mfk-mini-cart__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	cursor: pointer;
	line-height: 1;
	color: inherit;
}
.mfk-mini-cart__icon {
	display: inline-flex;
	font-size: var(--mfk-mc-icon-size, 24px);
	line-height: 1;
}
.mfk-mini-cart__icon svg { width: 1em; height: 1em; fill: currentColor; }

.mfk-mini-cart__count {
	position: absolute;
	inset-block-start: -0.5em;
	inset-inline-end: -0.6em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 0.35em;
	box-sizing: border-box;
	border-radius: 999px;
	background: #007c79;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	direction: ltr;
}

/* ── Panel (shared) ─────────────────────────────────────────────────────── */
.mfk-mini-cart__panel {
	box-sizing: border-box;
	width: var(--mfk-mc-panel-width, 360px);
	max-width: 92vw;
	background: var(--mfk-mc-panel-bg, #ffffff);
	color: var(--mfk-mc-body-color, #1d2327);
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
	text-align: start;
}
.mfk-mini-cart__panel-inner {
	box-sizing: border-box;
	padding: 1.2em;
	max-height: 70vh;
	overflow-y: auto;
}

.mfk-mini-cart__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6em;
	margin-block-end: 0.8em;
}
.mfk-mini-cart__title {
	font-size: 1.05em;
	font-weight: 600;
	color: var(--mfk-mc-title-color, #1d2327);
	flex: 1 1 auto;
	min-width: 0;
}
.mfk-mini-cart__close {
	background: transparent;
	border: 0;
	padding: 0 0.2em;
	margin: 0;
	cursor: pointer;
	font-size: 1.4em;
	line-height: 1;
	color: var(--mfk-mc-close-color, #6c7781);
}
.mfk-mini-cart__close:hover { color: var(--mfk-mc-close-color-h, #1d2327); }

/* ── Items ──────────────────────────────────────────────────────────────── */
.mfk-mini-cart__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.8em;
}
.mfk-mini-cart__item {
	display: flex;
	align-items: flex-start;
	gap: 0.8em;
	padding-block: 0.8em;
	border-block-end: var(--mfk-mc-divider-width, 1px) solid var(--mfk-mc-divider-color, #f0f0f1);
}
.mfk-mini-cart__item:first-child { padding-block-start: 0; }
.mfk-mini-cart__item:last-child { border-block-end: 0; padding-block-end: 0; }

.mfk-mini-cart__thumb {
	flex: 0 0 auto;
	display: block;
	width: 56px;
	height: 56px;
	border-radius: 8px;
	overflow: hidden;
}
.mfk-mini-cart__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mfk-mini-cart__thumb-ph {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e3f4f3, #cfeae8);
}

.mfk-mini-cart__item-main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2em;
}
.mfk-mini-cart__name {
	font-weight: 600;
	color: var(--mfk-mc-name-color, #1d2327);
	text-decoration: none;
	overflow-wrap: anywhere;
}
.mfk-mini-cart__name:hover { text-decoration: underline; }

.mfk-mini-cart__provider,
.mfk-mini-cart__session {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	font-size: 0.85em;
	line-height: 1.35;
}
.mfk-mini-cart__provider-label,
.mfk-mini-cart__session-label {
	color: var(--mfk-mc-meta-label-color, #6c7781);
	margin-inline-end: 0.35em;
}
.mfk-mini-cart__provider-value,
.mfk-mini-cart__session-value {
	color: var(--mfk-mc-meta-value-color, #50575e);
	overflow-wrap: anywhere;
}
.mfk-mini-cart__session-value[dir="ltr"] { unicode-bidi: embed; }

.mfk-mini-cart__line {
	display: flex;
	align-items: baseline;
	gap: 0.4em;
	margin-block-start: 0.15em;
}
.mfk-mini-cart__qty {
	color: var(--mfk-mc-qty-color, #6c7781);
	font-size: 0.85em;
	direction: ltr;
	unicode-bidi: embed;
}
.mfk-mini-cart__price {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.mfk-mini-cart__price-original {
	color: var(--mfk-mc-price-original-color, #9aa0a6);
	text-decoration: line-through;
	margin-inline-end: 0.4em;
	font-weight: 400;
}
.mfk-mini-cart__price-final { color: var(--mfk-mc-price-color, #1d2327); }
.mfk-mini-cart__price .amount,
.mfk-mini-cart__subtotal-value .amount { white-space: nowrap; }

.mfk-mini-cart__test {
	display: inline-block;
	margin-inline-start: 0.4em;
	font-size: 0.72em;
	font-weight: 600;
	color: var(--mfk-mc-test-color, #8a5a00);
}

.mfk-mini-cart__remove {
	flex: 0 0 auto;
	background: transparent;
	border: 0;
	padding: 0 0.2em;
	margin: 0;
	cursor: pointer;
	font-size: 1.2em;
	line-height: 1;
	color: var(--mfk-mc-remove-color, #c3c4c7);
}
.mfk-mini-cart__remove:hover { color: var(--mfk-mc-remove-color-h, #c43855); }
.mfk-mini-cart__remove[aria-busy="true"] { opacity: 0.4; pointer-events: none; }

/* ── Total ──────────────────────────────────────────────────────────────── */
.mfk-mini-cart__subtotal {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.6em;
	margin-block-start: 1em;
	padding-block-start: 0.8em;
	border-block-start: 1px solid var(--mfk-mc-subtotal-divider-color, #dcdcde);
	font-weight: 700;
}
.mfk-mini-cart__subtotal-label { color: var(--mfk-mc-subtotal-label-color, #1d2327); }
.mfk-mini-cart__subtotal-value {
	color: var(--mfk-mc-subtotal-value-color, #007c79);
	font-variant-numeric: tabular-nums;
}
.mfk-mini-cart__subtotal-value .mfk-mini-cart__price-final { color: inherit; }

/* ── Actions / buttons (theme-proofed under the root) ───────────────────── */
.mfk-mini-cart__actions {
	display: flex;
	gap: 0.6em;
	margin-block-start: 1em;
}
.mfk-mini-cart__view-cart,
.mfk-mini-cart__checkout {
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0.7em 1em;
	border: 1px solid transparent;
	border-radius: 6px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.mfk-mini-cart__view-cart {
	background: transparent;
	color: #007c79;
	border-color: #007c79;
}
.mfk-mini-cart__view-cart:hover { background: #007c79; color: #fff; }
.mfk-mini-cart__checkout {
	background: #007c79;
	color: #fff;
}
.mfk-mini-cart__checkout:hover { background: #006a67; color: #fff; }

/* ── Empty ──────────────────────────────────────────────────────────────── */
.mfk-mini-cart__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5em;
	padding: 1.6em 0;
	color: var(--mfk-mc-empty-color, #6c7781);
	text-align: center;
}
.mfk-mini-cart__empty-icon { font-size: 2.2em; line-height: 1; }

/* ── Scrim (drawer only) ────────────────────────────────────────────────── */
.mfk-mini-cart__scrim { display: none; }

/* ── Dropdown layout ────────────────────────────────────────────────────── */
.mfk-mini-cart[data-mfk-layout="dropdown"] .mfk-mini-cart__panel {
	position: absolute;
	inset-block-start: calc(100% + 8px);
	inset-inline-end: 0;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
}
.mfk-mini-cart[data-mfk-layout="dropdown"].is-open .mfk-mini-cart__panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* ── Drawer layout (logical inset slide → RTL-safe, no [dir] override) ──── */
.mfk-mini-cart[data-mfk-layout="drawer"] .mfk-mini-cart__scrim {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 99998;
	background: rgba(0, 0, 0, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.28s ease, visibility 0.28s;
}
.mfk-mini-cart[data-mfk-layout="drawer"] .mfk-mini-cart__panel {
	position: fixed;
	inset-block: 0;
	height: 100%;
	max-width: 92vw;
	border-radius: 0;
	z-index: 99999;
	transition: inset-inline-start 0.28s cubic-bezier(0.4, 0, 0.2, 1), inset-inline-end 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}
.mfk-mini-cart[data-mfk-layout="drawer"] .mfk-mini-cart__panel-inner { max-height: 100%; height: 100%; }

.mfk-mini-cart[data-mfk-layout="drawer"][data-mfk-drawer-side="end"] .mfk-mini-cart__panel {
	inset-inline-end: calc(-1 * (var(--mfk-mc-panel-width, 380px) + 8vw));
	inset-inline-start: auto;
}
.mfk-mini-cart[data-mfk-layout="drawer"][data-mfk-drawer-side="start"] .mfk-mini-cart__panel {
	inset-inline-start: calc(-1 * (var(--mfk-mc-panel-width, 380px) + 8vw));
	inset-inline-end: auto;
}
.mfk-mini-cart[data-mfk-layout="drawer"][data-mfk-drawer-side="end"].is-open .mfk-mini-cart__panel { inset-inline-end: 0; }
.mfk-mini-cart[data-mfk-layout="drawer"][data-mfk-drawer-side="start"].is-open .mfk-mini-cart__panel { inset-inline-start: 0; }
.mfk-mini-cart[data-mfk-layout="drawer"].is-open .mfk-mini-cart__scrim { opacity: 1; visibility: visible; }

body.mfk-mini-cart-locked { overflow: hidden; }

/* ── Editor canvas preview ──────────────────────────────────────────────── */
.mfk-mini-cart-editor-badge {
	display: inline-block;
	margin-block-end: 0.6em;
	padding: 0.2em 0.7em;
	background: #fff8e6;
	color: #8a5a00;
	border: 1px solid #f0b429;
	border-radius: 4px;
	font-size: 0.78em;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.mfk-mini-cart--force-open .mfk-mini-cart__panel {
	position: static !important;
	inset: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	max-width: 100%;
	margin-block-start: 0.6em;
}
.mfk-mini-cart--force-open .mfk-mini-cart__scrim { display: none !important; }

/* ── Motion ─────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.mfk-mini-cart__panel,
	.mfk-mini-cart__scrim,
	.mfk-mini-cart__view-cart,
	.mfk-mini-cart__checkout { transition: none !important; }
}
