/* =====================================================================
   WIENINGER · Warenkorb-Drawer  —  wgn-cartdrawer.css
   Slide-in-Panel von rechts (Papier-Ton), dunkles Overlay, gestyltes
   Woo-Mini-Cart (Core-Fragments), Fuß mit Rechtshinweis + CTAs.
   Tokens/Buttons aus wgn-ui.css. rem/em/%/clamp · Safari-gehärtet.
   ===================================================================== */

.wgn-cd { position: fixed; inset: 0; z-index: 99990; font-family: var(--wgn-sans); }
.wgn-cd[hidden] { display: none; }
.wgn-cd * { box-sizing: border-box; }
html.wgn-cd-lock, html.wgn-cd-lock body { overflow: hidden; }

.wgn-cd__overlay {
	position: absolute; inset: 0;
	background: rgba(41, 18, 14, .55);
	opacity: 0; transition: opacity .3s var(--wgn-ease);
}
.wgn-cd.is-open .wgn-cd__overlay { opacity: 1; }

.wgn-cd__panel {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(26.5rem, 94vw);
	background: var(--wgn-paper);
	box-shadow: -1rem 0 3rem rgba(30, 30, 30, .25);
	display: flex; flex-direction: column;
	transform: translateX(100%); transition: transform .32s var(--wgn-ease);
}
.wgn-cd.is-open .wgn-cd__panel { transform: none; }
.wgn-cd__panel:focus { outline: none; }
body.admin-bar .wgn-cd__panel { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wgn-cd__panel { top: 46px; } }

/* ---------- Kopf ---------- */
.wgn-cd__head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 1.1rem 1.4rem; border-bottom: 1px solid var(--wgn-line);
}
.wgn-cd__title { margin: 0; font-family: var(--wgn-serif); font-weight: 500; font-size: 1.35rem; color: var(--wgn-ink); }
.wgn-cd__close {
	display: inline-flex; align-items: center; justify-content: center;
	width: 2.4rem; height: 2.4rem; border: 0; border-radius: 50%;
	padding: 0; line-height: 0; /* SVG exakt mittig */
	background: transparent; color: var(--wgn-ink); cursor: pointer;
	transition: background .2s var(--wgn-ease);
}
/* Hover in Weinrot – haerter selektiert, damit Theme/Kit-Hoverfarben nicht durchschlagen */
.wgn-cd .wgn-cd__close:hover, .wgn-cd .wgn-cd__close:focus-visible {
	background: var(--wgn-bordeaux) !important; color: #fff !important;
}
.wgn-cd__close:focus-visible { outline: 2px solid var(--wgn-red); outline-offset: 2px; }

/* ---------- Inhalt (Woo-Mini-Cart) ---------- */
.wgn-cd__body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: .5rem 1.4rem; }

.wgn-cd .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item {
	position: relative; display: block;
	padding: .9rem 2rem .9rem 4.6rem; min-height: 5.6rem;
	border-bottom: 1px solid var(--wgn-line);
}
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item a { color: var(--wgn-ink); text-decoration: none; }
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item a:not(.remove_from_cart_button) {
	display: block; font-family: var(--wgn-serif); font-size: 1.02rem; line-height: 1.3;
}
/* Bild steckt IM Produktlink -> absolut in die linke Spalte setzen */
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item img {
	position: absolute; left: 0; top: .95rem;
	width: 3.6rem; height: 4.4rem; object-fit: contain;
	background: #fff; border: 1px solid var(--wgn-line); border-radius: .25rem;
	margin: 0 !important; float: none !important;
}
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .quantity {
	display: block; font-size: .88rem; color: var(--wgn-ink-soft); margin-top: .3rem;
	font-family: var(--wgn-sans);
}
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .quantity .amount { color: var(--wgn-ink); }
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .remove_from_cart_button {
	position: absolute; top: .95rem; right: 0;
	width: 1.5rem; height: 1.5rem; border-radius: 50%;
	/* Das ×-Textzeichen sitzt je nach Font schief -> Glyph ausblenden und
	   das Kreuz aus zwei Pseudo-Linien exakt mittig zeichnen. */
	font-size: 0 !important; line-height: 0; padding: 0;
	color: var(--wgn-ink-soft) !important;
	border: 1px solid var(--wgn-line); background: #fff;
}
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .remove_from_cart_button::before,
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .remove_from_cart_button::after {
	content: ""; position: absolute; left: 50%; top: 50%;
	width: .68rem; height: 1.5px; background: currentColor; border-radius: 1px;
	transform: translate(-50%, -50%) rotate(45deg);
}
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .remove_from_cart_button::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
.wgn-cd .wgn-cd__body li.woocommerce-mini-cart-item .remove_from_cart_button:hover { color: #fff !important; background: var(--wgn-bordeaux); border-color: var(--wgn-bordeaux); }

/* Germanized-Steuerzeile unter der Zwischensumme: gleiche Serif wie die
   Zwischensumme, dezent – statt Systemschrift-Bruch */
.wgn-cd .wgn-cd__body p.wc-gzd-total-mini-cart {
	font-family: var(--wgn-serif); font-size: .98rem;
	color: var(--wgn-ink-soft); margin: -.1rem 0 0;
}
.wgn-cd .wgn-cd__body p.wc-gzd-total-mini-cart .amount { font-size: 1rem; }

/* Germanized-Preishinweise in den Positionen dezent */
.wgn-cd .wc-gzd-additional-info, .wgn-cd .includes_tax, .wgn-cd .shipping-costs-info { font-size: .72rem; color: var(--wgn-ink-soft); }

.wgn-cd .woocommerce-mini-cart__total {
	display: flex; justify-content: space-between; align-items: baseline;
	margin: 1rem 0 .25rem; padding-top: .35rem;
	font-size: .95rem; color: var(--wgn-ink);
}
.wgn-cd .woocommerce-mini-cart__total .amount { font-family: var(--wgn-serif); font-size: 1.3rem; }

/* Core-Buttons des Mini-Carts ausblenden – wir haben eigene im Fuß */
.wgn-cd .woocommerce-mini-cart__buttons { display: none; }

.wgn-cd .woocommerce-mini-cart__empty-message {
	margin: 2.5rem 0; text-align: center; color: var(--wgn-ink-soft); font-size: .95rem;
}

/* ---------- Fuß ---------- */
.wgn-cd__foot { padding: 1rem 1.4rem 1.3rem; border-top: 1px solid var(--wgn-line); background: var(--wgn-paper); }
.wgn-cd__note { margin: 0 0 .85rem; font-size: .76rem; line-height: 1.5; color: var(--wgn-ink-soft); }
.wgn-cd__actions { display: grid; gap: .55rem; }
.wgn-cd__actions .wgn-btn {
	width: 100%;
	/* Text exakt mittig: Flex-Zentrierung + line-height 1 statt Baseline-Raterei */
	display: inline-flex; align-items: center; justify-content: center;
	line-height: 1 !important; padding: 1em 1.9em !important;
}

@media (prefers-reduced-motion: reduce) {
	.wgn-cd__overlay, .wgn-cd__panel { transition: none !important; }
}
