/* WB Helper – Custom Styles */
:root {
	--wb-grau: #727575;
	--wb-rot: #DF4238;
	--wb-blau: #3C5F7F;
	--wb-gruen: #73A584;
	--wb-orange: #EF9351;

	--wb-white: #FFFFFF;
	--wb-dunkelrot: #A51007;
	--wb-dunkelblau: #25394B;
	--wb-dunkelgruen: #3C8558;
	--wb-strahlendorange: #FF9143;
}

body {
	overflow-x: hidden;
}

main#content {
	padding-top: 90px;
	position: relative;
}

main#content:before {
	content: '';
	display: block;
	pointer-events: none;

	width: 100vw;
	height: 100%;
	z-index: 0;

	position: absolute;
	top: 0;
	left: 50%;

	transform: translateX(-50%);
	background-color: var(--wb-page-color);
}

main#content > .page-header {
	position: relative;
}

body.wpb-js-composer main#content > .page-header {
	display: none;
}

main#content h1 {
	font-size: 2.5rem;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.2;
	letter-spacing: 5px;
}

main#content h2 {
	font-size: 2rem;
    font-weight: 400;
}

main#content p,
.wb-wysiwyg-wrapper .ql-editor ul li,
.wb-wysiwyg-wrapper .ql-editor ol li {
	font-size: 1.2rem;
    font-weight: 400;
}

main#content .kv-single-description ul,
main#content .kv-single-description ol {
	margin-bottom: .9rem;
}

/* ── Buttons ─────────────────────────────────────────────────────────── */

:where(button, button[type=button], button[type=submit]) {
	--_btn-color: var(--wb-ctx-btn-bg, var(--wb-page-color-btn, var(--wb-grau)));
	--_btn-text: var(--wb-ctx-btn-text, #fff);

	display: inline-block;
	padding: 0.5em 1em;

	font-size: 1em;
	font-weight: 600;
	letter-spacing: 1px;
	line-height: 1.4;

	color: var(--_btn-text);
	background-color: var(--_btn-color);
	border: 2px solid var(--_btn-color);
	border-radius: 0;

	cursor: pointer;
	transition: color 0.25s ease, background-color 0.25s ease;
}

:where(button:hover, button:focus, button:active, button:focus-visible,
button[type=button]:hover, button[type=button]:focus, button[type=button]:active, button[type=button]:focus-visible,
button[type=submit]:hover, button[type=submit]:focus, button[type=submit]:active, button[type=submit]:focus-visible) {
	color: var(--_btn-color);
	background-color: transparent;
}

.cart_item p {
	font-size: inherit !important;
}

/* ── Utility: force white text ───────────────────────────────────────── */

.wb-text-white,
.wb-text-white h1,
.wb-text-white h2,
.wb-text-white h3,
.wb-text-white h4,
.wb-text-white h5,
.wb-text-white h6,
.wb-text-white p,
.wb-text-white a,
.wb-text-white span,
.wb-text-white li,
.wb-text-white label {
	color: #fff !important;
}

/* ── WooCommerce Order Confirmation ──────────────────────────────────── */

.woocommerce-order {
	max-width: 52rem;
	margin: 0 auto;
	padding: 2rem 0;
	font-size: 1rem;
	color: #1a1a1a;
}

/* Success notice */
.woocommerce-order .woocommerce-notice--success {
	background: var(--wb-gruen);
	color: #fff;
	padding: 1.25rem 1.5rem;
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.5px;
	border: none;
	margin-bottom: 2rem;
}

/* Order overview bar */
.woocommerce-order .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0 0 2.5rem;
	border: 1px solid #e0e0e0;
}

.woocommerce-order .woocommerce-order-overview li {
	flex: 1 1 auto;
	padding: 1rem 1.25rem;
	border-right: 1px solid #e0e0e0;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--wb-grau);
}

.woocommerce-order .woocommerce-order-overview li:last-child {
	border-right: none;
}

.woocommerce-order .woocommerce-order-overview li strong {
	display: block;
	margin-top: 0.25rem;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
	color: #1a1a1a;
}

/* Section headings */
.woocommerce-order h2,
.woocommerce-order .wc-bacs-bank-details-heading {
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #1a1a1a;
	margin: 0 0 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--wb-grau);
}

/* Bank details section */
.woocommerce-order .wc-bacs-bank-details {
	background: #f7f7f7;
	padding: 1.5rem;
	margin-bottom: 2.5rem;
}

.woocommerce-order .wc-bacs-bank-details-account-name {
	font-size: 1rem;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0 0 0.75rem;
}

.woocommerce-order .wc-bacs-bank-details .bacs_details {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-order .wc-bacs-bank-details .bacs_details li {
	padding: 0.375rem 0;
	font-size: 0.9375rem;
	color: var(--wb-grau);
	border-bottom: 1px solid #e8e8e8;
}

.woocommerce-order .wc-bacs-bank-details .bacs_details li:last-child {
	border-bottom: none;
}

.woocommerce-order .wc-bacs-bank-details .bacs_details li strong {
	color: #1a1a1a;
}

/* Order details table */
.woocommerce-order .woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2.5rem;
	border: none;
}

.woocommerce-order .woocommerce-table--order-details thead th {
	text-align: left;
	padding: 0.75rem 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--wb-grau);
	border-bottom: 2px solid var(--wb-grau);
	background: none;
}

.woocommerce-order .woocommerce-table--order-details tbody td {
	padding: 1rem;
	font-size: 0.9375rem;
	border-bottom: 1px solid #e8e8e8;
	vertical-align: top;
}

.woocommerce-order .woocommerce-table--order-details tbody .product-name {
	font-weight: 600;
	color: #1a1a1a;
}

.woocommerce-order .woocommerce-table--order-details tbody .product-total {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-order .woocommerce-table--order-details .wc-item-meta {
	list-style: none;
	padding: 0;
	margin: 0.5rem 0 0;
}

.woocommerce-order .woocommerce-table--order-details .wc-item-meta li {
	font-size: 0.8125rem;
	color: var(--wb-grau);
	padding: 0.125rem 0;
}

.woocommerce-order .woocommerce-table--order-details .wc-item-meta p {
	display: inline;
	font-size: inherit;
}

.woocommerce-order .woocommerce-table--order-details tfoot th,
.woocommerce-order .woocommerce-table--order-details tfoot td {
	padding: 0.625rem 1rem;
	font-size: 0.9375rem;
	border-bottom: 1px solid #e8e8e8;
}

.woocommerce-order .woocommerce-table--order-details tfoot th {
	text-align: left;
	font-weight: 400;
	color: var(--wb-grau);
}

.woocommerce-order .woocommerce-table--order-details tfoot td {
	text-align: right;
}

.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td {
	font-weight: 600;
	font-size: 1.0625rem;
	color: #1a1a1a;
	border-bottom: 2px solid var(--wb-grau);
}

/* Invoice / action buttons */
.woocommerce-order .woocommerce-button.button,
.woocommerce-order .order-actions-button {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 1px;
	color: #fff;
	background: var(--wb-page-color-btn, var(--wb-grau));
	border: 2px solid var(--wb-page-color-btn, var(--wb-grau));
	text-decoration: none;
	transition: color 0.25s ease, background-color 0.25s ease;
	cursor: pointer;
}

.woocommerce-order .woocommerce-button.button:hover,
.woocommerce-order .order-actions-button:hover {
	color: var(--wb-page-color-btn, var(--wb-grau));
	background: transparent;
}

/* Customer details / billing address */
.woocommerce-order .woocommerce-customer-details {
	margin-bottom: 2rem;
}

.woocommerce-order .woocommerce-customer-details address {
	background: #f7f7f7;
	padding: 1.25rem 1.5rem;
	font-style: normal;
	font-size: 0.9375rem;
	line-height: 1.8;
	color: #1a1a1a;
	height: auto !important;
}

.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-order .woocommerce-customer-details .woocommerce-customer-details--email {
	margin: 0.25rem 0 0;
	color: var(--wb-grau);
	font-size: 0.875rem;
}

/* Actions row in tfoot */
.woocommerce-order .order-actions--heading {
	font-weight: 400 !important;
	color: var(--wb-grau) !important;
	font-size: 0.9375rem !important;
	border-bottom: none !important;
}

.woocommerce-order tfoot .order-actions--heading + td {
	border-bottom: none !important;
}

/* ── Responsive: Order overview stacks on mobile ─────────────────────── */

@media (max-width: 48rem) {
	.woocommerce-order .woocommerce-order-overview {
		flex-direction: column;
	}

	.woocommerce-order .woocommerce-order-overview li {
		border-right: none;
		border-bottom: 1px solid #e0e0e0;
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		padding: 0.75rem 1rem;
	}

	.woocommerce-order .woocommerce-order-overview li:last-child {
		border-bottom: none;
	}

	.woocommerce-order .woocommerce-order-overview li strong {
		display: inline;
		margin-top: 0;
	}

	.woocommerce-order .woocommerce-table--order-details thead th:last-child,
	.woocommerce-order .woocommerce-table--order-details tbody td:last-child,
	.woocommerce-order .woocommerce-table--order-details tfoot td {
		text-align: right;
	}
}