/*
Theme Name: Impreza Child
Template: Impreza
Version: 2.5
Author: FABO communication AG
Description: Propriété Veillon au Cloître – Aufbau 2026
*/

/* ============================================================
   Produktseite – Aufbau nach Figma-Entwurf 2026
   ============================================================ */

/* Kategorie-Kicker über dem Produkttitel */
.veillon-kicker {
	font-family: "DianaWebber Solid", serif;
	color: var(--color-content-faded);
	font-size: 20px;
	letter-spacing: 0.04em;
	margin: 0 0 8px;
}

/* Kurzangaben als zweispaltiges Raster mit Icons */
.veillon-facts {
	list-style: none;
	margin: 28px 0 32px;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 32px;
}
.veillon-fact {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
}
.veillon-fact-icon {
	color: var(--color-content-primary);
	flex: 0 0 auto;
	width: 22px;
	display: flex;
	justify-content: center;
	padding-top: 2px;
}
.veillon-fact-icon svg { height: 17px; width: auto; }
.veillon-fact strong { font-weight: 600; }

/* Detailblöcke: Terroir, Anbau, Vinifizierung … */
.veillon-block { margin-bottom: 32px; }
.veillon-block:last-child { margin-bottom: 0; }
.veillon-block h4 {
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.veillon-block p { margin-bottom: 12px; }
.veillon-block p:last-child { margin-bottom: 0; }

/* Tabellen in den Tabs Lieferkosten und Rabatt */
.veillon-table-wrap {
	overflow-x: auto;
	margin: 12px 0 16px;
}
.veillon-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
}
.veillon-table th,
.veillon-table td {
	text-align: left;
	padding: 9px 14px;
	border-bottom: 1px solid var(--color-content-border);
}
.veillon-table th {
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-weight: 600;
	background: var(--color-content-bg-alt);
}
.veillon-table tbody tr:last-child td { border-bottom: 0; }

/* ============================================================
   Tablet
   ============================================================ */
@media (max-width: 1024px) {
	.veillon-facts { gap: 12px 24px; }
	.veillon-block { margin-bottom: 26px; }
}

/* ============================================================
   Mobile – Raster stapeln, Schrift etwas kompakter
   ============================================================ */
@media (max-width: 600px) {
	.veillon-facts {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 22px;
	}
	.veillon-fact { font-size: 14px; }
	.veillon-block { margin-bottom: 22px; }
	.veillon-block h4 { font-size: 15px; }
	.veillon-table th,
	.veillon-table td { padding: 8px 10px; font-size: 14px; }
	.veillon-kicker { font-size: 16px; }
}

/* ============================================================
   Auszeichnungen (Wine Labels) – Overlay auf dem Produktbild
   ============================================================ */
.fabo-wine-labels {
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 6px;
	pointer-events: none;
}
.fabo-wine-labels img { width: 90px; height: auto; }
@media (max-width: 1024px) { .fabo-wine-labels img { width: 70px; } }
@media (max-width: 600px)  {
	.fabo-wine-labels { top: 12px; right: 12px; gap: 4px; }
	.fabo-wine-labels img { width: 46px; }
}

/* Galerie als Positionierungsrahmen für das Overlay */
.woocommerce .product .woocommerce-product-gallery { position: relative; }

/* MwSt-Zusatz */
.fabo-tax-suffix { font-size: 14px; color: var(--color-content-faded); }

/* Hinweis auf die nächste Rabattstufe im Warenkorb */
.veillon-discount-hint {
	background: var(--color-content-bg-alt);
	border-left: 3px solid var(--color-content-primary);
	padding: 10px 14px;
	font-size: 14px;
	margin-bottom: 16px;
}

/* ============================================================
   Produktseite – Feinmasse nach Figma (25.08.2026)
   ============================================================ */
/* Galerie: Flasche schmaler und zentriert, nicht spaltenfüllend */
.woocommerce .product div.images.woocommerce-product-gallery {
	max-width: 480px;
	margin-inline: auto;
}
/* Preis klein und ruhig, wie auf der Produktkarte */
.woocommerce .product p.price,
.woocommerce .product .woocommerce-variation-price .price {
	font-size: 18px;
	font-weight: 700;
	color: var(--color-content-heading);
}
.woocommerce .product p.price .woocommerce-price-suffix,
.woocommerce .product p.price small {
	font-size: 13px;
	font-weight: 400;
	color: var(--color-content-faded);
}
/* Related-Sektion im Seitenraster */
.veillon-related { clear: both; margin-top: 96px; }
.veillon-related > h2 { margin-bottom: 44px; }
@media (max-width: 600px) {
	.veillon-related { margin-top: 56px; }
}

/* Tabs als Pills, wie im Entwurf */
.woocommerce .product .woocommerce-tabs ul.tabs {
	display: flex; gap: 10px; padding: 0; margin: 40px 0 28px; border: 0;
}
.woocommerce .product .woocommerce-tabs ul.tabs li {
	border: 0; background: none; margin: 0; padding: 0;
}
.woocommerce .product .woocommerce-tabs ul.tabs li a {
	display: inline-flex; align-items: center; line-height: 1;
	font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
	padding: 9px 18px; border-radius: 100px;
	color: var(--color-content-faded); background: transparent;
}
.woocommerce .product .woocommerce-tabs ul.tabs li.active a {
	background: var(--color-content-bg-alt);
	color: var(--color-content-heading);
}
.woocommerce .product .woocommerce-tabs ul.tabs li::before,
.woocommerce .product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce .product .woocommerce-tabs .panel { padding-top: 0; }

/* Appellation unter dem Produkttitel */
.veillon-appellation {
	font-size: 17px;
	color: var(--color-content-faded);
	margin: -10px 0 18px;
}

/* Grid-Karte: Bezugsrahmen fürs Auszeichnungs-Overlay */
.w-grid-item-h { position: relative; }

/* ============================================================
   Kaufwidget nach Entwurf: Label oben, Dropdown volle Breite,
   Variantenpreis darunter, Stepper neben dem Warenkorb-Button
   ============================================================ */
.woocommerce .product table.variations,
.woocommerce .product table.variations tbody,
.woocommerce .product table.variations tr,
.woocommerce .product table.variations th,
.woocommerce .product table.variations td {
	display: block; width: 100%; padding: 0; border: 0;
}
.woocommerce .product table.variations th.label {
	font-weight: 600; font-size: 15px; margin-bottom: 8px;
}
.woocommerce .product table.variations td.value select {
	width: 100%; max-width: none; height: 52px;
	border: 1px solid var(--color-content-border); border-radius: 6px;
	padding: 0 16px; font-size: 16px; background-color: var(--color-content-bg);
}
.woocommerce .product .woocommerce-variation-price { margin: 16px 0 20px; }
.woocommerce .product .reset_variations { font-size: 13px; }

/* Menge + Button in einer Zeile */
.woocommerce .product form.cart .quantity {
	display: inline-flex; align-items: stretch; margin-right: 12px;
	border-radius: 6px; overflow: hidden; background: var(--color-content-bg-alt);
}
.veillon-qty-btn {
	width: 44px; border: 0; background: transparent; cursor: pointer;
	font-size: 20px; line-height: 1; color: var(--color-content-heading);
}
.veillon-qty-btn:hover { background: rgba(0,0,0,0.05); }
.woocommerce .product form.cart .quantity input.qty {
	width: 48px; height: 52px; border: 0; background: transparent;
	text-align: center; font-size: 16px; -moz-appearance: textfield;
}
.woocommerce .product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .product form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none; margin: 0;
}
.woocommerce .product form.cart .single_add_to_cart_button { height: 52px; padding-inline: 28px; }

/* Kaufwidget: Auswahl, Stepper und Button buendig auf einer Breite */
.woocommerce .product form.cart table.variations,
.woocommerce .product form.cart .woocommerce-variation-add-to-cart,
.woocommerce .product form.cart .single_variation_wrap,
.woocommerce .product form.cart:not(.variations_form) {
	max-width: 400px;
}
.woocommerce .product .woocommerce-variation-add-to-cart,
.woocommerce .product form.cart:not(.variations_form) {
	display: flex;
	align-items: stretch;
}
.woocommerce .product form.cart .quantity { flex: 0 0 auto; }
.woocommerce .product form.cart .single_add_to_cart_button { flex: 1 1 auto; }

/* Warenkorb, Kasse, Mini-Cart: ganze Flasche zeigen statt Beschnitt */
.woocommerce-cart table.cart img,
.woocommerce-checkout .cart_item img,
.w-cart-content img,
.widget_shopping_cart_content img,
.widget_shopping_cart img {
	object-fit: contain !important;
	background: var(--color-content-bg-alt);
	height: auto;
	aspect-ratio: 3/4;
}

/* Hervorgehobene Zahl in den Warenkorb-Hinweisen */
.veillon-hl { color: var(--color-content-primary); }

/* Anker «Sortiment» auf der Shop-Seite: Platz für den fixen Header */
#sortiment { scroll-margin-top: 120px; }


/* Hinweisblock ueber der Warenkorb-Tabelle */
.veillon-cart-notice {
	text-align: center;
	font-weight: 600;
	line-height: 1.7;
	margin: 0 0 40px;
}
.veillon-cart-notice p { margin: 0; }
@media (max-width: 600px) {
	.veillon-cart-notice { margin-bottom: 28px; font-size: 14px; }
}


/* Stepper des us-core Kaufwidgets ([us_add_to_cart]) in der bisherigen Optik */
.woocommerce .product form.cart .quantity input.minus,
.woocommerce .product form.cart .quantity input.plus {
	width: 44px; height: 52px; border: 0; background: transparent; cursor: pointer;
	font-size: 20px; line-height: 1; color: var(--color-content-heading);
	-webkit-appearance: none; appearance: none; border-radius: 0;
}
.woocommerce .product form.cart .quantity input.minus:hover,
.woocommerce .product form.cart .quantity input.plus:hover { background: rgba(0,0,0,0.05); }
.add_to_cart .woocommerce-variation-price { margin: 16px 0 20px; }


/* Versandwahl in Kasse und Warenkorb: klein, rechtsbuendig, saubere Liste */
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
.cart_totals .woocommerce-shipping-totals td { text-align: right; }
#shipping_method { list-style: none; margin: 0; padding: 0; }
#shipping_method li {
	display: flex; justify-content: flex-end; align-items: baseline;
	gap: 8px; margin: 0 0 5px; font-size: 14px;
}
#shipping_method li label { margin: 0; font-size: 14px; line-height: 1.5; }
/* Gratis-Hinweis unter der Versandwahl dezent */
.woocommerce-shipping-totals p,
.woocommerce-shipping-destination { font-size: 13px; color: var(--color-content-faded); }
