/* Kaufweg im neuen Aussehen: Videoseite, Warenkorb und Kasse (seit Theme 2.9.0).
   Alle Regeln greifen nur unter body.sv-kaufweg, die uebrigen Seiten bleiben unveraendert. */

body.sv-kaufweg {
	--kv-grund: #0e0e10;
	--kv-flaeche: #1c1c1e;
	--kv-flaeche-2: #2c2c2e;
	--kv-text: #f5f5f7;
	--kv-text-2: #a1a1a6;
	--kv-text-3: #8e8e93;
	--kv-linie: rgba(255, 255, 255, .08);
	--kv-blau: #1473e6;
	--kv-link: #4a9eff;
	--kv-schwung: cubic-bezier(.23, 1, .32, 1);
	background: var(--kv-grund);
	color: var(--kv-text);
}
body.sv-kaufweg .topbar {
	background: rgba(14, 14, 16, .78);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}
body.sv-kaufweg .footer { border-top-color: var(--kv-linie); }

/* Knoepfe */
.sv-kaufweg .kv-knopf {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	box-sizing: border-box; width: 100%; border-radius: 999px; cursor: pointer;
	font-weight: 700; text-decoration: none;
	transition: transform 160ms var(--kv-schwung), background-color 160ms ease, border-color 160ms ease;
}
.sv-kaufweg .kv-knopf:active { transform: scale(.97); }
.sv-kaufweg .kv-knopf:focus-visible { outline: 2px solid var(--kv-link); outline-offset: 3px; }
.sv-kaufweg .kv-kaufen {
	height: 48px; background: var(--kv-blau); color: #fff; font-size: 15px;
	box-shadow: 0 10px 28px rgba(20, 115, 230, .35);
}
.sv-kaufweg .kv-kaufen:hover { background: #1a7ff5; color: #fff; }
.sv-kaufweg .kv-rahmen {
	height: 44px; border: 1px solid rgba(255, 255, 255, .32); background: transparent;
	color: var(--kv-text); font-size: 14px; font-weight: 600; gap: 8px;
}
.sv-kaufweg .kv-rahmen:hover { border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .05); color: var(--kv-text); }

/* ---------------------------------------------------------------- Videoseite */
.sv-kaufweg .kv-seite { max-width: 1240px; margin: 0 auto; padding: 24px 28px 80px; }
.sv-kaufweg .kv-krumen { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; color: var(--kv-text-3); margin: 0 0 20px; }
.sv-kaufweg .kv-krumen a { color: var(--kv-text-3); }
.sv-kaufweg .kv-krumen a:last-child { color: var(--kv-text-2); }
.sv-kaufweg .kv-krumen a:hover { color: var(--kv-text); }

.sv-kaufweg .kv-raster { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.sv-kaufweg .kv-haupt { flex: 999 1 620px; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.sv-kaufweg .kv-seitenleiste { flex: 1 1 340px; max-width: 400px; position: sticky; top: 84px; }

.sv-kaufweg .kv-player {
	position: relative; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden;
	background: #000; cursor: pointer; box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
}
.sv-kaufweg .kv-play-mitte { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.sv-kaufweg .kv-play {
	width: 76px; height: 76px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35);
	background: rgba(20, 20, 22, .38); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
	color: #fff; display: flex; align-items: center; justify-content: center;
	transition: transform 160ms var(--kv-schwung);
}
.sv-kaufweg .kv-play svg { margin-left: 3px; }
.sv-kaufweg #videoPoster:active .kv-play { transform: scale(.97); }
.sv-kaufweg .kv-marken { position: absolute; left: 16px; bottom: 16px; z-index: 2; display: flex; gap: 8px; pointer-events: none; transition: opacity .2s ease; }
.sv-kaufweg .kv-marke {
	padding: 5px 10px; border-radius: 8px; background: rgba(20, 20, 22, .55);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	font-size: 12px; font-weight: 600; letter-spacing: .02em; color: #fff; line-height: 1.2;
}
.sv-kaufweg .kv-zahl { font-weight: 400; font-variant-numeric: tabular-nums; }
.sv-kaufweg .kv-hinweis { position: absolute; right: 16px; top: 16px; z-index: 2; font-weight: 400; color: #d2d2d7; pointer-events: none; }
/* Laeuft das Video, weichen die Marken unten der Steuerleiste. */
.sv-kaufweg .kv-player.started .kv-marken { opacity: 0; }

.sv-kaufweg .kv-text { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.sv-kaufweg .kv-text h1 { margin: 0; font-size: 30px; line-height: 1.12; font-weight: 600; letter-spacing: -.02em; text-wrap: balance; color: var(--kv-text); }
.sv-kaufweg .kv-text p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--kv-text-2); }

.sv-kaufweg .kv-daten {
	margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center;
	border-top: 1px solid var(--kv-linie); border-bottom: 1px solid var(--kv-linie); max-width: 760px;
}
.sv-kaufweg .kv-datum { padding: 18px 0 18px 20px; border-left: 1px solid var(--kv-linie); }
.sv-kaufweg .kv-datum:first-child { padding-left: 0; border-left: 0; }
.sv-kaufweg .kv-datum dt { font-size: 12px; color: var(--kv-text-3); margin-bottom: 4px; }
.sv-kaufweg .kv-datum dd { margin: 0; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--kv-text); }
.sv-kaufweg .kv-datum-aufl dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Qualitaetszeichen wie bei Fernsehern: gold fuer 4K, silber fuer HD */
.sv-kaufweg .kv-qualitaet { display: inline-flex; align-items: stretch; border-radius: 8px; overflow: hidden; vertical-align: middle; }
.sv-kaufweg .kv-q-klein { display: flex; flex-direction: column; justify-content: center; padding: 4px 9px; font-size: 10px; font-weight: 700; line-height: 1.05; letter-spacing: .06em; }
.sv-kaufweg .kv-q-gross { display: flex; align-items: center; padding: 2px 12px; background: #141416; font-size: 20px; font-weight: 700; letter-spacing: .01em; }
.sv-kaufweg .kv-gold { border: 1px solid #c9a34e; box-shadow: 0 2px 10px rgba(201, 163, 78, .18), inset 0 1px 0 rgba(255, 236, 190, .35); }
.sv-kaufweg .kv-gold .kv-q-klein { background: linear-gradient(180deg, #f3dc9b 0%, #c9a34e 55%, #a8812f 100%); color: #2a1f08; }
.sv-kaufweg .kv-gold .kv-q-gross { color: #e8c674; }
.sv-kaufweg .kv-silber { border: 1px solid #a7abb3; box-shadow: 0 2px 10px rgba(167, 171, 179, .14), inset 0 1px 0 rgba(255, 255, 255, .35); }
.sv-kaufweg .kv-silber .kv-q-klein { background: linear-gradient(180deg, #f1f2f4 0%, #b9bdc4 55%, #8d9199 100%); color: #1b1d21; }
.sv-kaufweg .kv-silber .kv-q-gross { color: #d6d9de; }

/* Schlagwoerter als ruhige Pillen */
.sv-kaufweg .kv-schlagworte { margin: 0; padding: 0; border: 0; max-width: 760px; }
.sv-kaufweg .kv-schlagworte .tags-head { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sv-kaufweg .kv-schlagworte .tag-chip { padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .06); color: #d2d2d7; font-size: 13px; }
.sv-kaufweg .kv-schlagworte .tag-chip:hover { background: rgba(255, 255, 255, .12); color: var(--kv-text); }

/* Kaufkarte */
.sv-kaufweg .kv-kaufkarte {
	background: var(--kv-flaeche); border: 1px solid rgba(255, 255, 255, .06); border-radius: 18px;
	padding: 22px; display: flex; flex-direction: column; gap: 22px;
}
.sv-kaufweg .kv-lizenz { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sv-kaufweg .kv-lizenz span { font-size: 14px; font-weight: 600; }
.sv-kaufweg .kv-lizenz a, .sv-kaufweg .kv-vorteile a { color: var(--kv-link); font-size: 13px; }
.sv-kaufweg .kv-lizenz a:hover { color: #7cb8ff; }
.sv-kaufweg .kv-preis { font-size: 36px; font-weight: 600; letter-spacing: -.025em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--kv-text); }
.sv-kaufweg .kv-steuer { margin-top: 10px; font-size: 13px; color: var(--kv-text-3); font-variant-numeric: tabular-nums; }
.sv-kaufweg .kv-knoepfe { display: flex; flex-direction: column; gap: 12px; margin-top: 6px; }
.sv-kaufweg .kv-vorteile { list-style: none; margin: 0; padding: 20px 0 0; border-top: 1px solid var(--kv-linie); display: flex; flex-direction: column; gap: 14px; font-size: 14px; color: #d2d2d7; }
.sv-kaufweg .kv-vorteile li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.4; }
.sv-kaufweg .kv-vorteile svg { flex: none; margin-top: 0; color: var(--kv-link); }
.sv-kaufweg .kv-zahlung { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 18px; border-top: 1px solid var(--kv-linie); }
.sv-kaufweg .kv-zahlung span { white-space: nowrap; display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--kv-text-3); }
.sv-kaufweg .kv-zahlung strong { font-size: 14px; font-weight: 700; color: var(--kv-text); text-align: right; }
.sv-kaufweg .kv-kennung { font-size: 12px; color: var(--kv-text-3); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; word-break: break-all; }

/* Aehnliche Videos */
.sv-kaufweg .kv-aehnlich { margin: 80px 0 0; }
.sv-kaufweg .kv-kopfzeile { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.sv-kaufweg .kv-kopfzeile .similar-head { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.015em; color: var(--kv-text); }
.sv-kaufweg .kv-kopfzeile a { font-size: 14px; color: var(--kv-link); }
.sv-kaufweg .kv-aehnlich .similar-grid { gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sv-kaufweg .kv-aehnlich .similar-card { background: transparent; border-radius: 0; overflow: visible; display: flex; flex-direction: column; gap: 10px; transition: transform 220ms var(--kv-schwung); }
.sv-kaufweg .kv-aehnlich .similar-card:hover { transform: none; }
@media (hover: hover) and (pointer: fine) { .sv-kaufweg .kv-aehnlich .similar-card:hover { transform: translateY(-2px); } }
.sv-kaufweg .kv-aehnlich .similar-thumb { aspect-ratio: 16 / 9; border-radius: 14px; background: var(--kv-flaeche); }
.sv-kaufweg .kv-aehnlich .dur-badge { right: 8px; bottom: 8px; border-radius: 6px; background: rgba(20, 20, 22, .6); font-size: 12px; padding: 3px 7px; }
.sv-kaufweg .kv-aehnlich .similar-info { padding: 0; gap: 12px; }
.sv-kaufweg .kv-aehnlich .similar-title { font-size: 14px; color: #d2d2d7; }
.sv-kaufweg .kv-aehnlich .similar-price { font-size: 14px; font-weight: 600; color: var(--kv-text); font-variant-numeric: tabular-nums; }

@media (max-width: 900px) {
	.sv-kaufweg .kv-seitenleiste { position: static; max-width: none; }
	.sv-kaufweg .kv-aehnlich .similar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.sv-kaufweg .kv-seite { padding: 18px 16px 64px; }
	.sv-kaufweg .kv-raster, .sv-kaufweg .kv-haupt { gap: 24px; }
	.sv-kaufweg .kv-player { border-radius: 14px; }
	.sv-kaufweg .kv-text h1 { font-size: 24px; }
	.sv-kaufweg .kv-text p { font-size: 14px; }
	.sv-kaufweg .kv-kaufkarte { padding: 22px; border-radius: 18px; }
	.sv-kaufweg .kv-preis { font-size: 32px; }
	.sv-kaufweg .kv-datum { padding-left: 14px; }
	.sv-kaufweg .kv-q-gross { font-size: 17px; padding: 2px 9px; }
	.sv-kaufweg .kv-aehnlich { margin-top: 56px; }
	.sv-kaufweg .kv-aehnlich .similar-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.sv-kaufweg .kv-knopf, .sv-kaufweg .kv-aehnlich .similar-card, .sv-kaufweg .kv-play { transition: none; }
}

/* -------------------------------------------------------- Warenkorb und Kasse */
body.sv-kaufweg.woocommerce-cart .page-content,
body.sv-kaufweg.woocommerce-checkout .page-content { max-width: 1240px; padding: 24px 28px 80px; }
body.sv-kaufweg .page-content > h1 { margin: 0 0 32px; font-size: 34px; font-weight: 600; letter-spacing: -.025em; color: var(--kv-text); }

/* Schritte */
.sv-kaufweg .kv-schritte { list-style: none; margin: 0 0 28px; padding: 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.sv-kaufweg .kv-schritt { display: flex; align-items: center; gap: 8px; color: var(--kv-text-3); margin: 0; }
.sv-kaufweg .kv-schritt a { color: var(--kv-text-2); text-decoration: none; }
.sv-kaufweg .kv-schritt-nr { width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .22); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; }
.sv-kaufweg .kv-aktiv { color: var(--kv-text); font-weight: 600; }
.sv-kaufweg .kv-aktiv .kv-schritt-nr { background: var(--kv-blau); border-color: var(--kv-blau); color: #fff; }
.sv-kaufweg .kv-schritt.kv-erledigt .kv-schritt-nr { background: rgba(20, 115, 230, .2); border-color: transparent; color: #7cb8ff; }
.sv-kaufweg .kv-schritt-linie { width: 40px; height: 1px; background: rgba(255, 255, 255, .18); margin: 0; }
.sv-kaufweg .kv-schritt-linie.kv-erledigt { background: var(--kv-blau); }

/* Hinweise */
.sv-kaufweg .woocommerce-notices-wrapper .woocommerce-message,
.sv-kaufweg .woocommerce-notices-wrapper .woocommerce-info,
.sv-kaufweg .woocommerce-notices-wrapper .woocommerce-error,
.sv-kaufweg .woocommerce-error, .sv-kaufweg .woocommerce-info, .sv-kaufweg .woocommerce-message {
	background: var(--kv-flaeche); border: 1px solid var(--kv-linie); border-left: 0; border-radius: 14px; color: #d2d2d7; padding: 14px 18px; margin: 0 0 20px;
}
.sv-kaufweg .woocommerce-error { box-shadow: inset 3px 0 0 #ff6961; }
.sv-kaufweg .woocommerce-info::before, .sv-kaufweg .woocommerce-message::before, .sv-kaufweg .woocommerce-error::before { display: none; }

/* Warenkorb */
.sv-kaufweg .kv-korb { display: flex; flex-wrap: wrap; gap: 40px; align-items: flex-start; }
.sv-kaufweg .kv-korb-links { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.sv-kaufweg .kv-korb-rechts { flex: 1 1 340px; max-width: 400px; position: sticky; top: 84px; }
.sv-kaufweg .woocommerce-cart-form { margin: 0; }
.sv-kaufweg .kv-posten { display: flex; flex-direction: column; gap: 14px; background: none; border: 0; }
.sv-kaufweg .kv-posten-zeile { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 20px; background: var(--kv-flaeche); border: 1px solid rgba(255, 255, 255, .06); border-radius: 18px; }
.sv-kaufweg .kv-posten-bild img, .sv-kaufweg .kv-posten-bild picture { display: block; width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px !important; }
.sv-kaufweg .kv-posten-text { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.sv-kaufweg .kv-posten-text > a { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--kv-text); text-decoration: none; }
.sv-kaufweg .kv-posten-text > a:hover { color: #7cb8ff; }
.sv-kaufweg .kv-posten-text dl.variation { margin: 0; font-size: 13px; color: var(--kv-text-3); display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; }
.sv-kaufweg .kv-posten-text dl.variation dt { font-weight: 400; float: none; margin: 0; }
.sv-kaufweg .kv-posten-text dl.variation dd { margin: 0; }
.sv-kaufweg .kv-posten-text dl.variation dd p { margin: 0; color: var(--kv-text-2); }
.sv-kaufweg .kv-posten-ende { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.sv-kaufweg .kv-posten-preis { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--kv-text); white-space: nowrap; }
.sv-kaufweg .kv-posten-preis small { display: none; }
.sv-kaufweg .woocommerce a.remove.kv-entfernen, .sv-kaufweg a.remove.kv-entfernen {
	display: inline-flex; align-items: center; gap: 7px; width: auto; height: 36px; padding: 0 14px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .16); background: transparent; color: #d2d2d7 !important; font-size: 13px; font-weight: 500; line-height: 1; text-decoration: none;
	transition: transform 160ms var(--kv-schwung), background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sv-kaufweg .woocommerce a.remove.kv-entfernen:hover, .sv-kaufweg a.remove.kv-entfernen:hover { color: #ff8a80 !important; border-color: rgba(255, 105, 97, .55); background: rgba(255, 69, 58, .10); }
.sv-kaufweg a.remove.kv-entfernen:active { transform: scale(.97); }
.sv-kaufweg .kv-posten .actions { display: none; }
.sv-kaufweg .kv-weiter { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-size: 14px; color: var(--kv-link); }
.sv-kaufweg .kv-weiter:hover { color: #7cb8ff; }

/* Vorschlaege */
.sv-kaufweg .kv-vorschlaege { margin-top: 36px; }
.sv-kaufweg .kv-vorschlaege h2 { margin: 0 0 18px; font-size: 18px; font-weight: 600; letter-spacing: -.01em; color: var(--kv-text); }
.sv-kaufweg .kv-vorschlag-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sv-kaufweg .kv-vorschlag { display: flex; flex-direction: column; gap: 10px; }
.sv-kaufweg .kv-vorschlag-bild { display: block; border-radius: 12px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--kv-flaeche); }
.sv-kaufweg .kv-vorschlag-bild img, .sv-kaufweg .kv-vorschlag-bild picture { display: block; width: 100%; height: 100%; object-fit: cover; }
.sv-kaufweg .kv-vorschlag-titel { font-size: 14px; line-height: 1.35; color: #d2d2d7; min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sv-kaufweg .kv-vorschlag-titel:hover { color: var(--kv-text); }
.sv-kaufweg .kv-vorschlag-fuss { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: auto; }
.sv-kaufweg .kv-vorschlag-preis { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--kv-text); }
.sv-kaufweg .kv-hinzu { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; background: rgba(20, 115, 230, .16); color: #7cb8ff; font-size: 13px; font-weight: 600; transition: transform 160ms var(--kv-schwung), background-color 160ms ease; }
.sv-kaufweg .kv-hinzu:hover { background: rgba(20, 115, 230, .28); color: #a9d0ff; }
.sv-kaufweg .kv-hinzu:active { transform: scale(.97); }

/* Zusammenfassung */
.sv-kaufweg .kv-summe { background: var(--kv-flaeche); border: 1px solid rgba(255, 255, 255, .06); border-radius: 18px; padding: 22px; width: auto; margin: 0; }
.sv-kaufweg .kv-summe-titel { margin: 0 0 18px; font-size: 17px; font-weight: 600; color: var(--kv-text); }
.sv-kaufweg .kv-summe .cart_totals { width: 100%; max-width: none; margin: 0; float: none; }
.sv-kaufweg .kv-summe .cart_totals > h2 { display: none; }
.sv-kaufweg .kv-summe table.shop_table { background: none; border: 0; border-radius: 0; margin: 0; }
.sv-kaufweg .kv-summe table.shop_table tr th, .sv-kaufweg .kv-summe table.shop_table tr td { background: none; border: 0; padding: 7px 0; font-size: 14px; color: var(--kv-text-2); font-weight: 400; text-transform: none; letter-spacing: 0; }
.sv-kaufweg .kv-summe table.shop_table td { text-align: right; color: var(--kv-text); font-variant-numeric: tabular-nums; }
.sv-kaufweg .kv-summe table.shop_table tr.order-total th, .sv-kaufweg .kv-summe table.shop_table tr.order-total td { border-top: 1px solid var(--kv-linie); padding-top: 16px; font-size: 15px; font-weight: 600; color: var(--kv-text); }
.sv-kaufweg .kv-summe table.shop_table tr.order-total td strong { font-size: 20px; font-weight: 600; }
.sv-kaufweg .kv-summe table.shop_table small.includes_tax { display: block; font-size: 12px; color: var(--kv-text-3); font-weight: 400; margin-top: 2px; }
.sv-kaufweg .wc-proceed-to-checkout { padding: 20px 0 0; display: flex; flex-direction: column; gap: 18px; }
.sv-kaufweg .wc-proceed-to-checkout a.checkout-button, .sv-kaufweg .woocommerce #place_order, .sv-kaufweg #place_order {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 48px; margin: 0; padding: 0 20px; border: 0; border-radius: 999px;
	background: var(--kv-blau); color: #fff; font-size: 15px; font-weight: 700; box-shadow: 0 10px 28px rgba(20, 115, 230, .35);
	transition: transform 160ms var(--kv-schwung), background-color 160ms ease;
}
.sv-kaufweg .wc-proceed-to-checkout a.checkout-button:hover, .sv-kaufweg #place_order:hover { background: #1a7ff5; transform: none; }
.sv-kaufweg .wc-proceed-to-checkout a.checkout-button:active, .sv-kaufweg #place_order:active { transform: scale(.97); }

/* Gutschein in der Zusammenfassung, bleibt im Rahmen */
.sv-kaufweg .kv-gutschein { margin: 0; padding: 18px 0 0; border-top: 1px solid var(--kv-linie); }
.sv-kaufweg .kv-gutschein label { display: block; margin: 0 0 8px; font-size: 13px; color: var(--kv-text-2); position: static; }
body.sv-kaufweg .kv-gutschein .coupon { display: flex; gap: 8px; margin: 0; flex-wrap: nowrap; }
body.sv-kaufweg .kv-gutschein .coupon input[type="text"] { flex: 1 1 auto; min-width: 0; width: auto; height: 44px; box-sizing: border-box; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .12); background: var(--kv-grund); color: var(--kv-text); font: inherit; font-size: 14px; }
body.sv-kaufweg .kv-gutschein .coupon input[type="text"]:focus { outline: none; border-color: var(--kv-link); box-shadow: 0 0 0 3px rgba(74, 158, 255, .25); }
body.sv-kaufweg .kv-gutschein .coupon button.kv-einloesen { flex: none; height: 44px; padding: 0 18px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, .08); color: var(--kv-text); font-size: 14px; font-weight: 600; cursor: pointer; }
body.sv-kaufweg .kv-gutschein .coupon button.kv-einloesen:hover { background: rgba(255, 255, 255, .14); }
.sv-kaufweg .coupon-error-notice { color: #ff8a80; font-size: 12px; margin: 8px 0 0; }

/* Vertrauenszeilen */
.sv-kaufweg .kv-sicher, .sv-kaufweg .kv-sofort { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 14px 0 0; font-size: 12px; color: var(--kv-text-3); text-align: center; }
.sv-kaufweg .kv-sofort { font-size: 13px; color: #d2d2d7; }
.sv-kaufweg .kv-sofort svg { color: var(--kv-link); flex: none; }
.sv-kaufweg .kv-sicher svg { flex: none; }

/* Kasse: Formular links, Bestellung rechts */
body.sv-kaufweg form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 420px); gap: 0 40px; align-items: start; }
body.sv-kaufweg form.checkout > * { grid-column: 1 / -1; }
body.sv-kaufweg form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; width: auto; float: none; }
body.sv-kaufweg form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin: 0 0 12px; }
body.sv-kaufweg form.checkout #order_review { grid-column: 2; grid-row: 2; position: sticky; top: 84px; }
body.sv-kaufweg #customer_details .col-1, body.sv-kaufweg #customer_details .col-2 { float: none; width: 100%; }
body.sv-kaufweg #customer_details .col-2:empty, body.sv-kaufweg .woocommerce-additional-fields:empty { display: none; }
body.sv-kaufweg .woocommerce-billing-fields { background: var(--kv-flaeche); border: 1px solid rgba(255, 255, 255, .06); border-radius: 18px; padding: 22px; }
body.sv-kaufweg .woocommerce-billing-fields h3, body.sv-kaufweg #order_review_heading { font-size: 17px; font-weight: 600; color: var(--kv-text); margin: 0 0 18px; }
body.sv-kaufweg .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.sv-kaufweg .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1 / -1; width: auto; float: none; margin: 0; padding: 0; }
body.sv-kaufweg .woocommerce-billing-fields__field-wrapper .form-row-first { grid-column: 1; }
body.sv-kaufweg .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 2; }
body.sv-kaufweg .woocommerce-billing-fields__field-wrapper .form-row[hidden] { display: none; }
body.sv-kaufweg .woocommerce form .form-row label { color: #d2d2d7; font-size: 13px; margin: 0 0 8px; display: block; line-height: 1.4; }
body.sv-kaufweg .woocommerce form .form-row input.input-text,
body.sv-kaufweg .woocommerce form .form-row select,
body.sv-kaufweg .woocommerce .select2-container .select2-selection--single {
	height: 44px; box-sizing: border-box; padding: 0 16px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .12);
	background: var(--kv-grund); color: var(--kv-text); font-size: 14px; line-height: 48px;
}
body.sv-kaufweg .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 48px; padding: 0; color: var(--kv-text); }
body.sv-kaufweg .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; right: 10px; }
body.sv-kaufweg .woocommerce form .form-row input.input-text:focus,
body.sv-kaufweg .woocommerce form .form-row select:focus { outline: none; border-color: var(--kv-link); box-shadow: 0 0 0 3px rgba(74, 158, 255, .25); }
body.sv-kaufweg .woocommerce form .form-row .description { color: var(--kv-text-3); font-size: 12px; margin-top: 6px; background: none; padding: 0; }
body.sv-kaufweg .woocommerce form .form-row .description::before { display: none; }
body.sv-kaufweg .kv-firma-hinweis { display: block; margin-top: 6px; font-size: 12px; color: #7cb8ff; }
body.sv-kaufweg .kv-firma-hinweis[hidden] { display: none; }

/* Gutscheinhinweis an der Kasse */
body.sv-kaufweg .woocommerce-form-coupon-toggle .woocommerce-info { display: flex; gap: 6px; flex-wrap: wrap; font-size: 14px; }
body.sv-kaufweg .woocommerce-form-coupon-toggle .woocommerce-info a { color: var(--kv-link); }
body.sv-kaufweg form.checkout_coupon { background: var(--kv-flaeche); border: 1px solid rgba(255, 255, 255, .06); border-radius: 18px; padding: 20px; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
body.sv-kaufweg form.checkout_coupon p { margin: 0; }
body.sv-kaufweg form.checkout_coupon .form-row-first { flex: 1 1 220px; float: none; width: auto; }
body.sv-kaufweg form.checkout_coupon .form-row-last { float: none; width: auto; }
body.sv-kaufweg form.checkout_coupon input[type="text"] { width: 100%; height: 44px; box-sizing: border-box; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .12); background: var(--kv-grund); color: var(--kv-text); }
body.sv-kaufweg form.checkout_coupon button { height: 44px; padding: 0 18px; border-radius: 999px; border: 0; background: rgba(255, 255, 255, .08); color: var(--kv-text); font-weight: 600; }

/* Bestelluebersicht */
body.sv-kaufweg #order_review { background: var(--kv-flaeche); border: 1px solid rgba(255, 255, 255, .06); border-radius: 18px; padding: 24px; }
body.sv-kaufweg #order_review table.shop_table { background: none; border: 0; border-radius: 0; margin: 0 0 8px; }
body.sv-kaufweg #order_review table.shop_table thead { display: none; }
body.sv-kaufweg #order_review table.shop_table th, body.sv-kaufweg #order_review table.shop_table td { background: none; border: 0; border-top: 1px solid var(--kv-linie); padding: 12px 0; font-size: 14px; color: var(--kv-text-2); text-transform: none; letter-spacing: 0; font-weight: 400; vertical-align: top; }
body.sv-kaufweg #order_review table.shop_table tbody tr:first-child td { border-top: 0; }
body.sv-kaufweg #order_review table.shop_table td.product-name { color: var(--kv-text); font-weight: 600; }
body.sv-kaufweg #order_review table.shop_table td.product-name .product-quantity { display: none; }
body.sv-kaufweg #order_review table.shop_table td.product-name dl.variation { font-weight: 400; color: var(--kv-text-3); font-size: 12px; }
body.sv-kaufweg #order_review table.shop_table td:last-child, body.sv-kaufweg #order_review table.shop_table tfoot td { text-align: right; color: var(--kv-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.sv-kaufweg #order_review table.shop_table tfoot tr.order-total th, body.sv-kaufweg #order_review table.shop_table tfoot tr.order-total td { font-size: 15px; font-weight: 600; color: var(--kv-text); }
body.sv-kaufweg #order_review table.shop_table small.includes_tax { display: block; font-size: 12px; color: var(--kv-text-3); font-weight: 400; }

/* Zahlung, Rechtstexte und Knopf */
body.sv-kaufweg.woocommerce-checkout #payment { background: none; border: 0; border-radius: 0; padding: 0; }
body.sv-kaufweg.woocommerce-checkout #payment ul.payment_methods { padding: 12px 0; margin: 0; border-bottom: 1px solid var(--kv-linie); border-top: 1px solid var(--kv-linie); }
body.sv-kaufweg.woocommerce-checkout #payment ul.payment_methods li { margin: 0; padding: 8px 0; color: var(--kv-text); font-size: 14px; }
body.sv-kaufweg.woocommerce-checkout #payment ul.payment_methods li img { display: none; }
body.sv-kaufweg.woocommerce-checkout #payment ul.payment_methods li input { accent-color: var(--kv-blau); margin-right: 8px; }
body.sv-kaufweg.woocommerce-checkout #payment div.payment_box { background: var(--kv-grund); color: var(--kv-text-2); border-radius: 12px; font-size: 13px; margin: 8px 0 0; padding: 12px 14px; }
body.sv-kaufweg.woocommerce-checkout #payment div.payment_box::before { display: none; }
body.sv-kaufweg.woocommerce-checkout #payment div.form-row.place-order { padding: 18px 0 0; margin: 0; }
body.sv-kaufweg .woocommerce-privacy-policy-text p { font-size: 12px; line-height: 1.5; color: var(--kv-text-3); margin: 0 0 12px; }
body.sv-kaufweg .woocommerce-privacy-policy-text a, body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper a { color: var(--kv-link); }
body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper { display: flex; flex-direction: column; gap: 12px; margin: 0 0 18px; }
body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0; padding: 0; }
body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper label.checkbox { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: #d2d2d7; margin: 0; }
body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--kv-blau); flex: none; }
body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper abbr.required { text-decoration: none; color: #ff8a80; }
body.sv-kaufweg .sv-zahlarten { display: none; }

@media (max-width: 900px) {
	.sv-kaufweg .kv-korb-rechts { position: static; max-width: none; }
	body.sv-kaufweg form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body.sv-kaufweg form.checkout #customer_details, body.sv-kaufweg form.checkout #order_review_heading, body.sv-kaufweg form.checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
}
@media (max-width: 600px) {
	body.sv-kaufweg.woocommerce-cart .page-content, body.sv-kaufweg.woocommerce-checkout .page-content { padding: 18px 16px 64px; }
	body.sv-kaufweg .page-content > h1 { font-size: 26px; margin-bottom: 22px; }
	.sv-kaufweg .kv-posten-zeile { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 14px; border-radius: 18px; }
	.sv-kaufweg .kv-posten-ende { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
	.sv-kaufweg .kv-posten-text > a { font-size: 14px; }
	.sv-kaufweg .kv-vorschlag-raster { grid-template-columns: minmax(0, 1fr); }
	body.sv-kaufweg .woocommerce-billing-fields { padding: 20px; }
	body.sv-kaufweg .woocommerce-billing-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
	body.sv-kaufweg .woocommerce-billing-fields__field-wrapper .form-row-first, body.sv-kaufweg .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 1; }
	.sv-kaufweg .kv-schritt-linie { width: 18px; }
}
body.sv-kaufweg.woocommerce-checkout #payment div.form-row.place-order { display: flex; flex-direction: column; }
body.sv-kaufweg.woocommerce-checkout #payment #place_order { float: none; order: 0; }
body.sv-kaufweg .woocommerce-terms-and-conditions-wrapper label.checkbox span { display: inline; }
body.sv-kaufweg.woocommerce-checkout .woocommerce form .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox,
body.sv-kaufweg.woocommerce-checkout form .woocommerce-terms-and-conditions-wrapper .form-row label.checkbox { display: flex; gap: 12px; align-items: flex-start; margin: 0; font-size: 13px; line-height: 1.5; color: #d2d2d7; }
body.sv-kaufweg.woocommerce-checkout form .woocommerce-terms-and-conditions-wrapper .form-row input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; margin: 2px 0 0; accent-color: var(--kv-blau); }
/* Beide Haekchen gleich: Kaestchen links, Text mit Sternchen fliesst daneben */
body.sv-kaufweg.woocommerce-checkout #payment .place-order label.checkbox,
body.sv-kaufweg.woocommerce-checkout .woocommerce form #payment .place-order .form-row label.checkbox { display: block; position: relative; padding-left: 30px; margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: #d2d2d7; }
body.sv-kaufweg.woocommerce-checkout #payment .place-order label.checkbox input[type="checkbox"] { position: absolute; left: 0; top: 2px; width: 18px; height: 18px; margin: 0; accent-color: var(--kv-blau); }
body.sv-kaufweg.woocommerce-checkout #payment .place-order label.checkbox span { display: inline; }
body.sv-kaufweg.woocommerce-checkout #payment .place-order .kv-verzicht { margin: 0 0 6px; padding: 0; }
body.sv-kaufweg.woocommerce-checkout #payment .place-order abbr.required { text-decoration: none; color: #ff8a80; }
/* Nettosumme, MwSt. und Gesamtbetrag klar getrennt */
.sv-kaufweg .cart-subtotal { display: none; }
.sv-kaufweg tr.order-total small.includes_tax { display: none !important; }
.sv-kaufweg .kv-korb-rechts, .sv-kaufweg .kv-seitenleiste { min-width: 0; }
@media (max-width: 600px) { .sv-kaufweg .kv-korb-rechts { flex-basis: 100%; } .sv-kaufweg .kv-summe { padding: 22px; } }

/* Schnellkauf im Warenkorb: Haekchen ueber den Express Knoepfen */
.sv-kaufweg .kv-express-zustimmung { display: flex; flex-direction: column; gap: 10px; padding: 16px 0 0; border-top: 1px solid var(--kv-linie); }
.sv-kaufweg .kv-express-titel { margin: 0; font-size: 12px; color: var(--kv-text-3); }
.sv-kaufweg .kv-express-zustimmung label { display: block; position: relative; padding-left: 28px; font-size: 12px; line-height: 1.5; color: #d2d2d7; }
.sv-kaufweg .kv-express-zustimmung input { position: absolute; left: 0; top: 2px; width: 17px; height: 17px; margin: 0; accent-color: var(--kv-blau); }
.sv-kaufweg .kv-express-zustimmung a { color: var(--kv-link); }
.sv-kaufweg.sv-zustimmung-fehlt .kv-express-sperre { opacity: .35; pointer-events: none; filter: grayscale(1); }

/* Zahlarten wie im Entwurf: PayPal als kursiver Schriftzug, die uebrigen klein darunter oder daneben (seit 2.9.1). */
.sv-kaufweg .kv-zahlung .kv-zahlarten { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; white-space: normal; font-size: inherit; color: inherit; }
.sv-kaufweg .kv-pp { display: inline; font-size: 15px; font-weight: 700; font-style: italic; letter-spacing: -.01em; color: #f5f5f7; white-space: nowrap; }
.sv-kaufweg .kv-zahlung .kv-pp { display: inline; font-size: 15px; color: #f5f5f7; gap: 0; }
.sv-kaufweg .kv-zahl-weitere { font-size: 11px; color: var(--kv-text-3); white-space: nowrap; }
.sv-kaufweg .kv-zahlung .kv-zahl-weitere { display: inline; font-size: 11px; gap: 0; }
.sv-kaufweg .kv-sicher { flex-wrap: wrap; row-gap: 4px; }
.sv-kaufweg .kv-sicher-text { display: inline-flex; align-items: center; gap: 8px; }
.sv-kaufweg .kv-sicher .kv-zahlarten { display: inline-flex; align-items: baseline; gap: 8px; }
.sv-kaufweg .kv-zahlung > span:first-child { flex: none; }
.sv-kaufweg .kv-zahlung .kv-zahlarten { flex: 1 1 auto; min-width: 0; text-align: right; }
.sv-kaufweg .kv-zahlung .kv-zahl-weitere { white-space: normal; }

/* Seit 2.9.1: Vorschaubilder ohne den allgemeinen Bildrand aus .page-content img. */
.sv-kaufweg .kv-vorschlag-bild img, .sv-kaufweg .kv-posten-bild img { margin: 0; border-radius: 0; }

/* Seit 2.9.1: Zusammenfassung auch auf dem Handy als ruhige zweispaltige Tabelle, ohne die Doppelpunkt Beschriftung von WooCommerce. */
@media (max-width: 768px) {
	.sv-kaufweg .kv-summe table.shop_table_responsive tr { display: table-row; }
	.sv-kaufweg .kv-summe table.shop_table_responsive tr th { display: table-cell; }
	.sv-kaufweg .kv-summe table.shop_table_responsive tr td { display: table-cell; text-align: right !important; }
	.sv-kaufweg .kv-summe table.shop_table_responsive tr td::before { display: none; content: none; }
	.sv-kaufweg .kv-summe table.shop_table_responsive tr.cart-subtotal { display: none; }
}

/* Seit 2.9.1: Im Quelltext stehen Clips, Zusammenfassung und Vorschlaege in dieser Reihenfolge.
 * Auf breiten Schirmen legt das Raster die Zusammenfassung rechts neben beide Bereiche,
 * auf schmalen Schirmen bleibt die Reihenfolge des Quelltexts, so wie Tastatur und Bildschirmleser sie lesen. */
.sv-kaufweg .kv-korb { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.sv-kaufweg .kv-korb-rechts { max-width: none; width: 100%; }
@media (min-width: 901px) {
	/* Seit 2.9.2: Die zweite Zeile nimmt die Hoehe der langen Zusammenfassung auf, damit unter den Clips keine Luecke entsteht. */
	.sv-kaufweg .kv-korb { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); grid-template-rows: auto 1fr; column-gap: 40px; row-gap: 20px; }
	.sv-kaufweg .kv-korb-links { grid-column: 1; }
	.sv-kaufweg .kv-korb-rechts { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 84px; }
}
/* Vorschlaege auf dem Handy als waagerechte Reihe zum Wischen statt drei grosser Karten untereinander. */
@media (max-width: 600px) {
	.sv-kaufweg .kv-vorschlag-raster { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 72%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; scrollbar-width: none; }
	.sv-kaufweg .kv-vorschlag-raster::-webkit-scrollbar { display: none; }
	.sv-kaufweg .kv-vorschlag { scroll-snap-align: start; }
	.sv-kaufweg .kv-schritte { gap: 8px; font-size: 12px; }
	.sv-kaufweg .kv-schritt-linie { width: 14px; }
}
@media (max-width: 374px) { .sv-kaufweg .kv-schritt-linie { display: none; } }

.sv-kaufweg .kv-zahl-name { white-space: nowrap; }

/* Seit 2.9.3: Zahlungszeile ueberall gleich aufgebaut.
 * Zeile 1: Schloss, "Sichere Zahlung mit" und der PayPal Schriftzug. Zeile 2: die uebrigen Zahlarten, klein.
 * Videoseite linksbuendig (.kv-zahlung), Warenkorb und Kasse mittig (.kv-sicher). */
.sv-kaufweg .kv-zahlung, .sv-kaufweg .kv-sicher { display: grid; grid-template-columns: auto auto; column-gap: 6px; row-gap: 3px; align-items: baseline; }
.sv-kaufweg .kv-zahlung { justify-content: start; }
.sv-kaufweg .kv-sicher { justify-content: center; text-align: center; }
.sv-kaufweg .kv-zahlung > span:first-child, .sv-kaufweg .kv-sicher .kv-sicher-text { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--kv-text-3); white-space: nowrap; }
.sv-kaufweg .kv-zahlung .kv-zahlarten, .sv-kaufweg .kv-sicher .kv-zahlarten { display: contents; }
.sv-kaufweg .kv-zahlung .kv-pp, .sv-kaufweg .kv-sicher .kv-pp { display: inline; font-size: 15px; font-weight: 700; font-style: italic; letter-spacing: -.01em; line-height: 1.2; color: #f5f5f7; white-space: nowrap; }
.sv-kaufweg .kv-zahlung .kv-zahl-weitere, .sv-kaufweg .kv-sicher .kv-zahl-weitere { display: block; grid-column: 1 / -1; font-size: 11px; line-height: 1.4; color: var(--kv-text-3); white-space: normal; }
.sv-kaufweg .kv-zahlung .kv-zahl-weitere { padding-left: 22px; }
.sv-kaufweg .kv-zahlung .kv-zahl-name, .sv-kaufweg .kv-sicher .kv-zahl-name { display: inline; white-space: nowrap; font-size: inherit; color: inherit; }
/* Seit 2.9.3: Die Clearfix Hilfselemente von WooCommerce (::before und ::after) wuerden im Flexlayout
 * als leere Eintraege zaehlen und zusaetzlich 18 px Abstand erzeugen. */
.sv-kaufweg .wc-proceed-to-checkout::before, .sv-kaufweg .wc-proceed-to-checkout::after { content: none; display: none; }

/* Seit 2.9.4: Trennlinie "Express Checkout" zwischen Kassenknopf und Expressknoepfen. */
.sv-kaufweg .kv-express-zustimmung { padding: 4px 0 0; border-top: 0; }
.sv-kaufweg .kv-express-trenner { display: flex; align-items: center; gap: 12px; margin: 0 0 2px; font-size: 12px; font-weight: 600; letter-spacing: .02em; color: var(--kv-text-2); }
.sv-kaufweg .kv-express-trenner::before, .sv-kaufweg .kv-express-trenner::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--kv-linie); }
/* Seit 2.9.4: Zahlungszeile und ID auf der Videoseite mittig, wie im Warenkorb und an der Kasse. */
.sv-kaufweg .kv-zahlung { justify-content: center; text-align: center; }
.sv-kaufweg .kv-zahlung .kv-zahl-weitere { padding-left: 0; }
.sv-kaufweg .kv-kennung { text-align: center; }

/* Seit 2.9.5: Hinweise ruhig und flach, ohne Karte und ohne farbigen Balken. Fehler leicht rot hinterlegt. */
.sv-kaufweg .woocommerce-notices-wrapper .woocommerce-message,
.sv-kaufweg .woocommerce-notices-wrapper .woocommerce-info,
.sv-kaufweg .woocommerce-notices-wrapper .woocommerce-error,
.sv-kaufweg .woocommerce-error, .sv-kaufweg .woocommerce-info, .sv-kaufweg .woocommerce-message {
	border: 0; border-radius: 10px; box-shadow: none; padding: 12px 16px; margin: 0 0 16px; font-size: 14px; line-height: 1.5;
}
.sv-kaufweg .woocommerce-error { background: rgba(255, 69, 58, .1); color: #ffd1cd; list-style: none; }
.sv-kaufweg .woocommerce-error li { margin: 0; padding: 0; }
.sv-kaufweg .woocommerce-error li + li { margin-top: 4px; }

/* Seit 2.9.5: Download Hinweis und Zahlungszeile mit Abstand unter dem Bezahlknopf. */
.sv-kaufweg .kv-kasse-fuss { margin-top: 20px; display: flex; flex-direction: column; gap: 12px; }
.sv-kaufweg .kv-kasse-fuss .kv-sofort, .sv-kaufweg .kv-kasse-fuss .kv-sicher { margin: 0; }
.sv-kaufweg .woocommerce-error a { color: inherit; text-decoration: underline; text-decoration-color: rgba(255, 209, 205, .35); text-underline-offset: 3px; }
/* WooCommerce 11 wiederholt den Fehler direkt am Feld. Dort lesbar und ruhig statt winzig in Dunkelrot. */
body.sv-kaufweg .woocommerce form .form-row .checkout-inline-error-message, body.sv-kaufweg .checkout-inline-error-message { margin: 6px 0 0; padding-left: 30px; font-size: 12px; line-height: 1.4; color: #ff8a80; }
body.sv-kaufweg .woocommerce form .form-row.woocommerce-invalid input[type="checkbox"], body.sv-kaufweg .woocommerce-invalid input[type="checkbox"] { outline: 2px solid #ff8a80; outline-offset: 2px; border-color: transparent; box-shadow: none; }
/* WooCommerce zeichnet Fehler mit der Variable --wc-red (Dunkelrot #a00). Im dunklen Kaufweg hell und lesbar. */
.sv-kaufweg { --wc-red: #ff8a80; }
body.sv-kaufweg .woocommerce-invalid #terms { outline: 2px solid #ff8a80; outline-offset: 2px; }

/* Seit 2.9.5: Entfernen im Warenkorb ohne den weissen Schleier und den Kreisel von WooCommerce.
   Die Sperre gegen Doppelklicks bleibt, sie ist nur unsichtbar. Der entfernte Clip blendet sich
   zurueck, die Summe wird kurz blasser, bis WooCommerce die neue Fassung liefert. */
body.woocommerce-cart.sv-kaufweg .blockUI.blockOverlay { background: transparent !important; opacity: 0 !important; cursor: progress !important; }
body.woocommerce-cart.sv-kaufweg .blockUI.blockOverlay::before { display: none !important; }
.sv-kaufweg .kv-posten-zeile { transition: opacity 220ms var(--kv-schwung), transform 220ms var(--kv-schwung); }
.sv-kaufweg .kv-posten-zeile.kv-weg { opacity: .38; transform: scale(.985); pointer-events: none; }
.sv-kaufweg .cart_totals { transition: opacity 200ms ease; }
.sv-kaufweg .cart_totals.processing { opacity: .5; }
.sv-kaufweg a.remove.kv-entfernen.kv-laeuft svg { display: none; }
.sv-kaufweg a.remove.kv-entfernen.kv-laeuft::before { content: ""; flex: none; width: 12px; height: 12px; box-sizing: border-box; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .22); border-top-color: #d2d2d7; animation: kv-dreh 700ms linear infinite; }
@keyframes kv-dreh { to { transform: rotate(360deg); } }
/* Hinweis nach dem Entfernen: Text links, Rueckgaengig als kleiner Knopf rechts. */
body.woocommerce-cart.sv-kaufweg .woocommerce-message:has(.restore-item) { display: flex; align-items: center; justify-content: space-between; gap: 16px; animation: kv-hinweis 240ms var(--kv-schwung); }
/* Die Clearfix Pseudoelemente von WooCommerce waeren sonst eigene Flex Elemente und schoeben den Knopf in die Mitte. */
body.woocommerce-cart.sv-kaufweg .woocommerce-message:has(.restore-item)::before, body.woocommerce-cart.sv-kaufweg .woocommerce-message:has(.restore-item)::after { display: none; content: none; }
body.woocommerce-cart.sv-kaufweg .woocommerce-message .restore-item { flex: none; display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: var(--kv-text); font-size: 13px; font-weight: 600; text-decoration: none; transition: background-color 160ms ease, transform 160ms var(--kv-schwung); }
body.woocommerce-cart.sv-kaufweg .woocommerce-message .restore-item:hover { background: rgba(255, 255, 255, .14); }
body.woocommerce-cart.sv-kaufweg .woocommerce-message .restore-item:active { transform: scale(.97); }
@keyframes kv-hinweis { from { opacity: 0; transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) {
	.sv-kaufweg .kv-posten-zeile, .sv-kaufweg .cart_totals { transition: none; }
	.sv-kaufweg .kv-posten-zeile.kv-weg { transform: none; }
	.sv-kaufweg a.remove.kv-entfernen.kv-laeuft::before { animation: none; border-top-color: rgba(255, 255, 255, .22); border-color: #d2d2d7 rgba(255, 255, 255, .22) rgba(255, 255, 255, .22); }
	body.woocommerce-cart.sv-kaufweg .woocommerce-message:has(.restore-item) { animation: none; }
}
body.sv-kaufweg a.nav-korb[hidden] { display: none; }

/* Seit 2.9.6: Zwischen Weiter zur Kasse und dem Schnellkauf steht oder, darunter Express Checkout als eigene, gut sichtbare Ueberschrift. */
.sv-kaufweg .kv-express-trenner { margin: 6px 0 4px; font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: lowercase; color: var(--kv-text-3); }
.sv-kaufweg .kv-express-kopf { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 0 2px; font-size: 19px; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; color: #fff; }
.sv-kaufweg .kv-express-kopf svg { flex: none; }
@media (max-width: 480px) { .sv-kaufweg .kv-express-kopf { font-size: 18px; } }
