/* KreaTools Shop Design – bewusst ohne Template-Overrides. */
.ksd-shop-design {
	--ksd-shadow: 0 10px 32px rgba(15, 37, 63, .08);
	--ksd-shadow-small: 0 4px 16px rgba(15, 37, 63, .07);
	--ksd-focus: 0 0 0 3px color-mix(in srgb, var(--ksd-primary) 20%, transparent);
	color: var(--ksd-text);
}

.ksd-shop-design .woocommerce,
.ksd-shop-design .wp-block-woocommerce-cart,
.ksd-shop-design .wp-block-woocommerce-checkout {
	width: min(100% - 40px, var(--ksd-content));
	max-width: var(--ksd-content);
	margin-left: auto;
	margin-right: auto;
}

.ksd-shop-design .woocommerce * { box-sizing: border-box; }

/* Im eigenständigen Layout liefert das Plugin den Seitentitel selbst. */
.ksd-standalone-layout .site-main > .page-header,
.ksd-standalone-layout .site-main > header.page-header,
.ksd-standalone-layout .entry-content > .entry-title,
.ksd-standalone-layout main > article > .entry-header {
	display: none !important;
}

.ksd-shop-design .woocommerce a { text-underline-offset: 3px; }

.ksd-shop-design .woocommerce input[type="text"],
.ksd-shop-design .woocommerce input[type="email"],
.ksd-shop-design .woocommerce input[type="tel"],
.ksd-shop-design .woocommerce input[type="number"],
.ksd-shop-design .woocommerce input[type="password"],
.ksd-shop-design .woocommerce input[type="search"],
.ksd-shop-design .woocommerce input[type="url"],
.ksd-shop-design .woocommerce input[type="date"],
.ksd-shop-design .woocommerce select,
.ksd-shop-design .woocommerce textarea {
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid var(--ksd-border);
	border-radius: calc(var(--ksd-radius) * .65);
	background: var(--ksd-surface);
	color: var(--ksd-text);
	box-shadow: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.ksd-shop-design .woocommerce textarea { min-height: 110px; resize: vertical; }

.ksd-shop-design .woocommerce input[type="text"]:focus,
.ksd-shop-design .woocommerce input[type="email"]:focus,
.ksd-shop-design .woocommerce input[type="tel"]:focus,
.ksd-shop-design .woocommerce input[type="number"]:focus,
.ksd-shop-design .woocommerce input[type="password"]:focus,
.ksd-shop-design .woocommerce input[type="search"]:focus,
.ksd-shop-design .woocommerce input[type="url"]:focus,
.ksd-shop-design .woocommerce input[type="date"]:focus,
.ksd-shop-design .woocommerce select:focus,
.ksd-shop-design .woocommerce textarea:focus {
	outline: 0;
	border-color: var(--ksd-primary);
	box-shadow: var(--ksd-focus);
}

/* Upload-Plugins verwalten ihre Dateifelder selbst. */
.ksd-shop-design .woocommerce input[type="file"],
.ksd-shop-design .woocommerce .wcuf_file_input,
.ksd-shop-design .woocommerce .wcuf_file_uploads_container input[type="file"] {
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.ksd-shop-design .select2-container--default .select2-selection--single {
	height: 46px;
	border: 1px solid var(--ksd-border);
	border-radius: calc(var(--ksd-radius) * .65);
}

.ksd-shop-design .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 44px;
	padding-left: 13px;
}

.ksd-shop-design .select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }

.ksd-shop-design .woocommerce button.button,
.ksd-shop-design .woocommerce a.button,
.ksd-shop-design .woocommerce input.button,
.ksd-shop-design .wc-block-components-button:not(.wc-block-components-checkout-place-order-button) {
	min-height: 46px;
	padding: 12px 20px;
	border: 0;
	border-radius: var(--ksd-button-radius, 8px);
	background: var(--ksd-button);
	color: var(--ksd-button-text);
	font-family: var(--ksd-button-font, inherit);
	font-weight: 700;
	line-height: 1.2;
	box-shadow: none;
	transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}

.ksd-shop-design .woocommerce button.button:hover,
.ksd-shop-design .woocommerce a.button:hover,
.ksd-shop-design .woocommerce input.button:hover,
.ksd-shop-design .wc-block-components-button:hover {
	background: var(--ksd-button-hover, var(--ksd-button));
	color: var(--ksd-button-text);
	opacity: 1;
	transform: translateY(-1px);
	box-shadow: var(--ksd-shadow-small);
}

.ksd-shop-design .woocommerce-message,
.ksd-shop-design .woocommerce-info,
.ksd-shop-design .woocommerce-error {
	margin: 0 0 22px;
	padding: 16px 18px 16px 50px;
	border: 1px solid var(--ksd-border);
	border-top: 3px solid var(--ksd-primary);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
}

.ksd-shop-design .woocommerce-error { border-top-color: #c62828; }

/* Fortschritt */
.ksd-checkout-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: min(var(--ksd-step-width, 680px), 100%);
	margin: 0 auto 32px;
	position: relative;
}

.ksd-checkout-steps::before {
	content: "";
	position: absolute;
	top: var(--ksd-step-line, 17px);
	left: 16.66%;
	right: 16.66%;
	height: 2px;
	background: #111;
	z-index: 0;
}

.ksd-checkout-steps::after {
	content: "";
	position: absolute;
	top: var(--ksd-step-line, 17px);
	left: 16.66%;
	height: 2px;
	width: 0;
	background: var(--ksd-primary);
	z-index: 0;
}

.ksd-checkout-steps.is-current-2::after { width: 33.34%; }
.ksd-checkout-steps.is-current-3::after { width: 66.68%; }

.ksd-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--ksd-step-gap, 7px);
	position: relative;
	z-index: 1;
	color: var(--ksd-muted);
	text-decoration: none;
}

.ksd-step i {
	display: grid;
	place-items: center;
	width: var(--ksd-step-circle, 36px);
	height: var(--ksd-step-circle, 36px);
	border: 2px solid var(--ksd-border);
	border-radius: 50%;
	background: var(--ksd-surface);
	font-family: inherit;
	font-size: max(16px, calc(var(--ksd-step-text, 13px) * 1.22));
	font-weight: 800;
	line-height: 1;
	font-style: normal;
	position: relative;
}

.ksd-step b { font-size: var(--ksd-step-text, 13px); }
.ksd-step:not(.is-active):not(.is-complete) { color: #111; }
.ksd-step:not(.is-active):not(.is-complete) i { border-color: #111; color: #111; }
.ksd-step.is-active, .ksd-step.is-complete { color: var(--ksd-primary); }
.ksd-step.is-active i, .ksd-step.is-complete i { border-color: var(--ksd-primary); }
.ksd-step.is-active i { background: var(--ksd-primary); color: #fff; }
.ksd-step.is-complete i { font-size: 0; }
.ksd-step.is-complete i::before {
	content: "✓";
	display: grid;
	place-items: center;
	position: absolute;
	inset: 0;
	font-family: Arial, sans-serif;
	font-size: max(19px, calc(var(--ksd-step-text, 13px) * 1.5));
	font-weight: 900;
	line-height: 1;
	transform: translateY(1px);
}
.ksd-step.is-link { cursor: pointer; }
.ksd-step.is-link,
.ksd-step.is-link b,
.ksd-step.is-link:hover,
.ksd-step.is-link:focus { text-decoration: none !important; }
.ksd-step.is-link:hover { color: color-mix(in srgb, var(--ksd-primary) 72%, #000); text-decoration: none; }
.ksd-step.is-link:hover i { transform: translateY(-1px); box-shadow: var(--ksd-shadow-small); }

/* Warenkorb – klassische WooCommerce-Ausgabe */
.ksd-shop-design.woocommerce-cart .woocommerce-cart-form {
	float: left;
	width: calc(100% - 420px);
	margin: 0;
}

.ksd-shop-design.woocommerce-cart table.shop_table {
	border: 1px solid var(--ksd-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
	overflow: hidden;
}

.ksd-shop-design.woocommerce-cart table.shop_table thead,
.ksd-shop-design.woocommerce-cart table.shop_table tbody,
.ksd-shop-design.woocommerce-cart table.shop_table tfoot,
.ksd-shop-design.woocommerce-cart table.shop_table tr,
.ksd-shop-design.woocommerce-cart table.shop_table th,
.ksd-shop-design.woocommerce-cart table.shop_table td {
	background: var(--ksd-surface) !important;
}

.ksd-shop-design.woocommerce-cart table.shop_table th {
	padding: 15px 14px;
	border: 0;
	border-bottom: 1px solid var(--ksd-border);
	background: var(--ksd-surface) !important;
	color: var(--ksd-muted);
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.ksd-shop-design.woocommerce-cart table.shop_table td {
	padding: 18px 14px;
	border: 0;
	border-bottom: 1px solid var(--ksd-border);
	vertical-align: middle;
}

.ksd-shop-design.woocommerce-cart table.shop_table tr:last-child td { border-bottom: 0; }

.ksd-shop-design.woocommerce-cart td.product-thumbnail {
	width: calc(var(--ksd-cart-image, 92px) + 28px) !important;
	min-width: calc(var(--ksd-cart-image, 92px) + 28px);
}

.ksd-shop-design.woocommerce-cart td.product-thumbnail > a {
	display: block !important;
	width: var(--ksd-cart-image, 92px) !important;
	height: var(--ksd-cart-image, 92px) !important;
}

.ksd-shop-design.woocommerce-cart td.product-thumbnail img {
	display: block !important;
	width: var(--ksd-cart-image, 92px) !important;
	height: var(--ksd-cart-image, 92px) !important;
	min-width: var(--ksd-cart-image, 92px) !important;
	max-width: none !important;
	max-height: none !important;
	border-radius: calc(var(--ksd-radius) * .65);
	object-fit: cover;
	background: var(--ksd-background);
}

.ksd-shop-design.woocommerce-cart td.product-name > a {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--ksd-text);
	font-size: 16px;
	font-weight: 750;
	text-decoration: none;
}

.ksd-shop-design.woocommerce-cart .variation,
.ksd-shop-design.woocommerce-cart .wc-item-meta {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 3px 6px;
	margin: 0;
	color: var(--ksd-muted);
	font-size: 13px;
	line-height: 1.35;
}

.ksd-shop-design.woocommerce-cart .variation dt,
.ksd-shop-design.woocommerce-cart .variation dd,
.ksd-shop-design.woocommerce-cart .wc-item-meta li,
.ksd-shop-design.woocommerce-cart .wc-item-meta p { margin: 0; }
.ksd-shop-design.woocommerce-cart .variation dt { color: var(--ksd-text); font-weight: 700; }
.ksd-shop-design.woocommerce-cart .variation dd { min-width: 0; overflow-wrap: anywhere; }

.ksd-shop-design.woocommerce-cart a.remove {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	color: #b42318 !important;
	font-size: 22px;
	text-decoration: none;
}
.ksd-shop-design.woocommerce-cart a.remove:hover { background: #fff0ee; color: #b42318 !important; }

.ksd-shop-design.woocommerce-cart .quantity .qty { width: 74px; text-align: center; }

.ksd-shop-design.woocommerce-cart .actions { padding: 18px !important; }
.ksd-shop-design.woocommerce-cart .coupon { display: flex; gap: 8px; }
.ksd-shop-design.woocommerce-cart .coupon input { width: 190px !important; }
.ksd-shop-design.woocommerce-cart .actions button[name="update_cart"]:disabled,
.ksd-shop-design.woocommerce-cart .actions button[name="update_cart"].disabled {
	border: 1px solid var(--ksd-border) !important;
	background: var(--ksd-surface) !important;
	color: var(--ksd-muted) !important;
	box-shadow: none !important;
	opacity: 1 !important;
	cursor: not-allowed;
}
.ksd-shop-design.woocommerce-cart .actions button[name="update_cart"]:disabled:hover,
.ksd-shop-design.woocommerce-cart .actions button[name="update_cart"].disabled:hover {
	border-color: var(--ksd-border) !important;
	background: var(--ksd-surface) !important;
	color: var(--ksd-muted) !important;
}

.ksd-shop-design.woocommerce-cart .cart-collaterals {
	float: right;
	width: 390px;
	margin: 0;
}

.ksd-shop-design.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	padding: 16px 24px 24px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow);
}

.ksd-shop-design.woocommerce-cart .cart_totals h2 { margin: 0 0 18px; font-size: 22px; }
.ksd-shop-design.woocommerce-cart .cart_totals table { border: 0; box-shadow: none; }
.ksd-shop-design.woocommerce-cart .cart_totals table th,
.ksd-shop-design.woocommerce-cart .cart_totals table td { padding: 13px 0; border-bottom: 1px solid var(--ksd-border); background: transparent; }
.ksd-shop-design.woocommerce-cart .cart_totals table th { width: 43%; color: var(--ksd-text); font-size: 13px; text-transform: none; letter-spacing: 0; }
.ksd-shop-design.woocommerce-cart .wc-proceed-to-checkout { padding: 18px 0 0; }
.ksd-shop-design.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: block; margin: 0 0 12px; padding: 16px 20px; font-size: 16px; text-align: center; }

/* Block-Warenkorb */
.ksd-shop-design .wc-block-cart-items,
.ksd-shop-design .wc-block-cart__sidebar,
.ksd-shop-design .wc-block-checkout__main,
.ksd-shop-design .wc-block-checkout__sidebar {
	border-color: var(--ksd-border) !important;
	border-radius: var(--ksd-radius);
}
.ksd-shop-design .wc-block-cart__sidebar,
.ksd-shop-design .wc-block-checkout__sidebar { padding: 22px; background: var(--ksd-surface); box-shadow: var(--ksd-shadow); }

/* Kasse */
.ksd-shop-design.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: var(--ksd-checkout-columns, minmax(0, 1.3fr) minmax(390px, .9fr));
	gap: 18px 28px;
	align-items: start;
}

.ksd-shop-design.woocommerce-checkout form.checkout > .col2-set,
.ksd-shop-design.woocommerce-checkout #customer_details {
	display: flex !important;
	flex-direction: column;
	grid-column: 1;
	grid-row: 1 / span 2;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
}

.ksd-shop-design.woocommerce-checkout form.checkout > .col2-set > .col-1,
.ksd-shop-design.woocommerce-checkout form.checkout > .col2-set > .col-2,
.ksd-shop-design.woocommerce-checkout #customer_details .col-1,
.ksd-shop-design.woocommerce-checkout #customer_details .col-2 {
	display: block;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 18px;
	padding: 26px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
}

.ksd-shop-design.woocommerce-checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	float: none;
	width: 100%;
	margin: 0;
	padding: 22px 24px 12px;
	border: 1px solid var(--ksd-border);
	border-bottom: 0;
	border-radius: var(--ksd-radius) var(--ksd-radius) 0 0;
	background: var(--ksd-surface);
	font-size: 21px;
}

.ksd-shop-design.woocommerce-checkout #order_review {
	grid-column: 2;
	grid-row: 2;
	float: none;
	width: 100%;
	margin-top: -18px;
	padding: 10px 24px 24px;
	border: 1px solid var(--ksd-border);
	border-top: 0;
	border-radius: 0 0 var(--ksd-radius) var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow);
	position: sticky;
	top: 28px;
}

.ksd-shop-design.woocommerce-checkout form.checkout h3,
.ksd-shop-design.woocommerce-checkout .woocommerce-billing-fields > h3,
.ksd-shop-design.woocommerce-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 20px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--ksd-border);
	font-size: 19px;
}

.ksd-shop-design.woocommerce-checkout .form-row { margin: 0 0 14px; }
.ksd-shop-design.woocommerce-checkout .form-row label { margin-bottom: 6px; color: var(--ksd-text); font-size: 13px; font-weight: 650; }
.ksd-shop-design.woocommerce-checkout .optional { color: var(--ksd-muted); font-size: 11px; font-weight: 400; }

.ksd-shop-design.woocommerce-checkout form.checkout_coupon,
.ksd-shop-design.woocommerce-checkout form.login {
	max-width: 720px;
	margin: 0 auto 24px;
	padding: 20px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
}

.ksd-shop-design.woocommerce-checkout table.shop_table {
	margin: 0 0 16px;
	border: 0;
	border-collapse: collapse;
	font-size: 13px;
}

.ksd-shop-design.woocommerce-checkout table.shop_table th,
.ksd-shop-design.woocommerce-checkout table.shop_table td {
	padding: 12px 6px;
	border: 0;
	border-bottom: 1px solid var(--ksd-border);
	vertical-align: top;
}

.ksd-shop-design.woocommerce-checkout table.shop_table th:last-child,
.ksd-shop-design.woocommerce-checkout table.shop_table td:last-child { text-align: right; }
.ksd-shop-design.woocommerce-checkout table.shop_table .product-name { width: 70%; }
.ksd-shop-design.woocommerce-checkout table.shop_table .variation { margin: 7px 0 0; color: var(--ksd-muted); font-size: 11px; line-height: 1.35; }
.ksd-shop-design.woocommerce-checkout table.shop_table .variation dt,
.ksd-shop-design.woocommerce-checkout table.shop_table .variation dd { display: inline; float: none; margin: 0; overflow-wrap: anywhere; }
.ksd-shop-design.woocommerce-checkout table.shop_table .variation dd::after { content: ""; display: block; }

.ksd-shop-design.woocommerce-checkout #payment {
	border: 0;
	border-radius: var(--ksd-radius);
	background: var(--ksd-background);
}

.ksd-shop-design.woocommerce-checkout #payment ul.payment_methods { padding: 12px; border-bottom: 1px solid var(--ksd-border); }
.ksd-shop-design.woocommerce-checkout #payment ul.payment_methods li {
	margin: 0 0 8px;
	padding: 13px;
	border: 1px solid var(--ksd-border);
	border-radius: calc(var(--ksd-radius) * .65);
	background: var(--ksd-surface);
}
.ksd-shop-design.woocommerce-checkout #payment ul.payment_methods li:last-child { margin-bottom: 0; }
.ksd-shop-design.woocommerce-checkout #payment ul.payment_methods li > label { font-weight: 600; }
.ksd-shop-design.woocommerce-checkout #payment div.payment_box { margin: 10px 0 0; padding: 12px; border-radius: 6px; background: var(--ksd-background); color: var(--ksd-muted); font-size: 12px; }
.ksd-shop-design.woocommerce-checkout #payment div.payment_box::before { display: none; }
.ksd-shop-design.woocommerce-checkout #payment .place-order { padding: 16px 12px 12px; }
.ksd-shop-design.woocommerce-checkout #payment #place_order { width: 100%; min-height: 54px; margin-top: 10px; font-size: 16px; }

/* Klassische Kasse: Überschrift und Bestellbereich bilden eine gemeinsame Karte.
 * Dadurch beginnen Rechnungsdaten und Bestellübersicht exakt auf gleicher Höhe. */
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout form.checkout > .col2-set,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #customer_details {
	grid-row: 1;
	align-self: start;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review {
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	width: 100%;
	margin: 0;
	padding: 0 24px 24px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow);
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review > #order_review_heading {
	position: static;
	float: none;
	width: 100%;
	margin: 0 0 14px;
	padding: 22px 0 14px;
	border: 0;
	border-bottom: 1px solid var(--ksd-border);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: 21px;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table thead,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table tbody,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table tfoot,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table tr,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table th,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table td {
	background: transparent !important;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table thead th {
	background: var(--ksd-background) !important;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table tfoot th,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table tfoot td {
	padding-top: 13px;
	padding-bottom: 13px;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table th {
	font-weight: 600;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table td {
	font-weight: 400;
}

.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table .order-total th,
.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review table.shop_table .order-total td {
	font-weight: 650;
}

/* Germanized: rechtliche Inhalte sichtbar und ruhig halten. */
.ksd-shop-design.woocommerce-checkout .woocommerce-gzd-legal-checkbox-text,
.ksd-shop-design.woocommerce-checkout .wc-gzd-checkbox-placeholder,
.ksd-shop-design.woocommerce-checkout .legal {
	color: var(--ksd-text);
	font-size: 13px;
	line-height: 1.5;
	font-weight: 400;
}
.ksd-shop-design.woocommerce-checkout #order_review .wc-gzd-checkbox-placeholder {
	margin: 18px 0 !important;
	padding: 8px 0;
}
.ksd-shop-design.woocommerce-checkout .wc-gzd-checkbox-placeholder p,
.ksd-shop-design.woocommerce-checkout .wc-gzd-checkbox-placeholder .form-row { margin: 0; }
.ksd-shop-design.woocommerce-checkout .woocommerce-gzd-legal-checkbox-text,
.ksd-shop-design.woocommerce-checkout .woocommerce-gzd-legal-checkbox-text label,
.ksd-shop-design.woocommerce-checkout .wc-gzd-checkbox-placeholder label {
	color: var(--ksd-text);
	font-size: 13px;
	font-weight: 400;
}
.ksd-shop-design.woocommerce-checkout .woocommerce-gzd-legal-checkbox-text a { color: var(--ksd-primary); }
.ksd-shop-design.woocommerce-checkout .ksd-legal-needs-attention {
	margin-left: -10px !important;
	margin-right: -10px !important;
	padding: 10px !important;
	border-radius: calc(var(--ksd-radius) * .55);
	background: #fff4f4;
	box-shadow: 0 0 0 2px #c62828;
}
.ksd-shop-design.woocommerce-checkout .payment_method_paypal img,
.ksd-shop-design.woocommerce-checkout .payment_method_ppcp-gateway img { max-height: 28px; width: auto; }

.ksd-trust-note {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 94px;
	margin: 14px 0 26px;
	padding: 22px 16px;
	border: 1px solid color-mix(in srgb, var(--ksd-primary) 25%, var(--ksd-border));
	border-radius: calc(var(--ksd-radius) * .65);
	background: color-mix(in srgb, var(--ksd-primary) 6%, var(--ksd-surface));
}
.ksd-trust-note > span { display: grid; place-items: center; flex: 0 0 28px; height: 28px; border-radius: 50%; background: var(--ksd-primary); color: #fff; font-weight: 800; }
.ksd-trust-note p, .ksd-trust-note strong, .ksd-trust-note small { display: block; margin: 0; }
.ksd-trust-note strong { font-size: 14px; font-weight: 650; }
.ksd-trust-note small { color: var(--ksd-muted); font-size: 11px; }

/* Danke-/Bestellseite */
.ksd-shop-design.woocommerce-order-received .woocommerce-order {
	max-width: 980px;
	margin: 0 auto;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-thankyou-order-received {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 24px;
	padding: 26px;
	border: 1px solid #b8e2ca;
	border-radius: var(--ksd-radius);
	background: #f1fbf5;
	box-shadow: var(--ksd-shadow-small);
}

.ksd-thankyou-icon {
	display: grid;
	place-items: center;
	flex: 0 0 52px;
	height: 52px;
	border-radius: 50%;
	background: #128447;
	color: #fff;
	font-size: 25px;
	font-weight: 800;
}
.ksd-thankyou-copy, .ksd-thankyou-copy strong, .ksd-thankyou-copy small { display: block; }
.ksd-thankyou-copy strong { margin-bottom: 4px; color: #123a24; font-size: 22px; }
.ksd-thankyou-copy small { color: #426553; font-size: 14px; line-height: 1.5; }

.ksd-shop-design.woocommerce-order-received ul.order_details {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	margin: 0 0 24px;
	padding: 0;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	overflow: hidden;
}
.ksd-shop-design.woocommerce-order-received ul.order_details::before,
.ksd-shop-design.woocommerce-order-received ul.order_details::after,
.ksd-shop-design.woocommerce-order-received .woocommerce-columns--addresses::before,
.ksd-shop-design.woocommerce-order-received .woocommerce-columns--addresses::after {
	content: none !important;
	display: none !important;
}
.ksd-shop-design.woocommerce-order-received ul.order_details li {
	float: none;
	min-width: 0;
	margin: 0;
	padding: 18px;
	border-right: 1px solid var(--ksd-border);
	color: var(--ksd-muted);
	font-size: 11px;
	overflow-wrap: anywhere;
}
.ksd-shop-design.woocommerce-order-received ul.order_details li:last-child { border-right: 0; }
.ksd-shop-design.woocommerce-order-received ul.order_details li strong { display: block; margin-top: 6px; color: var(--ksd-text); font-size: 14px; }
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details,
.ksd-shop-design.woocommerce-order-received .woocommerce-customer-details {
	margin: 0 0 22px;
	padding: 24px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
}

.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details {
	margin: 0 0 22px;
	padding: 24px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
}

.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details > h2,
.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details > h3 {
	margin: 0;
	color: var(--ksd-text);
}
.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details > h2 { font-size: 22px; }
.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details > h3 {
	margin-top: 5px;
	color: var(--ksd-muted);
	font-size: 15px;
	font-weight: 600;
}

.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details {
	grid-template-columns: minmax(150px, .9fr) minmax(260px, 1.4fr) minmax(150px, .8fr);
	margin: 20px 0 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details .account_number,
.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details .sort_code {
	display: none !important;
}

.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details li {
	display: block !important;
	grid-column: auto !important;
	grid-row: auto !important;
	width: auto !important;
	min-width: 0;
	padding: 15px 18px;
	border: 1px solid var(--ksd-border);
	background: var(--ksd-surface);
	overflow-wrap: anywhere;
}

.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details li + li {
	border-left: 0;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--ksd-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: calc(var(--ksd-radius) * .65);
	background: var(--ksd-surface) !important;
	overflow: hidden;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table tr,
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table th,
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table td {
	background: var(--ksd-surface) !important;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table th,
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table td {
	padding: 14px 12px;
	border: 0;
	border-bottom: 1px solid var(--ksd-border);
}

.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table thead th {
	color: var(--ksd-muted);
	font-size: 12px;
	font-weight: 650;
	text-transform: uppercase;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table tr:last-child th,
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table tr:last-child td {
	border-bottom: 0;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child,
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child {
	text-align: right;
}
.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table .product-name a {
	color: var(--ksd-text);
	font-weight: 600;
	text-decoration: none;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
	display: flex;
	flex-direction: column;
	float: none !important;
	grid-column: auto !important;
	grid-row: auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column > h2 {
	margin: 0 0 12px;
	font-size: 21px;
}

.ksd-shop-design.woocommerce-order-received .woocommerce-customer-details address {
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	box-sizing: border-box;
	padding: 18px;
	border: 1px solid var(--ksd-border);
	border-radius: calc(var(--ksd-radius) * .65);
	background: var(--ksd-surface);
	line-height: 1.65;
}

/* Kundenkonto */
.ksd-shop-design.woocommerce-account .woocommerce {
	display: flow-root;
}

.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation {
	float: left;
	width: 270px;
}

.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 10px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
	list-style: none;
}

.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 2px 0; }
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 46px;
	padding: 10px 13px;
	border-radius: calc(var(--ksd-radius) * .65);
	color: var(--ksd-text);
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: color-mix(in srgb, var(--ksd-primary) 10%, var(--ksd-surface));
	color: var(--ksd-primary);
}
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--ksd-background); }

.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content {
	float: right;
	width: calc(100% - 306px);
	min-height: 320px;
	padding: 26px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	box-shadow: var(--ksd-shadow-small);
}
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content a { color: var(--ksd-primary); }
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content a.button,
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content a.button:visited {
	background: var(--ksd-button);
	color: var(--ksd-button-text) !important;
	font-family: var(--ksd-button-font, inherit);
}
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content a.button:hover,
.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content a.button:focus {
	background: var(--ksd-button-hover, var(--ksd-button));
	color: var(--ksd-button-text) !important;
}

.ksd-account-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 24px;
}
.ksd-account-intro { margin: 22px 0 0 !important; color: var(--ksd-muted); }
.ksd-account-card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 104px;
	padding: 16px;
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	background: var(--ksd-surface);
	color: var(--ksd-text) !important;
	text-decoration: none !important;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ksd-account-card:hover { border-color: var(--ksd-primary); transform: translateY(-2px); box-shadow: var(--ksd-shadow-small); }
.ksd-account-card-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: color-mix(in srgb, var(--ksd-primary) 10%, white); color: var(--ksd-primary); font-size: 20px; }
.ksd-icon-orders::before { content: "▤"; }
.ksd-icon-address::before { content: "⌖"; }
.ksd-icon-payment::before { content: "▰"; }
.ksd-account-card strong, .ksd-account-card small { display: block; }
.ksd-account-card strong { margin-bottom: 4px; font-size: 14px; }
.ksd-account-card small { color: var(--ksd-muted); font-size: 11px; line-height: 1.4; }
.ksd-account-card > i { color: var(--ksd-primary); font-style: normal; font-size: 18px; }

.ksd-shop-design.woocommerce-account table.my_account_orders {
	border: 1px solid var(--ksd-border);
	border-radius: var(--ksd-radius);
	box-shadow: none;
	overflow: hidden;
}
.ksd-shop-design.woocommerce-account table.my_account_orders th { padding: 13px; background: var(--ksd-background); color: var(--ksd-muted); font-size: 11px; text-transform: uppercase; }
.ksd-shop-design.woocommerce-account table.my_account_orders td { padding: 15px 13px; border-top: 1px solid var(--ksd-border); }
.ksd-shop-design.woocommerce-account table.my_account_orders .button { min-height: 36px; margin: 2px; padding: 9px 12px; font-size: 12px; }
.ksd-shop-design.woocommerce-account address { padding: 18px; border: 1px solid var(--ksd-border); border-radius: var(--ksd-radius); background: var(--ksd-background); }

/* Eigenständiges KreaTools-Layout: bricht kontrolliert aus schmalen
 * Elementor-Inhaltscontainern aus, ohne Header oder Footer zu verändern. */
.ksd-standalone-layout .ksd-standalone-shell {
	width: min(calc(100vw - 40px), var(--ksd-content));
	max-width: none;
	min-height: 420px;
	margin: 48px 0 88px 50%;
	transform: translateX(-50%);
	color: var(--ksd-text);
}

.ksd-standalone-layout .ksd-standalone-title {
	margin: 0 0 30px;
	color: var(--ksd-text);
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 750;
	line-height: 1.15;
}

.ksd-standalone-layout .ksd-standalone-shell > .woocommerce {
	width: 100%;
	max-width: none;
	margin: 0;
}

.ksd-standalone-layout .ksd-standalone-shell > .woocommerce::before,
.ksd-standalone-layout .ksd-standalone-shell > .woocommerce::after { display: none; }

.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(350px, 390px);
	gap: 28px;
	align-items: start;
}

.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .ksd-checkout-steps,
.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .woocommerce-notices-wrapper,
.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .woocommerce-message,
.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .woocommerce-info,
.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .woocommerce-error,
.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .cart-empty,
.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .return-to-shop {
	grid-column: 1 / -1;
}

.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .woocommerce-cart-form {
	grid-column: 1;
	float: none;
	width: 100%;
	margin: 0;
}

.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .cart-collaterals {
	grid-column: 2;
	float: none;
	width: 100%;
	margin: 0;
}

.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
}

.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell table.shop_table { width: 100%; }

.ksd-standalone-layout.woocommerce-checkout .ksd-standalone-shell form.checkout {
	display: grid;
	grid-template-columns: var(--ksd-checkout-columns, 1.3fr .9fr);
	gap: 18px 28px;
	align-items: start;
	width: 100%;
}

.ksd-standalone-layout.woocommerce-account .ksd-standalone-shell .woocommerce-MyAccount-content { min-height: 390px; }

/* Elementor Pro Cart/Checkout
 * Elementor baut eigene Spalten um die WooCommerce-Bereiche. Die klassischen
 * Float-/Grid-Regeln dürfen innerhalb dieser Widgets nicht noch einmal greifen.
 */
.ksd-shop-design .elementor-widget-woocommerce-cart,
.ksd-shop-design .elementor-widget-woocommerce-checkout-page,
.ksd-shop-design .elementor-widget-woocommerce-cart .elementor-widget-container,
.ksd-shop-design .elementor-widget-woocommerce-checkout-page .elementor-widget-container {
	width: 100%;
	max-width: none;
}

.ksd-shop-design .elementor-widget-woocommerce-cart .woocommerce,
.ksd-shop-design .elementor-widget-woocommerce-checkout-page .woocommerce,
.ksd-shop-design .e-cart__container .woocommerce,
.ksd-shop-design .e-checkout__container .woocommerce {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.ksd-shop-design .e-cart__container {
	display: grid !important;
	grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr) !important;
	gap: 28px !important;
	align-items: start;
	width: 100%;
	max-width: var(--ksd-content);
	margin: 0 auto;
}

.ksd-shop-design .e-cart__container .e-cart__column,
.ksd-shop-design .e-cart__container .e-cart__column-start,
.ksd-shop-design .e-cart__container .e-cart__column-end {
	min-width: 0;
	width: 100% !important;
	margin: 0 !important;
}

.ksd-shop-design .e-cart__container .woocommerce-cart-form,
.ksd-shop-design .e-cart__container .cart-collaterals,
.ksd-shop-design .e-cart__container .cart_totals {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.ksd-shop-design .e-cart__container table.shop_table { width: 100% !important; }
.ksd-shop-design .e-cart__container td.product-thumbnail { width: calc(var(--ksd-cart-image, 92px) + 28px) !important; }
.ksd-shop-design .e-cart__container td.product-thumbnail img {
	display: block !important;
	width: var(--ksd-cart-image, 92px) !important;
	height: var(--ksd-cart-image, 92px) !important;
	max-width: none !important;
	object-fit: cover;
}

.ksd-shop-design .elementor-widget-woocommerce-checkout-page form.checkout {
	display: block !important;
	width: 100% !important;
}

.ksd-shop-design .e-checkout__container {
	display: grid !important;
	grid-template-columns: var(--ksd-checkout-columns, 1.3fr .9fr) !important;
	gap: 24px 28px !important;
	align-items: start;
	width: 100% !important;
	max-width: var(--ksd-content);
	margin: 0 auto !important;
}

.ksd-shop-design .e-checkout__container .e-checkout__column,
.ksd-shop-design .e-checkout__container .e-checkout__column-start,
.ksd-shop-design .e-checkout__container .e-checkout__column-end {
	min-width: 0;
	width: 100% !important;
	margin: 0 !important;
}

.ksd-shop-design .e-checkout__container .e-checkout__column-start { grid-column: 1 !important; }
.ksd-shop-design .e-checkout__container .e-checkout__column-end { grid-column: 2 !important; }

.ksd-shop-design .e-checkout__container #customer_details,
.ksd-shop-design .e-checkout__container #order_review,
.ksd-shop-design .e-checkout__container #order_review_heading {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}

.ksd-shop-design .e-checkout__container #order_review_heading {
	margin: 0 !important;
	border: 1px solid var(--ksd-border);
	border-bottom: 0;
}

.ksd-shop-design .e-checkout__container #order_review {
	margin: 0 !important;
	padding: 12px 24px 24px;
	border: 1px solid var(--ksd-border);
	border-top: 0;
	border-radius: 0 0 var(--ksd-radius) var(--ksd-radius);
}

.ksd-shop-design .e-checkout__container .e-checkout__column-end > div,
.ksd-shop-design .e-checkout__container .e-checkout__column-end > section {
	width: 100%;
	max-width: none;
}

/* Tablet */
@media (max-width: 1080px) {
	.ksd-shop-design.woocommerce-cart .woocommerce-cart-form,
	.ksd-shop-design.woocommerce-cart .cart-collaterals { float: none; width: 100%; }
	.ksd-shop-design.woocommerce-cart .cart-collaterals { margin-top: 22px; }
	.ksd-shop-design.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr); gap: 18px; }
	.ksd-account-cards { grid-template-columns: 1fr; }
	.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell > .woocommerce { grid-template-columns: minmax(0, 1fr) 350px; gap: 20px; }
}

/* Mobil */
@media (max-width: 782px) {
	.ksd-standalone-layout .ksd-standalone-shell { width: calc(100vw - 24px); margin-top: 30px; margin-bottom: 58px; }
	.ksd-standalone-layout .ksd-standalone-title { margin-bottom: 22px; }
	.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell > .woocommerce,
	.ksd-standalone-layout.woocommerce-checkout .ksd-standalone-shell form.checkout { display: block; }
	.ksd-standalone-layout.woocommerce-cart .ksd-standalone-shell .cart-collaterals { margin-top: 20px; }
	.ksd-shop-design .woocommerce,
	.ksd-shop-design .wp-block-woocommerce-cart,
	.ksd-shop-design .wp-block-woocommerce-checkout { width: min(100% - 24px, var(--ksd-content)); }
	.ksd-checkout-steps { margin-bottom: 22px; }
	.ksd-step b { font-size: max(10px, calc(var(--ksd-step-text, 13px) * .85)); }

	.ksd-shop-design.woocommerce-cart table.shop_table_responsive tr { display: grid; grid-template-columns: 34px 76px minmax(0, 1fr); padding: 14px 8px; border-bottom: 1px solid var(--ksd-border); }
	.ksd-shop-design.woocommerce-cart table.shop_table_responsive tr.cart-subtotal,
	.ksd-shop-design.woocommerce-cart table.shop_table_responsive tr.shipping,
	.ksd-shop-design.woocommerce-cart table.shop_table_responsive tr.order-total,
	.ksd-shop-design.woocommerce-cart .cart_totals table tr { display: table-row; }
	.ksd-shop-design.woocommerce-cart table.shop_table_responsive thead { display: none; }
	.ksd-shop-design.woocommerce-cart table.shop_table_responsive td { display: block; padding: 4px 8px; border: 0; text-align: left !important; }
	.ksd-shop-design.woocommerce-cart table.shop_table_responsive td::before { display: none; }
	.ksd-shop-design.woocommerce-cart td.product-remove { grid-column: 1; grid-row: 1 / span 3; padding-top: 30px !important; }
	.ksd-shop-design.woocommerce-cart td.product-thumbnail { display: block !important; grid-column: 2; grid-row: 1 / span 3; width: auto; min-width: 0; }
	.ksd-shop-design.woocommerce-cart td.product-thumbnail > a,
	.ksd-shop-design.woocommerce-cart td.product-thumbnail img {
		width: clamp(56px, var(--ksd-cart-image, 68px), 84px) !important;
		height: clamp(56px, var(--ksd-cart-image, 68px), 84px) !important;
		min-width: clamp(56px, var(--ksd-cart-image, 68px), 84px) !important;
	}
	.ksd-shop-design.woocommerce-cart td.product-name,
	.ksd-shop-design.woocommerce-cart td.product-price,
	.ksd-shop-design.woocommerce-cart td.product-quantity,
	.ksd-shop-design.woocommerce-cart td.product-subtotal { grid-column: 3; }
	.ksd-shop-design.woocommerce-cart td.product-price { color: var(--ksd-muted); font-size: 12px; }
	.ksd-shop-design.woocommerce-cart td.product-subtotal { font-weight: 750; }
	.ksd-shop-design.woocommerce-cart tr:last-child.actions { display: block; padding: 14px !important; }
	.ksd-shop-design.woocommerce-cart table.cart tr:has(> td.actions) {
		display: block;
		padding: 0;
	}
	.ksd-shop-design.woocommerce-cart table.cart td.actions {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		width: 100% !important;
		max-width: none !important;
		padding: 14px !important;
		box-sizing: border-box;
	}
	.ksd-shop-design.woocommerce-cart table.cart td.actions .coupon {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 8px;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		float: none !important;
	}
	.ksd-shop-design.woocommerce-cart table.cart td.actions .coupon input {
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	.ksd-shop-design.woocommerce-cart table.cart td.actions .coupon button,
	.ksd-shop-design.woocommerce-cart table.cart td.actions > button[name="update_cart"] {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		float: none !important;
		white-space: nowrap;
	}
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive tbody,
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive tr {
		display: table-row-group;
	}
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive tr {
		display: table-row !important;
	}
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive th,
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive td {
		display: table-cell !important;
		width: auto;
		padding: 13px 0 !important;
		vertical-align: top;
	}
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive th {
		width: 43%;
		padding-right: 12px !important;
		text-align: left !important;
	}
	.ksd-shop-design.woocommerce-cart .cart_totals table.shop_table_responsive td {
		text-align: right !important;
	}
	.ksd-shop-design.woocommerce-cart .cart-collaterals .cart_totals { padding: 19px; }

	.ksd-shop-design.woocommerce-checkout form.checkout { display: block; }
	.ksd-shop-design.woocommerce-checkout #customer_details .col-1,
	.ksd-shop-design.woocommerce-checkout #customer_details .col-2 { padding: 19px; }
	.ksd-shop-design.woocommerce-checkout #order_review_heading { margin-top: 20px; padding: 20px 19px 10px; }
	.ksd-shop-design.woocommerce-checkout #order_review { margin-top: 0; padding: 8px 19px 19px; position: static; }
	.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review {
		margin-top: 20px;
		padding: 0 19px 19px;
	}
	.ksd-checkout-review-merged.ksd-shop-design.woocommerce-checkout #order_review > #order_review_heading {
		margin: 0 0 12px;
		padding: 19px 0 12px;
	}
	.ksd-shop-design.woocommerce-checkout .form-row-first,
	.ksd-shop-design.woocommerce-checkout .form-row-last { float: none; width: 100%; }

	.ksd-shop-design.woocommerce-order-received .woocommerce-thankyou-order-received { align-items: flex-start; padding: 19px; }
	.ksd-thankyou-icon { flex-basis: 42px; height: 42px; font-size: 20px; }
	.ksd-thankyou-copy strong { font-size: 18px; }
	.ksd-shop-design.woocommerce-order-received ul.order_details { grid-template-columns: 1fr 1fr; }
	.ksd-shop-design.woocommerce-order-received ul.order_details li { border-bottom: 1px solid var(--ksd-border); }
	.ksd-shop-design.woocommerce-order-received ul.order_details li:nth-child(even) { border-right: 0; }
	.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details,
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details,
	.ksd-shop-design.woocommerce-order-received .woocommerce-customer-details { padding: 19px; }
	.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details { grid-template-columns: 1fr; }
	.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details li + li { border-top: 0; border-left: 1px solid var(--ksd-border); }
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table th,
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table td { padding: 12px 9px; }
	.ksd-shop-design.woocommerce-order-received .woocommerce-columns--addresses { grid-template-columns: 1fr; gap: 18px; }

	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation,
	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 16px; overflow-x: auto; }
	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; width: max-content; min-width: 100%; padding: 6px; }
	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-navigation a { min-height: 40px; white-space: nowrap; }
	.ksd-shop-design.woocommerce-account .woocommerce-MyAccount-content { min-height: 0; padding: 19px; }
	.ksd-shop-design.woocommerce-account table.my_account_orders tr { display: block; padding: 12px; border-bottom: 1px solid var(--ksd-border); }
	.ksd-shop-design.woocommerce-account table.my_account_orders td { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border: 0; text-align: right !important; }
	.ksd-shop-design.woocommerce-account table.my_account_orders td::before { color: var(--ksd-muted); font-weight: 650; }
	.ksd-shop-design .e-cart__container,
	.ksd-shop-design .e-checkout__container { grid-template-columns: 1fr !important; gap: 18px !important; }
	.ksd-shop-design .e-checkout__container .e-checkout__column-start,
	.ksd-shop-design .e-checkout__container .e-checkout__column-end { grid-column: 1 !important; }
}

@media (max-width: 520px) {
	.ksd-shop-design.woocommerce-cart table.cart td.actions {
		grid-template-columns: 1fr;
	}
	.ksd-shop-design.woocommerce-cart table.cart td.actions .coupon {
		grid-template-columns: 1fr;
	}
	.ksd-shop-design.woocommerce-cart table.cart td.actions .coupon button,
	.ksd-shop-design.woocommerce-cart table.cart td.actions > button[name="update_cart"] {
		width: 100% !important;
	}
	.ksd-shop-design.woocommerce-order-received .woocommerce-thankyou-order-received { display: block; }
	.ksd-shop-design.woocommerce-order-received .ksd-thankyou-icon { width: 42px; margin-bottom: 12px; }
	.ksd-shop-design.woocommerce-order-received ul.order_details,
	.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details { grid-template-columns: 1fr; }
	.ksd-shop-design.woocommerce-order-received ul.order_details li,
	.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details li { border-right: 0; border-left: 0; }
	.ksd-shop-design.woocommerce-order-received ul.order_details.bacs_details li + li { border-top: 0; }
	.ksd-shop-design.woocommerce-order-received .woocommerce-bacs-bank-details,
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details,
	.ksd-shop-design.woocommerce-order-received .woocommerce-customer-details { padding: 15px; }
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table { font-size: 12px; }
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table th,
	.ksd-shop-design.woocommerce-order-received .woocommerce-order-details table.shop_table td { padding: 11px 7px; }
}

@media (prefers-reduced-motion: reduce) {
	.ksd-shop-design *, .ksd-shop-design *::before, .ksd-shop-design *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Konfigurierbarer Zahlungsarten-Streifen */
.ksd-payment-footer { position:relative; z-index:2; width:100%; margin-bottom:var(--ksd-payment-footer-gap,50px); padding:18px 20px; border-top:1px solid #e2e8f0; border-bottom:1px solid #e2e8f0; background:#f8fafc; box-sizing:border-box; }
.ksd-payment-footer-inner { width:min(100%,var(--ksd-content,1420px)); margin:0 auto; }
.ksd-payment-badges { display:flex; align-items:center; justify-content:center; gap:22px; width:100%; padding:16px 20px; border:1px solid var(--ksd-border,#dfe5ec); border-radius:var(--ksd-radius,12px); background:var(--ksd-surface,#fff); color:var(--ksd-text,#172033); box-shadow:var(--ksd-shadow-small,0 4px 16px rgba(15,37,63,.07)); box-sizing:border-box; }
.ksd-payment-badges-title { flex:0 0 auto; margin:0; color:inherit; font-size:14px; font-weight:700; line-height:1.3; }
.ksd-payment-badges-list { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; }
.ksd-payment-method { display:flex; align-items:center; justify-content:center; min-width:76px; height:40px; padding:0 13px; border:1px solid #dfe5ec; border-radius:7px; background:#fff; color:#111827; line-height:1; box-sizing:border-box; }
.ksd-payment-method b,.ksd-payment-method i { font-style:normal; }
.ksd-paypal-word { font-size:16px; font-style:italic; }.ksd-paypal-word > b { color:#173f80; }.ksd-paypal-word > i { color:#168bd2; }
.ksd-visa-word { color:#153b8f; font-size:18px; font-style:italic; letter-spacing:-1.2px; }
.ksd-mastercard-mark { display:flex; position:relative; width:36px; height:22px; }.ksd-mastercard-mark i { position:absolute; width:22px; height:22px; border-radius:50%; background:#eb001b; }.ksd-mastercard-mark i + i { left:13px; background:#f79e1b; opacity:.92; }
.ksd-applepay-word,.ksd-googlepay-word { font-size:16px; white-space:nowrap; }.ksd-applepay-word > b { font-size:16px; }.ksd-googlepay-word > b { color:#4285f4; }
.ksd-bank-mark { display:flex; align-items:flex-end; justify-content:space-between; position:relative; width:18px; height:17px; padding:2px; border-bottom:2px solid #334155; box-sizing:border-box; }.ksd-bank-mark::before { content:""; position:absolute; left:0; bottom:12px; width:18px; border-width:0 9px 5px; border-style:solid; border-color:transparent transparent #334155; box-sizing:border-box; }.ksd-bank-mark i { width:2px; height:9px; background:#334155; }.ksd-bank-word { margin-left:6px; font-size:11px; }
.ksd-payment-method--invoice { min-width:154px; gap:7px; }.ksd-invoice-mark { display:block; position:relative; width:16px; height:20px; border:2px solid #334155; border-radius:2px; box-sizing:border-box; }.ksd-invoice-mark::after { content:""; position:absolute; left:2px; right:2px; top:6px; height:3px; border-top:2px solid #334155; border-bottom:2px solid #334155; }.ksd-invoice-word { text-align:left; line-height:1.05; }.ksd-invoice-word b,.ksd-invoice-word small { display:block; white-space:nowrap; }.ksd-invoice-word b { font-size:11px; }.ksd-invoice-word small { margin-top:3px; color:#64748b; font-size:9px; font-weight:500; }
.ksd-payment-badges--minimal { padding:8px 0; border:0; background:transparent; box-shadow:none; }.ksd-payment-badges--minimal .ksd-payment-method { min-width:auto; padding:0 8px; border:0; background:transparent; }
.ksd-payment-badges--dark { border-color:#202b3d; background:#111827; color:#fff; }.ksd-payment-badges--dark .ksd-payment-method { border-color:#334155; }
.ksd-payment-badges--cart,.ksd-payment-badges--checkout { display:block; margin-top:16px; padding:14px; text-align:center; }
.ksd-payment-badges--cart .ksd-payment-badges-title,.ksd-payment-badges--checkout .ksd-payment-badges-title { display:block; margin-bottom:10px; }
.ksd-payment-badges--cart .ksd-payment-method,.ksd-payment-badges--checkout .ksd-payment-method { min-width:67px; height:35px; padding:0 9px; transform:scale(.92); }
@media (max-width:782px) { .ksd-payment-footer { margin-bottom:var(--ksd-payment-footer-gap,50px); padding:14px 12px; }.ksd-payment-badges { display:block; padding:15px 12px; text-align:center; }.ksd-payment-badges-title { display:block; margin-bottom:11px; }.ksd-payment-badges-list { gap:7px; }.ksd-payment-method { min-width:66px; height:36px; padding:0 9px; }.ksd-payment-method--invoice { min-width:145px; }.ksd-payment-badges--minimal .ksd-payment-method { min-width:auto; padding:0 5px; }.ksd-payment-badges--minimal .ksd-payment-method--invoice { min-width:140px; }.ksd-payment-badges--minimal .ksd-payment-badges-title { margin-bottom:7px; } }
