/* ===========================================================
   MOSCH Storefront — Mini Cart und Bundle-Pop-up (v0.17.0, 1062a)
   Emitter: SF_Mini_Cart. Canvas „Storefront Shop Pages rev1",
   Boards SG_MiniCart und SG_BundlePopup.

   Das Avada-Off-Canvas „Minicart" öffnet und schließt; sf-minicart.js
   hängt .sfmc direkt in .awb-off-canvas (Klasse .has-sfmc) und blendet
   Avadas eigenen Inhalt und Schließknopf aus. Der Double-Ornament-Rahmen
   (Ecken 93, Kanten 8, wie .ornament-blog-card in style.css) ist die
   Außenkante — kein Rand, kein Schatten, kein Innenabstand drumherum.
   Knöpfe tragen .fusion-button (Avada + style.css + custom.js).
   =========================================================== */

.sfmc,
.sfmc-mw {
	--sfmc-pc: var(--primary-color, #a4895b);
	--sfmc-sc: var(--secondary-color, #367588);
	--sfmc-tl: var(--text-color-light, #e6cfa9);
	--sfmc-ow: var(--off-white, #f3ebda);
	--sfmc-dg: var(--color-dark-gold, #4a3c27);
	--sfmc-night: #041119;
	--sfmc-bm: var(--color-blue-medium, #0a1f28);
	--sfmc-bd: var(--color-blue-dark, #031118);
	--sfmc-dim: rgba(230, 207, 169, .64);
	--sfmc-head: var(--font-family-heading, "Eisenkraft", serif);
	--sfmc-body: var(--font-family-body, "Reddit Sans", Arial, sans-serif);
	font-family: var(--sfmc-body);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.6;
	letter-spacing: .015em;
	color: var(--sfmc-tl);
}
.sfmc *,
.sfmc *::before,
.sfmc *::after,
.sfmc-mw *,
.sfmc-mw *::before,
.sfmc-mw *::after {
	box-sizing: border-box;
}

/* ── Avada-Hülle neutralisieren ────────────────────────────────── */

/* counter: Avada off-canvas.css setzt Fläche, Rand, Schatten und Padding über --awb-*. */
.awb-off-canvas-wrap .awb-off-canvas.has-sfmc {
	--awb-padding-top: 0;
	--awb-padding-right: 0;
	--awb-padding-bottom: 0;
	--awb-padding-left: 0;
	--awb-box-shadow: none;
	height: 100vh;
	height: 100dvh;
	padding: 0;
	overflow: hidden;
	border: 0;
	background: transparent;
	box-shadow: none;
}
.awb-off-canvas-wrap .awb-off-canvas.has-sfmc > :not(.sfmc) {
	display: none;
}
.awb-off-canvas.has-sfmc > .sfmc {
	position: absolute;
	inset: 0;
}

/* ── Rahmen: Double-Ornament ───────────────────────────────────── */

.sfmc-frame {
	position: absolute;
	inset: 0;
	z-index: 4;
	background-image:
		var(--sfmc-do-tl),
		var(--sfmc-do-tr),
		var(--sfmc-do-bl),
		var(--sfmc-do-br),
		var(--sfmc-do-l),
		var(--sfmc-do-r),
		var(--sfmc-do-t),
		var(--sfmc-do-b);
	background-position:
		left top,
		right top,
		left bottom,
		right bottom,
		left center,
		right center,
		center top,
		center bottom;
	background-repeat: no-repeat;
	background-size:
		93px 93px,
		93px 93px,
		93px 93px,
		93px 93px,
		8px calc(100% - 186px),
		8px calc(100% - 186px),
		calc(100% - 186px) 8px,
		calc(100% - 186px) 8px;
	pointer-events: none;
}

/* ✕ — innerhalb der Eckbögen; Hover immer secondary. */
.sfmc .sfmc-x,
.sfmc-mw .sfmc-x {
	position: absolute;
	z-index: 5;
	top: 40px;
	right: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 20px;
	line-height: 1;
	color: var(--sfmc-tl);
	cursor: pointer;
	transition: color .2s ease;
}
.sfmc .sfmc-x:hover,
.sfmc-mw .sfmc-x:hover,
.sfmc .sfmc-rm:hover {
	color: var(--sfmc-sc);
}

/* ── Flyout ────────────────────────────────────────────────────── */

.sfmc {
	position: relative;
	min-height: 100%;
	background: var(--sfmc-bd);
	overflow: hidden;
}
.sfmc-body {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	padding: 48px 40px 40px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--sfmc-dg) transparent;
}
.sfmc.is-busy .sfmc-body {
	opacity: .6;
	pointer-events: none;
	transition: opacity .15s ease;
}
body .sfmc .sfmc-h,
body .sfmc-mw .sfmc-h {
	margin: 0;
	font-family: var(--sfmc-head);
	font-size: 56px;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	color: var(--sfmc-pc);
}
.sfmc-added {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 14px;
	letter-spacing: .05em;
	text-align: center;
	text-transform: uppercase;
	color: var(--sfmc-sc);
}
.sfmc-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	margin-top: 24px;
	text-align: center;
}
.sfmc-empty p {
	margin: 0;
	color: var(--sfmc-ow);
}

/* Free Shipping */
.sfmc-fs {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 40px;
}
.sfmc-fs-t {
	font-size: 16px;
	letter-spacing: .05em;
	text-align: center;
	text-transform: uppercase;
	color: var(--sfmc-pc);
}
.sfmc-fs-t b {
	font-weight: 500;
	color: var(--sfmc-tl);
}
.sfmc-bar {
	position: relative;
	height: 8px;
	margin: 0 10px;
	background: var(--sfmc-bm);
	box-shadow: inset 0 0 0 1px var(--sfmc-pc);
}
.sfmc-bar i {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background: var(--sfmc-pc);
}
.sfmc-bar em {
	position: absolute;
	top: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	border-radius: 50%;
	background: var(--sfmc-bd);
	box-shadow: inset 0 0 0 2px var(--sfmc-pc);
}
.sfmc-bar em.on {
	background: var(--sfmc-pc);
}
.sfmc-bar em span {
	position: absolute;
	top: 26px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 13px;
	font-style: normal;
	line-height: 1.3;
	text-align: center;
	white-space: nowrap;
	color: var(--sfmc-tl);
}
.sfmc-bar em.end span {
	right: -4px;
	left: auto;
	transform: none;
	text-align: right;
	color: var(--sfmc-pc);
}

/* Positionen, abwechselnd dunkel und mittelblau */
.sfmc-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.sfmc-ci {
	position: relative;
	display: flex;
	gap: 16px;
	padding: 12px 16px;
	background: var(--sfmc-night);
}
.sfmc-ci.sfmc-m {
	background: var(--sfmc-bm);
}
.sfmc-th {
	position: relative;
	flex: none;
	width: 80px;
	height: 80px;
	background: var(--sfmc-paper) #efe4cc;
}
.sfmc-th img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 10%;
	object-fit: contain;
}
.sfmc-th::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 13px solid transparent;
	border-image: var(--sfmc-thumb-n) 13 / 13px stretch;
	pointer-events: none;
}
.sfmc-m .sfmc-th::after {
	border-image-source: var(--sfmc-thumb-m);
}
.sfmc-b {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.sfmc-nm {
	padding-right: 32px;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-pc);
}
.sfmc .sfmc-nm a {
	color: inherit;
	text-decoration: none;
}
.sfmc .sfmc-nm a:hover {
	color: var(--sfmc-sc);
}
.sfmc-sb,
.sfmc-ty {
	font-size: 15px;
	font-style: italic;
	font-weight: 400;
	color: var(--sfmc-tl);
}
.sfmc-meta {
	font-size: 13px;
	color: var(--sfmc-dim);
}
.sfmc-ln {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: 6px;
}
.sfmc-qty {
	display: inline-flex;
}
.sfmc .sfmc-qty button,
.sfmc .sfmc-qty span,
.sfmc .sfmc-q1 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 2px solid var(--sfmc-pc);
	border-radius: 0;
	background: var(--sfmc-bm);
	font-family: var(--sfmc-body);
	font-size: 18px;
	line-height: 1;
	color: var(--sfmc-tl);
	cursor: pointer;
	transition: background-color .2s ease;
}
.sfmc .sfmc-qty span,
.sfmc .sfmc-q1 {
	border-right: 0;
	border-left: 0;
	background: transparent;
	font-weight: 500;
	cursor: default;
}
.sfmc .sfmc-q1 {
	border: 2px solid var(--sfmc-pc);
}
.sfmc .sfmc-qty button:hover {
	background: var(--sfmc-sc);
}
.sfmc-pr {
	line-height: 1.2;
	text-align: right;
}
.sfmc-pr small {
	display: block;
	font-size: 13px;
	color: var(--sfmc-pc);
}
.sfmc-pr b {
	font-size: 22px;
	font-weight: 300;
}
.sfmc .sfmc-rm {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 16px;
	line-height: 1;
	color: var(--sfmc-tl);
	cursor: pointer;
	transition: color .2s ease;
}

/* Complete the Set — Stil der Compendium-Panelüberschrift (.im-lp-section-title) */
.sfmc-grp {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 4px;
	font-family: var(--sfmc-body);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-pc);
}
.sfmc-grp::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--sfmc-pc);
}
.sfmc-up {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	background: var(--sfmc-bm);
	box-shadow: inset 0 0 0 1px var(--sfmc-pc);
}
.sfmc-uph {
	display: flex;
	align-items: center;
	gap: 14px;
}
.sfmc-mts {
	display: flex;
	flex: none;
}
.sfmc-mt {
	width: 44px;
	height: 44px;
	margin-left: -10px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--sfmc-paper) #efe4cc;
	box-shadow: 0 0 0 2px var(--sfmc-pc), 0 0 0 3px var(--sfmc-bm);
}
.sfmc-mt:first-child {
	margin-left: 0;
}
.sfmc-mt img {
	width: 100%;
	height: 100%;
	padding: 3px;
	object-fit: contain;
}
.sfmc-upt {
	flex: 1;
	min-width: 0;
	line-height: 1.3;
}
.sfmc-upt b {
	display: block;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-pc);
}
.sfmc-upt small {
	font-size: 14px;
	font-style: italic;
	font-weight: 400;
}
.sfmc-upp {
	line-height: 1.15;
	text-align: right;
}
.sfmc-upp s,
.sfmc-mpr s {
	display: block;
	font-size: 13px;
	color: var(--sfmc-dim);
}
.sfmc-upp b {
	font-size: 22px;
	font-weight: 300;
}
.sfmc-upp em,
.sfmc-mpr em {
	display: block;
	font-size: 12px;
	font-style: normal;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-sc);
}
.sfmc-upn,
.sfmc-mnote {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--sfmc-ow);
}
.sfmc-upn b,
.sfmc-mnote b {
	font-weight: 500;
	color: var(--sfmc-pc);
}
.sfmc-upa {
	display: flex;
	gap: 8px;
}
.sfmc-upa .sfmc-btn {
	flex: 1;
	min-width: 0;
}

/* Summen und Aktionen */
.sfmc-tot {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--sfmc-dg);
}
.sfmc-tot > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}
.sfmc-big {
	font-size: 22px;
}
.sfmc-v {
	font-size: 14px;
	color: var(--sfmc-pc);
}
.sfmc-ed span:first-child {
	font-size: 13px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-pc);
}
.sfmc-acts {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}
.sfmc-acts .sfmc-checkout {
	width: 100%;
}
.sfmc .sfmc-vc {
	font-size: 14px;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--sfmc-tl);
}
.sfmc .sfmc-vc:hover {
	color: var(--sfmc-sc);
}

/* ── Bundle-Pop-up ─────────────────────────────────────────────── */

.sfmc-mw {
	position: fixed;
	inset: 0;
	z-index: 100000; /* über Avadas Off-Canvas-Overlay (99990) */
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.sfmc-scrim {
	position: absolute;
	inset: 0;
	background: rgba(3, 17, 24, .82);
}
.sfmc-modal {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(1200px, 100%);
	max-height: 100%;
	overflow: hidden;
	background: var(--sfmc-bd);
}
.sfmc-mi {
	padding: 48px 96px 44px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--sfmc-dg) transparent;
}
.sfmc-mh {
	text-align: center;
}
.sfmc-mw .sfmc-sub {
	margin-top: 4px;
	font-size: 20px;
	font-style: italic;
	font-weight: 400;
	color: var(--sfmc-tl);
}
.sfmc-mh p {
	margin: 8px 0 0;
	font-size: 18px;
	color: var(--sfmc-ow);
}
.sfmc-heroes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 40px;
	margin-top: 28px;
}
.sfmc-hero {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}
.sfmc-pi {
	position: relative;
	flex: none;
	width: 168px;
	height: 168px;
	background: var(--sfmc-paper) #efe4cc;
}
.sfmc-pi img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 8%;
	object-fit: contain;
}
.sfmc-pi::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 27px solid transparent;
	border-image: var(--sfmc-card) 27 / 27px stretch;
	pointer-events: none;
}
.sfmc-tx {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
	min-width: 0;
}
.sfmc-inc {
	padding: 0 12px;
	background: var(--sfmc-bm);
	box-shadow: inset 0 0 0 1px var(--sfmc-sc);
	font-size: 12px;
	line-height: 24px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-sc);
}
body .sfmc-mw .sfmc-hn {
	margin: 0;
	font-family: var(--sfmc-head);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
	color: var(--sfmc-pc);
}
.sfmc-has,
.sfmc-tot2 {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}
.sfmc-has {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.sfmc-has li,
.sfmc-tot2 li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--sfmc-tl);
}
.sfmc-has li {
	font-size: 13px;
	line-height: 1.5;
}
.sfmc-has li::before,
.sfmc-tot2 li::before {
	content: "\e90b"; /* mmm-ornament-small, wie „What's Included" */
	flex: none;
	font-family: var(--font-family-iconfont, "MaxsMagnificent-Icons");
	font-size: 16px;
	line-height: 1;
	text-transform: none;
	color: var(--sfmc-sc);
}
.sfmc-mf {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--sfmc-dg);
	text-align: center;
}
.sfmc-tot2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 28px;
}
.sfmc-tot2 li {
	font-size: 15px;
	white-space: nowrap;
}
.sfmc-mpr {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 16px;
}
.sfmc-mpr s {
	font-size: 22px;
}
.sfmc-mpr b {
	font-size: 56px;
	font-weight: 300;
	line-height: 1;
	color: var(--sfmc-tl);
}
.sfmc-mpr em {
	font-size: 14px;
}
.sfmc-mw .sfmc-complete {
	min-width: min(400px, 100%);
}
.sfmc-mw .sfmc-back {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--sfmc-body);
	font-size: 14px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--sfmc-tl);
	cursor: pointer;
}
.sfmc-mw .sfmc-back:hover {
	color: var(--sfmc-sc);
}
html.sfmc-lock {
	overflow: hidden;
}

/* ── Schmal ────────────────────────────────────────────────────── */

@media (max-width: 900px) {
	.sfmc-mi { padding: 48px 40px 40px; }
	.sfmc-heroes { grid-template-columns: minmax(0, 1fr); }
	.sfmc-tot2 li { white-space: normal; }
}
@media (max-width: 600px) {
	.sfmc-body { padding: 48px 24px 32px; }
	body .sfmc .sfmc-h,
	body .sfmc-mw .sfmc-h { font-size: 44px; }
	.sfmc-grp { font-size: 22px; }
	.sfmc-upa { flex-direction: column; }
	.sfmc-mi { padding: 48px 24px 32px; }
	.sfmc-pi { width: 112px; height: 112px; }
	.sfmc-pi::after { border-width: 18px; border-image-width: 18px; }
	body .sfmc-mw .sfmc-hn { font-size: 24px; }
	.sfmc-mpr b { font-size: 44px; }
}
