/* =========================================================
   VÖLKEL PREMIUM WARENKORB & KASSE
   ========================================================= */

body.vhcc-enabled {
	overflow-x: hidden;
}

body.vhcc-enabled .site-main,
body.vhcc-enabled main#content {
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

.vhcc-page,
.vhcc-page * {
	box-sizing: border-box;
}

.vhcc-page {
	width: 100%;
	padding: 34px 0 100px;

	color: var(--vhcc-text, #272A2E);
	background: var(--vhcc-white, #FFFFFF);

	font-family: Inter, Arial, sans-serif;
}

.vhcc-container {
	width: min(var(--vhcc-max-width, 1350px), calc(100% - 80px));
	margin: 0 auto;
}

/* Header */

.vhcc-header {
	min-height: 230px;
	margin-bottom: 30px;
	padding: 42px 48px;

	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(410px, .72fr);
	align-items: center;
	gap: 65px;

	background:
		linear-gradient(
			135deg,
			var(--vhcc-light, #F7F6F3) 0%,
			#FBFBF9 100%
		);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-header__copy {
	max-width: 720px;
}

.vhcc-kicker {
	display: flex;
	align-items: center;
	gap: 11px;

	margin-bottom: 13px;

	color: var(--vhcc-accent, #D92D32);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.vhcc-kicker > span {
	width: 28px;
	height: 2px;

	flex: 0 0 28px;

	background: currentColor;
}

.vhcc-title {
	margin: 0;

	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: clamp(34px, 3.5vw, 47px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.05em;
}

.vhcc-intro {
	max-width: 690px;
	margin: 18px 0 0;

	color: var(--vhcc-muted, #686D73);

	font-size: 14px;
	line-height: 1.8;
}

/* Steps */

.vhcc-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-step {
	position: relative;

	min-width: 0;
	border-right: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-step:last-child {
	border-right: 0;
}

.vhcc-step a,
.vhcc-step__inner {
	min-height: 85px;
	padding: 14px 10px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 7px;

	color: var(--vhcc-muted, #686D73) !important;
	text-decoration: none !important;
}

.vhcc-step i {
	width: 26px;
	height: 26px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: var(--vhcc-muted, #686D73);
	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-radius: 50%;

	font-size: 9px;
	font-style: normal;
	font-weight: 700;
}

.vhcc-step strong {
	overflow: hidden;

	font-size: 9px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .07em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.vhcc-step.is-active {
	background: var(--vhcc-dark, #181A1D);
}

.vhcc-step.is-active a,
.vhcc-step.is-active .vhcc-step__inner,
.vhcc-step.is-active strong {
	color: var(--vhcc-white, #FFFFFF) !important;
}

.vhcc-step.is-active i {
	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-accent, #D92D32);
	border-color: var(--vhcc-accent, #D92D32);
}

.vhcc-step.is-complete i {
	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-accent, #D92D32);
	border-color: var(--vhcc-accent, #D92D32);
}

/* General Woo notices */

.vhcc-content .woocommerce-notices-wrapper,
.vhcc-content .wc-block-components-notice-banner {
	margin-bottom: 18px;
}

.vhcc-content .woocommerce-message,
.vhcc-content .woocommerce-info,
.vhcc-content .woocommerce-error,
.vhcc-content .wc-block-components-notice-banner {
	padding: 17px 20px !important;

	color: var(--vhcc-text, #272A2E);
	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-top: 3px solid var(--vhcc-accent, #D92D32);
	border-radius: 0 !important;

	font-size: 12px;
	line-height: 1.65;
}

/* =========================================================
   CLASSIC CART
   ========================================================= */

body.vhcc-page-cart .vhcc-content .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(350px, .55fr);
	gap: 22px;
	align-items: start;
}

body.vhcc-page-cart .vhcc-content .woocommerce > .woocommerce-notices-wrapper,
body.vhcc-page-cart .vhcc-content .woocommerce > .woocommerce-cart-form,
body.vhcc-page-cart .vhcc-content .woocommerce > .cart-empty,
body.vhcc-page-cart .vhcc-content .woocommerce > .return-to-shop {
	grid-column: 1;
}

body.vhcc-page-cart .vhcc-content .woocommerce > .cart-collaterals {
	grid-column: 2;
	grid-row: 1 / span 4;
}

.vhcc-content .woocommerce-cart-form {
	margin: 0;
	padding: 0;

	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content table.shop_table {
	margin: 0 !important;

	border: 0 !important;
	border-collapse: collapse !important;
	border-radius: 0 !important;
}

.vhcc-content table.shop_table thead {
	background: var(--vhcc-light, #F7F6F3);
}

.vhcc-content table.shop_table th {
	padding: 16px 15px !important;

	color: var(--vhcc-muted, #686D73);

	border: 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;

	font-size: 9px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.vhcc-content table.shop_table td {
	padding: 18px 15px !important;

	color: var(--vhcc-text, #272A2E);

	border: 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;

	font-size: 12px;
	line-height: 1.6;
}

.vhcc-content table.shop_table tr:last-child td {
	border-bottom: 0 !important;
}

.vhcc-content .product-thumbnail {
	width: 105px;
}

.vhcc-content .product-thumbnail img {
	width: 82px !important;
	height: 82px !important;
	padding: 7px;

	object-fit: contain;

	background: #FBFBF9;
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .product-name a {
	color: var(--vhcc-dark, #181A1D) !important;
	text-decoration: none !important;

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.vhcc-content .product-name dl.variation,
.vhcc-content .wc-block-components-product-metadata {
	margin-top: 8px;

	color: var(--vhcc-muted, #686D73);

	font-size: 10px;
}

.vhcc-content .product-price,
.vhcc-content .product-subtotal {
	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-weight: 700;
}

.vhcc-content .quantity .qty {
	width: 68px !important;
	height: 44px !important;
	padding: 0 7px !important;

	color: var(--vhcc-dark, #181A1D);
	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-radius: 0 !important;

	font-weight: 700;
	text-align: center;
}

.vhcc-content a.remove {
	width: 30px !important;
	height: 30px !important;

	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	color: var(--vhcc-accent, #D92D32) !important;
	background: rgba(217, 45, 50, .08) !important;
	border-radius: 0 !important;

	font-size: 17px !important;
	font-weight: 400 !important;

	transition:
		color .25s ease,
		background-color .25s ease;
}

.vhcc-content a.remove:hover {
	color: var(--vhcc-white, #FFFFFF) !important;
	background: var(--vhcc-accent, #D92D32) !important;
}

.vhcc-content .actions {
	padding: 16px !important;

	background: var(--vhcc-light, #F7F6F3);
}

.vhcc-content .coupon {
	display: flex;
	gap: 8px;
}

.vhcc-content .coupon input.input-text {
	width: 200px !important;
	height: 44px !important;
	padding: 0 12px !important;

	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-radius: 0 !important;

	font-size: 11px;
}

.vhcc-content button.button,
.vhcc-content a.button,
.vhcc-content input.button {
	min-height: 44px;
	padding: 0 16px !important;

	color: var(--vhcc-white, #FFFFFF) !important;
	background: var(--vhcc-dark, #181A1D) !important;
	border: 1px solid var(--vhcc-dark, #181A1D) !important;
	border-radius: 0 !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;

	transition:
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

.vhcc-content button.button:hover,
.vhcc-content a.button:hover,
.vhcc-content input.button:hover {
	background: var(--vhcc-accent, #D92D32) !important;
	border-color: var(--vhcc-accent, #D92D32) !important;
	transform: translateY(-1px);
}

/* Cart totals */

.vhcc-content .cart-collaterals {
	width: 100% !important;
}

.vhcc-content .cart_totals {
	float: none !important;
	width: 100% !important;
	margin: 0;
	padding: 24px;

	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-top: 3px solid var(--vhcc-accent, #D92D32);
}

.vhcc-content .cart_totals > h2 {
	margin: 0 0 19px;

	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -.035em;
}

.vhcc-content .cart_totals table {
	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .cart_totals table th,
.vhcc-content .cart_totals table td {
	padding: 14px !important;

	font-size: 11px;
}

.vhcc-content .cart_totals table th {
	color: var(--vhcc-muted, #686D73);
}

.vhcc-content .cart_totals table td {
	color: var(--vhcc-dark, #181A1D);
	text-align: right;

	font-weight: 700;
}

.vhcc-content .cart_totals .order-total th,
.vhcc-content .cart_totals .order-total td {
	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-dark, #181A1D);

	font-size: 15px;
}

.vhcc-content .wc-proceed-to-checkout {
	padding: 16px 0 0 !important;
}

.vhcc-content .wc-proceed-to-checkout a.checkout-button {
	min-height: 56px;
	margin: 0 !important;
	padding: 0 19px !important;

	display: flex;
	align-items: center;
	justify-content: space-between;

	color: var(--vhcc-white, #FFFFFF) !important;
	background: var(--vhcc-accent, #D92D32) !important;
	border-color: var(--vhcc-accent, #D92D32) !important;

	font-size: 12px !important;
}

.vhcc-content .wc-proceed-to-checkout a.checkout-button::after {
	content: "→";
	font-size: 18px;
	font-weight: 400;
}

.vhcc-content .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--vhcc-accent-hover, #B92126) !important;
	border-color: var(--vhcc-accent-hover, #B92126) !important;
}

/* Empty cart */

.vhcc-content .cart-empty {
	margin: 0 0 15px !important;
	padding: 45px 25px !important;

	grid-column: 1 / -1 !important;

	text-align: center;

	color: var(--vhcc-muted, #686D73);
	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-top: 3px solid var(--vhcc-accent, #D92D32);

	font-size: 14px;
}

.vhcc-content .return-to-shop {
	grid-column: 1 / -1 !important;

	text-align: center;
}

/* =========================================================
   CLASSIC CHECKOUT
   ========================================================= */

.vhcc-content form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.22fr) minmax(390px, .68fr);
	gap: 22px 28px;
	align-items: start;
}

.vhcc-content form.checkout > .woocommerce-NoticeGroup,
.vhcc-content form.checkout > .woocommerce-NoticeGroup-checkout {
	grid-column: 1 / -1;
}

.vhcc-content #customer_details {
	grid-column: 1;
	grid-row: 1 / span 3;

	margin: 0;
	padding: 27px;

	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content #order_review_heading {
	grid-column: 2;
	grid-row: 1;

	margin: 0;
	padding: 21px 24px 0;

	color: var(--vhcc-dark, #181A1D);
	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-bottom: 0;
	border-top: 3px solid var(--vhcc-accent, #D92D32);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.03em;
}

.vhcc-content #order_review {
	grid-column: 2;
	grid-row: 2;

	padding: 19px 24px 24px;

	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-top: 0;
}

.vhcc-content .col2-set {
	width: 100% !important;
}

.vhcc-content .col2-set .col-1,
.vhcc-content .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
}

.vhcc-content .col2-set .col-2 {
	margin-top: 30px;
	padding-top: 27px;

	border-top: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .woocommerce-billing-fields > h3,
.vhcc-content .woocommerce-shipping-fields > h3,
.vhcc-content .woocommerce-additional-fields > h3 {
	margin: 0 0 22px;

	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 23px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.035em;
}

.vhcc-content .woocommerce-shipping-fields #ship-to-different-address {
	font-size: 16px;
}

.vhcc-content .form-row {
	margin: 0 0 17px !important;
	padding: 0 !important;
}

.vhcc-content .form-row label {
	margin-bottom: 7px;

	color: var(--vhcc-text, #272A2E);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.4;
}

.vhcc-content .form-row .required {
	color: var(--vhcc-accent, #D92D32);
}

.vhcc-content .input-text,
.vhcc-content select,
.vhcc-content textarea,
.vhcc-content .select2-selection {
	width: 100%;
	min-height: 49px;
	padding: 11px 13px !important;

	color: var(--vhcc-text, #272A2E);
	background: var(--vhcc-white, #FFFFFF) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-radius: 0 !important;

	font-size: 12px;
	line-height: 1.5;
}

.vhcc-content textarea {
	min-height: 120px;
}

.vhcc-content .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: 25px;
}

.vhcc-content .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 10px;
	right: 8px;
}

.vhcc-content .input-text:focus,
.vhcc-content select:focus,
.vhcc-content textarea:focus,
.vhcc-content .select2-container--focus .select2-selection {
	outline: 0;
	border-color: var(--vhcc-accent, #D92D32) !important;
	box-shadow: 0 0 0 3px rgba(217, 45, 50, .08);
}

.vhcc-content #order_review table {
	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content #order_review table th,
.vhcc-content #order_review table td {
	padding: 13px 12px !important;

	font-size: 11px;
}

.vhcc-content #order_review table .order-total th,
.vhcc-content #order_review table .order-total td {
	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-dark, #181A1D);

	font-size: 14px;
}

.vhcc-content #payment {
	margin-top: 16px;

	background: var(--vhcc-white, #FFFFFF) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-radius: 0 !important;
}

.vhcc-content #payment ul.payment_methods {
	padding: 0 !important;

	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content #payment ul.payment_methods li {
	margin: 0 !important;
	padding: 15px 14px;

	border-bottom: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content #payment ul.payment_methods li:last-child {
	border-bottom: 0;
}

.vhcc-content #payment ul.payment_methods li label {
	color: var(--vhcc-dark, #181A1D);

	font-size: 11px;
	font-weight: 700;
}

.vhcc-content #payment div.payment_box {
	margin: 13px 0 0 !important;
	padding: 13px !important;

	color: var(--vhcc-muted, #686D73);
	background: var(--vhcc-light, #F7F6F3) !important;
	border-radius: 0 !important;

	font-size: 10px;
	line-height: 1.65;
}

.vhcc-content #payment div.payment_box::before {
	display: none !important;
}

.vhcc-content #payment .place-order {
	padding: 17px !important;
}

.vhcc-content #payment #place_order {
	width: 100%;
	min-height: 57px;
	margin: 14px 0 0 !important;

	color: var(--vhcc-white, #FFFFFF) !important;
	background: var(--vhcc-accent, #D92D32) !important;
	border-color: var(--vhcc-accent, #D92D32) !important;

	font-size: 12px !important;
}

.vhcc-content #payment #place_order:hover {
	background: var(--vhcc-accent-hover, #B92126) !important;
	border-color: var(--vhcc-accent-hover, #B92126) !important;
}

/* Login and coupon on checkout */

.vhcc-content .woocommerce-form-login-toggle,
.vhcc-content .woocommerce-form-coupon-toggle {
	margin-bottom: 12px;
}

.vhcc-content form.woocommerce-form-login,
.vhcc-content form.checkout_coupon {
	margin: 0 0 18px !important;
	padding: 20px !important;

	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
	border-radius: 0 !important;
}

/* =========================================================
   CART & CHECKOUT BLOCKS – ÜBERARBEITETE VERSION
   ========================================================= */

.vhcc-content .wp-block-woocommerce-cart,
.vhcc-content .wp-block-woocommerce-checkout {
	margin: 0;
}

/* Grundlayout: keine sticky Seitenleiste und keine erzwungenen Prozentbreiten. */

.vhcc-content .wc-block-components-sidebar-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 1.5fr) minmax(340px, .62fr) !important;
	align-items: start !important;
	gap: 22px !important;
}

.vhcc-content .wc-block-components-main,
.vhcc-content .wc-block-components-sidebar {
	position: static !important;
	top: auto !important;

	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* =========================================================
   WARENKORB-BLOCK
   ========================================================= */

.vhcc-content .wc-block-cart__main {
	min-width: 0;
}

.vhcc-content .wc-block-cart-items {
	width: 100%;
	margin: 0 !important;

	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	background: var(--vhcc-white, #FFFFFF);
}

/* Die technisch wirkende Tabellenüberschrift wird entfernt. */

.vhcc-content .wc-block-cart-items thead {
	display: none !important;
}

.vhcc-content .wc-block-cart-items tbody {
	display: block;
}

.vhcc-content .wc-block-cart-items__row {
	position: relative;

	width: 100%;
	padding: 22px !important;

	display: grid !important;
	grid-template-columns: 100px minmax(0, 1fr) 125px;
	grid-template-rows: auto auto;
	align-items: start;
	gap: 5px 18px;

	background: var(--vhcc-white, #FFFFFF);
	border: 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-cart-items__row:last-child {
	border-bottom: 0 !important;
}

.vhcc-content .wc-block-cart-items__row > td {
	width: auto !important;
	min-width: 0;
	padding: 0 !important;

	display: block !important;

	border: 0 !important;
	background: transparent !important;
}

.vhcc-content .wc-block-cart-item__image {
	grid-column: 1;
	grid-row: 1 / span 2;
}

.vhcc-content .wc-block-cart-item__image a {
	display: block;
}

.vhcc-content .wc-block-cart-item__image img {
	width: 100px !important;
	height: 100px !important;
	padding: 9px;

	object-fit: contain;
	object-position: center;

	background: #FBFBF9;
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .wc-block-cart-item__product {
	grid-column: 2;
	grid-row: 1 / span 2;
}

.vhcc-content .wc-block-cart-item__total {
	grid-column: 3;
	grid-row: 1;

	text-align: right;
}

.vhcc-content .wc-block-components-product-name {
	margin: 0 0 6px;

	color: var(--vhcc-dark, #181A1D) !important;
	text-decoration: none !important;

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.4;
	letter-spacing: -.02em;
}

.vhcc-content .wc-block-cart-item__prices {
	margin-bottom: 8px;
}

.vhcc-content .wc-block-components-product-price {
	color: var(--vhcc-dark, #181A1D);

	font-size: 12px;
	font-weight: 700;
}

.vhcc-content .wc-block-components-product-metadata {
	margin: 8px 0 11px !important;

	color: var(--vhcc-muted, #686D73);

	font-size: 10px !important;
	line-height: 1.55;
}

.vhcc-content .wc-block-cart-item__quantity {
	margin-top: 11px;

	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.vhcc-content .wc-block-components-quantity-selector {
	height: 38px;

	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-radius: 0 !important;
	background: var(--vhcc-white, #FFFFFF);
}

.vhcc-content .wc-block-components-quantity-selector input {
	min-width: 38px;

	font-size: 11px !important;
	font-weight: 700;
}

.vhcc-content .wc-block-components-quantity-selector button {
	width: 35px !important;

	color: var(--vhcc-dark, #181A1D) !important;
	background: var(--vhcc-light, #F7F6F3) !important;
}

.vhcc-content .wc-block-cart-item__remove-link {
	margin: 0 !important;

	color: var(--vhcc-accent, #D92D32) !important;
	text-decoration: none !important;

	font-size: 9px !important;
	font-weight: 700 !important;
}

.vhcc-content .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.vhcc-content .wc-block-cart-item__total .wc-block-components-product-price {
	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 15px !important;
	font-weight: 700 !important;
}

/* Warenkorb-Summe: nur eine rote Akzentlinie am gesamten Kasten. */

.vhcc-content .wc-block-cart__sidebar {
	padding: 23px !important;

	background: var(--vhcc-light, #F7F6F3) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-top: 3px solid var(--vhcc-accent, #D92D32) !important;
}

.vhcc-content .wc-block-cart__sidebar > *,
.vhcc-content .wc-block-cart__sidebar > div,
.vhcc-content .wc-block-cart__sidebar .wc-block-components-sidebar > div {
	margin: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;

	background: transparent !important;
	border-top: 0 !important;
}

.vhcc-content .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	padding: 0 !important;
}

.vhcc-content .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
	padding: 14px 0 !important;

	border-top: 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-cart__sidebar .wc-block-components-totals-wrapper:last-of-type {
	border-bottom: 0 !important;
}

.vhcc-content .wc-block-components-totals-item {
	padding: 0 !important;
}

.vhcc-content .wc-block-components-totals-item__label,
.vhcc-content .wc-block-components-totals-item__value {
	color: var(--vhcc-text, #272A2E);

	font-size: 11px !important;
	line-height: 1.45;
}

.vhcc-content .wc-block-cart__sidebar .wc-block-components-totals-footer-item {
	margin-top: 13px !important;
	padding: 16px !important;

	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-dark, #181A1D) !important;
	border: 0 !important;
}

.vhcc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.vhcc-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--vhcc-white, #FFFFFF) !important;

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 14px !important;
	font-weight: 700;
}

.vhcc-content .wc-block-components-totals-coupon {
	padding: 13px 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .wc-block-components-panel__button,
.vhcc-content .wc-block-components-totals-coupon__button {
	padding: 0 !important;

	color: var(--vhcc-accent, #D92D32) !important;
	background: transparent !important;
	border: 0 !important;

	font-size: 9px !important;
	font-weight: 700 !important;
}

.vhcc-content .wc-block-components-totals-coupon__form {
	padding-top: 12px;
}

.vhcc-content .wc-block-cart__submit-container {
	margin-top: 18px !important;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
}

.vhcc-content .wc-block-cart__submit-button {
	min-height: 56px !important;
	padding: 0 18px !important;

	color: var(--vhcc-white, #FFFFFF) !important;
	background: var(--vhcc-accent, #D92D32) !important;
	border: 1px solid var(--vhcc-accent, #D92D32) !important;
	border-radius: 0 !important;

	font-size: 11px !important;
	font-weight: 700 !important;

	transition:
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

.vhcc-content .wc-block-cart__submit-button:hover {
	background: var(--vhcc-accent-hover, #B92126) !important;
	border-color: var(--vhcc-accent-hover, #B92126) !important;
	transform: translateY(-1px);
}

/* =========================================================
   KASSEN-BLOCK
   ========================================================= */

.vhcc-content .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
	grid-template-columns: minmax(0, 1.45fr) minmax(350px, .62fr) !important;
	gap: 22px !important;
}

.vhcc-content .wc-block-checkout__main {
	padding: 27px !important;

	background: var(--vhcc-white, #FFFFFF) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-checkout__main .wc-block-components-checkout-step {
	margin: 0 !important;
	padding: 27px 0 !important;

	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-checkout__main .wc-block-components-checkout-step:first-child {
	padding-top: 0 !important;
}

.vhcc-content .wc-block-checkout__main .wc-block-components-checkout-step:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

.vhcc-content .wc-block-components-checkout-step__heading {
	margin-bottom: 20px !important;
}

.vhcc-content .wc-block-components-checkout-step__title {
	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	letter-spacing: -.03em;
}

.vhcc-content .wc-block-components-checkout-step__description {
	margin-top: 5px !important;

	color: var(--vhcc-muted, #686D73);

	font-size: 11px !important;
	line-height: 1.6;
}

/*
 * Die WooCommerce-Blöcke verwenden schwebende Labels. Sie kollidierten
 * mit den bisherigen Feldhöhen. Die Labels stehen jetzt sauber oberhalb
 * der Felder und überlagern keine Werte mehr.
 */

.vhcc-content .wc-block-components-text-input,
.vhcc-content .wc-block-components-combobox .wc-block-components-combobox-control,
.vhcc-content .wc-block-components-address-form .wc-block-components-combobox-control {
	position: relative !important;

	display: flex !important;
	flex-direction: column !important;
	gap: 7px;
}

.vhcc-content .wc-block-components-text-input label,
.vhcc-content .wc-block-components-combobox .wc-block-components-combobox-control label,
.vhcc-content .wc-block-components-address-form .wc-block-components-combobox-control label {
	position: static !important;
	top: auto !important;
	left: auto !important;
	z-index: auto !important;

	width: auto !important;
	margin: 0 0 0 1px !important;
	padding: 0 !important;

	order: -1;

	color: var(--vhcc-text, #272A2E) !important;
	background: transparent !important;

	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;

	transform: none !important;
	transform-origin: initial !important;
	pointer-events: auto !important;
}

.vhcc-content .wc-block-components-text-input input,
.vhcc-content .wc-block-components-combobox .wc-block-components-combobox-control input,
.vhcc-content .wc-block-components-address-form select,
.vhcc-content .wc-block-components-address-form .components-combobox-control__input {
	width: 100% !important;
	min-height: 50px !important;
	height: 50px !important;
	margin: 0 !important;
	padding: 0 13px !important;

	color: var(--vhcc-text, #272A2E) !important;
	background: var(--vhcc-white, #FFFFFF) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-radius: 0 !important;
	box-shadow: none !important;

	font-family: Inter, Arial, sans-serif !important;
	font-size: 12px !important;
	line-height: 48px !important;
}

.vhcc-content .wc-block-components-text-input input:focus,
.vhcc-content .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.vhcc-content .wc-block-components-address-form select:focus,
.vhcc-content .wc-block-components-address-form .components-combobox-control__input:focus {
	outline: 0 !important;
	border-color: var(--vhcc-accent, #D92D32) !important;
	box-shadow: 0 0 0 3px rgba(217, 45, 50, .08) !important;
}

.vhcc-content .wc-block-components-address-form {
	row-gap: 15px !important;
}

.vhcc-content .wc-block-components-address-form__address_2-toggle {
	margin-top: -3px;

	color: var(--vhcc-accent, #D92D32) !important;

	font-size: 9px !important;
	font-weight: 700 !important;
}

.vhcc-content .wc-block-components-checkbox {
	margin: 4px 0 !important;
}

.vhcc-content .wc-block-components-checkbox label {
	color: var(--vhcc-text, #272A2E);

	font-size: 10px;
	line-height: 1.5;
}

/* Zahlungs- und Versandoptionen. */

.vhcc-content .wc-block-components-radio-control {
	overflow: hidden;

	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-radius: 0 !important;
}

.vhcc-content .wc-block-components-radio-control-accordion-option {
	margin: 0 !important;

	border-color: var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-components-radio-control__option {
	padding: 15px !important;
}

.vhcc-content .wc-block-components-radio-control__label {
	color: var(--vhcc-dark, #181A1D);

	font-size: 11px;
	font-weight: 700;
}

/* Checkout-Seitenleiste: ein sauberer Rahmen statt vieler roter Striche. */

.vhcc-content .wc-block-checkout__sidebar {
	padding: 22px !important;

	background: var(--vhcc-light, #F7F6F3) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	border-top: 3px solid var(--vhcc-accent, #D92D32) !important;
}

.vhcc-content .wc-block-checkout__sidebar > *,
.vhcc-content .wc-block-checkout__sidebar > div {
	margin: 0 !important;

	background: transparent !important;
	border-top: 0 !important;
}

.vhcc-content .wc-block-checkout__sidebar .wc-block-components-order-summary {
	padding: 0 !important;

	background: var(--vhcc-white, #FFFFFF) !important;
	border: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-components-order-summary__button-text {
	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 17px;
	font-weight: 700;
}

.vhcc-content .wc-block-components-order-summary__content {
	padding: 0 16px 15px !important;
}

.vhcc-content .wc-block-components-order-summary-item {
	padding: 15px 0 !important;

	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-components-order-summary-item:last-child {
	border-bottom: 0 !important;
}

.vhcc-content .wc-block-components-order-summary-item__image {
	width: 58px !important;
	height: 58px !important;
}

.vhcc-content .wc-block-components-order-summary-item__image img {
	width: 58px !important;
	height: 58px !important;
	padding: 5px;

	object-fit: contain;

	background: #FBFBF9;
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .wc-block-components-order-summary-item__description {
	padding-left: 11px !important;
}

/* Lange Produkt-Kurzbeschreibungen werden in der Kassenübersicht ausgeblendet. */
.vhcc-content .wc-block-components-product-metadata__description {
	display: none !important;
}

.vhcc-content .wc-block-components-order-summary-item__total-price {
	color: var(--vhcc-dark, #181A1D);

	font-size: 11px;
	font-weight: 700;
}

.vhcc-content .wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
	padding: 14px 0 !important;

	border-top: 0 !important;
	border-bottom: 1px solid var(--vhcc-line, #E1E2DF) !important;
}

.vhcc-content .wc-block-checkout__sidebar .wc-block-components-totals-footer-item {
	margin-top: 13px !important;
	padding: 16px !important;

	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-dark, #181A1D) !important;
	border: 0 !important;
}

.vhcc-content .wc-block-components-checkout-place-order-button,
.vhcc-content .wc-block-components-button {
	min-height: 56px !important;

	color: var(--vhcc-white, #FFFFFF) !important;
	background: var(--vhcc-accent, #D92D32) !important;
	border: 1px solid var(--vhcc-accent, #D92D32) !important;
	border-radius: 0 !important;

	font-size: 11px !important;
	font-weight: 700 !important;

	transition:
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

.vhcc-content .wc-block-components-checkout-place-order-button:hover,
.vhcc-content .wc-block-components-button:hover {
	background: var(--vhcc-accent-hover, #B92126) !important;
	border-color: var(--vhcc-accent-hover, #B92126) !important;
	transform: translateY(-1px);
}

.vhcc-content .wc-block-checkout__actions_row {
	margin-top: 18px !important;
	padding-top: 18px !important;

	border-top: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	width: 100%;
}

/* =========================================================
   BLOCKS – TABLET UND MOBIL
   ========================================================= */

@media (max-width: 1100px) {
	.vhcc-content .wc-block-components-sidebar-layout,
	.vhcc-content .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		grid-template-columns: minmax(0, 1fr) minmax(330px, .62fr) !important;
	}
}

@media (max-width: 767px) {
	.vhcc-content .wc-block-components-sidebar-layout,
	.vhcc-content .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		display: block !important;
	}

	.vhcc-content .wc-block-components-sidebar {
		margin-top: 16px !important;
	}

	.vhcc-content .wc-block-cart-items__row {
		padding: 16px !important;

		grid-template-columns: 76px minmax(0, 1fr);
		grid-template-rows: auto auto;
		gap: 7px 12px;
	}

	.vhcc-content .wc-block-cart-item__image {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.vhcc-content .wc-block-cart-item__image img {
		width: 76px !important;
		height: 76px !important;
		padding: 6px;
	}

	.vhcc-content .wc-block-cart-item__product {
		grid-column: 2;
		grid-row: 1;
	}

	.vhcc-content .wc-block-cart-item__total {
		grid-column: 2;
		grid-row: 2;

		text-align: left;
	}

	.vhcc-content .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		align-items: flex-start;
	}

	.vhcc-content .wc-block-components-product-name {
		font-size: 13px !important;
	}

	.vhcc-content .wc-block-cart__sidebar,
	.vhcc-content .wc-block-checkout__sidebar {
		padding: 18px !important;
	}

	.vhcc-content .wc-block-checkout__main {
		padding: 20px 17px !important;
	}

	.vhcc-content .wc-block-checkout__main .wc-block-components-checkout-step {
		padding: 23px 0 !important;
	}

	.vhcc-content .wc-block-components-checkout-step__title {
		font-size: 19px !important;
	}
}

/* =========================================================
   ORDER RECEIVED
   ========================================================= */

body.vhcc-page-received .vhcc-content > .woocommerce {
	padding: 28px;

	background: var(--vhcc-white, #FFFFFF);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content .woocommerce-thankyou-order-received {
	margin: 0 0 24px;
	padding: 20px;

	color: #45684D;
	background: #F2F7F3;
	border-left: 4px solid #6E9774;

	font-size: 13px;
	font-weight: 700;
}

.vhcc-content ul.order_details {
	margin: 0 0 25px !important;
	padding: 0 !important;

	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));

	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-content ul.order_details li {
	float: none !important;
	margin: 0 !important;
	padding: 17px !important;

	border-right: 1px solid var(--vhcc-line, #E1E2DF);

	font-size: 9px;
	line-height: 1.5;
}

.vhcc-content ul.order_details li:last-child {
	border-right: 0;
}

.vhcc-content ul.order_details strong {
	margin-top: 5px;

	color: var(--vhcc-dark, #181A1D);

	font-size: 12px;
}

.vhcc-content .woocommerce-order-details__title,
.vhcc-content .woocommerce-column__title {
	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.03em;
}

/* Help box */

.vhcc-help {
	margin-top: 22px;
	padding: 26px;

	display: grid;
	grid-template-columns: 50px minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px 22px;

	color: var(--vhcc-white, #FFFFFF);
	background: var(--vhcc-dark, #181A1D);
}

.vhcc-help__icon {
	width: 50px;
	height: 50px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: #FF777A;
	background: rgba(217, 45, 50, .15);
}

.vhcc-help__icon svg {
	width: 23px;
	height: 23px;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vhcc-help__copy > span {
	display: block;
	margin-bottom: 4px;

	color: #FF777A;

	font-size: 8px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.vhcc-help__copy > strong {
	display: block;

	color: var(--vhcc-white, #FFFFFF);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.vhcc-help__copy p {
	margin: 6px 0 0;

	color: rgba(255, 255, 255, .58);

	font-size: 11px;
	line-height: 1.65;
}

.vhcc-help__actions {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.vhcc-help__actions a {
	min-width: 185px;
	min-height: 44px;
	padding: 0 13px;

	display: flex;
	align-items: center;
	justify-content: center;

	text-decoration: none !important;

	font-size: 10px;
	font-weight: 700;
}

.vhcc-help__phone {
	color: var(--vhcc-dark, #181A1D) !important;
	background: var(--vhcc-white, #FFFFFF);
}

.vhcc-help__mail {
	color: var(--vhcc-white, #FFFFFF) !important;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .27);
}

/* Service strip */

.vhcc-service-strip {
	margin-top: 14px;

	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	background: var(--vhcc-light, #F7F6F3);
	border: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-service-strip__item {
	min-height: 100px;
	padding: 21px 24px;

	display: flex;
	align-items: center;
	gap: 14px;

	border-right: 1px solid var(--vhcc-line, #E1E2DF);
}

.vhcc-service-strip__item:last-child {
	border-right: 0;
}

.vhcc-service-strip__icon {
	width: 43px;
	height: 43px;

	flex: 0 0 43px;

	display: flex;
	align-items: center;
	justify-content: center;

	color: var(--vhcc-accent, #D92D32);
	background: rgba(217, 45, 50, .09);
}

.vhcc-service-strip__icon svg {
	width: 21px;
	height: 21px;

	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.vhcc-service-strip__item > span:last-child {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.vhcc-service-strip__item strong {
	color: var(--vhcc-dark, #181A1D);

	font-family: Manrope, Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.vhcc-service-strip__item small {
	color: var(--vhcc-muted, #686D73);

	font-size: 10px;
	line-height: 1.5;
}

/* Tablet */

@media (max-width: 1100px) {
	.vhcc-container {
		width: min(var(--vhcc-max-width, 1350px), calc(100% - 48px));
	}

	.vhcc-header {
		grid-template-columns: minmax(0, 1fr) 375px;
		gap: 38px;
		padding: 38px;
	}

	body.vhcc-page-cart .vhcc-content .woocommerce {
		grid-template-columns: minmax(0, 1.2fr) minmax(330px, .65fr);
	}

	.vhcc-content form.checkout {
		grid-template-columns: minmax(0, 1fr) 375px;
		gap: 22px;
	}

	.vhcc-content .wc-block-components-main {
		width: calc(62% - 10px) !important;
	}

	.vhcc-content .wc-block-components-sidebar {
		width: calc(38% - 10px) !important;
	}
}

/* Mobile */

@media (max-width: 767px) {
	.vhcc-page {
		padding: 20px 0 72px;
	}

	.vhcc-container {
		width: calc(100% - 32px);
	}

	.vhcc-header {
		min-height: 0;
		margin-bottom: 20px;
		padding: 28px 22px;

		display: block;
	}

	.vhcc-title {
		font-size: clamp(30px, 9vw, 38px);
	}

	.vhcc-intro {
		margin-top: 15px;

		font-size: 13px;
		line-height: 1.75;
	}

	.vhcc-steps {
		margin-top: 24px;
	}

	.vhcc-step a,
	.vhcc-step__inner {
		min-height: 70px;
		padding: 10px 5px;
	}

	.vhcc-step strong {
		font-size: 7px;
	}

	body.vhcc-page-cart .vhcc-content .woocommerce,
	.vhcc-content form.checkout {
		display: block;
	}

	body.vhcc-page-cart .vhcc-content .woocommerce > .cart-collaterals {
		margin-top: 15px;
	}

	.vhcc-content .woocommerce-cart-form {
		overflow-x: auto;
	}

	.vhcc-content table.shop_table {
		min-width: 690px;
	}

	.vhcc-content .actions {
		min-width: 690px;
	}

	.vhcc-content .cart_totals {
		padding: 20px 17px;
	}

	.vhcc-content #customer_details {
		padding: 22px 18px;
	}

	.vhcc-content #order_review_heading {
		margin-top: 17px;
		padding: 20px 18px 0;
	}

	.vhcc-content #order_review {
		padding: 17px 18px 20px;
	}

	.vhcc-content .wc-block-components-sidebar-layout {
		display: block !important;
	}

	.vhcc-content .wc-block-components-main,
	.vhcc-content .wc-block-components-sidebar {
		width: 100% !important;
	}

	.vhcc-content .wc-block-components-sidebar {
		margin-top: 16px !important;
	}

	.vhcc-content .wc-block-components-checkout-step {
		padding: 18px 16px !important;
	}

	.vhcc-content ul.order_details {
		grid-template-columns: 1fr 1fr;
	}

	.vhcc-content ul.order_details li {
		border-bottom: 1px solid var(--vhcc-line, #E1E2DF);
	}

	.vhcc-help {
		padding: 22px 18px;

		grid-template-columns: 44px minmax(0, 1fr);
	}

	.vhcc-help__icon {
		width: 44px;
		height: 44px;
	}

	.vhcc-help__actions {
		grid-column: 1 / -1;

		display: grid;
		grid-template-columns: 1fr;
	}

	.vhcc-help__actions a {
		min-width: 0;
	}

	.vhcc-service-strip {
		grid-template-columns: 1fr;
	}

	.vhcc-service-strip__item {
		min-height: 82px;
		padding: 17px 19px;

		border-right: 0;
		border-bottom: 1px solid var(--vhcc-line, #E1E2DF);
	}

	.vhcc-service-strip__item:last-child {
		border-bottom: 0;
	}
}

/* Small mobile */

@media (max-width: 390px) {
	.vhcc-step strong {
		max-width: 82px;
	}

	.vhcc-content .coupon {
		flex-direction: column;
	}

	.vhcc-content .coupon input.input-text {
		width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vhcc-page *,
	.vhcc-content button,
	.vhcc-content a {
		transition: none !important;
	}
}

/* =========================================================
   RESPONSIVE REBUILD 1.1.0
   Echte mobile Darstellung ohne horizontale Warenkorb-Tabellen.
   ========================================================= */

@media (max-width: 980px) {
	.vhcc-container {
		width: min(var(--vhcc-max-width, 1350px), calc(100% - 36px));
	}

	.vhcc-header {
		min-height: 0;
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.vhcc-header__copy {
		max-width: 760px;
	}

	body.vhcc-page-cart .vhcc-content .woocommerce,
	.vhcc-content form.checkout {
		display: block;
	}

	body.vhcc-page-cart .vhcc-content .woocommerce > .cart-collaterals,
	.vhcc-content #order_review_heading {
		margin-top: 22px;
	}

	.vhcc-content #customer_details,
	.vhcc-content #order_review_heading,
	.vhcc-content #order_review {
		width: 100%;
	}

	.vhcc-content .wc-block-components-sidebar-layout,
	.vhcc-content .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout {
		display: block !important;
	}

	.vhcc-content .wc-block-components-main,
	.vhcc-content .wc-block-components-sidebar {
		width: 100% !important;
		max-width: none !important;
	}

	.vhcc-content .wc-block-components-sidebar {
		margin-top: 22px !important;
	}

	.vhcc-content .wc-block-cart__submit-container--sticky,
	.vhcc-content .wc-block-checkout__actions_row.is-sticky {
		position: static !important;
		inset: auto !important;
		box-shadow: none !important;
	}
}

@media (max-width: 767px) {
	body.vhcc-enabled,
	body.vhcc-enabled .site,
	body.vhcc-enabled .site-content,
	body.vhcc-enabled .vhcc-page,
	body.vhcc-enabled .vhcc-content {
		max-width: 100%;
		overflow-x: clip;
	}

	.vhcc-page {
		padding: 14px 0 56px;
	}

	.vhcc-container {
		width: calc(100% - 24px);
	}

	.vhcc-header {
		margin-bottom: 14px;
		padding: 22px 18px 18px;
		gap: 21px;
	}

	.vhcc-kicker {
		margin-bottom: 10px;
		font-size: 9px;
	}

	.vhcc-title {
		font-size: clamp(28px, 9vw, 36px);
		line-height: 1.1;
		letter-spacing: -.04em;
	}

	.vhcc-intro {
		margin-top: 12px;
		font-size: 12px;
		line-height: 1.65;
	}

	.vhcc-steps {
		margin-top: 0;
	}

	.vhcc-step a,
	.vhcc-step__inner {
		min-height: 66px;
		padding: 9px 4px;
		gap: 5px;
	}

	.vhcc-step i {
		width: 24px;
		height: 24px;
	}

	.vhcc-step strong {
		max-width: 100%;
		font-size: 7px;
		letter-spacing: .045em;
	}

	.vhcc-content .woocommerce-message,
	.vhcc-content .woocommerce-info,
	.vhcc-content .woocommerce-error,
	.vhcc-content .wc-block-components-notice-banner {
		padding: 14px 14px !important;
		font-size: 11px;
		line-height: 1.55;
	}

	.vhcc-content .woocommerce-message .button,
	.vhcc-content .woocommerce-info .button {
		float: none !important;
		width: 100%;
		margin: 10px 0 0 !important;
	}

	/* ---------- Klassischer Warenkorb als Karten ---------- */

	.vhcc-content .woocommerce-cart-form {
		overflow: visible;
		border: 0;
		background: transparent;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table,
	.vhcc-content .woocommerce-cart-form table.shop_table tbody {
		display: block;
		width: 100%;
		min-width: 0 !important;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table thead {
		display: none !important;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table tr.cart_item {
		position: relative;
		display: grid !important;
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 0 14px;
		width: 100%;
		margin: 0 0 12px;
		padding: 15px;
		background: var(--vhcc-white, #FFFFFF);
		border: 1px solid var(--vhcc-line, #E1E2DF);
	}

	.vhcc-content .woocommerce-cart-form table.shop_table tr.cart_item > td {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		width: auto !important;
		min-width: 0;
		padding: 9px 0 !important;
		text-align: left !important;
		border: 0 !important;
		border-top: 1px solid var(--vhcc-line, #E1E2DF) !important;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table tr.cart_item > td::before {
		position: static !important;
		float: none !important;
		margin-right: 12px;
		color: var(--vhcc-muted, #686D73);
		font-size: 9px;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	.vhcc-content .woocommerce-cart-form td.product-remove {
		position: absolute !important;
		top: 10px;
		right: 10px;
		z-index: 2;
		display: block !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.vhcc-content .woocommerce-cart-form td.product-remove::before,
	.vhcc-content .woocommerce-cart-form td.product-thumbnail::before,
	.vhcc-content .woocommerce-cart-form td.product-name::before {
		display: none !important;
	}

	.vhcc-content .woocommerce-cart-form td.product-remove a.remove {
		width: 34px !important;
		height: 34px !important;
		font-size: 19px !important;
	}

	.vhcc-content .woocommerce-cart-form td.product-thumbnail {
		grid-column: 1;
		grid-row: 1 / span 2;
		display: block !important;
		width: 78px !important;
		padding: 0 !important;
		border: 0 !important;
	}

	.vhcc-content .woocommerce-cart-form td.product-thumbnail a {
		display: block;
	}

	.vhcc-content .woocommerce-cart-form td.product-thumbnail img {
		width: 78px !important;
		height: 78px !important;
		padding: 6px;
	}

	.vhcc-content .woocommerce-cart-form td.product-name {
		grid-column: 2;
		display: block !important;
		min-height: 78px;
		padding: 3px 38px 10px 0 !important;
		border: 0 !important;
	}

	.vhcc-content .woocommerce-cart-form td.product-name a {
		display: block;
		font-size: 13px;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}

	.vhcc-content .woocommerce-cart-form td.product-name dl.variation {
		margin: 7px 0 0;
	}

	.vhcc-content .woocommerce-cart-form td.product-price,
	.vhcc-content .woocommerce-cart-form td.product-quantity,
	.vhcc-content .woocommerce-cart-form td.product-subtotal {
		grid-column: 1 / -1;
	}

	.vhcc-content .woocommerce-cart-form td.product-price {
		margin-top: 4px;
	}

	.vhcc-content .woocommerce-cart-form td.product-subtotal {
		padding-bottom: 2px !important;
		font-size: 14px;
	}

	.vhcc-content .woocommerce-cart-form .quantity .qty {
		width: 66px !important;
		height: 40px !important;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table tr:not(.cart_item) {
		display: block !important;
		width: 100%;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table td.actions {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 10px;
		width: 100% !important;
		min-width: 0 !important;
		padding: 15px !important;
		background: var(--vhcc-light, #F7F6F3);
		border: 1px solid var(--vhcc-line, #E1E2DF) !important;
	}

	.vhcc-content .woocommerce-cart-form .actions .coupon {
		display: grid;
		grid-template-columns: 1fr;
		gap: 8px;
		width: 100%;
	}

	.vhcc-content .woocommerce-cart-form .actions .coupon label {
		display: none;
	}

	.vhcc-content .woocommerce-cart-form .actions .coupon input.input-text,
	.vhcc-content .woocommerce-cart-form .actions .coupon button,
	.vhcc-content .woocommerce-cart-form .actions > button[name="update_cart"] {
		float: none !important;
		width: 100% !important;
		min-height: 46px;
		margin: 0 !important;
	}

	.vhcc-content .cart-collaterals,
	.vhcc-content .cart_totals,
	.vhcc-content .cross-sells {
		width: 100% !important;
	}

	.vhcc-content .cart_totals {
		padding: 18px 15px;
	}

	.vhcc-content .cart_totals > h2 {
		font-size: 20px;
	}

	.vhcc-content .cart_totals table,
	.vhcc-content .cart_totals tbody,
	.vhcc-content .cart_totals tr {
		width: 100%;
	}

	.vhcc-content .cart_totals table th,
	.vhcc-content .cart_totals table td {
		display: table-cell !important;
		width: 50%;
		padding: 12px 10px !important;
	}

	.vhcc-content .cart_totals table td::before {
		display: none !important;
	}

	.vhcc-content .woocommerce-shipping-methods,
	.vhcc-content .woocommerce-shipping-methods li,
	.vhcc-content .woocommerce-shipping-methods label {
		max-width: 100%;
		white-space: normal;
	}

	.vhcc-content .wc-proceed-to-checkout a.checkout-button {
		width: 100%;
		min-height: 54px;
		font-size: 11px !important;
	}

	/* ---------- Klassische Kasse ---------- */

	.vhcc-content #customer_details {
		padding: 19px 15px;
	}

	.vhcc-content #order_review_heading {
		padding: 18px 15px 0;
		font-size: 20px;
	}

	.vhcc-content #order_review {
		padding: 15px;
	}

	.vhcc-content .col2-set .col-2 {
		margin-top: 24px;
		padding-top: 22px;
	}

	.vhcc-content .woocommerce-billing-fields > h3,
	.vhcc-content .woocommerce-shipping-fields > h3,
	.vhcc-content .woocommerce-additional-fields > h3 {
		margin-bottom: 18px;
		font-size: 20px;
	}

	.vhcc-content form.checkout .form-row,
	.vhcc-content form.checkout .form-row-first,
	.vhcc-content form.checkout .form-row-last,
	.vhcc-content form.checkout .form-row-wide {
		float: none !important;
		width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	.vhcc-content .input-text,
	.vhcc-content select,
	.vhcc-content textarea,
	.vhcc-content .select2-selection {
		min-height: 48px;
		font-size: 16px !important;
	}

	.vhcc-content textarea {
		min-height: 105px;
	}

	.vhcc-content .select2-container {
		width: 100% !important;
	}

	.vhcc-content #order_review table {
		table-layout: fixed;
		width: 100%;
	}

	.vhcc-content #order_review table th,
	.vhcc-content #order_review table td {
		padding: 11px 9px !important;
		font-size: 10px;
		overflow-wrap: anywhere;
	}

	.vhcc-content #payment ul.payment_methods li {
		padding: 14px 12px;
	}

	.vhcc-content #payment ul.payment_methods li label {
		display: inline;
		line-height: 1.5;
	}

	.vhcc-content #payment ul.payment_methods li img {
		float: none !important;
		max-width: 110px;
		max-height: 32px;
		margin: 7px 0 0 5px !important;
	}

	.vhcc-content #payment div.payment_box,
	.vhcc-content #payment .place-order {
		padding: 13px !important;
	}

	.vhcc-content #payment #place_order {
		min-height: 54px;
		white-space: normal;
	}

	.vhcc-content form.woocommerce-form-login,
	.vhcc-content form.checkout_coupon {
		padding: 15px !important;
	}

	.vhcc-content form.checkout_coupon .form-row {
		width: 100% !important;
	}

	/* ---------- Warenkorb-Block ---------- */

	.vhcc-content .wc-block-cart-items {
		display: block !important;
		width: 100%;
	}

	.vhcc-content .wc-block-cart-items tbody {
		display: block !important;
	}

	.vhcc-content .wc-block-cart-items__row {
		grid-template-columns: 70px minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		gap: 8px 12px !important;
		padding: 14px !important;
	}

	.vhcc-content .wc-block-cart-item__image {
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
	}

	.vhcc-content .wc-block-cart-item__image img {
		width: 70px !important;
		height: 70px !important;
		padding: 5px;
	}

	.vhcc-content .wc-block-cart-item__product {
		grid-column: 2 !important;
		grid-row: 1 / span 2 !important;
		min-width: 0;
	}

	.vhcc-content .wc-block-components-product-name {
		font-size: 13px !important;
		line-height: 1.4;
		overflow-wrap: anywhere;
	}

	.vhcc-content .wc-block-cart-item__total {
		grid-column: 1 / -1 !important;
		grid-row: 3 !important;
		padding-top: 11px !important;
		border-top: 1px solid var(--vhcc-line, #E1E2DF) !important;
		text-align: left !important;
	}

	.vhcc-content .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		align-items: flex-start !important;
	}

	.vhcc-content .wc-block-cart-item__quantity {
		gap: 8px;
	}

	.vhcc-content .wc-block-components-quantity-selector {
		height: 42px;
	}

	.vhcc-content .wc-block-components-quantity-selector button {
		width: 38px !important;
		min-height: 40px !important;
	}

	.vhcc-content .wc-block-cart__sidebar,
	.vhcc-content .wc-block-checkout__sidebar {
		padding: 16px !important;
	}

	.vhcc-content .wc-block-cart__submit-button,
	.vhcc-content .wc-block-components-checkout-place-order-button {
		width: 100% !important;
		min-height: 54px !important;
		white-space: normal !important;
	}

	.vhcc-content .wc-block-cart__submit-container,
	.vhcc-content .wc-block-cart__submit-container--sticky {
		position: static !important;
		width: 100% !important;
		padding: 0 !important;
		box-shadow: none !important;
	}

	/* ---------- Kassen-Block ---------- */

	.vhcc-content .wc-block-checkout__main {
		padding: 18px 14px !important;
	}

	.vhcc-content .wc-block-checkout__main .wc-block-components-checkout-step {
		padding: 21px 0 !important;
	}

	.vhcc-content .wc-block-components-checkout-step__heading {
		margin-bottom: 16px !important;
	}

	.vhcc-content .wc-block-components-checkout-step__title {
		font-size: 18px !important;
		line-height: 1.35;
	}

	.vhcc-content .wc-block-components-checkout-step__description {
		font-size: 10px !important;
	}

	.vhcc-content .wc-block-components-address-form,
	.vhcc-content .wc-block-components-address-form-wrapper,
	.vhcc-content .wc-block-components-address-card-wrapper {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.vhcc-content .wc-block-components-address-form > *,
	.vhcc-content .wc-block-components-address-form .wc-block-components-text-input,
	.vhcc-content .wc-block-components-address-form .wc-block-components-combobox {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	.vhcc-content .wc-block-components-text-input input,
	.vhcc-content .wc-block-components-combobox .wc-block-components-combobox-control input,
	.vhcc-content .wc-block-components-address-form select,
	.vhcc-content .wc-block-components-address-form .components-combobox-control__input {
		font-size: 16px !important;
	}

	.vhcc-content .wc-block-components-radio-control__option,
	.vhcc-content .wc-block-components-radio-control-accordion-option {
		min-width: 0;
		padding: 13px 11px !important;
	}

	.vhcc-content .wc-block-components-radio-control__label,
	.vhcc-content .wc-block-components-radio-control__description,
	.vhcc-content .wc-block-components-radio-control-accordion-content {
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.vhcc-content .wc-block-components-express-payment__event-buttons,
	.vhcc-content .wc-block-components-express-payment-continue-rule,
	.vhcc-content .wc-block-components-express-payment__content {
		width: 100%;
		max-width: 100%;
	}

	.vhcc-content .wc-block-components-express-payment__event-buttons > li,
	.vhcc-content .wc-block-components-express-payment__event-buttons button {
		width: 100% !important;
		max-width: 100% !important;
	}

	.vhcc-content .wc-block-checkout__sidebar .wc-block-components-order-summary__content {
		padding: 0 12px 12px !important;
	}

	.vhcc-content .wc-block-components-order-summary-item {
		grid-template-columns: 54px minmax(0, 1fr) !important;
	}

	.vhcc-content .wc-block-components-order-summary-item__image,
	.vhcc-content .wc-block-components-order-summary-item__image img {
		width: 54px !important;
		height: 54px !important;
	}

	.vhcc-content .wc-block-components-order-summary-item__description {
		min-width: 0;
		padding-left: 9px !important;
	}

	.vhcc-content .wc-block-checkout__actions_row {
		display: flex !important;
		flex-direction: column-reverse;
		align-items: stretch !important;
		gap: 12px;
	}

	.vhcc-content .wc-block-checkout__actions_row > * {
		width: 100% !important;
		margin: 0 !important;
	}

	/* ---------- Bestellbestätigung ---------- */

	body.vhcc-page-received .vhcc-content > .woocommerce {
		padding: 17px 14px;
	}

	.vhcc-content .woocommerce-thankyou-order-received {
		padding: 16px;
		font-size: 12px;
	}

	.vhcc-content ul.order_details {
		grid-template-columns: 1fr;
	}

	.vhcc-content ul.order_details li,
	.vhcc-content ul.order_details li:last-child {
		border-right: 0;
		border-bottom: 1px solid var(--vhcc-line, #E1E2DF);
	}

	.vhcc-content ul.order_details li:last-child {
		border-bottom: 0;
	}

	.vhcc-content .woocommerce-order-details__title,
	.vhcc-content .woocommerce-column__title {
		font-size: 19px;
	}

	.vhcc-content .woocommerce-columns--addresses,
	.vhcc-content .woocommerce-columns--addresses .woocommerce-column {
		display: block !important;
		float: none !important;
		width: 100% !important;
	}

	.vhcc-content .woocommerce-columns--addresses .woocommerce-column + .woocommerce-column {
		margin-top: 16px;
	}

	/* ---------- Service- und Hilfebereiche ---------- */

	.vhcc-help {
		margin-top: 14px;
		padding: 18px 15px;
		grid-template-columns: 40px minmax(0, 1fr);
		gap: 14px 12px;
	}

	.vhcc-help__icon {
		width: 40px;
		height: 40px;
	}

	.vhcc-help__copy > strong {
		font-size: 16px;
	}

	.vhcc-help__actions {
		grid-column: 1 / -1;
		width: 100%;
	}

	.vhcc-help__actions a {
		width: 100%;
		min-height: 46px;
	}

	.vhcc-service-strip {
		margin-top: 12px;
	}

	.vhcc-service-strip__item {
		min-height: 0;
		padding: 15px;
	}
}

@media (max-width: 430px) {
	.vhcc-container {
		width: calc(100% - 18px);
	}

	.vhcc-header {
		padding: 20px 15px 15px;
	}

	.vhcc-step strong {
		font-size: 6.5px;
	}

	.vhcc-content .woocommerce-cart-form table.shop_table tr.cart_item {
		grid-template-columns: 66px minmax(0, 1fr);
		gap: 0 11px;
		padding: 12px;
	}

	.vhcc-content .woocommerce-cart-form td.product-thumbnail,
	.vhcc-content .woocommerce-cart-form td.product-thumbnail img {
		width: 66px !important;
		height: 66px !important;
	}

	.vhcc-content .woocommerce-cart-form td.product-name {
		min-height: 66px;
	}

	.vhcc-content .cart_totals,
	.vhcc-content #customer_details,
	.vhcc-content #order_review,
	.vhcc-content .wc-block-cart__sidebar,
	.vhcc-content .wc-block-checkout__sidebar {
		padding-right: 12px !important;
		padding-left: 12px !important;
	}
}
