/* ==========================================================================
   La Pergola — Shop, Warenkorb und Kasse
   Nur auf WooCommerce-Seiten geladen (siehe functions.php).
   Farben kommen aus assets/style.css bzw. aus dem Plugin.
   ========================================================================== */

/* ---------- Grundlagen ---------------------------------------------------- */

/* Markenfarbe des Hauses. Das Plugin setzt auf :root ein Türkis,
   deshalb steht sie hier noch einmal auf „body“ – das gewinnt immer. */
body {
	--lp-brand: #d93025;
}

/* Preise überall in der dunklen Schriftfarbe des Hauses.
   Frueher standen sie im Hausrot; WooCommerce 11 faerbt sie in einem
   Olivton (#958e09), der nicht zum Haus passt. Jetzt sind alle Betraege
   gleich: ruhig, dunkel, gut lesbar. */
body.single-product p.price,
body.single-product span.price,
body.single-product .woocommerce-variation-price .price,
body.lapergola-ui ul.products li.product .price,
.lp-page .woocommerce ul.products li.product .price,
.lp-page .woocommerce td.product-price {
	color: var(--lp-ink, #1c1513);
}

.lp-page {
	max-width: 1040px;
	margin: 0 auto;
	padding: 34px 22px 70px;
	font-family: var(--lp-font, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	color: var(--lp-ink, #1c1513);
}

.lp-page__title {
	margin: 0 0 22px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: clamp(26px, 4vw, 38px);
	line-height: 1.15;
	color: var(--lp-ink, #1c1513);
}

.lp-page__content a {
	color: var(--lp-brand, #d93025);
}

.lp-page .woocommerce {
	font-size: 15.5px;
	line-height: 1.6;
}

/* ---------- Hinweise / Meldungen ----------------------------------------- */

.lp-page .woocommerce-message,
.lp-page .woocommerce-error,
.lp-page .woocommerce-info,
.lp-page .woocommerce-notices-wrapper > div {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 18px;
	padding: 14px 18px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-left: 4px solid var(--lp-brand, #d93025);
	border-radius: 14px;
	background: var(--lp-surface, #fff);
	color: var(--lp-ink, #1c1513);
	box-shadow: 0 6px 18px rgba(28, 21, 19, .05);
	list-style: none;
}

.lp-page .woocommerce-message { border-left-color: #1f8a4c; }
.lp-page .woocommerce-error   { border-left-color: var(--lp-brand, #d93025); }

.lp-page .woocommerce-message::before,
.lp-page .woocommerce-info::before,
.lp-page .woocommerce-error::before {
	flex: 0 0 auto;
	font-size: 17px;
	line-height: 1.3;
}

.lp-page .woocommerce-message .button,
.lp-page .woocommerce-info .button {
	margin-left: auto;
}

/* ---------- Buttons ------------------------------------------------------- */

.lp-page .woocommerce a.button,
.lp-page .woocommerce button.button,
.lp-page .woocommerce input.button,
.lp-page .woocommerce #respond input#submit {
	display: inline-block;
	padding: 13px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--lp-brand, #d93025);
	color: #fff !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	transition: filter .15s ease, transform .15s ease;
}

.lp-page .woocommerce a.button:hover,
.lp-page .woocommerce button.button:hover,
.lp-page .woocommerce input.button:hover,
.lp-page .woocommerce #respond input#submit:hover {
	filter: brightness(.94);
	color: #fff;
}

.lp-page .woocommerce a.button.alt,
.lp-page .woocommerce button.button.alt,
.lp-page .woocommerce input.button.alt {
	background: var(--lp-brand, #d93025);
}

.lp-page .woocommerce a.button:disabled,
.lp-page .woocommerce button.button:disabled,
.lp-page .woocommerce button.button[disabled] {
	opacity: .45;
	cursor: not-allowed;
}

.lp-page .woocommerce a.button.alt:hover { color: #fff; }

/* Zurück zum Shop / weiter einkaufen */
.lp-page .woocommerce .return-to-shop { margin: 18px 0 0; }

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

.lp-page .woocommerce-cart-form,
.lp-page .cart-collaterals { width: 100%; }

.lp-page .woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 22px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 18px;
	overflow: hidden;
	background: var(--lp-surface, #fff);
	box-shadow: 0 8px 26px rgba(28, 21, 19, .05);
}

.lp-page .woocommerce table.shop_table thead th {
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
	background: var(--lp-soft, #f7f2ef);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lp-muted, #6f6661);
	text-align: left;
}

.lp-page .woocommerce table.shop_table tbody td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
	vertical-align: middle;
}

.lp-page .woocommerce table.shop_table tbody tr:last-child td { border-bottom: 0; }

.lp-page .woocommerce table.shop_table.cart td.product-thumbnail { width: 92px; }

.lp-page .woocommerce table.shop_table.cart td.product-thumbnail img {
	width: 76px;
	height: 76px;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

.lp-page .woocommerce table.shop_table.cart td.product-name a {
	font-size: 15.5px;
	font-weight: 700;
	color: var(--lp-ink, #1c1513);
	text-decoration: none;
}

.lp-page .woocommerce table.shop_table.cart td.product-name a:hover {
	color: var(--lp-brand, #d93025);
}

.lp-page .woocommerce table.shop_table.cart td.product-price,
.lp-page .woocommerce table.shop_table.cart td.product-subtotal {
	font-weight: 700;
	white-space: nowrap;
}

.lp-page .woocommerce table.shop_table.cart td.product-remove { width: 44px; text-align: center; }

.lp-page .woocommerce table.shop_table.cart td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--lp-soft, #f7f2ef);
	color: var(--lp-muted, #6f6661) !important;
	font-size: 19px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}

.lp-page .woocommerce table.shop_table.cart td.product-remove a.remove:hover {
	background: var(--lp-brand, #d93025);
	color: #fff !important;
}

/* Mengen-Feld */
.lp-page .woocommerce .quantity { display: inline-flex; }

.lp-page .woocommerce .quantity .qty {
	width: 62px;
	padding: 9px 6px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: var(--lp-surface, #fff);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce .quantity .qty:focus {
	outline: 0;
	border-color: var(--lp-brand, #d93025);
}

/* Aktionen unter dem Warenkorb */
.lp-page .woocommerce .cart-actions-row,
.lp-page .woocommerce table.shop_table.cart td.actions {
	padding: 16px;
	border-top: 1px solid var(--lp-line, #e8e0dc);
	background: var(--lp-soft, #f7f2ef);
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon label { display: none; }

.lp-page .woocommerce table.shop_table.cart td.actions .coupon input.input-text {
	min-width: 190px;
	padding: 11px 16px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: #fff;
	font-family: inherit;
	font-size: 14.5px;
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon input.input-text:focus {
	outline: 0;
	border-color: var(--lp-brand, #d93025);
}

.lp-page .woocommerce table.shop_table.cart td.actions > .button {
	float: right;
	padding: 11px 20px;
	font-size: 14px;
}

/* Summen-Block */
.lp-page .woocommerce .cart-collaterals .cart_totals {
	width: 100%;
	max-width: 460px;
	margin-left: auto;
	padding: 20px 22px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-surface, #fff);
	box-shadow: 0 8px 26px rgba(28, 21, 19, .05);
}

.lp-page .woocommerce .cart_totals h2 {
	margin: 0 0 14px;
	font-size: 17px;
	font-weight: 800;
}

.lp-page .woocommerce .cart_totals table.shop_table {
	margin: 0 0 16px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.lp-page .woocommerce .cart_totals table.shop_table th,
.lp-page .woocommerce .cart_totals table.shop_table td {
	padding: 9px 0;
	border: 0;
	border-bottom: 1px dashed var(--lp-line, #e8e0dc);
	background: transparent;
	text-align: left;
}

.lp-page .woocommerce .cart_totals table.shop_table th { font-weight: 600; color: var(--lp-muted, #6f6661); }

.lp-page .woocommerce .cart_totals table.shop_table td { text-align: right; font-weight: 700; }

.lp-page .woocommerce .cart_totals table.shop_table tr.order-total th,
.lp-page .woocommerce .cart_totals table.shop_table tr.order-total td {
	border-bottom: 0;
	padding-top: 14px;
	font-size: 19px;
	font-weight: 800;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce .cart_totals .wc-proceed-to-checkout { padding: 0; margin: 0; }

.lp-page .woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	padding: 16px 24px;
	font-size: 16px;
	text-align: center;
}

/* Warenkorb ist leer */
.lp-page .woocommerce .cart-empty {
	padding: 28px 22px;
	border: 1px dashed var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-surface, #fff);
	text-align: center;
	font-size: 16px;
	color: var(--lp-muted, #6f6661);
}

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

.lp-page .woocommerce form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: 26px;
	align-items: start;
}

.lp-page .woocommerce form.checkout .col2-set { width: 100%; margin: 0; }
.lp-page .woocommerce form.checkout #order_review_heading { grid-column: 2; margin: 0; }
.lp-page .woocommerce form.checkout #order_review { grid-column: 2; }

.lp-page .woocommerce form.checkout .col2-set .col-1,
.lp-page .woocommerce form.checkout .col2-set .col-2 {
	width: 100%;
	float: none;
	margin: 0 0 20px;
	padding: 20px 22px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-surface, #fff);
	box-shadow: 0 8px 26px rgba(28, 21, 19, .05);
}

.lp-page .woocommerce form.checkout h3 {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 800;
}

.lp-page .woocommerce form.checkout h3#ship-to-different-address { font-size: 14px; font-weight: 600; }

.lp-page .woocommerce form .form-row {
	margin: 0 0 12px;
	padding: 0;
}

.lp-page .woocommerce form .form-row label {
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 700;
	color: var(--lp-muted, #6f6661);
	line-height: 1.35;
}

.lp-page .woocommerce form .form-row .required { color: var(--lp-brand, #d93025); text-decoration: none; }

.lp-page .woocommerce form .form-row input.input-text,
.lp-page .woocommerce form .form-row textarea,
.lp-page .woocommerce form .form-row select {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 14px;
	background: #fff;
	font-family: inherit;
	font-size: 15px;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce form .form-row input.input-text:focus,
.lp-page .woocommerce form .form-row textarea:focus {
	outline: 0;
	border-color: var(--lp-brand, #d93025);
	box-shadow: 0 0 0 3px rgba(217, 48, 37, .12);
}

.lp-page .woocommerce form .form-row textarea { min-height: 96px; }

/* Bestellübersicht */
.lp-page .woocommerce #order_review {
	padding: 20px 22px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-surface, #fff);
	box-shadow: 0 8px 26px rgba(28, 21, 19, .05);
}

.lp-page .woocommerce table.woocommerce-checkout-review-order-table {
	margin: 0 0 16px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.lp-page .woocommerce table.woocommerce-checkout-review-order-table th,
.lp-page .woocommerce table.woocommerce-checkout-review-order-table td {
	padding: 9px 0;
	border: 0;
	border-bottom: 1px dashed var(--lp-line, #e8e0dc);
	background: transparent;
	text-align: left;
	font-size: 14.5px;
}

.lp-page .woocommerce table.woocommerce-checkout-review-order-table thead th {
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lp-muted, #6f6661);
}

.lp-page .woocommerce table.woocommerce-checkout-review-order-table td { text-align: right; }
.lp-page .woocommerce table.woocommerce-checkout-review-order-table td.product-total { text-align: right; font-weight: 700; }
.lp-page .woocommerce table.woocommerce-checkout-review-order-table tfoot th { font-weight: 700; }
.lp-page .woocommerce table.woocommerce-checkout-review-order-table tfoot td { text-align: right; font-weight: 700; }

.lp-page .woocommerce table.woocommerce-checkout-review-order-table tr.order-total th,
.lp-page .woocommerce table.woocommerce-checkout-review-order-table tr.order-total td {
	border-bottom: 0;
	padding-top: 13px;
	font-size: 18px;
	font-weight: 800;
}

/* Zahlungsarten */
.lp-page .woocommerce #payment {
	border: 0;
	border-radius: 0;
	background: transparent;
}

.lp-page .woocommerce #payment ul.payment_methods {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}

.lp-page .woocommerce #payment ul.payment_methods li {
	margin-bottom: 8px;
	padding: 13px 16px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 14px;
	background: var(--lp-soft, #f7f2ef);
	list-style: none;
}

.lp-page .woocommerce #payment ul.payment_methods li.wc_payment_method > input[type=radio]:first-child { display: none; }

.lp-page .woocommerce #payment ul.payment_methods li label {
	display: block;
	padding-left: 24px;
	position: relative;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.lp-page .woocommerce #payment ul.payment_methods li label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 16px;
	height: 16px;
	border: 2px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: #fff;
}

.lp-page .woocommerce #payment ul.payment_methods li input[type=radio]:checked + label::before {
	border-color: var(--lp-brand, #d93025);
	background: var(--lp-brand, #d93025);
	box-shadow: inset 0 0 0 3px #fff;
}

.lp-page .woocommerce #payment div.payment_box {
	margin: 10px 0 0;
	padding: 10px 14px;
	border-radius: 12px;
	background: #fff;
	font-size: 13.5px;
	color: var(--lp-muted, #6f6661);
}

.lp-page .woocommerce #payment div.payment_box::before { display: none; }

.lp-page .woocommerce #payment .place-order {
	margin: 0;
	padding: 0;
	border: 0;
}

.lp-page .woocommerce #payment #place_order {
	display: block;
	width: 100%;
	padding: 17px 24px;
	font-size: 16.5px;
}

.lp-page .woocommerce .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 14px;
	font-size: 13px;
	color: var(--lp-muted, #6f6661);
}

.lp-page .woocommerce .woocommerce-terms-and-conditions-wrapper a { text-decoration: underline; }

/* ---------- Mein Konto ---------------------------------------------------- */

.lp-page .woocommerce-MyAccount-navigation {
	width: 100%;
	float: none;
	margin: 0 0 20px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	overflow: hidden;
	background: var(--lp-surface, #fff);
}

.lp-page .woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; display: flex; flex-wrap: wrap; gap: 6px; }

.lp-page .woocommerce-MyAccount-navigation ul li {
	padding: 0;
	border: 0;
	list-style: none;
}

.lp-page .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 9px 15px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 600;
	color: var(--lp-ink, #1c1513);
	text-decoration: none;
}

.lp-page .woocommerce-MyAccount-navigation ul li a:hover { background: var(--lp-soft, #f7f2ef); }

.lp-page .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--lp-brand, #d93025);
	color: #fff;
}

.lp-page .woocommerce-MyAccount-content { width: 100%; float: none; }

/* ---------- Responsive ---------------------------------------------------- */

@media (max-width: 860px) {
	.lp-page .woocommerce form.checkout { grid-template-columns: 1fr; }
	.lp-page .woocommerce form.checkout #order_review_heading,
	.lp-page .woocommerce form.checkout #order_review { grid-column: 1; }
}

@media (max-width: 640px) {
	.lp-page { padding: 24px 16px 54px; }

	.lp-page .woocommerce table.shop_table thead { display: none; }

	.lp-page .woocommerce table.shop_table.cart,
	.lp-page .woocommerce table.shop_table.cart tbody,
	.lp-page .woocommerce table.shop_table.cart tbody tr,
	.lp-page .woocommerce table.shop_table.cart tbody td { display: block; width: 100%; }

	.lp-page .woocommerce table.shop_table.cart tbody tr {
		position: relative;
		padding: 12px 14px 58px;
		border-bottom: 1px solid var(--lp-line, #e8e0dc);
	}

	.lp-page .woocommerce table.shop_table.cart tbody td {
		padding: 3px 0;
		border: 0;
	}

	.lp-page .woocommerce table.shop_table.cart td.product-thumbnail {
		width: auto;
		padding: 0 0 6px;
	}

	.lp-page .woocommerce table.shop_table.cart td.product-thumbnail::before,
	.lp-page .woocommerce table.shop_table.cart td.product-name::before { display: none; }

	.lp-page .woocommerce table.shop_table.cart td.product-remove {
		position: absolute;
		top: 12px;
		right: 12px;
		width: auto;
	}

	.lp-page .woocommerce table.shop_table.cart td::before {
		content: attr(data-title);
		display: inline-block;
		margin-right: 8px;
		font-size: 11px;
		font-weight: 800;
		letter-spacing: .06em;
		text-transform: uppercase;
		color: var(--lp-muted, #6f6661);
	}

	.lp-page .woocommerce table.shop_table.cart td.actions > .button {
		float: none;
		width: 100%;
		margin-top: 10px;
	}

	.lp-page .woocommerce table.shop_table.cart td.actions .coupon input.input-text { flex: 1 1 100%; }
}

/* ==========================================================================
   Einzelprodukt (Pizza, Pasta, …)
   Die Produktseite nutzt WooCommerce-eigenes Markup (#primary.content-area),
   deshalb gelten diese Regeln ohne das Praefix .lp-page.
   ========================================================================== */

body.single-product,
body.woocommerce.single-product {
	--lp-soft: #f7f2ef;
	--lp-line: #e8e0dc;
	--lp-muted: #6f6661;
	--lp-ink: #1c1513;
}

body.single-product #primary.content-area {
	max-width: 1120px;
	margin: 0 auto;
	padding: 26px 20px 70px;
	font-family: var(--lp-font, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	color: var(--lp-ink, #1c1513);
}

/* Brotkrumen */
body.single-product .woocommerce-breadcrumb {
	margin-bottom: 14px;
	font-size: 13px;
	color: var(--lp-muted, #6f6661);
}

body.single-product .woocommerce-breadcrumb a {
	color: var(--lp-muted, #6f6661);
	text-decoration: none;
}

body.single-product .woocommerce-breadcrumb a:hover { color: var(--lp-brand, #d93025); }

/* Galerie */
body.single-product .woocommerce-product-gallery img,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
	border-radius: 20px;
}

/* Titel und Preis */
body.single-product .product_title {
	margin: 0 0 8px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: clamp(24px, 3.4vw, 34px);
	line-height: 1.15;
}

body.single-product p.price,
body.single-product span.price {
	margin: 0 0 14px;
	font-size: 22px;
	font-weight: 800;
	color: var(--lp-ink, #1c1513);
}

body.single-product .woocommerce-product-details__short-description {
	margin: 0 0 16px;
	font-size: 15px;
	color: var(--lp-muted, #6f6661);
}

/* Varianten (Groesse / Sorte / Sosse) */
body.single-product table.variations {
	width: 100%;
	margin: 0 0 12px;
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

body.single-product table.variations th,
body.single-product table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
	background: transparent;
}

body.single-product table.variations th.label {
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lp-muted, #6f6661);
}

body.single-product table.variations select {
	width: 100%;
	max-width: 420px;
	padding: 14px 46px 14px 18px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 16px;
	background-color: #fff;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%236f6661' d='M1 1l6 6 6-6' stroke='%236f6661' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 18px center;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	color: var(--lp-ink, #1c1513);
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

body.single-product table.variations select:focus {
	outline: 0;
	border-color: var(--lp-brand, #d93025);
	box-shadow: 0 0 0 3px rgba(217, 48, 37, .12);
}

body.single-product a.reset_variations {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--lp-muted, #6f6661);
}

/* Menge */
body.single-product form.cart .quantity { display: inline-flex; margin-right: 10px; }

body.single-product form.cart .quantity .qty {
	width: 76px;
	padding: 13px 6px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: var(--lp-soft, #f7f2ef);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	color: var(--lp-ink, #1c1513);
}

/* In den Warenkorb */
body.single-product form.cart .single_add_to_cart_button {
	padding: 16px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--lp-brand, #d93025);
	color: #fff;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: filter .15s ease;
}

body.single-product form.cart .single_add_to_cart_button:hover { filter: brightness(.94); }

body.single-product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

/* Extras im La-Pergola-Stil */
body.single-product .lapergola-extras {
	margin: 18px 0;
	padding: 16px 18px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-soft, #f7f2ef);
}

body.single-product .lapergola-extras__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 8px;
}

body.single-product .lapergola-extras__item { margin: 0; }

body.single-product .lapergola-extras__item label {
	padding: 11px 14px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 14px;
	background: #fff;
	font-size: 14.5px;
	font-weight: 600;
	transition: border-color .15s ease;
}

body.single-product .lapergola-extras__item label:hover { border-color: var(--lp-brand, #d93025); }

body.single-product .lapergola-extras__item input:checked + label {
	border-color: var(--lp-brand, #d93025);
	box-shadow: inset 0 0 0 1px var(--lp-brand, #d93025);
}

body.single-product .lapergola-extras__item input { accent-color: var(--lp-brand, #d93025); }

body.single-product .lapergola-extras__price { font-weight: 700; color: var(--lp-ink, #1c1513); }

/* Abholpreis-Hinweis */
body.single-product .lapergola-pickup {
	margin: 12px 0 16px;
	border: 1px dashed var(--lp-line, #e8e0dc);
	border-radius: 14px;
	background: var(--lp-soft, #f7f2ef);
	font-weight: 700;
}

/* Tabs */
body.single-product .woocommerce-tabs { margin-top: 34px; }

body.single-product .woocommerce-tabs ul.tabs {
	margin: 0;
	padding: 0;
	border: 0;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

body.single-product .woocommerce-tabs ul.tabs::before { display: none; }

body.single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--lp-soft, #f7f2ef);
}

body.single-product .woocommerce-tabs ul.tabs li a {
	padding: 11px 20px;
	font-size: 14px;
	font-weight: 700;
	color: var(--lp-muted, #6f6661);
}

body.single-product .woocommerce-tabs ul.tabs li.active { background: var(--lp-brand, #d93025); }
body.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff; }

body.single-product .woocommerce-tabs .panel {
	margin-top: 16px;
	padding: 18px 20px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: #fff;
}

/* Produkt-Meta (SKU, Kategorien) */
body.single-product .product_meta {
	margin-top: 18px;
	font-size: 13px;
	color: var(--lp-muted, #6f6661);
}

body.single-product .product_meta a { color: var(--lp-muted, #6f6661); }

/* ==========================================================================
   NACHFOLGEND: Regeln, die frueher im Customizer standen.
   Sie gehoeren ab jetzt zum Theme und bleiben beim Theme-Wechsel erhalten.
   ========================================================================== */

/* --- 1. Warenkorb als Karten statt als Tabelle ------------------------- */
/* ============================================================
   LA PERGOLA — Warenkorb als Karten statt als Tabelle
   In den Customizer einfügen: Design ▸ Anpassen ▸ Zusätzliches CSS
   ============================================================ */

.lp-page .woocommerce table.shop_table.cart,
.lp-page .woocommerce table.shop_table.cart tbody,
.lp-page .woocommerce table.shop_table.cart tr,
.lp-page .woocommerce table.shop_table.cart td {
	display: block;
	width: 100%;
}

/* Spaltenüberschriften ausblenden (Produkt / Preis / Anzahl / Zwischensumme) */
.lp-page .woocommerce table.shop_table.cart thead {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* kleine Etiketten von WooCommerce auf Mobilgeräten ausblenden */
.lp-page .woocommerce table.shop_table.cart td::before {
	display: none !important;
}

/* Jede Position wird eine Zeile / Karte */
.lp-page .woocommerce table.shop_table.cart tr.cart_item {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	grid-template-areas:
		"thumb name    remove"
		"thumb menge   summe";
	align-items: center;
	gap: 4px 14px;
	padding: 16px 4px;
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
}

.lp-page .woocommerce table.shop_table.cart tr.cart_item:last-child {
	border-bottom: 0;
}

.lp-page .woocommerce table.shop_table.cart td {
	padding: 0;
	border: 0;
}

.lp-page .woocommerce table.shop_table.cart td.product-thumbnail {
	grid-area: thumb;
	width: auto;
}

.lp-page .woocommerce table.shop_table.cart td.product-thumbnail img {
	width: 72px;
	height: 72px;
	border-radius: 18px;
}

.lp-page .woocommerce table.shop_table.cart td.product-name {
	grid-area: name;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.lp-page .woocommerce table.shop_table.cart td.product-price { display: none; }

.lp-page .woocommerce table.shop_table.cart td.product-quantity { grid-area: menge; }

.lp-page .woocommerce table.shop_table.cart td.product-subtotal {
	grid-area: summe;
	text-align: right;
	font-size: 17px;
	font-weight: 800;
	white-space: nowrap;
}

.lp-page .woocommerce table.shop_table.cart td.product-remove {
	grid-area: remove;
	width: auto;
	text-align: right;
}

/* Mengenfeld als Pille, ohne die hässlichen Drehpfeile */
.lp-page .woocommerce .quantity { display: inline-flex; }

.lp-page .woocommerce .quantity .qty {
	width: 74px;
	padding: 8px 6px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: var(--lp-soft, #f7f2ef);
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}

.lp-page .woocommerce .quantity .qty::-webkit-outer-spin-button,
.lp-page .woocommerce .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Gutschein + „Warenkorb aktualisieren“ als aufgeräumte Leiste */
.lp-page .woocommerce table.shop_table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 16px;
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon {
	flex: 1 1 260px;
	display: flex;
	gap: 8px;
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon input.input-text {
	flex: 1 1 auto;
	min-width: 130px;
	padding: 11px 16px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: #fff;
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon .button,
.lp-page .woocommerce table.shop_table.cart td.actions > .button {
	float: none;
	padding: 11px 20px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: #fff;
	color: var(--lp-ink, #1c1513) !important;
	font-size: 14px;
	font-weight: 600;
}

.lp-page .woocommerce table.shop_table.cart td.actions .coupon .button:hover,
.lp-page .woocommerce table.shop_table.cart td.actions > .button:hover {
	border-color: var(--lp-brand, #d93025);
	color: var(--lp-brand, #d93025) !important;
}

/* Summen-Block: bleibt eine Karte, etwas luftiger */
.lp-page .woocommerce .cart-collaterals .cart_totals {
	margin-top: 22px;
}

/* Breitere Bildschirme: alles in einer Zeile */
@media (min-width: 700px) {
	.lp-page .woocommerce table.shop_table.cart tr.cart_item {
		grid-template-columns: 78px minmax(0, 1fr) 92px 130px 120px 40px;
		grid-template-areas: "thumb name preis menge summe remove";
		gap: 16px;
		padding: 14px 4px;
	}

	.lp-page .woocommerce table.shop_table.cart td.product-thumbnail img {
		width: 78px;
		height: 78px;
	}

	.lp-page .woocommerce table.shop_table.cart td.product-price {
		display: block;
		grid-area: preis;
		text-align: right;
		font-size: 14px;
		font-weight: 600;
		color: var(--lp-muted, #6f6661);
	}

	.lp-page .woocommerce table.shop_table.cart td.product-quantity { text-align: center; }
}

/* --- 2. Woo-Versandzeile an der Kasse ausblenden ---------------------- */
.lp-page .woocommerce-checkout tr.woocommerce-shipping-totals {
	display: none !important;
}

/* --- 3. Extras als kompakter, scrollbarer Kasten ---------------------- */
/* ============================================================
   LA PERGOLA — Extras als kompakter, scrollbarer Kasten
   Einfügen unter: Design ▸ Anpassen ▸ Zusätzliches CSS
   ============================================================ */

body.single-product .lapergola-extras {
	position: relative;
	counter-reset: lpauswahl;
	margin: 18px 0;
	padding: 13px 15px 15px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-soft, #f7f2ef);
}

/* Überschrift mit Zähler der ausgewählten Extras */
body.single-product .lapergola-extras__title {
	display: block;
	margin-bottom: 10px;
	padding-bottom: 9px;
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lp-muted, #6f6661);
}

body.single-product .lapergola-extras__item input:checked {
	counter-increment: lpauswahl;
}

/* Zaehler MUSS nach der Liste stehen (CSS-Counter laufen in Dokumentreihenfolge),
   deshalb als absolut positioniertes ::after des gesamten Kastens. */
body.single-product .lapergola-extras::after {
	content: counter(lpauswahl) " ausgewählt";
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--lp-brand, #d93025);
}

/* Die eigentliche Liste: scrollbarer Bereich */
body.single-product .lapergola-extras__list {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
	gap: 8px;
	max-height: 292px;
	overflow-y: auto;
	padding: 3px 8px 3px 3px;
	scrollbar-width: thin;
	scrollbar-color: var(--lp-brand, #d93025) transparent;
}

body.single-product .lapergola-extras__list::-webkit-scrollbar {
	width: 8px;
}

body.single-product .lapergola-extras__list::-webkit-scrollbar-track {
	background: transparent;
}

body.single-product .lapergola-extras__list::-webkit-scrollbar-thumb {
	background: var(--lp-brand, #d93025);
	border-radius: 999px;
}

/* Einzelne Extra-Kacheln */
body.single-product .lapergola-extras__item {
	margin: 0;
}

body.single-product .lapergola-extras__item label {
	gap: 8px;
	padding: 10px 13px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 14px;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

body.single-product .lapergola-extras__item label:hover {
	border-color: var(--lp-brand, #d93025);
}

body.single-product .lapergola-extras__item input:checked + label {
	border-color: var(--lp-brand, #d93025);
	box-shadow: inset 0 0 0 1px var(--lp-brand, #d93025);
	background: #fff;
}

body.single-product .lapergola-extras__name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.single-product .lapergola-extras__price {
	font-weight: 800;
	color: var(--lp-brand, #d93025);
	white-space: nowrap;
}

/* Auf dem Handy ein Extra pro Zeile – Name und Preis bleiben auf einer Linie */
@media (max-width: 600px) {
	body.single-product .lapergola-extras__list {
		grid-template-columns: 1fr;
		max-height: 340px;
	}

	body.single-product .lapergola-extras__item label {
		padding: 11px 14px;
		font-size: 14.5px;
	}

	body.single-product .lapergola-extras__name {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.single-product .lapergola-extras__price {
		margin-left: auto;
		white-space: nowrap;
	}
}

/* ==========================================================================
   Steuer-Berechnungen fuer den Gast ausblenden
   (Bruttopreise bleiben sichtbar, nur die Zerlegung verschwindet)
   ========================================================================== */

.lp-page .woocommerce .includes_tax,
.lp-page .woocommerce small.includes_tax,
.lp-page .woocommerce tr.tax-rate,
.lp-page .woocommerce tr.tax-total,
.lp-page .woocommerce .woocommerce-Price-taxLabel,
.lp-page .woocommerce .tax_label {
	display: none !important;
}

body.single-product .includes_tax,
body.single-product small.includes_tax {
	display: none !important;
}

/* Live-Summe der Extras */
.lp-extras-summe {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 10px 0 0;
	padding: 11px 16px;
	border-radius: 14px;
	background: var(--lp-brand, #d93025);
	color: #fff;
	font-family: var(--lp-font, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	font-size: 15px;
	font-weight: 800;
	box-shadow: 0 6px 18px rgba(217, 48, 37, .22);
}

.lp-extras-summe .lp-aufpreis { opacity: .95; font-weight: 700; }
.lp-extras-summe .lp-gesamt { font-size: 16.5px; }

/* ==========================================================================
   Shop-Uebersicht (Produktliste) im La-Pergola-Stil
   Das Theme setzt den Rahmen (.wrap.lp-page > .lp-page__content > .woocommerce)
   auf Shop-, Kategorie- und Schlagwortseiten selbst — siehe functions.php.
   ========================================================================== */

/* Kategorien als Pille-Leiste (nur Desktop; Handy kommt aus dem Plugin-CSS) */
@media (min-width: 861px) {

	/* Das Plugin legt die Leiste zur Laufzeit in eine eigene Spalte links.
	   Darum gilt diese Regel OHNE „>“ — sie greift in beiden Faellen. */

	.lp-page .woocommerce .lapergola-shop {
		display: flex;
		align-items: flex-start;
		gap: 26px;
	}

	.lp-page .woocommerce .lapergola-cats {
		position: sticky;
		top: 96px;
		flex: 0 0 212px;
		width: 212px;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 7px;
		margin: 0;
		padding: 13px;
		border: 1px solid var(--lp-line, #e8e0dc);
		border-radius: 18px;
		background: #fffdf8;
		box-shadow: 0 8px 22px rgba(33, 28, 21, .06);
	}

	.lp-page .woocommerce .lapergola-cats .lapergola-cats__title { display: none; }

	/* Ein Punkt pro Zeile — keine zufaelligen Umbrueche mehr. */
	.lp-page .woocommerce .lapergola-cats a.lapergola-cats__link {
		display: flex;
		width: 100%;
		min-height: 42px;
		align-items: center;
		justify-content: flex-start;
		margin: 0;
		padding: 11px 15px;
		border: 1px solid var(--lp-line, #e8e0dc);
		border-radius: 12px;
		background: #fff;
		color: var(--lp-ink, #1c1513);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.25;
		white-space: normal;
		text-align: left;
		box-shadow: none;
	}

	.lp-page .woocommerce .lapergola-cats a.lapergola-cats__link:hover {
		border-color: rgba(179, 48, 31, .45);
		background: #fdf3f0;
		color: var(--accent, #b3301f);
		transform: none;
		box-shadow: none;
	}

	.lp-page .woocommerce .lapergola-cats a.lapergola-cats__link.is-active {
		border-color: var(--accent, #b3301f);
		background: linear-gradient(180deg, #c33a26 0%, #a32a1a 100%);
		color: #fff;
		box-shadow: 0 8px 18px rgba(179, 48, 31, .22);
	}

	/* Die schmale Linie bleibt als Grafik, bei langen Namen eingerueckt. */
	.lp-page .woocommerce .lapergola-cats a.lapergola-cats__link::after {
		left: 15px;
		right: 15px;
		bottom: 7px;
	}
}

/* Ergebniszeile und Sortierung */
.lp-page .woocommerce .woocommerce-result-count,
.lp-page .woocommerce .woocommerce-ordering {
	margin: 0 0 14px;
	font-size: 13.5px;
	color: var(--lp-muted, #6f6661);
}

.lp-page .woocommerce .woocommerce-ordering select.orderby {
	min-width: 210px;
	padding: 9px 12px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 12px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	color: var(--lp-ink, #1c1513);
}

/* Die Liste selbst */
.lp-page .woocommerce ul.products {
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

/* Rueckfall, falls die Klasse „lapergola-list“ einmal fehlt */
.lp-page .woocommerce ul.products:not(.lapergola-list) { display: block; }

.lp-page .woocommerce ul.products:not(.lapergola-list) li.product {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	float: none;
	clear: both;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 0;
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
	list-style: none;
}

.lp-page .woocommerce ul.products:not(.lapergola-list) li.product > a.woocommerce-loop-product__link { display: contents; }

.lp-page .woocommerce ul.products:not(.lapergola-list) li.product img {
	display: block;
	width: 64px;
	height: 64px;
	margin: 0;
	border-radius: 14px;
	object-fit: cover;
}

.lp-page .woocommerce ul.products:not(.lapergola-list) li.product .woocommerce-loop-product__title {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce ul.products:not(.lapergola-list) li.product .price {
	display: block;
	margin: 2px 0 0;
	font-size: 14px;
	font-weight: 800;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce ul.products:not(.lapergola-list) li.product .button {
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	background: var(--lp-brand, #d93025);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 40px;
	text-align: center;
	white-space: nowrap;
}

/* Blaettern */
.lp-page .woocommerce nav.woocommerce-pagination { margin: 0 0 30px; }

.lp-page .woocommerce nav.woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.lp-page .woocommerce nav.woocommerce-pagination ul li { border: 0; }

.lp-page .woocommerce nav.woocommerce-pagination ul li a,
.lp-page .woocommerce nav.woocommerce-pagination ul li span {
	display: inline-block;
	min-width: 38px;
	padding: 9px 12px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 12px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--lp-brand, #d93025);
	background: var(--lp-brand, #d93025);
	color: #fff;
}

/* ==========================================================================
   Steuerzeilen nirgends anzeigen (Warenkorb, Kasse, Danke-Seite, Konto)
   ========================================================================== */

small.includes_tax,
.woocommerce .includes_tax,
.woocommerce table.shop_table tr.tax-rate,
.woocommerce table.shop_table tr.tax-total,
.woocommerce table.order_details tr.tax-rate,
.woocommerce table.order_details tr.tax-total,
.woocommerce ul.order_details li.tax-rate,
.woocommerce .woocommerce-Price-taxLabel,
.woocommerce .woocommerce-checkout-review-order-table tr.tax-rate,
.woocommerce .woocommerce-checkout-review-order-table tr.tax-total {
	display: none !important;
}

/* ==========================================================================
   Gruppen-Ueberschriften auf Kategorieseiten (z. B. Vegan)
   ========================================================================== */

.lp-page .woocommerce .lp-loop-gruppe {
	clear: both;
	margin: 24px 0 4px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce ul.products + .lp-loop-gruppe { margin-top: 28px; }

/* Hinweis unter den Summen */
.lp-page .woocommerce tr.lp-mwst-hinweis th,
.lp-page .woocommerce tr.lp-mwst-hinweis td {
	border-top: 0;
	padding-top: 6px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--lp-muted, #6f6661);
}

p.lp-mwst-hinweis {
	margin: 10px 0 0;
	font-size: 12.5px;
	color: var(--lp-muted, #6f6661);
}

/* ==========================================================================
   Hinweis „Versandoptionen werden während des Bezahlvorgangs aktualisiert.“
   ========================================================================== */

.woocommerce-shipping-destination,
p.woocommerce-shipping-destination,
.woocommerce-shipping-contents {
	display: none !important;
}

/* ==========================================================================
   Buttons in der Produktliste: passen sich dem Text an
   („Auswahl“ / „Bestellen“ statt Text ausserhalb der Pille)
   ========================================================================== */

body.lapergola-ui ul.products.lapergola-list li.product a.button,
body.lapergola-ui .lapergola-shop ul.products li.product a.button,
.lp-page .woocommerce ul.products li.product a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 72px;
	width: auto;
	height: auto;
	min-height: 40px;
	padding: 9px 18px;
	line-height: 1.15;
	white-space: nowrap;
	font-size: 13px;
}

@media (max-width: 760px) {
	body.lapergola-ui ul.products.lapergola-list li.product a.button,
	body.lapergola-ui .lapergola-shop ul.products li.product a.button {
		min-width: 64px;
		padding: 8px 13px;
		font-size: 12.5px;
	}
}

/* ==========================================================================
   Produktseite: eigene Info-Bausteine statt WooCommerce-Reiter
   (eigene Templates in woocommerce/single-product/tabs/)
   ========================================================================== */

/* Artikelnummer / Kategorie: gehoert nicht ins Schaufenster fuer Gaeste. */
body.single-product div.product .product_meta { display: none !important; }

body.single-product div.product .lp-info {
	margin: 26px 0 0;
	display: grid;
	gap: 14px;
}

body.single-product div.product .lp-info__block {
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	background: var(--lp-surface, #fff);
	box-shadow: 0 8px 26px rgba(28, 21, 19, .05);
	overflow: hidden;
}

body.single-product div.product .lp-info__titel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	padding: 13px 18px;
	background: var(--lp-soft, #f7f2ef);
	list-style: none;
	cursor: pointer;
	font-family: var(--lp-font, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--lp-ink, #1c1513);
}

body.single-product div.product .lp-info__titel::-webkit-details-marker { display: none; }
body.single-product div.product .lp-info__titel::marker { content: ""; }

body.single-product div.product .lp-info__block:not([open]) .lp-info__titel { border-bottom: 0; }
body.single-product div.product .lp-info__block[open] .lp-info__titel {
	border-bottom: 1px solid var(--lp-line, #e8e0dc);
}

body.single-product div.product .lp-info__pfeil {
	flex: none;
	width: 9px;
	height: 9px;
	border-right: 2px solid var(--lp-brand, #d93025);
	border-bottom: 2px solid var(--lp-brand, #d93025);
	transform: rotate(-135deg);
	transition: transform .18s ease;
}

body.single-product div.product .lp-info__block:not([open]) .lp-info__pfeil { transform: rotate(45deg); }

body.single-product div.product .lp-info__inhalt {
	padding: 15px 18px 17px;
	font-family: var(--lp-font, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
	font-size: 15px;
	line-height: 1.65;
	color: var(--lp-ink, #1c1513);
}

body.single-product div.product .lp-info__inhalt p { margin: 0 0 9px; }
body.single-product div.product .lp-info__inhalt p:last-child { margin-bottom: 0; }
body.single-product div.product .lp-info__inhalt h2 { display: none; }
body.single-product div.product .lp-info__inhalt h3 {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 800;
}

/* Produktdetails (Groesse, Allergene …) als ruhige Tabelle */
body.single-product div.product .lp-info table.woocommerce-product-attributes {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

body.single-product div.product .lp-info table.woocommerce-product-attributes th,
body.single-product div.product .lp-info table.woocommerce-product-attributes td {
	padding: 9px 0;
	border: 0;
	border-bottom: 1px dashed var(--lp-line, #e8e0dc);
	font-size: 14.5px;
	line-height: 1.5;
	text-align: left;
	vertical-align: top;
	font-style: normal;
}

body.single-product div.product .lp-info table.woocommerce-product-attributes tr:last-child th,
body.single-product div.product .lp-info table.woocommerce-product-attributes tr:last-child td { border-bottom: 0; }

body.single-product div.product .lp-info table.woocommerce-product-attributes th {
	width: 38%;
	font-weight: 800;
	color: var(--lp-muted, #6f6661);
}

body.single-product div.product .lp-info table.woocommerce-product-attributes td p { margin: 0; }

/* „Ähnliche Produkte“ im La-Pergola-Stil */
body.single-product section.related.products > h2,
body.single-product section.up-sells.products > h2 {
	clear: both;
	margin: 30px 0 12px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--lp-ink, #1c1513);
}

/* Alte WooCommerce-Reiter: falls ein Rest uebrig bleibt, optisch neutral. */
body.single-product div.product .woocommerce-tabs.wc-tabs-wrapper {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

/* ==========================================================================
   Lieferung / Abholung: nur noch EINE Auswahl fuer den Gast
   ========================================================================== */

/* Die Versandarten von WooCommerce heissen genauso wie der Schalter
   „Lieferung / Abholung“ und verwirren die Gaeste. Der Schalter stellt
   die Versandart jetzt automatisch um — die zweite Auswahl faellt weg. */
body.woocommerce-checkout tr.woocommerce-shipping-totals { display: none; }

/* Schalter im Warenkorb (das Plugin zeigt ihn nur an der Kasse). */
.lp-page .woocommerce .lapergola-switch--cart { margin-bottom: 18px; }

/* ==========================================================================
   Warenkorb: Wege zurueck zum Shop und weniger WooCommerce-Optik
   ========================================================================== */

/* „← Weiter einkaufen“ */
.lp-page .woocommerce .lp-zurueck { margin: 0 0 14px; }

.lp-page .woocommerce .lp-zurueck__link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 16px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: var(--lp-surface, #fff);
	color: var(--lp-ink, #1c1513);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
	transition: border-color .15s ease, color .15s ease;
}

.lp-page .woocommerce .lp-zurueck__link:hover {
	border-color: var(--lp-brand, #d93025);
	color: var(--lp-brand, #d93025);
}

/* Der Knopf in den Meldungen („Warenkorb anzeigen“) im Hausstil. */
.lp-page .woocommerce-message a.button,
.lp-page .woocommerce-info a.button,
.lp-page .woocommerce-error a.button,
.lp-page .woocommerce-notices-wrapper a.button {
	display: inline-block;
	margin-left: auto;
	padding: 9px 18px;
	border: 0;
	border-radius: 999px;
	background: var(--lp-brand, #d93025);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(217, 48, 37, .22);
}

.lp-page .woocommerce-message a.button:hover,
.lp-page .woocommerce-info a.button:hover,
.lp-page .woocommerce-error a.button:hover,
.lp-page .woocommerce-notices-wrapper a.button:hover {
	background: #b92419;
	color: #fff;
}

/* „Warenkorb aktualisieren“: ruhiger Zweit-Knopf. */
.lp-page .woocommerce table.shop_table.cart td.actions > button.button,
.lp-page .woocommerce table.shop_table.cart td.actions > .button {
	padding: 11px 22px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: var(--lp-surface, #fff);
	color: var(--lp-ink, #1c1513);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.15;
	box-shadow: none;
}

.lp-page .woocommerce table.shop_table.cart td.actions > button.button:hover,
.lp-page .woocommerce table.shop_table.cart td.actions > .button:hover {
	border-color: var(--lp-brand, #d93025);
	background: var(--lp-surface, #fff);
	color: var(--lp-brand, #d93025);
}

/* „Warenkorb-Summe“ wie eine Ueberschrift des Hauses. */
.lp-page .woocommerce .cart_totals > h2,
.lp-page .woocommerce .cart-collaterals h2 {
	margin: 0 0 12px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--lp-ink, #1c1513);
}

/* Die zweite Auswahl „Lieferung / Abholung“ (Versandarten) auch im
   Warenkorb ausblenden — der Schalter oben regelt beides. */
body.woocommerce-cart tr.woocommerce-shipping-totals { display: none; }

/* Gutschein-Feld: das Haus arbeitet nicht mit Gutscheinen.
   Zum Wiedereinschalten diese Regel einfach löschen. */
.lp-page .woocommerce table.shop_table.cart td.actions .coupon { display: none; }

/* ==========================================================================
   Kategorie-Leiste im Shop: ansehnliche Punkte mit Bildmotiv
   ========================================================================== */

/* Reihenfolge wie auf der Karte des Hauses (Alle zuerst). */
body.lapergola-ui .lapergola-cats { gap: 6px; }

body.lapergola-ui .lapergola-cats .lapergola-cats__title { order: 0; }

body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href$="/shop/"]        { order: 1; }
body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href*="salate"]        { order: 2; }
body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href*="pasta"]         { order: 3; }
body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href*="pizza"]         { order: 4; }
body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href*="vegan"]         { order: 5; }
body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href*="getraenke"]     { order: 6; }
body.lapergola-ui .lapergola-cats a.lapergola-cats__link[href*="dessert"]       { order: 7; }

/* Ruhige Buttons mit Rahmen und Glanz, der aktive Punkt in der Hausfarbe. */
body.lapergola-ui .lapergola-cats a.lapergola-cats__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 10px 18px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 999px;
	background: linear-gradient(180deg, #fffdf8 0%, #f4efe4 100%);
	color: var(--lp-ink, #1c1513);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(33, 28, 21, .07), inset 0 1px 0 rgba(255, 255, 255, .95);
	transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}

body.lapergola-ui .lapergola-cats a.lapergola-cats__link:hover {
	border-color: rgba(179, 48, 31, .45);
	background: linear-gradient(180deg, #fffefb 0%, #fbeae6 100%);
	color: var(--lp-brand, #d93025);
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(179, 48, 31, .16), inset 0 1px 0 rgba(255, 255, 255, .95);
}

body.lapergola-ui .lapergola-cats a.lapergola-cats__link.is-active {
	border-color: var(--lp-brand, #d93025);
	background: linear-gradient(180deg, #d94a34 0%, #b3301f 100%);
	color: #fff;
	box-shadow: 0 10px 22px rgba(179, 48, 31, .30), inset 0 1px 0 rgba(255, 255, 255, .28);
}

/* schmale Linie als Grafik unter dem Punkt — bewusst kein Symbol */
body.lapergola-ui .lapergola-cats a.lapergola-cats__link::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 7px;
	height: 2px;
	border-radius: 2px;
	background: var(--lp-brand, #d93025);
	opacity: 0;
	transform: scaleX(.4);
	transform-origin: center;
	transition: opacity .18s ease, transform .18s ease;
}

body.lapergola-ui .lapergola-cats a.lapergola-cats__link:hover::after {
	opacity: .55;
	transform: scaleX(1);
}

body.lapergola-ui .lapergola-cats a.lapergola-cats__link.is-active::after {
	background: rgba(255, 255, 255, .9);
	opacity: .9;
	transform: scaleX(1);
}

@media (max-width: 600px) {
	body.lapergola-ui .lapergola-cats a.lapergola-cats__link {
		padding: 9px 14px;
		font-size: 13px;
	}
}

/* ==========================================================================
   Sicherheitsnetz: falls doch ein WooCommerce-Rest durchkommt
   ========================================================================== */

.lp-page .woocommerce .woocommerce-breadcrumb,
.lp-page .woocommerce nav.woocommerce-breadcrumb,
body.woocommerce .woocommerce-breadcrumb,
.lp-page .woocommerce .woocommerce-result-count,
.lp-page .woocommerce form.woocommerce-ordering,
.lp-page .woocommerce .checkout_coupon,
.lp-page .woocommerce .woocommerce-form-coupon { display: none; }

/* ==========================================================================
   Kasse und Warenkorb: aufgeraeumt
   --------------------------------------------------------------------------
   1) Der Newsletter-Haken von MailPoet verschwindet.
   2) „Differenz zahlen & bestellen“ sieht aus wie „+ Mehr hinzufügen“:
      rote Schrift auf weissem Grund, kein roter Block, immer gut lesbar.
   3) Auf dem Desktop zwei Spalten: links die Daten, rechts die Bestellung.
   ========================================================================== */

/* 1) Newsletter-Haken (MailPoet) — braucht kein Mensch an der Kasse. */
label[data-automation-id="woo-commerce-subscription-opt-in"],
#customer_details label:has(> input#mailpoet_woocommerce_checkout_optin),
p#mailpoet_woocommerce_checkout_optin_present_field {
	display: none !important;
}

/* 2) Der Hinweis zum Mindestbestellwert: nie angeschnitten, immer sichtbar. */
.lapergola-box[data-lapergola-min-order] {
	scroll-margin-top: 120px;
}

.lapergola-box__actions .lapergola-btn {
	min-height: 46px;
	padding: 12px 20px;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	text-align: center;
	line-height: 1.3;
	border-radius: 999px;
	font-weight: 700;
}

/* Roter Block wird zum ruhigen Button wie „+ Mehr hinzufügen“. */
.lapergola-box__actions .lapergola-btn--primary,
.lapergola-box__actions .lapergola-btn--ghost {
	background: #fff;
	color: var(--accent, #b3301f);
	border: 1px solid var(--accent, #b3301f);
	box-shadow: none;
}

.lapergola-box__actions .lapergola-btn--primary:hover,
.lapergola-box__actions .lapergola-btn--primary:focus,
.lapergola-box__actions .lapergola-btn--ghost:hover,
.lapergola-box__actions .lapergola-btn--ghost:focus {
	background: rgba(179, 48, 31, .08);
	color: var(--accent, #b3301f);
	border-color: var(--accent, #b3301f);
	transform: none;
	box-shadow: none;
}

@media (max-width: 600px) {
	.lapergola-box__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.lapergola-box__actions .lapergola-btn {
		width: 100%;
	}
}

/* 3) Auf dem Desktop: links die Angaben, rechts die Bestellung. */
@media (min-width: 901px) {

	body.woocommerce-checkout .lp-page {
		max-width: 1160px;
	}

	.lp-page .woocommerce form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
		column-gap: 34px;
		align-items: start;
	}

	.lp-page .woocommerce form.checkout.woocommerce-checkout > #customer_details {
		grid-column: 1;
		grid-row: 1 / span 60;
	}

	.lp-page .woocommerce form.checkout.woocommerce-checkout > *:not(#customer_details) {
		grid-column: 2;
		margin-top: 0;
		margin-bottom: 18px;
	}

	.lp-page .woocommerce form.checkout.woocommerce-checkout > *:not(#customer_details):last-child {
		margin-bottom: 0;
	}

	/* Die beiden Spalten von WooCommerce im Formular untereinander. */
	.lp-page .woocommerce form.checkout #customer_details .col-1,
	.lp-page .woocommerce form.checkout #customer_details .col-2 {
		float: none;
		width: 100%;
		margin: 0;
	}
}

/* Ruhige Karten statt vieler Einzelkaesten. */
.lp-page .woocommerce form.checkout #customer_details,
.lp-page .woocommerce form.checkout #order_review,
.lp-page .woocommerce form.checkout .lapergola-box {
	background: var(--lp-surface, #fffdf8);
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 18px;
	padding: 20px 22px;
}

.lp-page .woocommerce form.checkout #customer_details {
	margin-bottom: 18px;
}

.lp-page .woocommerce #order_review_heading {
	margin: 0 0 12px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: 20px;
	line-height: 1.2;
}

.lp-page .woocommerce form.checkout #order_comments_field label {
	font-weight: 700;
}

.lp-page .woocommerce form.checkout textarea#order_comments {
	min-height: 92px;
	padding: 12px 14px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 12px;
	background: #fff;
}

/* Sicherheitsnetz: auch im Warenkorb und an der Kasse keine Steuerzeile,
   kein „(inkl. … MwSt … %)“ — der Gast sieht nur den Bruttobetrag. */
.lp-page .woocommerce table.shop_table tr.tax-rate,
.lp-page .woocommerce table.shop_table tr.tax-total,
.lp-page .woocommerce .includes_tax {
	display: none !important;
}

/* ==========================================================================
   Kasse: letzte Reste von WooCommerce
   ========================================================================== */

/* 1) „Zusätzliche Informationen“ über dem Feld „Anmerkungen“ entfaellt. */
.lp-page .woocommerce form.checkout .woocommerce-additional-fields > h3 {
	display: none;
}

/* 2) Die zweite Auswahl „Lieferung / Abholung“ (Versandarten) ist der
      Schalter oben — darum auch an der Kasse weg. */
.lp-page .woocommerce tr.woocommerce-shipping-totals {
	display: none;
}

/* 3) Überschriften und Karten einheitlich. */
.lp-page .woocommerce form.checkout h3 {
	margin: 0 0 14px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce form.checkout #order_review_heading {
	margin: 0 0 12px;
	font-size: 20px;
}

.lp-page .woocommerce form.checkout .woocommerce-checkout-payment {
	margin: 16px 0 0;
	padding: 18px 20px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-radius: 16px;
	background: var(--lp-surface, #fffdf8);
}

.lp-page .woocommerce form.checkout .woocommerce-privacy-policy-text {
	margin: 14px 0 0;
	font-size: 12.5px;
	line-height: 1.55;
	color: var(--lp-muted, #6f6661);
}

.lp-page .woocommerce form.checkout .woocommerce-privacy-policy-text p {
	margin: 0;
}

/* 4) Der Knopf zum Bestellen: gross und deutlich. */
.lp-page .woocommerce form.checkout #place_order {
	width: 100%;
	padding: 17px 26px;
	font-size: 16.5px;
	letter-spacing: .01em;
}

/* ==========================================================================
   Passt sich jedem Bildschirm an — vom Telefon bis zum grossen Monitor
   ========================================================================== */

/* Bis 900 px (Telefon, Tablet hochkant): alles schoen untereinander. */
@media (max-width: 900px) {

	.lp-page .woocommerce form.checkout.woocommerce-checkout {
		display: block;
	}

	.lp-page .woocommerce form.checkout.woocommerce-checkout > * {
		margin: 0 0 18px;
	}

	.lp-page .woocommerce form.checkout.woocommerce-checkout > *:last-child {
		margin-bottom: 0;
	}
}

/* Telefon: grosse Felder und Knöpfe, gut mit dem Daumen zu treffen. */
@media (max-width: 600px) {

	.lp-page .woocommerce form.checkout .input-text,
	.lp-page .woocommerce form.checkout textarea {
		min-height: 48px;
		font-size: 16px; /* sonst zoomt das iPhone beim Tippen hinein */
		padding: 12px 14px;
	}

	.lp-page .woocommerce form.checkout .form-row {
		margin-bottom: 12px;
	}

	.lp-page .woocommerce form.checkout #place_order {
		padding: 18px 22px;
		font-size: 17px;
	}

	.lp-page .woocommerce form.checkout #customer_details,
	.lp-page .woocommerce form.checkout #order_review,
	.lp-page .woocommerce form.checkout .lapergola-box,
	.lp-page .woocommerce form.checkout .woocommerce-checkout-payment {
		padding: 16px 15px;
	}

	.lp-page .woocommerce table.woocommerce-checkout-review-order-table th,
	.lp-page .woocommerce table.woocommerce-checkout-review-order-table td {
		padding: 11px 13px;
		font-size: 14px;
	}
}

/* Ganz schmale Telefone. */
@media (max-width: 380px) {

	.lp-page .woocommerce form.checkout #customer_details,
	.lp-page .woocommerce form.checkout #order_review {
		padding: 14px 12px;
	}

	.lapergola-box__actions .lapergola-btn {
		padding: 12px 14px;
		font-size: 13.5px;
	}
}

/* Schmalere Fenster: die Leiste liegt als ruhige Reihe ueber den Gerichten,
   damit die Gerichte die volle Breite haben. */
@media (max-width: 860px) {

	.lp-page .woocommerce .lapergola-shop {
		display: block;
	}

	.lp-page .woocommerce .lapergola-cats {
		position: static;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		width: auto;
		margin: 0 0 16px;
		padding: 12px;
		border: 1px solid var(--lp-line, #e8e0dc);
		border-radius: 18px;
		background: #fffdf8;
		overflow: visible;
	}

	.lp-page .woocommerce .lapergola-cats .lapergola-cats__title { display: none; }

	.lp-page .woocommerce .lapergola-cats a.lapergola-cats__link {
		display: inline-flex;
		width: auto;
		min-height: 40px;
		padding: 9px 15px;
		border-radius: 999px;
		white-space: nowrap;
	}
}

/* ==========================================================================
   Leerer Warenkorb: freundliche Karte statt Standard-WooCommerce
   ========================================================================== */

.lp-page .woocommerce .wc-empty-cart-message {
	margin: 0;
}

.lp-page .woocommerce .cart-empty.woocommerce-info {
	display: block;
	margin: 0 0 18px;
	padding: 44px 26px 38px;
	border: 1px solid #ecdfd3;
	border-left: 1px solid #ecdfd3; /* die dicke Linie der Meldungen faellt weg */
	border-radius: 22px;
	background: linear-gradient(180deg, #fffdf8 0%, #f8f2ea 100%);
	text-align: center;
	color: var(--lp-ink, #1c1513);
	font-size: 16px;
	box-shadow: 0 10px 30px rgba(33, 28, 21, .07);
}

/* Teller als ruhige Grafik — bewusst kein Bildmotiv. */
.lp-page .woocommerce .cart-empty.woocommerce-info::before {
	content: "";
	display: block;
	width: 92px;
	height: 92px;
	margin: 0 auto 20px;
	border: 2px solid #e6d9cc;
	border-radius: 999px;
	background: radial-gradient(circle at 50% 50%, #fff 0 27px, #f1e8dd 27px 31px, #fff 31px 100%);
	box-shadow: inset 0 0 0 9px #fffdf8, 0 8px 18px rgba(33, 28, 21, .07);
}

.lp-page .woocommerce .cart-empty.woocommerce-info .lp-leer-titel {
	display: block;
	margin: 0 0 8px;
	font-family: var(--lp-serif, Georgia, "Times New Roman", serif);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
}

.lp-page .woocommerce .cart-empty.woocommerce-info .lp-leer-hinweis {
	display: block;
	max-width: 44ch;
	margin: 0 auto;
	color: var(--lp-muted, #6f6661);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.6;
}

.lp-page .woocommerce .return-to-shop {
	margin: 0;
	text-align: center;
}

.lp-page .woocommerce .return-to-shop .button {
	display: inline-block;
	padding: 15px 30px;
	border: 0;
	border-radius: 999px;
	background: var(--lp-brand, #d93025);
	color: #fff;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(217, 48, 37, .24);
}

.lp-page .woocommerce .return-to-shop .button:hover {
	filter: brightness(.94);
	color: #fff;
}

/* ==========================================================================
   Produktseite: Knopf und Meldungen im Stil des Hauses
   --------------------------------------------------------------------------
   Die Produktseite hat keinen .lp-page-Rahmen, deshalb galten die Regeln
   von oben dort nicht: der Knopf „In den Warenkorb“ war lila (Vorgabe von
   WooCommerce) und die Meldung „… wurde hinzugefügt“ kam im Standardgrau.
   ========================================================================== */

/* Knopf: auch im Zustand „noch keine Variante gewaehlt“ im Hausrot. */
body.single-product form.cart button.single_add_to_cart_button.button:disabled,
body.single-product form.cart button.single_add_to_cart_button.button.disabled,
body.single-product form.cart button.single_add_to_cart_button.button[disabled] {
	background: var(--lp-brand, #d93025);
	color: #fff;
	opacity: .45;
	box-shadow: none;
	cursor: not-allowed;
}

/* Meldungen („wurde hinzugefuegt“) als ruhige Karte. */
body.single-product .woocommerce-message,
body.single-product .woocommerce-info,
body.single-product .woocommerce-error,
body.single-product .woocommerce-notices-wrapper > div {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 18px;
	padding: 14px 18px;
	border: 1px solid var(--lp-line, #e8e0dc);
	border-left: 4px solid #1f8a4c;
	border-radius: 14px;
	background: #fff;
	color: var(--lp-ink, #1c1513);
	list-style: none;
	box-shadow: 0 6px 18px rgba(28, 21, 19, .05);
}

body.single-product .woocommerce-info,
body.single-product .woocommerce-error {
	border-left-color: var(--lp-brand, #d93025);
}

/* Das Zeichen von WooCommerce davor faellt weg. */
body.single-product .woocommerce-message::before,
body.single-product .woocommerce-info::before,
body.single-product .woocommerce-error::before {
	display: none;
}

body.single-product .woocommerce-message .button,
body.single-product .woocommerce-info .button {
	margin-left: auto;
	padding: 12px 20px;
	border: 0;
	border-radius: 999px;
	background: var(--lp-brand, #d93025);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none;
}

body.single-product .woocommerce-message .button:hover,
body.single-product .woocommerce-info .button:hover {
	filter: brightness(.94);
	color: #fff;
}

/* Sicherheit: die Textfarbe der Meldungen kommt sonst von WooCommerce (#515151).
   Gilt auch auf Seiten ohne .lp-page-Rahmen (Kasse, Mein Konto). */
body .woocommerce-message,
body .woocommerce-info,
body .woocommerce-error {
	color: var(--lp-ink, #1c1513);
}

/* ==========================================================================
   Kein Oliv, kein Gold: Preise, Lagerhinweise, Mindestbestellwert
   --------------------------------------------------------------------------
   WooCommerce 11 faerbt Preise (#958e09), den Lagerhinweis und Rabattzellen
   in einem Olivton; das Plaettchen „Angebot“ traegt die gleiche Farbe.
   Die Regeln hier sind staerker als die von WooCommerce und vom Plugin und
   gelten auf der Produktseite (dort fehlt der Rahmen „.woocommerce“ rund um
   div.product), im Listeneintrag, im Warenkorb und an der Kasse.
   ========================================================================== */

/* Produktseite: um div.product liegt kein .woocommerce, daher eigene Regeln. */
body.single-product div.product p.price,
body.single-product div.product span.price,
body.single-product div.product .woocommerce-variation-price .price,
body.single-product div.product .woocommerce-Price-amount,
body.single-product div.product .stock {
	color: var(--lp-ink, #1c1513);
}

/* Listeneintrag: das Plugin trifft „ul.products.lapergola-list“ sehr genau,
   deshalb ist der Selektor hier ebenso genau formuliert. */
body.lapergola-ui .lapergola-shop ul.products.lapergola-list li.product .price,
body.lapergola-ui ul.products.lapergola-list li.product a span.price,
body.lapergola-ui ul.products.lapergola-list li.product .woocommerce-Price-amount {
	color: var(--lp-ink, #1c1513);
}

/* Warenkorb und Kasse: Betraege und Rabattzellen. */
body .woocommerce .cart-collaterals .discount td,
body .woocommerce table.shop_table .woocommerce-Price-amount,
body .woocommerce .woocommerce-Price-amount {
	color: var(--lp-ink, #1c1513);
}

/* Plaettchen „Angebot“: nicht oliv, sondern im Hausrot. */
body .woocommerce span.onsale {
	background: var(--lp-brand, #d93025);
	color: #fff;
}

/* Hinweis „Mindestbestellwert“: war gelb mit bernsteinfarbenem Rand und
   dunkelgelber Schrift. Jetzt eine ruhige, helle Karte mit rotem Rand. */
body .lapergola-box--warning {
	background: var(--lp-soft, #f6f8f8);
	border-color: var(--lp-line, #e3e9e8);
	border-left: 4px solid var(--lp-brand, #d93025);
	color: var(--lp-ink, #1c1513);
}

body .lapergola-box--warning .lapergola-box__title,
body .lapergola-box--warning p,
body .lapergola-box--warning .woocommerce-Price-amount,
body .lapergola-box--warning strong {
	color: var(--lp-ink, #1c1513);
}

/* An der Kasse liegt der Hinweis im Kartenraster des Hauses: die Grundflaeche
   bleibt, nur Rand und Schrift werden beruhigt. */
.lp-page .woocommerce form.checkout .lapergola-box--warning {
	border-left: 4px solid var(--lp-brand, #d93025);
	color: var(--lp-ink, #1c1513);
}

.lp-page .woocommerce form.checkout .lapergola-box--warning p,
.lp-page .woocommerce form.checkout .lapergola-box--warning .woocommerce-Price-amount,
.lp-page .woocommerce form.checkout .lapergola-box--warning strong,
.lp-page .woocommerce form.checkout .lapergola-box--warning .lapergola-box__title {
	color: var(--lp-ink, #1c1513);
}

/* =====================================================================
   Fussbereich auf der Produktseite: Foto und Text stehen in zwei
   schwebenden Spalten (float). Ohne diese Regel hielt nichts sie auf —
   der dunkle Fussbereich rutschte hinter den Inhalt nach oben und man
   sah die schwarze Flaeche mit Kontakt/Impressum mitten auf der Seite.
   Diese Regel beendet das Schweben, der Fussbereich bleibt unten.
   ===================================================================== */
body.single-product div.product::after {
	content: "";
	display: table;
	clear: both;
}
/* iOS/iPhone — bottoni shop: aspetto nativo disattivato (fix 21/10) */
.lp-page .woocommerce a.button,
.lp-page .woocommerce button,
.lp-page .woocommerce input.button,
.lp-page .woocommerce input[type="submit"],
.lp-page .woocommerce input[type="button"],
.lp-page .woocommerce #respond input#submit,
body.single-product form.cart .single_add_to_cart_button {
	-webkit-appearance: none;
	appearance: none;
	background-image: none;
	background-color: var(--lp-brand, #d93025);
	color: #fff !important;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.12);
}

/* se un bottone e' disattivato: grigio caldo leggibile, non rosso sbiadito */
.lp-page .woocommerce button:disabled,
.lp-page .woocommerce button[disabled],
.lp-page .woocommerce input.button:disabled,
.lp-page .woocommerce input[type="submit"]:disabled {
	background-color: #b7ae9f;
	color: #fff;
	opacity: 1;
}