/*
Theme Name: EDV-Repair (Block)
Theme URI: https://edv-repair.de
Author: AWEOS / Mamento
Description: Performantes FSE-Block-Theme für edv-repair.de — Divi-Ersatz. Markentreuer Refresh (EDV-Repair-Blau #0083c4, Grün für Preise), auf Geschwindigkeit, Vertrauen und Preistransparenz gebaut.
Version: 0.18.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: edvrepair-block
Tags: e-commerce, block-theme, full-site-editing
*/

/* ============================================================
   Design-Tokens (ergänzen theme.json für Feinheiten: Schatten, Radien)
   ============================================================ */
:root {
	--edvr-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);
	--edvr-shadow:    0 4px 12px rgba(15, 23, 42, .06), 0 2px 4px rgba(15, 23, 42, .04);
	--edvr-shadow-lg: 0 18px 40px -12px rgba(2, 91, 137, .22), 0 8px 16px -8px rgba(15, 23, 42, .10);
	--edvr-radius: 14px;
	--edvr-radius-sm: 10px;
	/* Vorhängeschloss für den Kassen-Kopf. Als Maske, damit es die
	   Textfarbe erbt — ein farbiges SVG müsste bei jeder Farbänderung mit. */
	--edvr-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
	scroll-behavior: smooth;
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Quality-Floor: sichtbarer Fokus */
:where(a, button, input, select, textarea, .wp-block-button__link):focus-visible {
	outline: 3px solid var(--wp--preset--color--brand);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ============================================================
   Buttons — klare States, dezente Tiefe, Hover-Lift
   ============================================================ */
.wp-block-button__link {
	box-shadow: 0 1px 2px rgba(2, 91, 137, .18);
	transition: background-color .16s ease, transform .08s ease, box-shadow .16s ease, filter .16s ease;
	line-height: 1.2;
}
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 6px 16px -4px rgba(2, 91, 137, .34); }
.wp-block-button__link:active { transform: translateY(0); box-shadow: 0 1px 2px rgba(2, 91, 137, .18); }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--brand-ink);
	border: 1.5px solid var(--wp--preset--color--line);
	box-shadow: none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--brand-soft);
	border-color: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--brand-ink);
}

/* ============================================================
   Header — sticky, ruhig, mit dezenter Trennung
   ============================================================ */
.site-header { position: sticky; top: 0; z-index: 100; background: #fff; }
/* Kein Flow-Gap zwischen Trust-Bar und Hauptnavigation (Core setzt
   margin-block-start auf .is-layout-flow-Kinder; Header ist ein Band). */
.site-header > * { margin-block-start: 0; }

/* Trust-Bar — schmales, zentriertes Band mit SVG-Checks und Punkt-Trennern */
.trust-bar { padding-block: .42rem; }
.edvr-trustbar__inner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
	gap: .55rem 1.5rem; max-width: 1180px; margin-inline: auto;
}
.edvr-trustbar__item {
	display: inline-flex; align-items: center; gap: .42rem;
	font-size: .8rem; font-weight: 500; letter-spacing: .005em;
	color: rgba(255, 255, 255, .92); position: relative;
}
/* Punkt-Trenner zwischen den Items (nur Desktop, nicht vor dem ersten) */
.edvr-trustbar__item + .edvr-trustbar__item::before {
	content: ""; position: absolute; left: -.78rem; top: 50%;
	width: 3px; height: 3px; border-radius: 50%;
	background: rgba(255, 255, 255, .38); transform: translateY(-50%);
}
.edvr-trustbar__ico { width: 14px; height: 14px; color: #7fd0f5; stroke-width: 2.4; flex-shrink: 0; }

.header-main {
	border-bottom: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 1px 0 rgba(15,23,42,.02);
}
.header-main .wp-block-site-logo img { transition: opacity .15s ease; }

/* Navigation — modernes Hover mit Underline-Reveal */
.site-header .wp-block-navigation {
	--wp--preset--color--brand: #0083c4;
}
.site-header .wp-block-navigation .wp-block-navigation-item__content {
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	padding-block: .35rem;
	position: relative;
}
.site-header .wp-block-navigation .wp-block-navigation-item__content::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: -2px;
	height: 2px; border-radius: 2px;
	background: var(--wp--preset--color--brand);
	transform: scaleX(0); transform-origin: left;
	transition: transform .2s ease;
}
.site-header .wp-block-navigation .wp-block-navigation-item:hover .wp-block-navigation-item__content::after,
.site-header .wp-block-navigation .current-menu-item .wp-block-navigation-item__content::after { transform: scaleX(1); }
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--brand-ink); }

/* Submenu-Dropdown — Karte mit Tiefe.
   WICHTIG: KEIN margin-top-Gap -> sonst schließt das Menü, bevor die Maus das
   Untermenü erreicht (tote Hover-Zone). Untermenü schließt direkt an, plus eine
   unsichtbare Hover-Brücke über ::before für den optischen Versatz. */
.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--edvr-radius-sm);
	box-shadow: var(--edvr-shadow-lg);
	padding: .5rem;
	margin-top: 0;
	top: calc(100% + 8px); /* optischer Abstand … */
}
.site-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; /* … aber Hover-Brücke füllt die Lücke */
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem .7rem; border-radius: 8px; }
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface-2); }

/* Mini-Cart im Header */
.header-actions .wc-block-mini-cart__button { padding: .5rem; border-radius: 10px; transition: background .15s ease; }
.header-actions .wc-block-mini-cart__button:hover { background: var(--wp--preset--color--surface-2); }
.header-actions .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--brand) !important;
	color: #fff !important; font-weight: 700;
}

/* Kein Leerraum zwischen (sticky) Header und erstem Inhaltsblock */
.wp-site-blocks > main { margin-block-start: 0; }
main > .wp-block-group:first-child { margin-top: 0; }

/* ============================================================
   Hero — proportioniert, mit Tiefe und Preis-Signatur
   ============================================================ */
.hero { background: var(--wp--preset--gradient--hero); position: relative; overflow: hidden; }
.hero::before {
	content: ""; position: absolute; inset: 0;
	background: radial-gradient(60% 80% at 100% 0%, rgba(0,131,196,.08), transparent 60%);
	pointer-events: none;
}

.hero .wp-block-columns { position: relative; z-index: 1; }

/* Finder auf volle Inhaltsbreite — der Hero ist für die Headline auf 760px
   begrenzt, die Finder-Karte soll aber mit den übrigen Sektionen fluchten. */
.hero #finder { max-width: var(--wp--style--global--content-size, 1180px); margin-inline: auto; }

.hero h1 { letter-spacing: -.03em; line-height: 1.06; margin-bottom: .35rem; }
.hero h1 mark { color: var(--wp--preset--color--brand) !important; background: transparent; }
/* Intro kompakter & mit angenehmer Lesebreite */
.hero .has-large-font-size { max-width: 33rem; margin-inline: auto; line-height: 1.45; }
/* Abstand Intro -> Finder gezielt steuern (nicht die 20px .awfr-Marge + blockGap kumulieren) */
.hero .awfr { margin-top: 0 !important; }
.hero #finder { margin-top: 1rem; }

/* Eyebrow — als zentrierte Pille (fit-content + auto-margin zentriert zuverlässig) */
.hero .has-small-font-size[style*="uppercase"] {
	display: flex; width: fit-content; margin-inline: auto;
	align-items: center; gap: .5rem;
	padding: .4rem .85rem;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	box-shadow: var(--edvr-shadow-sm);
	letter-spacing: .09em !important; font-size: .72rem !important;
	color: var(--wp--preset--color--brand-ink) !important; /* Kontrast WCAG-AA (war brand 4,16:1) */
}
.hero .has-small-font-size[style*="uppercase"]::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%;
	background: var(--wp--preset--color--accent);
	box-shadow: 0 0 0 3px rgba(22,163,74,.18);
}

/* Preis-Karte "Beliebt diese Woche" */
.hero .wp-block-column:last-child > .wp-block-group {
	border-radius: var(--edvr-radius) !important;
	box-shadow: var(--edvr-shadow-lg) !important;
	border-color: var(--wp--preset--color--line) !important;
	overflow: hidden;
}
.hero .wp-block-column:last-child > .wp-block-group > .wp-block-group {
	transition: background .15s ease; padding-inline: .25rem; border-radius: 8px;
}
.hero .wp-block-column:last-child > .wp-block-group > .wp-block-group:hover { background: var(--wp--preset--color--surface); }
.hero .wp-block-column:last-child .has-accent-color { font-variant-numeric: tabular-nums; }

/* ============================================================
   Sektionen — Rhythmus & Überschriften
   ============================================================ */
main > .wp-block-group { scroll-margin-top: 90px; }


/* ============================================================
   Finaler CTA — full-bleed, bündig zum Footer, Chip + Begleittext
   ============================================================ */
.edvr-cta-final {
	background: var(--wp--preset--gradient--brand) !important;
	margin-block: 0 !important; position: relative; overflow: hidden;
}
/* dezente Tiefe: weicher Lichtschein oben rechts */
.edvr-cta-final::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(80% 120% at 100% 0%, rgba(255,255,255,.16), transparent 55%);
}
.edvr-cta-final > * { position: relative; z-index: 1; }
.edvr-cta-final__chip {
	display: flex; width: fit-content; margin-inline: auto !important; align-items: center; gap: .5rem;
	padding: .35rem .85rem; margin-bottom: 1rem !important;
	background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28);
	border-radius: 999px; font-size: .72rem; font-weight: 600; letter-spacing: .07em;
	color: #fff; text-transform: uppercase;
}
.edvr-cta-final__chip::before {
	content: ""; width: 7px; height: 7px; border-radius: 50%;
	background: #7bed9f; box-shadow: 0 0 0 3px rgba(123,237,159,.28);
}
.edvr-cta-final h2 { letter-spacing: -.02em; margin-bottom: .75rem; }
.edvr-cta-final__lead {
	color: rgba(255,255,255,.9) !important; max-width: 46ch; margin-inline: auto !important;
	margin-bottom: 1.75rem !important; line-height: 1.55;
}
.edvr-cta-final__actions { gap: .75rem !important; }
.edvr-cta-final .has-base-background-color.wp-block-button__link { box-shadow: 0 6px 18px rgba(2,20,40,.28); }
/* Ghost-Button auf blauem Grund (überschreibt is-style-outline — höhere Spezifität
   nötig, da die Apple-Outline-Regel weiter unten mit gleicher Spezifität + !important steht) */
.edvr-cta-final .wp-block-button.edvr-btn-ghost .wp-block-button__link {
	background: transparent !important; color: #fff !important;
	border: 1.5px solid rgba(255,255,255,.55) !important; box-shadow: none !important;
}
.edvr-cta-final .wp-block-button.edvr-btn-ghost .wp-block-button__link:hover {
	background: rgba(255,255,255,.12) !important; border-color: #fff !important; color: #fff !important;
}

/* Kein weißer Spalt zwischen finalem CTA und Footer (nur Startseite — der
   full-bleed-CTA soll bündig anschließen; auf Inhaltsseiten bleibt der Abstand) */
.home .wp-site-blocks > footer { margin-top: 0 !important; }

/* Sanfter Scroll zum Finder (#finder) unter dem Sticky-Header */
#finder { scroll-margin-top: 100px; }

/* ============================================================
   Preis-Auszeichnung (durchgängig)
   ============================================================ */
.price, .woocommerce-Price-amount, ins .woocommerce-Price-amount {
	color: var(--wp--preset--color--accent);
	font-weight: 700; font-variant-numeric: tabular-nums;
}

/* ============================================================
   WooCommerce — Produkt-/Shop-Feinschliff
   ============================================================ */
.woocommerce ul.products li.product, .wc-block-grid__product {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--edvr-radius);
	padding: 1rem !important;
	background: #fff;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.woocommerce ul.products li.product:hover, .wc-block-grid__product:hover {
	transform: translateY(-3px);
	box-shadow: var(--edvr-shadow);
	border-color: #cbd5e1;
}
.woocommerce ul.products li.product .button, .woocommerce .single_add_to_cart_button {
	border-radius: 10px !important; font-weight: 600 !important;
}
.woocommerce span.onsale, .wc-block-components-product-badge {
	background: var(--wp--preset--color--accent) !important;
	color: #fff !important; border-radius: 999px !important;
	font-weight: 700; box-shadow: none; min-height: 0; padding: .2rem .6rem;
}
/* BeRocket-Label (advanced-product-labels) markenkonform machen, solange das
   Plugin noch aktiv ist (Cleanup-Kandidat laut Audit). */
.br_alabel span, .br_alabel_type_text span {
	background: var(--wp--preset--color--accent) !important;
	color: #fff !important; border-radius: 999px !important;
	padding: .2rem .6rem !important; font-weight: 700 !important;
	font-size: .72rem !important; letter-spacing: .02em; text-transform: uppercase;
	box-shadow: 0 2px 6px -2px rgba(22,163,74,.5) !important;
}

/* Produktseite: variable Preis-Range + Add-ons-Subtotal dezenter */
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--wp--preset--color--accent); font-weight: 800; }
.woocommerce div.product .wcpa_form_outer .wcpa_totals_field, .product-addon-totals { font-size: 1rem !important; }
.woocommerce div.product .single_add_to_cart_button {
	background: var(--wp--preset--color--brand) !important; border-radius: 10px !important;
	padding: .85rem 1.8rem !important; font-weight: 700 !important; box-shadow: 0 4px 14px -4px rgba(0,131,196,.5);
	transition: background .15s ease, transform .08s ease;
}
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--wp--preset--color--brand-ink) !important; transform: translateY(-1px); }
.woocommerce .star-rating span::before, .woocommerce p.stars a::before { color: #f59e0b; }
.woocommerce .woocommerce-breadcrumb {
	font-size: .875rem; color: var(--wp--preset--color--muted);
	padding: 1.1rem 0; border-bottom: 1px solid var(--wp--preset--color--line);
	margin: 0 0 1.5rem;
}

/* ============================================================
   Footer
   ============================================================ */
.site-footer a { color: var(--wp--preset--color--line); transition: color .15s ease; }
.site-footer a:hover { color: #fff; }
.site-footer .wp-block-navigation .wp-block-navigation-item__content { color: var(--wp--preset--color--line); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 781px) {
	.hero .wp-block-columns { gap: 1.5rem; }
	.header-main .wp-block-group { flex-wrap: wrap; }
}

/* ============================================================
   [box]-Callouts (Ersatz Divi et_box) — Content-Hinweisboxen
   ============================================================ */
.edvr-box {
	margin: 1.3rem 0; padding: .9rem 1.15rem;
	border: 1px solid var(--wp--preset--color--line); border-left-width: 4px;
	border-radius: 10px; font-size: .95rem; line-height: 1.6;
}
.edvr-box__body > :first-child { margin-top: 0; }
.edvr-box__body > :last-child { margin-bottom: 0; }
.edvr-box--info    { background: #eff6ff; border-color: #bfdbfe; border-left-color: #3b82f6; color: #1e3350; }
.edvr-box--warning { background: #fffbeb; border-color: #fde68a; border-left-color: #f59e0b; color: #6b3f10; }
.edvr-box--success { background: #f0fdf4; border-color: #bbf7d0; border-left-color: #16a34a; color: #14532d; }
.edvr-box--error   { background: #fef2f2; border-color: #fecaca; border-left-color: #ef4444; color: #7f1d1d; }
.edvr-box--shadow  { background: #fff; border-color: var(--wp--preset--color--line); border-left-color: var(--wp--preset--color--brand); box-shadow: var(--edvr-shadow); }

/* ============================================================
   Produktseite — Layout-Feinschliff
   ============================================================ */
.woocommerce div.product .product_title { font-size: clamp(1.5rem, 3vw, 1.9rem); letter-spacing: -.02em; margin-bottom: .5rem; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-size: 1.3rem; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--wp--preset--color--slate); }

/* Galerie: Rahmen + Rundung */
.woocommerce div.product .woocommerce-product-gallery {
	border: 1px solid var(--wp--preset--color--line); border-radius: 14px;
	overflow: hidden; background: #fff;
}
.woocommerce div.product .woocommerce-product-gallery img { border-radius: 12px; }

/* Add-on-Tooltip-Icons (za-tooltip): Default-Button-Rahmen entfernen -> nur das
   SVG-Info-Icon bleibt (sah sonst wie ein kaputtes Kästchen aus). */
.za-tooltip__control {
	-webkit-appearance: none; appearance: none;
	border: 0 !important; background-color: transparent !important;
	padding: 0 !important; margin-left: .35rem; cursor: pointer;
	width: 15px; height: 15px; vertical-align: middle;
	background-repeat: no-repeat; background-position: center; background-size: contain;
	opacity: .5; transition: opacity .15s ease;
}
.za-tooltip__control:hover { opacity: 1; }

/* Product-Add-ons-Totale: NUR die Gesamt-Zeile. Zwischensumme/Extras
   sind Buchhaltung ohne Kaufinformation — der Kunde sieht Kartenpreis,
   grüne Aufpreise und das Gesamt (Preis-Redundanz: 6 -> 3 Nennungen). */
.zaddon_data { margin: .9rem 0 0 !important; padding-top: .55rem; border-top: 1px solid var(--wp--preset--color--line); }
.zaddon_subtotal, .zaddon_additional { display: none !important; }
.zaddon_data > div { margin: 0 !important; }
.zaddon_total {
	display: flex !important; align-items: baseline; justify-content: space-between;
	gap: 1rem; padding: 0; text-align: left !important;
}
.zaddon_total h4 { font-size: 1.05rem !important; font-weight: 800 !important; margin: 0 !important; color: var(--wp--preset--color--ink) !important; }
.zaddon_total h4::after { content: "\00a0 inkl. MwSt., zzgl. Versand"; font-size: .72rem; font-weight: 500; color: var(--wp--preset--color--muted); letter-spacing: 0; }
.zaddon_total .woocommerce-Price-amount { font-size: 1.2rem; font-weight: 800; }

/* Variationspreis-Zeile ("69,99 € inkl. MwSt.") ausblenden — der Preis
   steht bereits in der gewählten Karte und im Gesamt */
.woocommerce div.product .woocommerce-variation-price { display: none; }

/* Menge ausblenden: Reparaturen werden praktisch immer einzeln gebucht,
   das Feld ist Rauschen; Menge bleibt im Warenkorb änderbar.
   (!important: Woo-Blocks-Legacy-CSS setzt div.quantity inline-block) */
.woocommerce div.product form.cart div.quantity { display: none !important; }

/* Add-to-Cart: disabled klar erkennbar, aktiv stark */
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button:disabled {
	background: var(--wp--preset--color--line) !important; color: var(--wp--preset--color--muted) !important;
	box-shadow: none !important; cursor: not-allowed; opacity: 1;
}

/* Repair-Cards (PREMIUM/ORIGINAL) etwas edler */
.edvr-rcards { gap: .6rem !important; }
.edvr-rcard {
	border-radius: 12px !important; padding: .7rem 1rem .75rem !important;
	box-shadow: var(--edvr-shadow-sm);
	/* Label und Preis dicht beieinander statt space-between über min-height */
	justify-content: flex-start !important; gap: 2px !important; min-height: 0 !important;
}

/* Produkt-FAQ-Akkordeon (aus seo-schema) */
.woocommerce div.product details, .entry-content details, .edvr-faq details {
	border: 1px solid var(--wp--preset--color--line); border-radius: 12px;
	margin: .5rem 0; background: #fff; padding: 0 1rem;
}
.woocommerce div.product details summary, .entry-content details summary {
	cursor: pointer; padding: .85rem 0; font-weight: 600; list-style: none;
}
.woocommerce div.product details[open] summary { border-bottom: 1px solid var(--wp--preset--color--line); }

/* ============================================================
   Header — edler: mehr Luft, feinere Navigation
   ============================================================ */
.header-main { padding-block: 1.15rem !important; }
.header-main .wp-block-site-logo { flex-shrink: 0; }
.site-header .wp-block-navigation { column-gap: 2rem; }
.site-header .wp-block-navigation .wp-block-navigation-item__content { font-size: .98rem; letter-spacing: .005em; }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 781px) {
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product .summary { width: 100% !important; float: none !important; }
	.zaddon_data { margin-top: 1rem; }
}

/* ============================================================
   APPLE-STYLE — Pill-Buttons, minimaler Frosted-Header, Kategorie-Karten
   ============================================================ */

/* --- Pill-Buttons (Apple-Signatur: voll gerundet) --- */
.wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .single_add_to_cart_button,
.wc-block-components-button, .awfr__repair {
	border-radius: 980px !important;
	font-weight: 500 !important;
}
.wp-block-button__link { padding: .7rem 1.6rem !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
	border-radius: 980px !important;
	border: 1.5px solid var(--wp--preset--color--brand) !important;
	color: var(--wp--preset--color--brand) !important; background: transparent !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--brand) !important; color: #fff !important;
}
/* Repair-Karten sollen NICHT pill werden (Ausnahme zurücknehmen) */
.awfr__repair { border-radius: 12px !important; }

/* --- Header: minimal & frosted (Apple) --- */
.header-main {
	background: rgba(255, 255, 255, .82) !important;
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid rgba(0, 0, 0, .08) !important;
	box-shadow: none !important;
	padding-block: .7rem !important;
}
.site-header .wp-block-navigation { column-gap: 2.3rem; }
.site-header .wp-block-navigation .wp-block-navigation-item__content {
	font-weight: 400 !important; font-size: .88rem !important;
	color: #1d1d1f !important; opacity: .82; letter-spacing: 0 !important; padding-block: .3rem;
}
.site-header .wp-block-navigation .wp-block-navigation-item__content:hover { opacity: 1; color: #1d1d1f !important; }
.site-header .wp-block-navigation .wp-block-navigation-item__content::after { display: none !important; } /* Underline-Reveal aus */

/* --- Kategorie-/Shop-Grid im Apple-Stil (echtes Grid, feine gleichmäßige Lücken) --- */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
	gap: .75rem !important; margin: 0 !important; padding: 0 !important;
}
/* WICHTIG: WooCommerce-Clearfix-Pseudos würden als leere Grid-Zellen erscheinen
   (leere erste Kachel, alle Karten verschoben) -> entfernen. */
.woocommerce ul.products::before, .woocommerce ul.products::after,
.woocommerce-page ul.products::before, .woocommerce-page ul.products::after { display: none !important; content: none !important; }
/* Karten-Grundstil (v2 weiter unten ergänzt Grid/Fußzeile/Chevron):
   weiße Karte, Bild volle Breite — die frühere Grau-Karte mit 66%-Bild
   (mix-blend-mode) ist abgelöst. */
.woocommerce ul.products li.product, .woocommerce ul.products li.product-category {
	width: auto !important; margin: 0 !important; float: none !important; clear: none !important;
	background: #fff !important; border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 14px !important;
	padding: 0 !important; text-align: left !important;
	box-shadow: none !important; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.woocommerce ul.products li.product:hover, .woocommerce ul.products li.product-category:hover {
	transform: translateY(-3px); box-shadow: var(--edvr-shadow-lg) !important;
	border-color: var(--wp--preset--color--brand) !important;
}
.woocommerce ul.products li.product a img, .woocommerce ul.products li.product-category a img {
	border-radius: 0 !important; margin: 0 0 .9rem !important; max-width: 100% !important;
	width: 100% !important; aspect-ratio: 1 / 1; height: auto; object-fit: cover;
}
/* Produktzahl der Kategorie-Kachel: dezente eigene Zeile statt „(57)" im Titel */
.woocommerce ul.products li.product-category .edvr-cat-count {
	display: block; margin-top: .3rem; font-size: .82rem; font-weight: 400;
	color: var(--wp--preset--color--muted);
}
.woocommerce ul.products li.product-category mark.count { display: none !important; } /* Fallback */
/* (Alt-Titel/-Preis-Regeln entfernt — padding:0 !important schlug das
   Karten-Padding der v3-Regeln weiter unten; v3 ist die einzige Quelle.) */
/* Apple-Minimalismus im Grid: Bewertungs-Clutter + Loop-Add-to-Cart ausblenden (Karte -> Produkt) */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating,
.woocommerce ul.products li.product .wp-review-comment-total,
.woocommerce ul.products li.product > a.button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_variable { display: none !important; }
.woocommerce ul.products li.product .onsale { top: 1rem !important; right: 1rem !important; left: auto !important; }

/* Kategorie-Überschrift zentriert (Apple: „Mac") */
/* Archiv-Kopf: linksbündig wie die Sektionsköpfe der Startseite */
.woocommerce .woocommerce-products-header__title, .woocommerce h1.page-title {
	text-align: left; font-weight: 700; letter-spacing: -.02em;
	font-size: clamp(1.6rem, 3vw, 2.1rem); margin: .25rem 0 .6rem;
}
.edvr-archive .term-description { color: var(--wp--preset--color--slate); max-width: 70ch; }
.edvr-archive .term-description p { margin: 0 0 .6rem; }

/* Toolbar über dem Produkt-Grid: Zähler links, Sortierung rechts */
.edvr-archive .woocommerce-result-count {
	float: left; font-size: .85rem; color: var(--wp--preset--color--muted);
	margin: 1rem 0 1.25rem; padding-top: .55rem;
}
.edvr-archive .woocommerce-ordering { float: right; margin: 1rem 0 1.25rem; }
.edvr-archive .woocommerce-ordering select.orderby {
	appearance: none; -webkit-appearance: none; -moz-appearance: none;
	font: inherit; font-size: .88rem; font-weight: 500;
	color: var(--wp--preset--color--ink);
	padding: .5rem 2.3rem .5rem .9rem;
	border: 1.5px solid var(--wp--preset--color--line); border-radius: 10px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center / 14px;
	cursor: pointer; transition: border-color .15s ease;
}
.edvr-archive .woocommerce-ordering select.orderby:hover { border-color: #cbd5e1; }
.edvr-archive .woocommerce-ordering select.orderby:focus { outline: none; border-color: var(--wp--preset--color--brand); }
@media (max-width: 640px) {
	.edvr-archive .woocommerce-result-count { float: none; margin: .75rem 0 .35rem; padding-top: 0; }
	.edvr-archive .woocommerce-ordering { float: none; width: 100%; margin: 0 0 1.1rem; }
	.edvr-archive .woocommerce-ordering select.orderby { width: 100%; }
}

/* ============================================================
   Wiederverwendbare Info-/Feature-Karten [edvr_cards] (Apple-Stil, horizontal)
   ============================================================ */
.edvr-cards { margin: 0; }
.edvr-cards__head {
	display: flex; justify-content: space-between; align-items: baseline;
	gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem;
}
.edvr-cards__title { font-size: clamp(1.4rem, 2.4vw, 1.875rem); font-weight: 700; letter-spacing: -.02em; margin: 0; max-width: 24ch; line-height: 1.15; }
.edvr-cards__link { color: var(--wp--preset--color--brand-ink); font-weight: 500; white-space: nowrap; text-decoration: none; }
.edvr-cards__link:hover { text-decoration: underline; }

.edvr-cards__track {
	display: flex; gap: 1.25rem; overflow-x: auto;
	scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
	padding: .25rem .25rem 1.25rem; margin: 0 -.25rem;
	scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--line) transparent;
}
.edvr-cards__track::-webkit-scrollbar { height: 6px; }
.edvr-cards__track::-webkit-scrollbar-thumb { background: var(--wp--preset--color--line); border-radius: 3px; }

.edvr-card {
	flex: 0 0 clamp(230px, 25vw, 280px); scroll-snap-align: start;
	display: flex; flex-direction: column; min-height: 232px;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: 1.5rem 1.35rem;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.edvr-card--link { text-decoration: none; color: inherit; }
.edvr-card:hover { transform: translateY(-3px); box-shadow: var(--edvr-shadow-lg); border-color: #cbd5e1; }
/* Icon-Tile oben — dezente Marken-Kachel, Line-Icon */
.edvr-card__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; margin-bottom: 1.1rem;
	background: var(--wp--preset--color--brand-soft); border-radius: 12px;
	color: var(--wp--preset--color--brand);
}
.edvr-card__svg { width: 24px; height: 24px; }
.edvr-card__icon--emoji { font-size: 1.6rem; background: none; }
.edvr-card__label { font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--muted); margin-bottom: .4rem; }
.edvr-card__heading { font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.25; margin: 0 0 .5rem; color: var(--wp--preset--color--ink); }
.edvr-card__text { font-size: .925rem; color: var(--wp--preset--color--slate); line-height: 1.5; }
.edvr-card__text > :last-child { margin-bottom: 0; }
.edvr-card__media { margin-top: auto; padding-top: 1.25rem; text-align: center; }
.edvr-card__media img { max-width: 100%; max-height: 150px; width: auto; }

@media (max-width: 520px) {
	.edvr-card { flex-basis: 74vw; min-height: 210px; }
}

/* ============================================================
   Shop-Archiv mit Filter-Sidebar (Apple-„Refurbished"-Layout)
   ============================================================ */
.edvr-archive__cols { align-items: flex-start; }
.edvr-archive__side { position: sticky; top: 100px; }
/* Sidebar als Karte, sticky — konsistent mit Finder/Summen-Karte */
.edvr-shop-sidebar {
	font-size: .92rem; box-sizing: border-box;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: 1.15rem 1.2rem 1.3rem;
	position: sticky; top: 105px; box-shadow: var(--edvr-shadow-sm);
}
.edvr-shop-sidebar *, .edvr-shop-sidebar *::before, .edvr-shop-sidebar *::after { box-sizing: border-box; }
.edvr-shop-sidebar__back {
	display: inline-flex; align-items: center; gap: .3rem;
	font-size: .82rem; font-weight: 600; text-decoration: none;
	color: var(--wp--preset--color--slate);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px; padding: .32rem .8rem; margin-bottom: .5rem;
	transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.edvr-shop-sidebar__back:hover { color: var(--wp--preset--color--brand-ink); border-color: var(--wp--preset--color--brand); background: var(--wp--preset--color--brand-soft); }
.edvr-filter { padding: 0; border: 0; }
.edvr-filter ~ .edvr-filter { border-top: 1px solid var(--wp--preset--color--line); margin-top: 1.15rem; padding-top: 1.15rem; }
.edvr-filter__title {
	font-size: .75rem !important; font-weight: 700 !important;
	text-transform: uppercase; letter-spacing: .07em;
	color: var(--wp--preset--color--slate);
	margin: .6rem 0 .6rem !important;
}
.edvr-filter__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .15rem; }
.edvr-filter__list a {
	display: flex; justify-content: space-between; gap: .5rem; align-items: center;
	padding: .45rem .6rem; border-radius: 9px; font-weight: 500;
	color: var(--wp--preset--color--slate); text-decoration: none;
	transition: background .12s ease, color .12s ease;
}
.edvr-filter__list a:hover { background: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--ink); }
.edvr-filter__list li.is-active a { background: var(--wp--preset--color--brand-soft); color: var(--wp--preset--color--brand-ink); font-weight: 600; }
.edvr-filter__count {
	font-size: .72rem; color: var(--wp--preset--color--slate);
	background: var(--wp--preset--color--surface-2);
	border-radius: 999px; padding: .12rem .55rem;
	font-variant-numeric: tabular-nums; line-height: 1.4;
	white-space: nowrap; flex-shrink: 0;
}
.edvr-filter__list li.is-active .edvr-filter__count { background: rgba(255, 255, 255, .7); }
.edvr-price-filter__row { display: flex; align-items: center; gap: .5rem; color: var(--wp--preset--color--muted); }
.edvr-price-filter__row input { width: 100%; min-width: 0; padding: .5rem .6rem; border: 1.5px solid var(--wp--preset--color--line); border-radius: 9px; font-size: .9rem; background: #fff; }
.edvr-price-filter__row input:focus { outline: none; border-color: var(--wp--preset--color--brand); }
.edvr-price-filter__btn { margin-top: .6rem; width: 100%; background: var(--wp--preset--color--brand); color: #fff; border: none; border-radius: 980px; padding: .55rem 1rem; font-weight: 600; font-size: .88rem; cursor: pointer; transition: background .15s ease; }
.edvr-price-filter__btn:hover { background: var(--wp--preset--color--brand-ink); }
.edvr-price-filter__reset { display: inline-block; margin-top: .55rem; font-size: .82rem; color: var(--wp--preset--color--muted); }

@media (max-width: 900px) {
	.edvr-archive__cols { display: block; }
	.edvr-archive__side { position: static; margin-bottom: 1.25rem; }
	.edvr-shop-sidebar { position: static; padding: 1rem 1.1rem 1.15rem; }
	.edvr-filter ~ .edvr-filter { margin-top: .9rem; padding-top: .9rem; }
	.edvr-filter__title { margin: 0 0 .5rem !important; }
	/* Kategorien als Chip-Slider: eine Reihe, wischbar; der angeschnittene
	   Chip an der Kartenkante signalisiert weitere Einträge (wie der
	   'Warum EDV-Repair?'-Kartenslider) */
	.edvr-filter__list {
		flex-direction: row; flex-wrap: nowrap; gap: .45rem;
		overflow-x: auto; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
		padding-bottom: .4rem;
		scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--line) transparent;
	}
	.edvr-filter__list::-webkit-scrollbar { height: 4px; }
	.edvr-filter__list::-webkit-scrollbar-thumb { background: var(--wp--preset--color--line); border-radius: 2px; }
	.edvr-filter__list li { flex: 0 0 auto; scroll-snap-align: start; }
	.edvr-filter__list a {
		border: 1.5px solid var(--wp--preset--color--line); border-radius: 999px;
		padding: .34rem .75rem; background: #fff; font-size: .85rem; white-space: nowrap;
	}
	.edvr-filter__list li.is-active a { border-color: var(--wp--preset--color--brand); }
	.edvr-filter__count { background: var(--wp--preset--color--surface); padding: .08rem .45rem; }
	/* Preisfilter in einer Zeile: ab – bis + Anwenden */
	.edvr-price-filter { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
	.edvr-price-filter .edvr-filter__title { flex-basis: 100%; }
	.edvr-price-filter__row { flex: 1 1 200px; }
	.edvr-price-filter__row input { width: 6.5rem; flex: 1; }
	.edvr-price-filter__btn { width: auto; margin: 0; padding: .5rem 1.1rem; }
	.edvr-price-filter__reset { margin: 0; flex-basis: 100%; }
}

/* Kurze Icon-Text-Hinweise [edvr_hint] (Apple-Stil) */
.edvr-hints { display: flex; flex-direction: column; gap: .6rem; margin: 1.35rem 0; padding-top: 1.1rem; border-top: 1px solid var(--wp--preset--color--line); }
.edvr-hint { display: flex; align-items: center; gap: .6rem; font-size: .9rem; color: var(--wp--preset--color--slate); line-height: 1.4; }
.edvr-hint__icon { display: inline-flex; flex-shrink: 0; color: var(--wp--preset--color--brand); }
.edvr-hint__icon--emoji { font-size: 1.05rem; }
.edvr-hint__svg { width: 18px; height: 18px; }
.edvr-hint__text strong { color: var(--wp--preset--color--ink); font-weight: 600; }

/* Icon-Basis (Line-Icons, currentColor) */
.edvr-ico { display: inline-block; width: 1.25rem; height: 1.25rem; vertical-align: middle; }

/* ============================================================
   Übernommene Startseiten-Sektionen (Auszeichnung, Über uns, Umwelt, Blog)
   ============================================================ */
/* Wiederverwendbarer Eyebrow (wie im Hero, generisch) */
/* brand-ink statt brand: 7,3:1 Kontrast auf Hell (WCAG-AA, war 4,16:1 mit brand) */
.edvr-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--brand-ink); margin: 0 0 .5rem; }
.edvr-eyebrow--eco { color: #15803d; } /* dunkleres Grün: ~5:1 (Akzent-Grün war 3,3:1) */

.edvr-section h2 { letter-spacing: -.02em; }

/* Service-Tags (Pills) */
.edvr-servicetags { margin-inline: auto; }
.edvr-servicetag {
	margin: 0 !important; padding: .4rem .9rem;
	background: var(--wp--preset--color--surface-2); border-radius: 999px;
	font-size: .85rem; font-weight: 600; color: var(--wp--preset--color--slate);
}

/* Auszeichnung — Foto + Text */
.edvr-award__img { margin: 0; }
.edvr-award__img img { border-radius: 16px; box-shadow: var(--edvr-shadow); width: 100%; height: auto; display: block; }
.edvr-arrowlink {
	display: inline-block; font-weight: 600; color: var(--wp--preset--color--brand-ink);
	text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--brand); padding-bottom: 2px;
	transition: color .15s ease, border-color .15s ease;
}
.edvr-arrowlink:hover { color: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand-ink); }

/* Umwelt — dezent grüner Akzent-Rahmen */
.edvr-eco { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }

/* Blog — eigene Weltklasse-Karten [edvr_blog_cards] */
.edvr-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.edvr-post {
	display: flex; flex-direction: column; background: #fff;
	border: 1px solid var(--wp--preset--color--line); border-radius: 18px; overflow: hidden;
	text-decoration: none; color: inherit;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.edvr-post:hover { transform: translateY(-4px); box-shadow: var(--edvr-shadow-lg); border-color: #cbd5e1; }
.edvr-post__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--wp--preset--color--surface-2); }
.edvr-post__media img, .edvr-post__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.edvr-post:hover .edvr-post__media img { transform: scale(1.04); }
.edvr-post__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, #eef2f6, #e2e8f0); }
.edvr-post__badge {
	position: absolute; top: .7rem; left: .7rem; padding: .3rem .65rem;
	background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
	border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
	color: var(--wp--preset--color--brand-ink);
}
.edvr-post__body { display: flex; flex-direction: column; flex: 1; padding: 1.1rem 1.25rem 1.3rem; }
.edvr-post__meta { display: flex; align-items: center; gap: .5rem; font-size: .76rem; color: var(--wp--preset--color--muted); margin-bottom: .6rem; }
.edvr-post__dot { width: 3px; height: 3px; border-radius: 50%; background: currentColor; opacity: .5; }
.edvr-post__title {
	font-size: 1.08rem; font-weight: 700; line-height: 1.32; letter-spacing: -.01em;
	color: var(--wp--preset--color--ink); margin-bottom: .5rem;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.edvr-post:hover .edvr-post__title { color: var(--wp--preset--color--brand-ink); }
.edvr-post__excerpt {
	font-size: .9rem; line-height: 1.55; color: var(--wp--preset--color--slate); margin-bottom: 1rem;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.edvr-post__more { margin-top: auto; font-size: .88rem; font-weight: 600; color: var(--wp--preset--color--brand-ink); }
.edvr-post__more::after { content: " \2192"; transition: margin-left .15s ease; }
.edvr-post:hover .edvr-post__more { color: var(--wp--preset--color--brand); }
.edvr-post:hover .edvr-post__more::after { margin-left: .2rem; }

@media (max-width: 781px) {
	.edvr-award .wp-block-columns { gap: 1.5rem; }
	.edvr-award .wp-block-column { flex-basis: 100% !important; }
	.edvr-posts { grid-template-columns: 1fr; }
}
@media (min-width: 782px) and (max-width: 980px) {
	.edvr-posts { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   Suchergebnisse (search.html)
   ============================================================ */
.edvr-search .wp-block-query-title { text-align: center; letter-spacing: -.02em; margin-bottom: 0; }
.edvr-search-results { margin-top: 0; }
.edvr-search-item { border-bottom: 1px solid var(--wp--preset--color--line); }
.edvr-search-item:last-of-type { border-bottom: none; }
.edvr-search-item .wp-block-post-title { margin: 0 0 .3rem; letter-spacing: -.01em; line-height: 1.3; }
.edvr-search-item .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.edvr-search-item .wp-block-post-title a:hover { color: var(--wp--preset--color--brand-ink); }
.edvr-search-item .wp-block-post-excerpt { margin: 0; }
.edvr-search-item .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--slate); font-size: .95rem; line-height: 1.55; }
.edvr-search-item .wp-block-post-excerpt__more-link { color: var(--wp--preset--color--brand-ink); font-weight: 600; text-decoration: none; }

/* ============================================================
   Mobile-Feinschliff (≤ 600px)
   ============================================================ */
@media (max-width: 600px) {
	/* Trust-Bar: Ticker — genau EINE Zeile sichtbar, wechselt sanft durch.
	   Nur transform (kein opacity): schlägt die Animation fehl, bleibt
	   Item 1 sichtbar, der Rest ist schlicht abgeschnitten. */
	.trust-bar { padding-block: 0; overflow: hidden; }
	.edvr-trustbar__inner {
		display: block; height: 32px; padding: 0;
		animation: edvr-tb-cycle 10.5s ease-in-out infinite;
	}
	.edvr-trustbar__item {
		display: flex; height: 32px; width: 100%;
		align-items: center; justify-content: center; white-space: nowrap;
	}
	.edvr-trustbar__item + .edvr-trustbar__item::before { display: none; }

	/* Hero-H1: zweiten Zwangsumbruch (nach „zum") aufheben -> kein verwaistes „zum";
	   „Gerät kaputt?" bleibt als Zeile, der Rest fließt natürlich. */
	.hero h1 br:nth-of-type(2) { display: none; }
	.hero h1 { line-height: 1.12; }

	/* Shop-/Kategorie-Grid: 2-spaltig statt 1 (dichter, weniger Scrollen) */
	.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: .6rem !important; }
	.woocommerce ul.products li.product, .woocommerce ul.products li.product-category { padding: 1rem .75rem !important; border-radius: 14px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; }
}

@media (prefers-reduced-motion: reduce) {
	:root { scroll-behavior: auto; }
	* { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ============================================================
   „So einfach geht's" — 3 Schritte als Prozess-Karten mit
   Mini-Vignetten (Platzhalter für spätere echte Fotos)
   ============================================================ */
.edvr-steps__head {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem;
}
.edvr-steps__eyebrow {
	display: block; font-size: .78rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em;
	color: var(--wp--preset--color--brand); margin-bottom: .3rem;
}
.edvr-steps__title { font-size: clamp(1.4rem, 2.4vw, 1.875rem); font-weight: 700; letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.edvr-steps__link { color: var(--wp--preset--color--brand-ink); font-weight: 500; white-space: nowrap; text-decoration: none; }
.edvr-steps__link:hover { text-decoration: underline; }

.edvr-steps__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem;
}
.edvr-step {
	position: relative; display: flex; flex-direction: column;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.edvr-step:hover { transform: translateY(-3px); box-shadow: var(--edvr-shadow-lg); border-color: #cbd5e1; }

/* Bühne (Vignette) — brand-getönte Fläche, später 1:1 durch Foto ersetzbar */
.edvr-step__stage {
	position: relative; height: 190px; display: flex;
	align-items: center; justify-content: center; gap: .9rem;
	background: linear-gradient(160deg, #f2f8fc, #e4f0f9);
	border-bottom: 1px solid var(--wp--preset--color--line);
	border-radius: 17px 17px 0 0; overflow: hidden;
}

.edvr-step__body { display: flex; gap: .85rem; padding: 1.15rem 1.35rem 1.3rem; align-items: flex-start; }
.edvr-step__num {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	width: 2rem; height: 2rem; margin-top: .1rem;
	background: var(--wp--preset--color--brand-soft);
	color: var(--wp--preset--color--brand-ink);
	font-weight: 700; font-size: .95rem; border-radius: 9px;
}
.edvr-step__heading { font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; margin: .2rem 0 .3rem; line-height: 1.25; }
.edvr-step__text { font-size: .92rem; color: var(--wp--preset--color--slate); margin: 0; line-height: 1.5; }

/* Verbinder-Chevron zwischen den Karten (nur breite Viewports) */
.edvr-step:not(:last-child)::after {
	content: ""; position: absolute; z-index: 2;
	top: 95px; right: calc(-.625rem - 14px); width: 28px; height: 28px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23025b89' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/14px no-repeat;
	border: 1px solid var(--wp--preset--color--line); border-radius: 50%;
	box-shadow: 0 2px 6px -2px rgba(15, 23, 42, .18);
}

/* --- Vignette 1: Gerät wählen --- */
.edvr-mini-phone {
	width: 62px; height: 112px; border-radius: 12px;
	border: 2px solid var(--wp--preset--color--brand-ink);
	background: #fff; position: relative; color: var(--wp--preset--color--brand);
}
.edvr-mini-phone::before {
	content: ""; position: absolute; top: 5px; left: 50%; transform: translateX(-50%);
	width: 18px; height: 4px; border-radius: 2px; background: var(--wp--preset--color--brand-ink); opacity: .55;
}
.edvr-mini-phone__crack { position: absolute; inset: 12px 10px; width: auto; height: auto; }
.edvr-mini-chips { display: flex; flex-direction: column; gap: .45rem; }
.edvr-mini-chip {
	font-size: .78rem; font-weight: 600; color: var(--wp--preset--color--slate);
	background: #fff; border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 999px; padding: .3rem .7rem; line-height: 1;
}
.edvr-mini-chip.is-on {
	color: var(--wp--preset--color--brand-ink);
	border-color: var(--wp--preset--color--brand); background: #eef7fc;
}

/* --- Vignette 2: Festpreis-Ticket --- */
.edvr-mini-price {
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px; padding: .8rem 1.05rem .85rem;
	box-shadow: 0 10px 22px -12px rgba(2, 91, 137, .35);
	transform: rotate(-2deg); transition: transform .2s ease;
}
.edvr-step:hover .edvr-mini-price { transform: rotate(0deg); }
.edvr-mini-price__device { display: block; font-size: .74rem; font-weight: 600; color: var(--wp--preset--color--slate); letter-spacing: .01em; }
.edvr-mini-price__amount { display: block; font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; color: var(--wp--preset--color--ink); margin: .05rem 0 .4rem; }
.edvr-mini-price__incl { list-style: none; margin: 0; padding: .5rem 0 0; border-top: 1px dashed var(--wp--preset--color--line); display: grid; gap: .3rem; }
.edvr-mini-price__incl li { display: flex; align-items: center; gap: .4rem; font-size: .76rem; font-weight: 600; color: var(--wp--preset--color--slate); }
.edvr-mini-price__incl svg { width: 13px; height: 13px; color: #16a34a; flex-shrink: 0; }

/* --- Vignette 3: Zwei Wege --- */
.edvr-stage--send { gap: .7rem; }
.edvr-mini-way {
	display: flex; flex-direction: column; align-items: center; gap: .2rem;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px; padding: .75rem .8rem; width: 122px; text-align: center;
}
.edvr-mini-way svg { width: 26px; height: 26px; color: var(--wp--preset--color--brand); margin-bottom: .15rem; }
.edvr-mini-way b { font-size: .8rem; font-weight: 700; color: var(--wp--preset--color--ink); }
.edvr-mini-way span { font-size: .68rem; font-weight: 500; color: var(--wp--preset--color--slate); line-height: 1.35; }
.edvr-mini-or {
	font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em;
	color: var(--wp--preset--color--slate); background: #fff;
	border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .25rem .5rem;
}

@media (max-width: 899px) {
	.edvr-steps__grid { grid-template-columns: minmax(0, 1fr); }
	.edvr-step:not(:last-child)::after {
		top: auto; right: auto; bottom: -.625rem; left: 50%;
		transform: translateX(-50%) rotate(90deg); margin-bottom: -14px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.edvr-step, .edvr-mini-price { transition: none; }
}

/* ============================================================
   Sektions-Baukasten: Kopf (Eyebrow/Titel/Link) + Split-Layout
   ============================================================ */
.edvr-shead {
	display: flex; justify-content: space-between; align-items: flex-end;
	gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem;
}
.edvr-shead__eyebrow {
	display: block; font-size: .78rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em;
	color: var(--wp--preset--color--brand); margin-bottom: .3rem;
}
.edvr-shead__eyebrow--eco { color: #15803d; }
.edvr-shead__title { font-size: clamp(1.4rem, 2.4vw, 1.875rem); font-weight: 700; letter-spacing: -.02em; margin: 0; line-height: 1.15; }
.edvr-shead__lead { font-size: .95rem; color: var(--wp--preset--color--slate); margin: .55rem 0 0; max-width: 56ch; }
.edvr-shead__link { color: var(--wp--preset--color--brand-ink); font-weight: 500; white-space: nowrap; text-decoration: none; }
.edvr-shead__link:hover { text-decoration: underline; }

.edvr-split {
	display: grid; grid-template-columns: 1.05fr .95fr;
	gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
}
.edvr-split__copy .edvr-shead__title { margin-bottom: .75rem; }
.edvr-split__text { color: var(--wp--preset--color--slate); line-height: 1.6; margin: 0 0 .9rem; }
.edvr-split__copy .edvr-arrowlink { display: inline-block; margin-top: .2rem; }

/* --- Service: 2x2 Icon-Kacheln --- */
.edvr-service__grid {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem;
}
.edvr-service__tile {
	display: flex; flex-direction: column; gap: .3rem;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px; padding: 1.1rem 1.15rem 1.15rem;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.edvr-service__tile:hover { transform: translateY(-3px); box-shadow: var(--edvr-shadow-lg); border-color: #cbd5e1; }
.edvr-service__ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 2.4rem; height: 2.4rem; border-radius: 10px; margin-bottom: .45rem;
	background: var(--wp--preset--color--brand-soft);
	color: var(--wp--preset--color--brand-ink);
}
.edvr-service__ico svg { width: 20px; height: 20px; }
.edvr-service__tile b { font-size: .95rem; font-weight: 700; color: var(--wp--preset--color--ink); letter-spacing: -.01em; }
.edvr-service__tile > span:last-child { font-size: .84rem; color: var(--wp--preset--color--slate); line-height: 1.5; }

/* --- Über uns: Standort-Karte --- */
.edvr-about__card {
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; overflow: hidden; box-shadow: var(--edvr-shadow);
}
.edvr-about__route {
	display: flex; align-items: center; justify-content: center; gap: .9rem;
	padding: 2.1rem 1.5rem; background: linear-gradient(160deg, #f2f8fc, #e4f0f9);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.edvr-about__node {
	display: flex; flex-direction: column; align-items: center; gap: .35rem;
	font-size: .78rem; font-weight: 700; color: var(--wp--preset--color--ink);
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px; padding: .7rem .9rem; min-width: 108px;
}
.edvr-about__node svg { width: 24px; height: 24px; color: var(--wp--preset--color--brand); }
.edvr-about__dash {
	flex: 0 1 72px; height: 0;
	border-top: 2px dashed rgba(2, 91, 137, .45);
}
.edvr-about__body { display: grid; gap: .3rem; padding: 1.15rem 1.35rem 1.25rem; }
.edvr-about__body b { font-size: .95rem; color: var(--wp--preset--color--ink); }
.edvr-about__body > span { font-size: .88rem; color: var(--wp--preset--color--slate); }
.edvr-about__coffee {
	display: inline-flex; align-items: center; gap: .5rem; margin-top: .55rem;
	padding-top: .8rem; border-top: 1px dashed var(--wp--preset--color--line);
	font-weight: 600; color: var(--wp--preset--color--brand-ink) !important;
}
.edvr-about__coffee svg { width: 17px; height: 17px; flex-shrink: 0; }

/* --- Umwelt: grünes Panel mit Checkliste --- */
.edvr-eco__panel {
	background: linear-gradient(160deg, #f2faf5, #e7f6ee);
	border: 1px solid #d3ead9; border-radius: 18px;
	padding: clamp(1.5rem, 3.5vw, 2.75rem);
}
.edvr-split--eco { align-items: center; }
.edvr-arrowlink--eco { color: #15803d !important; }
.edvr-eco__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.edvr-eco__list li {
	display: flex; align-items: flex-start; gap: .8rem;
	background: #fff; border: 1px solid #d3ead9; border-radius: 12px;
	padding: .85rem 1rem; font-size: .88rem; color: var(--wp--preset--color--slate); line-height: 1.5;
}
.edvr-eco__list b { color: var(--wp--preset--color--ink); }
.edvr-eco__ico {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	width: 2.1rem; height: 2.1rem; border-radius: 9px;
	background: #e3f5ea; color: #15803d;
}
.edvr-eco__ico svg { width: 17px; height: 17px; }

@media (max-width: 899px) {
	.edvr-split { grid-template-columns: 1fr; }
	.edvr-service__grid { grid-template-columns: 1fr 1fr; }
	.edvr-shead__lead { max-width: none; }
}
@media (max-width: 560px) {
	.edvr-service__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.edvr-service__tile { transition: none; }
}

/* ============================================================
   Warenkorb — zweispaltig: Positionen links, Summen-Karte rechts
   ============================================================ */
/* Ohne globales border-box laufen width:100%-Elemente (Summen-Karte,
   Kasse-Button) sonst um ihr Padding über den Viewport hinaus. */
.woocommerce-cart .entry-content .woocommerce,
.woocommerce-cart .entry-content .woocommerce *,
.woocommerce-cart .entry-content .woocommerce *::before,
.woocommerce-cart .entry-content .woocommerce *::after { box-sizing: border-box; }

.woocommerce-cart .entry-content > .woocommerce:has(.woocommerce-cart-form) {
	display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
	gap: 1.25rem 2rem; align-items: start;
}
/* Leerer Warenkorb: zentriert statt Grid */
.woocommerce-cart .entry-content > .woocommerce > .cart-empty,
.woocommerce-cart .wc-empty-cart-message { text-align: center; margin: 2rem auto .5rem; max-width: 520px; }
.woocommerce-cart .return-to-shop { text-align: center; margin: 0 auto 2.5rem; }
.woocommerce-cart .entry-content > .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .entry-content > .woocommerce > .edvr-shipping-bar { grid-column: 1 / -1; }
.woocommerce-cart form.woocommerce-cart-form { min-width: 0; }
/* leere wpautop-Absätze um den Shortcode */
.woocommerce-cart .entry-content > p:empty { display: none; }

/* Positions-Tabelle als Karte */
.woocommerce-cart table.shop_table {
	width: 100%; margin: 0;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td { border: 0; padding: 1rem .6rem; vertical-align: middle; }
.woocommerce-cart table.shop_table th:first-child,
.woocommerce-cart table.shop_table td:first-child { padding-left: 1rem; }
.woocommerce-cart table.shop_table th:last-child,
.woocommerce-cart table.shop_table td:last-child { padding-right: 1rem; }
.woocommerce-cart table.shop_table thead th {
	font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
	color: var(--wp--preset--color--slate); border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: .8rem;
}
.woocommerce-cart table.shop_table tbody td { border-bottom: 1px solid var(--wp--preset--color--line); }
.woocommerce-cart table.shop_table .product-remove { width: 44px; padding-right: 0; }
.woocommerce-cart table.shop_table .product-thumbnail { width: 96px; }
.woocommerce-cart table.shop_table th.product-name,
.woocommerce-cart table.shop_table td.product-name { width: 38%; text-align: left; }
.woocommerce-cart .product-thumbnail img {
	width: 72px; height: auto; border-radius: 10px;
	border: 1px solid var(--wp--preset--color--line); display: block;
}
.woocommerce-cart .product-name a { font-weight: 600; color: var(--wp--preset--color--ink); text-decoration: none; }
.woocommerce-cart .product-name a:hover { color: var(--wp--preset--color--brand-ink); text-decoration: underline; }
.woocommerce-cart .product-price, .woocommerce-cart .product-subtotal { white-space: nowrap; }

/* Entfernen-Kreuz: dezent, erst beim Hover rot */
.woocommerce-cart a.remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 28px; height: 28px; border-radius: 50%;
	color: var(--wp--preset--color--slate) !important; font-size: 1.15rem; font-weight: 400;
	transition: background .15s ease, color .15s ease;
}
.woocommerce-cart a.remove:hover { background: #fee2e2; color: #dc2626 !important; }

/* Menge */
.woocommerce-cart .quantity .qty {
	width: 4.2rem; padding: .5rem .35rem; text-align: center;
	border: 1.5px solid var(--wp--preset--color--line); border-radius: 10px;
	font-size: .95rem; background: #fff;
}
.woocommerce-cart .quantity .qty:focus { border-color: var(--wp--preset--color--brand); outline: none; }

/* Fußzeile der Tabelle: Gutschein + Aktualisieren */
.woocommerce-cart table.shop_table td.actions { padding: .9rem 1rem; background: var(--wp--preset--color--surface); }
.woocommerce-cart td.actions .coupon { display: inline-flex; gap: .5rem; align-items: stretch; float: none; }
.woocommerce-cart td.actions .coupon #coupon_code {
	width: 12rem; padding: .55rem .8rem; font-size: .9rem;
	border: 1.5px solid var(--wp--preset--color--line); border-radius: 10px; background: #fff;
}
.woocommerce-cart td.actions .coupon #coupon_code:focus { border-color: var(--wp--preset--color--brand); outline: none; }

/* Summen-Karte (sticky auf Desktop) */
.woocommerce-cart .cart-collaterals { width: 100%; min-width: 0; }
.woocommerce-cart .cart-collaterals .cart_totals {
	float: none; width: 100%;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: 1.35rem 1.5rem 1.5rem;
	box-shadow: var(--edvr-shadow);
	position: sticky; top: 105px;
}
.woocommerce-cart .cart_totals h2 {
	font-size: 1.1rem; font-weight: 700; letter-spacing: -.01em;
	margin: 0 0 .9rem; padding-bottom: .8rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce-cart .cart_totals table.shop_table { border: 0; border-radius: 0; overflow: visible; }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td { padding: .65rem 0; font-size: .93rem; }
.woocommerce-cart .cart_totals table.shop_table th { text-transform: none; letter-spacing: 0; font-size: .93rem; color: var(--wp--preset--color--ink); }
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { border-top: 1px solid var(--wp--preset--color--line); font-size: 1.05rem; font-weight: 800; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; display: grid; gap: .55rem; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { display: grid; grid-template-columns: auto 1fr; gap: .5rem; align-items: start; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods input { margin-top: .25rem; }
.woocommerce-cart .cart_totals .woocommerce-shipping-methods label { font-size: .88rem; line-height: 1.45; color: var(--wp--preset--color--slate); }
.woocommerce-cart .wc-proceed-to-checkout { padding: 1rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; text-align: center; margin: 0; }

@media (max-width: 899px) {
	/* WICHTIG: gleicher Selektor wie die Grid-Basisregel (inkl. :has),
	   sonst verliert der Override den Spezifitäts-Vergleich. */
	.woocommerce-cart .entry-content > .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-cart .cart-collaterals .cart_totals { position: static; }
	/* Gutschein + Aktualisieren: volle Breite, gestapelt */
	.woocommerce-cart td.actions .coupon { display: flex; flex-direction: column; gap: .6rem; margin-bottom: .6rem; }
	.woocommerce-cart td.actions .coupon #coupon_code { width: 100%; padding-block: .7rem; }
	.woocommerce-cart table.cart td.actions .coupon .button,
	.woocommerce-cart table.cart td.actions > .button { width: 100%; float: none; margin: 0; }
	.woocommerce-cart table.cart td.actions > .button { margin-top: .6rem; }
	/* Gestapelte Zeilen (Woo-Responsive-Tabelle) aufgeräumt */
	.woocommerce-cart table.shop_table_responsive tr { display: block; padding: .5rem .25rem; border-bottom: 1px solid var(--wp--preset--color--line); }
	.woocommerce-cart table.shop_table_responsive tr td { border: 0; padding: .45rem .75rem; }
}

/* ============================================================
   Widerrufs-Button (Germanized OWB) — als ruhiger Ghost-Button
   in der Footer-Bottom-Bar statt frei schwebend unter dem Footer
   ============================================================ */
.site-footer .footer-bottom { row-gap: .6rem; }
.site-footer .eu-owb-order-withdraw-from-contract-button { margin: 0; text-align: inherit; }
.site-footer .eu-owb-order-withdraw-from-contract-button a {
	display: inline-block; padding: .45rem 1rem;
	font-size: .82rem; font-weight: 600; line-height: 1.2;
	color: var(--wp--preset--color--line) !important;
	background: transparent; border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 999px; text-decoration: none; box-shadow: none;
	transition: border-color .15s ease, color .15s ease, background .15s ease;
}
.site-footer .eu-owb-order-withdraw-from-contract-button a:hover {
	color: #fff !important; border-color: rgba(255, 255, 255, .55);
	background: rgba(255, 255, 255, .06); transform: none;
}
@media (max-width: 640px) {
	.site-footer .footer-bottom { justify-content: center; text-align: center; }
}

/* ============================================================
   Mobiler Header — kompaktes Logo, Burger neben Warenkorb,
   Trust-Bar-Ticker (Keyframes; Media-Regeln s. o.)
   ============================================================ */
@keyframes edvr-tb-cycle {
	0%, 27%   { transform: translateY(0); }
	33%, 60%  { transform: translateY(-32px); }
	66%, 93%  { transform: translateY(-64px); }
	100%      { transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
	.edvr-trustbar__inner { animation: none !important; }
}

@media (max-width: 900px) {
	/* Logo kompakter, Zeile niedriger */
	.header-main { padding-block: .6rem !important; }
	.header-main .wp-block-site-logo img { width: 132px !important; height: auto !important; }
	/* Logo links (nimmt den Freiraum), Burger + Warenkorb als Paar rechts */
	.header-main > .wp-block-group { justify-content: flex-start; gap: .35rem; }
	.header-main .wp-block-site-logo { margin-right: auto; }
	/* Burger und Mini-Cart optisch angleichen */
	.header-actions .wc-block-mini-cart__button { padding: .45rem; }
	.header-actions .wc-block-mini-cart__badge {
		box-shadow: 0 0 0 2px #fff; /* weißer Ring löst das Badge sauber vom Icon */
	}
}

/* ============================================================
   Produkt-Add-ons (zaddon) — EINE kompakte Options-Karte.
   Die Gruppentitel des Plugins sind redundant (jede Gruppe hat
   genau eine gleichnamige Option) -> ausgeblendet; alle Gruppen
   verschmelzen optisch zu einer Karte mit Trennlinien
   (Konfigurator-Muster à la Apple/Baymard).
   ============================================================ */
.zaddon-type-container {
	margin: 0 !important; position: relative;
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-top: 0;
}
/* erster Container: Karte oben öffnen + Eyebrow darüber */
.zaddon-type-container:not(.zaddon-type-container + .zaddon-type-container) {
	border-top: 1px solid var(--wp--preset--color--line);
	border-radius: 12px 12px 0 0; margin-top: 2.1rem !important;
}
.zaddon-type-container:not(.zaddon-type-container + .zaddon-type-container)::before {
	content: "Extras dazubuchen · optional";
	position: absolute; top: -1.55rem; left: 0;
	font-size: .75rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .07em;
	color: var(--wp--preset--color--slate);
}
/* letzter Container: Karte unten schließen */
.zaddon-type-container:not(:has(+ .zaddon-type-container)) { border-radius: 0 0 12px 12px; }
.zaddon-type-container:not(.zaddon-type-container + .zaddon-type-container):not(:has(+ .zaddon-type-container)) { border-radius: 12px; }
/* redundante Gruppentitel weg; Optionen zugeklappter Gruppen sichtbar erzwingen
   (Plugin versteckt via .zaddon_closed div, der Toggle ist mit dem h3 weg) */
.zaddon-type-container > h3 { display: none !important; }
.zaddon-type-container.zaddon_closed .zaddon_option { display: flex !important; }
.zaddon_option { margin: 0 !important; }
.zaddon_option + .zaddon_option { border-top: 1px solid var(--wp--preset--color--line); }
.zaddon_option label {
	display: flex; align-items: center; gap: .65rem;
	padding: .62rem .9rem; margin: 0;
	cursor: pointer; font-weight: 500;
	transition: background .15s ease;
}
.zaddon_option label:hover { background: var(--wp--preset--color--surface); }
.zaddon_option label:has(input:checked) { background: #eef7fc; }
.zaddon_option input[type="checkbox"],
.zaddon_option input[type="radio"] {
	width: 17px; height: 17px; flex-shrink: 0; margin: 0;
	accent-color: var(--wp--preset--color--brand); cursor: pointer;
}
/* Klammern um den Preis sind nackte Textknoten -> über font-size:0
   ausblenden, Titel/Preis/Tooltip bekommen ihre Größe zurück.
   Flex-Order: Titel -> Info-Icon -> Preis. Das Icon rückt zum Titel,
   der Preis liegt in JEDER Zeile bündig am rechten Kartenrand. */
.zaddon-radio-title { display: flex; align-items: center; gap: .45rem; flex: 1; min-width: 0; font-size: 0; }
.zaddon-radio-title .zaddon_title { order: 0; font-size: .92rem; color: var(--wp--preset--color--ink); }
.zaddon-radio-title .za-tooltip { order: 1; font-size: .92rem; top: 0; margin: 0; }
.zaddon-radio-title .woocommerce-Price-amount {
	order: 2; font-size: .86rem; font-weight: 700;
	color: var(--wp--preset--color--accent);
	margin-left: auto; white-space: nowrap;
}
.zaddon-radio-title .woocommerce-Price-amount::before { content: "+\00a0"; }
/* Trennlinie zwischen den (verschmolzenen) Gruppen entfällt — Border der Container übernimmt */

/* Menge + In den Warenkorb in einer Zeile.
   Einfache Produkte: qty+Button direkt im form.cart. Variationen:
   beide stecken in .woocommerce-variation-add-to-cart. */
.woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: stretch; gap: .6rem; }
.woocommerce div.product form.cart:not(.variations_form) > *:not(.quantity):not(.single_add_to_cart_button) { flex-basis: 100%; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: .6rem; }
/* Add-on-Gruppen/Summen werden per AJAX hier hinein injiziert -> volle Breite,
   nur Menge + Button teilen sich die letzte Zeile */
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button) { flex-basis: 100%; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product form.cart .quantity .qty {
	width: 4.2rem; height: 100%; min-height: 48px; padding: .5rem .35rem; text-align: center;
	border: 1.5px solid var(--wp--preset--color--line); border-radius: 12px;
	font-size: 1rem; background: #fff; box-sizing: border-box;
}
.woocommerce div.product form.cart .quantity .qty:focus { outline: none; border-color: var(--wp--preset--color--brand); }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; margin: 0; }

/* ============================================================
   Produktseite: FAQ, Trust-Block, Sticky-Kaufleiste (Conversion)
   ============================================================ */
/* FAQ unter beide Produkt-Spalten (clear fixt die Float-Kollision) */
.edvr-product-faq { clear: both; margin: 2.25rem 0 .75rem; max-width: none; }
.edvr-product-faq__title { font-size: 1.25rem !important; font-weight: 700 !important; letter-spacing: -.01em; margin: 0 0 .9rem !important; }
.edvr-product-faq details {
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px; margin-bottom: .5rem; overflow: hidden;
}
.edvr-product-faq summary {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: .85rem 1.1rem; font-weight: 600; font-size: .95rem;
	cursor: pointer; list-style: none;
}
.edvr-product-faq summary::-webkit-details-marker { display: none; }
.edvr-product-faq summary::after {
	content: ""; flex: 0 0 auto; width: 16px; height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;
	transition: transform .2s ease;
}
.edvr-product-faq details[open] summary::after { transform: rotate(45deg); }
.edvr-product-faq__answer { padding: 0 1.1rem 1rem; font-size: .92rem; line-height: 1.6; color: var(--wp--preset--color--slate); }

/* Add-on-Summen + PayPal-Buttons erst zeigen, wenn eine Reparatur gewählt ist
   ("Gesamt: 0,00 €" + graue Buttons sind Conversion-Gift) */
/* !important nötig: das Add-on-Plugin setzt per JS inline display:block.
   PayPal-Wrapper liegt AUSSERHALB von form.cart (Geschwister in .summary)
   -> Ausblendung über die Summary gescoped. */
.woocommerce div.product form.cart:has(.woocommerce-variation-add-to-cart-disabled) .zaddon_data,
.woocommerce div.product .summary:has(.woocommerce-variation-add-to-cart-disabled) .ppc-button-wrapper { display: none !important; }

/* Trust-Block unter dem Kauf-Button */
.edvr-buy-trust { clear: both; margin: .9rem 0 1rem; display: grid; gap: .55rem; }
.edvr-buy-trust__ts {
	display: flex; align-items: center; gap: .55rem;
	font-size: .88rem; color: var(--wp--preset--color--slate); text-decoration: none;
	background: #fffdf5; border: 1px solid #f2e4bd; border-radius: 10px; padding: .6rem .85rem;
}
.edvr-buy-trust__ts:hover span:last-child { text-decoration: underline; }
.edvr-buy-trust__ts strong { color: var(--wp--preset--color--ink); }
.edvr-buy-trust__stars { color: #f5a623; letter-spacing: .1em; font-size: .95rem; flex-shrink: 0; }
.edvr-buy-trust__pay { display: flex; flex-wrap: wrap; gap: .35rem .45rem; }
.edvr-buy-trust__pay span {
	font-size: .74rem; font-weight: 600; color: var(--wp--preset--color--slate);
	background: var(--wp--preset--color--surface-2);
	border-radius: 999px; padding: .22rem .6rem;
}

/* Mobile Sticky-Kaufleiste */
.edvr-sticky-buy {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
	display: none; align-items: center; gap: .8rem;
	padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom));
	background: #fff; border-top: 1px solid var(--wp--preset--color--line);
	box-shadow: 0 -6px 24px -12px rgba(15, 23, 42, .25);
}
.edvr-sticky-buy[hidden] { display: none !important; }
.edvr-sticky-buy__info { display: grid; min-width: 0; flex: 1; }
.edvr-sticky-buy__label { font-size: .74rem; font-weight: 600; color: var(--wp--preset--color--slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.edvr-sticky-buy__price { font-size: .95rem; font-weight: 800; color: var(--wp--preset--color--accent); }
.edvr-sticky-buy__btn {
	flex: 0 0 auto; background: var(--wp--preset--color--brand); color: #fff !important;
	font-weight: 600; font-size: .9rem; text-decoration: none;
	border-radius: 999px; padding: .65rem 1.15rem;
}
@media (max-width: 900px) {
	.single-product .edvr-sticky-buy:not([hidden]) { display: flex; }
}

/* ============================================================
   Produktseite: Feinschliff (Scan 21.08.)
   ============================================================ */
/* Tab-Navigation verstecken, wenn nur noch ein Tab übrig ist —
   die Beschreibung läuft dann als normale Sektion weiter */
.woocommerce-tabs ul.tabs:has(li:only-child) { display: none; }
.woocommerce div.product .woocommerce-tabs .panel { margin-top: 0; }

/* 'Artikelnummer: n. v.' bringt dem Kunden nichts */
.product_meta .sku_wrapper { display: none; }

/* Disabled-Kaufbutton erklären statt nur ausgrauen */
.woocommerce-variation-add-to-cart-disabled::before {
	content: "↑ Wähle zuerst deine Variante aus";
	display: block; flex-basis: 100%;
	font-size: .85rem; font-weight: 600;
	color: var(--wp--preset--color--brand-ink);
	margin-bottom: .1rem;
}

/* Hinweisboxen in der Beschreibung: informieren statt alarmieren
   (die gelbe Box dominierte die halbe Beschreibung) */
.woocommerce-Tabs-panel .edvr-box,
.woocommerce-Tabs-panel [class*="box"][style*="background"] { font-size: .88rem; }
.woocommerce-Tabs-panel--description > *:not(h2) { max-width: 76ch; }

/* Cross-/Upsell-Karten: Hover-Lift wie überall, Titel nicht fett-riesig */
.woocommerce .up-sells ul.products li.product,
.woocommerce .related ul.products li.product { transition: transform .2s ease, box-shadow .2s ease; }
.woocommerce .up-sells ul.products li.product:hover,
.woocommerce .related ul.products li.product:hover { transform: translateY(-3px); box-shadow: var(--edvr-shadow-lg); }
.woocommerce .up-sells h2.woocommerce-loop-product__title,
.woocommerce .related h2.woocommerce-loop-product__title { font-size: .95rem; }

/* ============================================================
   "Gut zu wissen"-Zone: Beschreibung links, FAQ rechts (sticky)
   ============================================================ */
.edvr-know {
	clear: both; display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 0 clamp(1.5rem, 4vw, 3.5rem);
	align-items: start; margin-top: 1.5rem;
}
/* Randspalte (FAQ + Testimonials) fährt als EIN Block sticky mit */
.edvr-know__side {
	order: 2; min-width: 0;
	position: sticky; top: 105px; align-self: start;
	display: grid; gap: 1.5rem; align-content: start;
}
.edvr-know .edvr-product-faq { clear: none; margin: 0; }
.edvr-know .woocommerce-tabs { min-width: 0; order: 1; }
/* FAQ-Karten in der schmalen Spalte kompakter */
.edvr-know .edvr-product-faq summary { padding: .7rem .9rem; font-size: .88rem; }
.edvr-know .edvr-product-faq__answer { padding: 0 .9rem .85rem; font-size: .86rem; }
.edvr-know .edvr-product-faq__title { font-size: 1.05rem !important; }

/* Tabs als Pills statt Woo-Standard-Reiter */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; gap: .4rem; margin: 0 0 1rem; padding: 0;
	border: 0; background: none; overflow: visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0; padding: 0; border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 999px; background: #fff; box-shadow: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: .45rem 1rem; font-size: .88rem; font-weight: 600;
	color: var(--wp--preset--color--slate);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: var(--wp--preset--color--brand-soft);
	border-color: var(--wp--preset--color--brand);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--brand-ink); }
/* Panel-Kopf ("Beschreibung"-H2) — die Pille sagt es schon */
.woocommerce-Tabs-panel--description > h2:first-child { display: none; }
.woocommerce-Tabs-panel { padding-top: .25rem; }

/* Mehr-lesen-Klapper (JS setzt .edvr-clamp; ohne JS alles sichtbar).
   Kein opacity-Fade des Inhalts — nur ein Maskenauslauf am Deckel. */
.edvr-clamp:not(.edvr-clamp--open) {
	max-height: 480px; overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, #000 72%, transparent);
	mask-image: linear-gradient(to bottom, #000 72%, transparent);
}
.edvr-clamp__btn {
	display: inline-block; margin: .35rem 0 .5rem;
	background: none; border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 999px; padding: .45rem 1.1rem;
	font-size: .88rem; font-weight: 600; color: var(--wp--preset--color--brand-ink);
	cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.edvr-clamp__btn:hover { border-color: var(--wp--preset--color--brand); background: var(--wp--preset--color--brand-soft); }

@media (max-width: 900px) {
	.edvr-know { grid-template-columns: minmax(0, 1fr); }
	.edvr-know .edvr-product-faq { position: static; margin-bottom: 0; }
}

/* ============================================================
   'Gut zu wissen' v2: gemeinsamer Kopf, keine Tab-UI,
   GPSR als kompakte Fußnote, klare Spaltentrennung
   ============================================================ */
.edvr-know__head { grid-column: 1 / -1; margin-bottom: 1.4rem; }
.edvr-know__head .edvr-shead__title { margin: 0; }
/* Tab-Pills raus — beide Panels laufen untereinander (GPSR bleibt sichtbar) */
.edvr-know .woocommerce-tabs ul.tabs { display: none !important; }
.edvr-know .woocommerce-Tabs-panel { display: block !important; padding-top: 0; }
/* Produktsicherheit (GPSR-Pflicht) als dezente Fußnote unter der Beschreibung */
.edvr-know .woocommerce-Tabs-panel--product_safety {
	margin-top: 1.5rem; padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: .82rem; color: var(--wp--preset--color--muted);
}
.edvr-know .woocommerce-Tabs-panel--product_safety h2,
.edvr-know .woocommerce-Tabs-panel--product_safety h3 {
	font-size: .78rem !important; font-weight: 700 !important;
	text-transform: uppercase; letter-spacing: .06em;
	color: var(--wp--preset--color--slate) !important; margin: 0 0 .5rem !important;
}
/* Randspalte optisch andocken */
.edvr-know__side {
	border-left: 1px solid var(--wp--preset--color--line);
	padding-left: clamp(1.25rem, 2.5vw, 2rem);
}
@media (max-width: 900px) {
	.edvr-know__side { border-left: 0; padding-left: 0; position: static; order: 2; }
}

/* ============================================================
   Produktkarten (Loop/Upsell/Related) v2 — echtes Grid,
   Bild in voller Kartenbreite, Preis-Fußzeile mit Chevron
   ============================================================ */
.woocommerce ul.products {
	display: grid !important; gap: 1.1rem; margin: 0 0 1rem !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: auto !important; float: none !important; margin: 0 !important;
	display: flex; flex-direction: column; text-align: left;
	background: #fff !important; border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 14px; overflow: hidden; padding: 0 !important; position: relative;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px); box-shadow: var(--edvr-shadow-lg);
	border-color: var(--wp--preset--color--brand) !important;
}
/* Bild füllt die Karte in fester Ratio — kein schwebendes Briefmarken-Bild.
   Der Produkt-Link muss Block sein, sonst ist width:100% des Bildes
   zirkulär (shrink-to-fit-Anchor) und es bleibt bei Thumbnail-Größe. */
/* Der Loop-Anchor enthält Bild + Titel + Preis. Als Flex-Säule in voller
   Kartenhöhe kann margin-top:auto den Preis an den Kartenboden schieben —
   alle Preiszeilen liegen dann kartenübergreifend auf einer Linie. */
.woocommerce ul.products li.product > a,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex; flex-direction: column; align-items: stretch;
	width: 100%; height: 100%; flex: 1;
}
.woocommerce ul.products li.product a img {
	width: 100% !important; max-width: 100%; aspect-ratio: 1 / 1; height: auto;
	object-fit: cover; display: block;
	border: 0; border-radius: 0; margin: 0 0 .9rem !important;
	transition: transform .25s ease;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .up-sells h2.woocommerce-loop-product__title,
.woocommerce .related h2.woocommerce-loop-product__title {
	font-size: .93rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.35;
	text-align: left; padding: 0 1.05rem; margin: 0 0 .4rem;
	color: var(--wp--preset--color--ink);
}
/* Preis-Fußzeile: immer am Kartenboden, Chevron als Klick-Signal */
.woocommerce ul.products li.product .price {
	display: flex !important; align-items: center; gap: .35rem;
	margin-top: auto !important; padding: .5rem 1.05rem 1rem; text-align: left;
	color: var(--wp--preset--color--accent) !important; font-weight: 800; font-size: 1rem;
}
.woocommerce ul.products li.product .price .woocommerce-price-suffix {
	font-size: .72rem; font-weight: 500; color: var(--wp--preset--color--muted);
}
.woocommerce ul.products li.product .price::after {
	content: ""; margin-left: auto; width: 26px; height: 26px; border-radius: 50%;
	background: var(--wp--preset--color--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23025b89' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E") center/13px no-repeat;
	transition: background-color .15s ease;
}
.woocommerce ul.products li.product:hover .price::after { background-color: var(--wp--preset--color--brand-soft); }
/* Kategorie-Kacheln: gleiche Innenabstände (haben keine Preis-Fußzeile) */
.woocommerce ul.products li.product-category { padding-bottom: 1rem !important; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce ul.products li.product-category .edvr-cat-count { padding: 0 1.05rem; text-align: left; margin: 0; }
.woocommerce ul.products li.product-category .woocommerce-loop-category__title { font-size: .95rem; font-weight: 700; }
/* Sektionsköpfe der Cross-Sells im Site-Duktus */
.woocommerce .up-sells > h2:first-child, .woocommerce .related > h2:first-child {
	font-size: clamp(1.3rem, 2.2vw, 1.6rem); font-weight: 700; letter-spacing: -.02em;
	margin: 2.25rem 0 1.1rem;
}
@media (max-width: 900px) {
	.woocommerce ul.products, .woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4, .woocommerce ul.products.columns-5 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Bewertungs-Echtheits-Hinweis nur in Produkt-LISTEN ausblenden — dort
   werden keine Bewertungen mehr angezeigt, also keine Hinweispflicht.
   (Auf der Produktseite selbst bleibt er unangetastet.) */
ul.products .wc-gzd-rating-authenticity-status { display: none; }
ul.products .star-rating { display: none; }

/* ============================================================
   Testimonials (Trusted Shops) — kompakte Karte in der Randspalte
   ============================================================ */
.edvr-testimonials {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px; padding: 1.1rem 1.15rem 1.15rem;
}
.edvr-testimonials__title {
	font-size: .78rem !important; font-weight: 700 !important;
	text-transform: uppercase; letter-spacing: .07em;
	color: var(--wp--preset--color--slate) !important; margin: 0 0 .6rem !important;
}
.edvr-testimonials__score {
	display: flex; align-items: center; gap: .5rem;
	margin: 0 0 .5rem; font-size: .9rem; color: var(--wp--preset--color--slate);
}
.edvr-testimonials__widget { min-height: 32px; }
.edvr-testimonials__link {
	display: inline-block; margin-top: .6rem; font-size: .84rem; font-weight: 600;
	color: var(--wp--preset--color--brand-ink); text-decoration: none;
}
.edvr-testimonials__link:hover { text-decoration: underline; }

/* Statische TS-Zeile im Testimonial-Kopf ist nur Fallback: sobald das
   eTrusted-Custom-Element definiert ist (Script geladen), übernimmt das
   Live-Widget — sonst stünden zwei Sterne-Zeilen untereinander. */
.edvr-testimonials:has(etrusted-widget:defined) .edvr-testimonials__score { display: none; }

/* ============================================================
   Cross-Sells mobil: wischbarer Slider statt Karten-Turm
   ============================================================ */
/* Preiszeile bricht nie um (259,99 € + inkl. MwSt. + Chevron) */
.woocommerce ul.products li.product .price { flex-wrap: nowrap; min-width: 0; }
.woocommerce ul.products li.product .price .woocommerce-price-suffix { white-space: nowrap; }

@media (max-width: 640px) {
	/* Eine wischbare Reihe (Muster wie der 'Warum EDV-Repair?'-Slider);
	   angeschnittene Folgekarte signalisiert 'mehr'. Kategorielisten
	   behalten ihr 2-Spalten-Grid (Browsing), nur Produktseiten-Cross-Sells. */
	.woocommerce .up-sells ul.products, .woocommerce .related ul.products {
		display: flex !important; overflow-x: auto; gap: .75rem;
		scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
		padding: .25rem .25rem 1rem; margin: 0 -.25rem 1rem !important;
		scrollbar-width: thin; scrollbar-color: var(--wp--preset--color--line) transparent;
	}
	.woocommerce .up-sells ul.products::-webkit-scrollbar,
	.woocommerce .related ul.products::-webkit-scrollbar { height: 4px; }
	.woocommerce .up-sells ul.products li.product,
	.woocommerce .related ul.products li.product {
		flex: 0 0 66%; max-width: 66%; scroll-snap-align: start;
	}
	.woocommerce ul.products li.product .price { font-size: .95rem; }
	.woocommerce ul.products li.product .price .woocommerce-price-suffix { font-size: .68rem; }
}

/* ============================================================
   Warenkorb-UX: Upsell im Versandbalken, Gutschein-Toggle,
   Auto-Update, Trust an der Kasse-Schwelle
   ============================================================ */
/* Lücken-Schließer-Angebote im Versandbalken */
.edvr-shipping-bar__upsell {
	display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .6rem;
	margin-top: .7rem; padding-top: .7rem; border-top: 1px dashed #bbf7d0;
}
.edvr-shipping-bar__upsell > span { font-size: .82rem; font-weight: 600; color: #166534; }
.edvr-shipping-bar__offer {
	display: inline-block; font-size: .82rem; font-weight: 600;
	color: #166534 !important; background: #fff;
	border: 1.5px solid #86efac; border-radius: 999px; padding: .3rem .75rem;
	text-decoration: none; transition: background .15s ease, border-color .15s ease;
}
.edvr-shipping-bar__offer:hover { background: #dcfce7; border-color: #22c55e; }

/* Menge aktualisiert automatisch -> Woo-Button ist überflüssig */
.woocommerce-cart button[name="update_cart"] { display: none !important; }

/* Gutschein eingeklappt hinter Toggle */
.edvr-coupon-toggle {
	background: none; border: none; padding: 0; cursor: pointer;
	font-size: .85rem; font-weight: 600; color: var(--wp--preset--color--brand-ink);
	text-decoration: underline; text-underline-offset: 3px;
}
.woocommerce-cart td.actions .coupon { display: none; }
.woocommerce-cart td.actions .coupon.is-open { display: flex; margin-top: .6rem; }

/* Trust-Zeile unter dem Kasse-Button in der Summen-Karte */
.cart_totals .edvr-buy-trust--cart { margin: .9rem 0 0; }
.cart_totals .edvr-buy-trust--cart .edvr-buy-trust__ts { font-size: .82rem; padding: .5rem .7rem; }

/* Warenkorb/Kasse: Woos blocktheme.css presst Shortcode-Seiten auf 1000px —
   volle Inhaltsbreite (alignwide) freigeben */
.woocommerce-cart .entry-content > .woocommerce,
.woocommerce-checkout .entry-content > .woocommerce { max-width: none !important; }

/* Testimonial-Band im Warenkorb: sitzt IM Formular-Container direkt
   unter der Produkttabelle (woocommerce_after_cart_table) */
.edvr-testimonials--band { margin-top: 1.25rem; padding: 1.4rem 1.5rem 1.5rem; }
.edvr-testimonials--band .edvr-reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Echte Bewertungs-Boxen (lokale Google-Reviews via Trustindex) */
.edvr-reviews { display: grid; gap: .8rem; margin: 1rem 0 .25rem; }
.edvr-review {
	margin: 0; padding: .9rem 1rem 1rem;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
}
.edvr-review__stars { color: #f5a623; font-size: .85rem; letter-spacing: .12em; }
.edvr-review__text {
	margin: .45rem 0 .55rem; padding: 0; border: 0;
	font-size: .88rem; line-height: 1.55; color: var(--wp--preset--color--ink);
	font-style: normal;
}
.edvr-review__text::before { content: "\201E"; }
.edvr-review__text::after { content: "\201C"; }
.edvr-review__meta { font-size: .76rem; color: var(--wp--preset--color--muted); }
.edvr-review__meta strong { color: var(--wp--preset--color--slate); }

@media (max-width: 900px) {
	.edvr-testimonials--band .edvr-reviews { grid-template-columns: 1fr; }
	.woocommerce-cart .entry-content > .woocommerce .edvr-testimonials--band { grid-column: 1 / -1; }
}

/* ============================================================
   Warenkorb beruhigt: kompakter Versandbalken, eingeklappte
   Versandwahl, weniger Redundanz (Experten-Pass 21.08.)
   ============================================================ */
/* Versandstatus-Komponente: Icon + Text + Fortschritt mit Verlauf.
   Sitzt im Warenkorb in der Summen-Karte (Zeile über der Sendung),
   im Checkout als dezenter Kasten oben. */
.edvr-shipping-bar { font-size: .84rem; box-sizing: border-box; }
.edvr-shipping-bar__text {
	display: flex; align-items: center; gap: .5rem;
	color: #166534; margin-bottom: 7px; line-height: 1.4;
}
.edvr-shipping-bar__ico { width: 18px; height: 18px; flex-shrink: 0; color: #16a34a; }
.edvr-shipping-bar__text--done { margin-bottom: 0; }
.edvr-shipping-bar__track { background: var(--wp--preset--color--surface-2); border-radius: 99px; height: 7px; overflow: hidden; }
.edvr-shipping-bar__fill {
	background: linear-gradient(90deg, #4ade80, #16a34a);
	height: 100%; border-radius: 99px; transition: width .3s;
}
/* In der Summen-Karte: als ruhige Zeile zwischen Zwischensumme und Sendung */
.cart_totals .edvr-ship-progress-row td {
	padding: .7rem 0 .75rem !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce-checkout .edvr-shipping-bar {
	background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px;
	padding: 12px 16px; margin: 0 0 1rem;
}
/* Upsell in der Karten-Fußzeile: Vorschlag links, Gutschein rechts.
   WICHTIG: td bleibt table-cell (flex auf <td> zerreißt die Tabelle) —
   Verteilung über Floats. */
.edvr-gap-offers {
	float: left; display: inline-flex; flex-wrap: wrap; align-items: center;
	gap: .4rem .55rem; font-size: .84rem; color: var(--wp--preset--color--slate);
	text-align: left; max-width: 75%;
}
.edvr-gap-offers__label strong { color: #166534; }
.woocommerce-cart td.actions .edvr-coupon-toggle { float: right; line-height: 2; }
.woocommerce-cart td.actions .coupon.is-open { clear: both; justify-content: flex-end; padding-top: .6rem; }
@media (max-width: 640px) {
	.edvr-gap-offers { float: none; max-width: none; margin-bottom: .5rem; }
	.woocommerce-cart td.actions .edvr-coupon-toggle { float: none; }
}

/* Versandwahl eingeklappt: nur die gewählte Rate sichtbar */
.cart_totals .woocommerce-shipping-methods.edvr-ship-collapsed li { display: none; }
.cart_totals .woocommerce-shipping-methods.edvr-ship-collapsed li:has(input:checked) { display: grid; }
.cart_totals .woocommerce-shipping-methods.edvr-ship-collapsed li input { display: none; }
.edvr-ship-toggle {
	background: none; border: none; padding: 0; margin-top: .35rem; cursor: pointer;
	font-size: .8rem; font-weight: 600; color: var(--wp--preset--color--brand-ink);
	text-decoration: underline; text-underline-offset: 3px;
}
/* Der Hinweis 'Versandoptionen werden während des Bezahlvorgangs
   aktualisiert' ist mit eingeklappter Wahl + Toggle redundant */
.woocommerce-cart .woocommerce-shipping-destination { display: none; }

/* Band im Cart: ohne Widget-Zeile kompakter Kopf */
.edvr-testimonials--band .edvr-testimonials__title { margin-bottom: .35rem !important; }
.edvr-testimonials--band .edvr-reviews { margin-top: .6rem; }

/* Warenkorb-Kopfzeile: H1 links, Versandbalken rechts (JS-Move) */
.edvr-cart-head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 2rem; flex-wrap: wrap; margin-bottom: 1.25rem;
}
.edvr-cart-head h1 { margin: 0 !important; }
.edvr-cart-head .edvr-shipping-bar { flex: 0 1 460px; margin: 0 !important; }
@media (max-width: 900px) {
	.edvr-cart-head { flex-direction: column; align-items: stretch; gap: 1rem; }
	.edvr-cart-head .edvr-shipping-bar { flex-basis: auto; }
}

/* Cart/Checkout in der Site-Flucht: WooCommerce zwingt post-title und
   post-content dieser Seiten auf alignwide (1320) — zurück auf die
   Inhaltsbreite, mit der Header-Logo und alle anderen Seiten laufen. */
.woocommerce-cart main > .alignwide,
.woocommerce-checkout main > .alignwide {
	max-width: var(--wp--style--global--content-size, 1180px) !important;
}

/* ============================================================
   Kasse: zweispaltig wie der Warenkorb — Formular links,
   Bestellübersicht rechts als sticky Karte (23.08.)
   ============================================================
   Struktur des klassischen Shortcode-Checkouts:
     form.checkout
       #customer_details        .col-1 Rechnung  |  .col-2 Lieferung + Zusatz
       .edvr-checkout-aside     Überschrift + #order_review   (Wrapper aus
                                includes/checkout-ux.php — WooCommerce gibt
                                beide als Geschwister aus, sticky braucht eine
                                gemeinsame Grid-Zelle)
*/

.woocommerce-checkout .entry-content .woocommerce,
.woocommerce-checkout .entry-content .woocommerce *,
.woocommerce-checkout .entry-content .woocommerce *::before,
.woocommerce-checkout .entry-content .woocommerce *::after { box-sizing: border-box; }

.woocommerce-checkout form.checkout {
	display: grid;
	/* 1.5:1 statt 1.65:1 wie im Warenkorb — die Versandbezeichnungen sind
	   lang ("Versicherter Hin- und Rückversand inkl. flüssiges Panzerglas*,
	   Standard-Reparaturzeit** + 2-3 Werktage Rückversand") und brechen in
	   einer schmaleren Spalte zu oft um. */
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 1.25rem 2rem;
	align-items: start;
}
/* Alles, was nicht die zwei Spalten ist (Fehlermeldungen, Germanized-Einschübe),
   läuft über die volle Breite und schiebt das Raster nach unten. */
.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; }
.woocommerce-checkout form.checkout > .edvr-checkout-aside { grid-column: 2; }

.edvr-checkout-aside { position: sticky; top: 105px; display: grid; gap: .75rem; }
.edvr-checkout-aside #order_review_heading {
	margin: 0; font-size: 1.1rem; font-weight: 700; letter-spacing: -.01em;
}

/* Die beiden Spalten des Formulars stapeln — nicht 50/50 nebeneinander,
   dafür ist die linke Spalte im zweispaltigen Raster zu schmal. */
/* minmax(0, …) statt der Kurzform 1fr — sonst gilt fuer die Spalte die
   Mindestbreite ihres Inhalts (`1fr` ist `minmax(auto, 1fr)`), und ein
   einziges breites Feld sprengt auf dem Handy die ganze Seite. */
.woocommerce-checkout #customer_details.col2-set {
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none; width: auto; min-width: 0;
	display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem;
}

/* ---- Karten ----
   Bei der Rechnungsspalte trägt die Spalte selbst die Karte, nicht das
   Feld-Element: die Checkbox „Ein Konto erstellen?" ist ein Geschwister der
   Rechnungsfelder und stünde sonst heimatlos unter der Karte. */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px;
	padding: 1.35rem 1.5rem 1.5rem;
}
.woocommerce-checkout #order_review { padding: 1.35rem 1.5rem 1.5rem; box-shadow: var(--edvr-shadow); }

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
	font-size: 1.1rem; font-weight: 700; letter-spacing: -.01em;
	margin: 0 0 1rem; padding-bottom: .8rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
/* „Lieferung an eine andere Adresse?" ist eine Checkbox in der Überschrift —
   ohne Unterlinie, sonst sieht die Karte bei zugeklappter Adresse leer aus. */
.woocommerce-checkout #ship-to-different-address {
	border-bottom: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important;
	font-size: 1rem !important;
}
.woocommerce-checkout #ship-to-different-address label {
	display: inline-flex; align-items: center; gap: .55rem; cursor: pointer; font-weight: 600;
}
.woocommerce-checkout .shipping_address { padding-top: 1.1rem; }
.woocommerce-checkout .woocommerce-account-fields {
	margin-top: 1.1rem; padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--line);
}
.woocommerce-checkout .woocommerce-account-fields .create-account { margin-top: 1rem; }
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
	display: inline-flex; align-items: flex-start; gap: .55rem;
	font-size: .9rem; font-weight: 500; cursor: pointer;
	color: var(--wp--preset--color--ink);
}
.woocommerce-checkout .woocommerce-form__label-for-checkbox input { margin-top: .2rem; }

/* ---- Feldraster: two-up statt WooCommerce-Floats ---- */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: .9rem 1rem;
}
.woocommerce-checkout .form-row {
	float: none !important; width: auto !important; min-width: 0;
	margin: 0; padding: 0;
}
.woocommerce-checkout .form-row .woocommerce-input-wrapper { display: block; min-width: 0; }
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row-full { grid-column: 1 / -1; }
.woocommerce-checkout .form-row-first { grid-column: 1; }
.woocommerce-checkout .form-row-last  { grid-column: 2; }

.woocommerce-checkout .form-row label {
	display: block; margin-bottom: .3rem;
	font-size: .84rem; font-weight: 600; color: var(--wp--preset--color--slate);
}
.woocommerce-checkout .form-row .required { color: #dc2626; text-decoration: none; border: 0; }
.woocommerce-checkout .form-row .optional { color: var(--wp--preset--color--muted); font-weight: 400; }

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%;
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: .62rem .8rem;
	font-size: .95rem;
	background: #fff;
	color: var(--wp--preset--color--ink);
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-checkout .form-row textarea { min-height: 5.5rem; resize: vertical; }
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 3px var(--wp--preset--color--brand-soft);
	outline: none;
}
/* Select2 (Länderwahl) auf dieselbe Höhe und Optik bringen */
.woocommerce-checkout .select2-container .select2-selection--single { height: auto; }
.woocommerce-checkout .select2-container .select2-selection__rendered { padding: 0; line-height: 1.5; }
.woocommerce-checkout .select2-container .select2-selection__arrow { height: 100%; right: .5rem; }
.woocommerce-checkout .select2-container--open .select2-selection--single { border-color: var(--wp--preset--color--brand); }

/* Pflichtfeld-Fehler: WooCommerce' Rot, aber mit unserem Radius/Ring */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select { border-color: #dc2626; }
.woocommerce-checkout .woocommerce-validated input.input-text { border-color: #86efac; }

/* ---- Login- und Gutschein-Umschalter oben ---- */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle { margin-bottom: .6rem; }
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--edvr-radius-sm);
	color: var(--wp--preset--color--slate);
	font-size: .88rem;
	padding: .7rem 1rem;
	margin: 0;
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon {
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--edvr-radius); padding: 1.25rem 1.35rem; margin: 0 0 1rem;
}

/* ---- Bestellübersicht ---- */
.woocommerce-checkout #order_review table.shop_table {
	width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
	border: 0; padding: .6rem 0; vertical-align: top; font-size: .92rem;
}
.woocommerce-checkout #order_review table.shop_table thead th {
	font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
	color: var(--wp--preset--color--slate);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-bottom: .7rem;
}
.woocommerce-checkout #order_review table.shop_table tbody td { border-bottom: 1px solid var(--wp--preset--color--line); }
.woocommerce-checkout #order_review table.shop_table td:last-child,
.woocommerce-checkout #order_review table.shop_table th:last-child { text-align: right; }
/* Nur Betragszellen dürfen nicht umbrechen. NICHT pauschal auf td:last-child —
   in der Versandzeile stehen dort ganze Sätze („Versicherter Hin- und
   Rückversand inkl. …"), die das Raster sonst über den Viewport hinausdrücken. */
.woocommerce-checkout #order_review .product-total,
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .tax-rate td,
.woocommerce-checkout #order_review .order-total td { white-space: nowrap; }

/* Versandwahl über die volle Breite statt rechtsbündig in der Wertspalte */
/* Selektor bewusst mit table.shop_table: sonst verliert text-align gegen die
   Regel für td:last-child weiter oben. */
.woocommerce-checkout #order_review table.shop_table tr.shipping > th {
	display: block; width: 100%; padding-bottom: .35rem; border-bottom: 0;
}
.woocommerce-checkout #order_review table.shop_table tr.shipping > td {
	display: block; width: 100%; text-align: left; padding-top: 0;
}
.woocommerce-checkout #order_review #shipping_method li label { display: block; }
.woocommerce-checkout #order_review .order-total th,
.woocommerce-checkout #order_review .order-total td {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-top: .8rem; font-size: 1.05rem; font-weight: 800;
}
/* Versandwahl: Liste ohne Aufzählungszeichen, ausreichend Klickfläche */
.woocommerce-checkout #order_review #shipping_method { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.woocommerce-checkout #order_review #shipping_method li { margin: 0; line-height: 1.4; }
.woocommerce-checkout #order_review #shipping_method label { font-size: .86rem; cursor: pointer; }

/* ---- Zahlarten als anklickbare Karten ---- */
.woocommerce-checkout #payment { background: none; border-radius: 0; margin-top: 1.1rem; }
.woocommerce-checkout #payment ul.payment_methods {
	list-style: none; margin: 0 0 1rem; padding: 0; border: 0; display: grid; gap: .5rem;
}
.woocommerce-checkout #payment ul.payment_methods > li {
	margin: 0; padding: .8rem .95rem;
	background: #fff;
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 12px;
	transition: border-color .15s ease, background .15s ease;
}
.woocommerce-checkout #payment ul.payment_methods > li:hover { border-color: #cbd5e1; }
.woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) {
	border-color: var(--wp--preset--color--brand);
	background: var(--wp--preset--color--brand-soft);
}
.woocommerce-checkout #payment ul.payment_methods > li label {
	display: inline-flex; align-items: center; gap: .5rem; flex-wrap: wrap;
	font-weight: 600; font-size: .94rem; cursor: pointer; margin: 0;
}
.woocommerce-checkout #payment ul.payment_methods > li label img { max-height: 22px; width: auto; margin: 0 0 0 .2rem; }
.woocommerce-checkout #payment .payment_box {
	background: none !important; border: 0 !important; margin: .6rem 0 0 !important;
	padding: .6rem 0 0 !important; font-size: .85rem; line-height: 1.55;
	color: var(--wp--preset--color--slate);
	border-top: 1px solid rgba(15, 23, 42, .08) !important;
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment .payment_box p:last-child { margin-bottom: 0; }

/* ---- Rechtstexte und Kaufen-Knopf ---- */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: .82rem; line-height: 1.55; color: var(--wp--preset--color--slate);
	margin-bottom: .9rem;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--wp--preset--color--brand-ink); }
.woocommerce-checkout #payment .form-row.place-order { margin: 0; padding: 0; }
.woocommerce-checkout #place_order {
	width: 100%; padding: .95rem 1.5rem;
	font-size: 1.02rem; font-weight: 700; letter-spacing: -.01em;
	float: none;
}
.edvr-rechnungskauf-hinweis {
	font-size: .8rem !important; line-height: 1.5;
	color: var(--wp--preset--color--muted) !important;
	margin: 0 0 .7rem !important;
}
.woocommerce-checkout .edvr-buy-trust--checkout { margin: 0 0 .9rem; }
.woocommerce-checkout .edvr-buy-trust--checkout .edvr-buy-trust__ts { font-size: .82rem; padding: .5rem .7rem; }

/* Auslandshinweis (nur bei Österreich eingeblendet) im Karten-Duktus */
.woocommerce-checkout .shipping-notice {
	font-size: .84rem; line-height: 1.55; margin: 0 0 .75rem;
	border-radius: var(--edvr-radius-sm);
}

@media (max-width: 899px) {
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout form.checkout > #customer_details,
	.woocommerce-checkout form.checkout > .edvr-checkout-aside { grid-column: 1 / -1; }
	.edvr-checkout-aside { position: static; }
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout #order_review { padding: 1.1rem 1.15rem 1.25rem; }
	.woocommerce-checkout .woocommerce-account-fields { padding: 0 1.15rem; }
}
@media (max-width: 560px) {
	/* Vor- und Nachname untereinander — nebeneinander werden die Felder zu eng. */
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	.woocommerce-checkout .woocommerce-additional-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last { grid-column: 1 / -1; }
}

/* ---- Kopf und Fuß der Kasse (templates/page-checkout.html) ---- */
.checkout-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: .9rem;
}
.checkout-header__inner { gap: 1rem; }
.checkout-header__secure {
	margin: 0; color: var(--wp--preset--color--slate);
	display: inline-flex; align-items: center; gap: .4rem;
}
.checkout-header__secure::before {
	content: ""; width: 15px; height: 15px; flex-shrink: 0;
	background: currentColor;
	-webkit-mask: var(--edvr-lock) center / contain no-repeat;
	        mask: var(--edvr-lock) center / contain no-repeat;
}
.checkout-footer {
	margin-top: 3rem; padding-block: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--line);
}
.checkout-footer__inner { gap: .75rem 2rem; }
.checkout-footer__legal {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; gap: .35rem 1.25rem;
}
.checkout-footer__legal a { color: var(--wp--preset--color--slate); text-decoration: none; }
.checkout-footer__legal a:hover { color: var(--wp--preset--color--brand-ink); text-decoration: underline; }
.checkout-footer__adresse { margin: 0; color: var(--wp--preset--color--muted); }

/* ============================================================
   Mein Konto: Navigation als Seitenleiste, Inhalt als Karte
   ============================================================ */

.woocommerce-account .entry-content > .woocommerce,
.woocommerce-account .entry-content > .woocommerce *,
.woocommerce-account .entry-content > .woocommerce *::before,
.woocommerce-account .entry-content > .woocommerce *::after { box-sizing: border-box; }
.woocommerce-account .entry-content > .woocommerce { max-width: none !important; }
.woocommerce-account main > .alignwide { max-width: var(--wp--style--global--content-size, 1180px) !important; }

/* --- angemeldet: 240er Seitenleiste + Inhalt --- */
.woocommerce-account.logged-in .entry-content > .woocommerce {
	display: grid; grid-template-columns: 240px minmax(0, 1fr);
	gap: 1.25rem 2rem; align-items: start;
}
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }

/* Alle Konto-Selektoren tragen `.woocommerce-account` — WooCommerce' eigenes
   Stylesheet setzt darueber Breiten (Navigation 30 %, Inhalt 68 %) und
   Listenabstaende. Ohne das Praefix verliert jede Regel hier den
   Spezifitaetsvergleich, und die Navigation schrumpft auf 30 % ihrer
   Rasterspalte — 72 statt 240 Pixel. */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: auto; float: none;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: .5rem;
	position: sticky; top: 105px;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none; margin: 0; padding: 0; display: grid; gap: 2px;
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block; padding: .6rem .8rem; border-radius: var(--edvr-radius-sm);
	font-size: .92rem; font-weight: 500; text-decoration: none;
	color: var(--wp--preset--color--slate);
	transition: background .15s ease, color .15s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--wp--preset--color--surface-2);
	color: var(--wp--preset--color--ink);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--wp--preset--color--brand-soft);
	color: var(--wp--preset--color--brand-ink); font-weight: 700;
}
/* Abmelden abgesetzt vom Rest */
.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout {
	margin-top: .35rem; padding-top: .35rem;
	border-top: 1px solid var(--wp--preset--color--line);
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: auto; float: none;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: 1.5rem 1.65rem 1.75rem;
}
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-size: 1.1rem; font-weight: 700; letter-spacing: -.01em;
	margin: 0 0 1rem; padding-bottom: .8rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce-account .woocommerce-MyAccount-content legend { font-weight: 700; font-size: 1rem; }

/* Bestell- und Adresstabellen als ruhige Listen */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account .shop_table {
	width: 100%; border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--edvr-radius); border-collapse: separate; border-spacing: 0; overflow: hidden;
}
.woocommerce-account .shop_table th,
.woocommerce-account .shop_table td { border: 0; padding: .8rem .9rem; font-size: .92rem; }
.woocommerce-account .shop_table thead th {
	font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em;
	color: var(--wp--preset--color--slate); background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce-account .shop_table tbody td { border-bottom: 1px solid var(--wp--preset--color--line); }
.woocommerce-account .shop_table tbody tr:last-child td { border-bottom: 0; }
.woocommerce-account .woocommerce-orders-table__cell-order-actions { text-align: right; }
.woocommerce-account address {
	font-style: normal; line-height: 1.7;
	background: var(--wp--preset--color--surface);
	border-radius: var(--edvr-radius-sm); padding: .9rem 1rem;
}

/* Formularfelder im Konto wie in der Kasse */
.woocommerce-account .woocommerce-Input,
.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row select,
.woocommerce-account .select2-container .select2-selection--single {
	width: 100%;
	border: 1.5px solid var(--wp--preset--color--line);
	border-radius: 10px; padding: .62rem .8rem; font-size: .95rem; background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce-account .woocommerce-Input:focus,
.woocommerce-account .form-row input.input-text:focus,
.woocommerce-account .form-row select:focus {
	border-color: var(--wp--preset--color--brand);
	box-shadow: 0 0 0 3px var(--wp--preset--color--brand-soft); outline: none;
}
.woocommerce-account .form-row label,
.woocommerce-account .woocommerce-form-row label {
	display: block; margin-bottom: .3rem;
	font-size: .84rem; font-weight: 600; color: var(--wp--preset--color--slate);
}
.woocommerce-account .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form__label-for-checkbox { font-weight: 400; }

/* --- abgemeldet: Anmelden und Registrieren als zwei Karten --- */
.woocommerce-account:not(.logged-in) #customer_login.u-columns {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem; max-width: 900px; margin-inline: auto;
}
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2 {
	float: none; width: auto;
	background: #fff; border: 1px solid var(--wp--preset--color--line);
	border-radius: 18px; padding: 1.5rem 1.65rem 1.75rem;
}
.woocommerce-account #customer_login h2 {
	font-size: 1.2rem; font-weight: 800; letter-spacing: -.01em;
	margin: 0 0 1.1rem; padding-bottom: .8rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register { border: 0; padding: 0; margin: 0; }
.woocommerce-account #customer_login .woocommerce-form-login__submit,
.woocommerce-account #customer_login .woocommerce-form-register__submit { width: 100%; margin: .3rem 0 0; }
.woocommerce-account #customer_login .lost_password { margin: .8rem 0 0; font-size: .86rem; }

@media (max-width: 899px) {
	.woocommerce-account.logged-in .entry-content > .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account .woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; gap: .25rem; }
	.woocommerce-account .woocommerce-MyAccount-navigation li--customer-logout {
		margin-top: 0; padding-top: 0; border-top: 0;
		border-left: 1px solid var(--wp--preset--color--line); margin-left: .25rem; padding-left: .25rem;
	}
	.woocommerce-account .woocommerce-MyAccount-content { padding: 1.25rem 1.15rem 1.5rem; }
	.woocommerce-account:not(.logged-in) #customer_login.u-columns { grid-template-columns: minmax(0, 1fr); }
}

/* Germanized faerbt die Bestelltabelle grau (Option „Tabellenfarbe", #eeeeee).
   In der weissen Karte wirkt der Block wie ein Fremdkoerper — und die Option
   selbst faerbt auch Mails und Dokumente, deshalb hier statt dort. */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tr,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { background: transparent !important; }
.woocommerce-checkout #order_review table.shop_table thead th { background: var(--wp--preset--color--surface) !important; }

/* Die Zahlart-Chips der Trust-Zeile sind an der Kasse redundant — die
   Zahlarten stehen ausgewaehlt zwei Zentimeter darueber. */
.woocommerce-checkout .edvr-buy-trust--checkout .edvr-buy-trust__pay { display: none; }

/* WooCommerce haengt an seine Container einen Clearfix (`::before`/`::after`
   mit `content:""`). In einem Grid werden daraus zwei zusaetzliche Zellen:
   das ::before belegt Zeile 1 Spalte 1, die eigentlichen Spalten rutschen
   eine Zelle weiter und das Raster bricht in zwei Zeilen um. Sichtbar wurde
   das im abgemeldeten Konto — „Anmelden" stand rechts oben, „Registrieren"
   links darunter. Gilt fuer jeden Container, den wir zum Grid machen. */
.woocommerce-checkout form.checkout::before,
.woocommerce-checkout form.checkout::after,
.woocommerce-checkout #customer_details.col2-set::before,
.woocommerce-checkout #customer_details.col2-set::after,
.woocommerce-account .entry-content > .woocommerce::before,
.woocommerce-account .entry-content > .woocommerce::after,
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after { display: none; }

/* Karten sollen nur so hoch sein wie ihr Inhalt — sonst zieht das Raster die
   kuerzere Anmelde-Karte auf die Hoehe der Registrier-Karte. */
.woocommerce-account:not(.logged-in) #customer_login.u-columns { align-items: start; }

/* Textarea und Select fuellen ihre Zelle statt ihrer intrinsischen Breite
   (ein <textarea cols> bringt eine eigene Mindestbreite mit). */
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-account .form-row textarea,
.woocommerce-account .form-row select { max-width: 100%; min-width: 0; }
