/* WooCommerce-Elemente an den BlitzLab-Look angleichen.
   Lädt nach style.css, nutzt dessen CSS-Variablen (--blue etc.). */

/* ---------- Produkt-Raster (Shop + Startseiten-Bereich) ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products,
.blitzlab-woo-grid ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
@media (max-width: 1024px) {
	.woocommerce ul.products,
	.blitzlab-woo-grid ul.products { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.woocommerce ul.products,
	.blitzlab-woo-grid ul.products { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

/* ---------- Produkt-Karte ---------- */
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 18px !important;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: transform .2s, border-color .2s;
	text-align: left;
	float: none !important;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); border-color: #b9cdf5; }
.woocommerce ul.products li.product::before,
.woocommerce ul.products li.product::after { display: none !important; }

/* Bild */
.woocommerce ul.products li.product a img {
	margin: 0 0 14px !important;
	border-radius: 0;
	width: 100%;
	aspect-ratio: 1.02;
	object-fit: cover;
	background: linear-gradient(165deg, #eef4ff 0%, #dce8fb 60%, #cfdef7 100%);
}

/* Titel */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 17.5px !important;
	font-weight: 600 !important;
	padding: 0 18px !important;
	margin: 0 0 4px !important;
	color: var(--fg);
}

/* Preis */
.woocommerce ul.products li.product .price {
	color: var(--fg) !important;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
	font-size: 18px;
	padding: 6px 18px 0 !important;
	margin: 0;
}
.woocommerce ul.products li.product .price del { color: var(--muted); font-weight: 500; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* ---------- Buttons (überall blau) ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce input.button.alt,
.woocommerce ul.products li.product a.button,
.woocommerce a.button.add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce .widget_shopping_cart a.button,
.wc-block-components-button {
	background: var(--blue) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 12px 22px !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	box-shadow: 0 6px 18px rgba(29, 78, 216, .30);
	transition: background .15s;
	text-transform: none;
	line-height: 1.2;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover { background: var(--blue-hover) !important; }

/* Button in der Loop-Karte mit Innenabstand */
.woocommerce ul.products li.product .button { margin: 12px 18px 0 !important; align-self: flex-start; }

/* Sale-Badge */
.woocommerce span.onsale {
	background: var(--blue);
	border-radius: 999px;
	min-height: auto;
	min-width: auto;
	line-height: 1;
	padding: 6px 12px;
	font-weight: 600;
	top: 12px;
	left: 12px;
	right: auto;
	margin: 0;
}

/* ---------- Einzel-Produktseite ---------- */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--blue) !important;
	font-family: 'Space Grotesk', sans-serif;
	font-weight: 700;
}
.woocommerce div.product .product_title { font-weight: 700; letter-spacing: -.5px; }

/* Hinweis-/Erfolgsmeldungen */
.woocommerce-message { border-top-color: var(--blue) !important; }
.woocommerce-message .button,
.woocommerce-info .button { box-shadow: none; }

/* ---------- WooCommerce-BLOCKS (Warenkorb-/Kasse-Block) ---------- */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-cart__submit-container a,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block button,
a.checkout-button.button,
.wc-block-components-totals-item .wc-block-components-button {
	background: var(--blue) !important;
	background-color: var(--blue) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 10px !important;
	box-shadow: 0 6px 18px rgba(29, 78, 216, .30) !important;
	font-weight: 600 !important;
	padding: 14px 26px !important;
	text-transform: none !important;
	opacity: 1 !important;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
a.checkout-button.button:hover {
	background: var(--blue-hover) !important;
	background-color: var(--blue-hover) !important;
}
.wc-block-components-button__text { color: #fff !important; }

/* Block-Preise & Akzente in Markenblau */
.wc-block-components-product-price__value,
.wc-block-formatted-money-amount,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: 'Space Grotesk', sans-serif;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--blue) !important; }

/* Links im Block (z. B. Produktname) in Markenblau */
.wc-block-cart-item__product-name a,
.wc-block-components-product-name { color: var(--fg) !important; }
.wc-block-cart-item__product-name a:hover { color: var(--blue) !important; }
