/* HW Landingpages 1.9.0 – Produktseite, Etappe 1: Kaufbereich. Wirkt nur mit body.hw-pdp. */
@font-face { font-family: "HW Barlow Condensed"; src: url(fonts/barlow-condensed-latin-300-normal.woff2) format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "HW Barlow Condensed"; src: url(fonts/barlow-condensed-latin-600-normal.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "HW Barlow Condensed"; src: url(fonts/barlow-condensed-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "HW Barlow"; src: url(fonts/barlow-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "HW Barlow"; src: url(fonts/barlow-latin-600-normal.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

body.hw-pdp {
	--hw-cream: #FBF2ED;
	--hw-anth: #263039;
	--hw-anth-deep: #1A2229;
	--hw-brown: #B08E75;
	--hw-brown-text: #7A5B45;
	--hw-ink: #1F272E;
	--hw-ink2: #3A444D;
	--hw-muted: #55606A;
	--hw-line: #DCCABD;
	--hw-display: "HW Barlow Condensed", "Barlow Condensed", "Arial Narrow", sans-serif;
	--hw-body: "HW Barlow", Barlow, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* ---------- Reihenfolge in der Zusammenfassung ---------- */
body.hw-pdp .summary.entry-summary { display: flex; flex-direction: column; font-family: var(--hw-body); color: var(--hw-ink); }
body.hw-pdp .summary .german-market-summary-gpsr { order: 50; margin-top: 16px; padding-top: 12px; border-top: 1px solid #E5D6CA; font-size: 12px; line-height: 1.5; color: var(--hw-muted); }
body.hw-pdp .summary .product_meta { order: 60; }
body.hw-pdp .summary .sharing-service, body.hw-pdp .summary .wc-shariff { order: 70; }

/* ---------- Kopf: Serie, Artikelnummer, Titel, Preis ---------- */
body.hw-pdp .hw-pdp-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 10px; font-size: 14px; }
body.hw-pdp a.hw-pdp-series {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border-radius: 8px 0 8px 0;
	background: var(--hw-anth);
	color: var(--hw-cream);
	font-family: var(--hw-display);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
}
body.hw-pdp a.hw-pdp-series:hover { background: var(--hw-anth-deep); color: var(--hw-cream); }
body.hw-pdp .hw-pdp-sku { color: var(--hw-muted); }
body.hw-pdp .summary h1.product_title {
	margin: 0;
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: clamp(32px, 3vw, 44px);
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: none;
	color: var(--hw-anth);
}
body.hw-pdp .summary > p.price { margin: 14px 0 0; font-family: var(--hw-display); font-weight: 700; font-size: 30px; line-height: 1.1; color: var(--hw-ink); }
body.hw-pdp .summary > p.price .hw-pdp-ab { font-weight: 400; font-size: 0.7em; color: var(--hw-muted); }
body.hw-pdp .summary .wgm-info { font-size: 13px; line-height: 1.5; color: var(--hw-muted); }
body.hw-pdp .summary .wgm-info a { color: var(--hw-muted); }
body.hw-pdp .summary .woocommerce-product-details__short-description { margin-top: 12px; font-size: 16px; line-height: 1.55; color: var(--hw-ink2); }

/* ---------- Auswahl von Ausführung und Größe ---------- */
body.hw-pdp form.variations_form.hw-vs-ready table.variations { display: none; }
body.hw-pdp .hw-vs { display: flex; flex-direction: column; gap: 22px; margin: 22px 0 18px; }
body.hw-pdp .hw-vs__label { margin: 0 0 10px; font-family: var(--hw-display); font-weight: 600; font-size: 19px; line-height: 1.2; color: var(--hw-anth); }
body.hw-pdp .hw-vs__step { color: var(--hw-brown-text); }
body.hw-pdp .hw-vs__options { display: grid; gap: 8px; }
body.hw-pdp .hw-vs__options--cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); }
body.hw-pdp .hw-vs__options--chips { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
body.hw-pdp .hw-vs__options--buckets { display: flex; flex-direction: column; gap: 14px; }
body.hw-pdp .hw-vs__bucket[hidden] { display: none !important; }
body.hw-pdp .hw-vs__hint { margin: 8px 0 0; font-size: 13px; line-height: 1.45; color: var(--hw-muted); }
body.hw-pdp .hw-vs__bucket-label { margin: 0 0 6px; font-size: 13px; font-weight: 600; color: var(--hw-brown-text); }
body.hw-pdp button.hw-vs__opt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
	min-height: 56px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid var(--hw-line);
	border-radius: 10px 0 10px 0;
	background: #fff;
	color: var(--hw-anth);
	font-family: var(--hw-body);
	font-size: 14px;
	line-height: 1.3;
	text-align: center;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
body.hw-pdp .hw-vs__options--cards button.hw-vs__opt { align-items: flex-start; justify-content: flex-start; min-height: 88px; padding: 12px; border-radius: 12px 0 12px 0; text-align: left; }
body.hw-pdp button.hw-vs__opt[hidden] { display: none !important; }
body.hw-pdp button.hw-vs__opt:hover { border-color: var(--hw-brown-text); background: #fff; color: var(--hw-anth); }
body.hw-pdp button.hw-vs__opt.is-selected { border: 2px solid var(--hw-anth); background: var(--hw-cream); padding: 7px 9px; }
body.hw-pdp .hw-vs__options--cards button.hw-vs__opt.is-selected { padding: 11px; }
body.hw-pdp button.hw-vs__opt:disabled { opacity: 0.45; cursor: not-allowed; }
body.hw-pdp button.hw-vs__opt:focus-visible { outline: 2px solid var(--hw-brown-text); outline-offset: 3px; }
body.hw-pdp .hw-vs__name { font-weight: 600; white-space: nowrap; }
body.hw-pdp .hw-vs__options--cards .hw-vs__name { font-family: var(--hw-display); font-weight: 700; font-size: 18px; letter-spacing: 0.03em; text-transform: uppercase; white-space: normal; }
body.hw-pdp .hw-vs__note { font-size: 13px; color: var(--hw-muted); }
body.hw-pdp .hw-vs__price { font-size: 12px; color: var(--hw-muted); }
body.hw-pdp .hw-vs__options--cards .hw-vs__price { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--hw-brown-text); }

/* ---------- Preisbox der gewählten Variante ---------- */
body.hw-pdp .single_variation_wrap .woocommerce-variation.single_variation:not(:empty) {
	margin-bottom: 14px;
	padding: 16px 18px;
	border-radius: 16px 0 16px 0;
	background: #fff;
	box-shadow: inset 0 0 0 1px #EADBD0;
}
body.hw-pdp .woocommerce-variation-price .price { font-family: var(--hw-display); font-weight: 700; font-size: 34px; line-height: 1.1; color: var(--hw-ink); }
body.hw-pdp .woocommerce-variation-description { margin-top: 8px; font-size: 14px; line-height: 1.5; color: var(--hw-ink2); }
body.hw-pdp .woocommerce-variation-description p { margin: 0; }
body.hw-pdp .woocommerce-variation-availability { font-size: 13px; color: var(--hw-muted); }

/* ---------- Menge und Warenkorb-Button ---------- */
body.hw-pdp form.cart:not(.variations_form), body.hw-pdp .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 10px; }
body.hw-pdp form.cart .quantity { margin: 0; }
body.hw-pdp form.cart .quantity input.qty {
	width: 76px;
	height: 54px;
	margin: 0;
	padding: 0 8px;
	border: 1.5px solid var(--hw-anth);
	border-radius: 10px 0 10px 0;
	background: #fff;
	color: var(--hw-ink);
	font-family: var(--hw-body);
	font-size: 16px;
	text-align: center;
}
/* Hohe Spezifität und !important nur für Farben: Das Theme setzt den Button sonst hellbraun. */
body.hw-pdp form.cart .single_add_to_cart_button,
body.hw-pdp.woocommerce div.product form.cart button.single_add_to_cart_button.button {
	flex: 1 1 200px;
	min-height: 54px;
	margin: 0;
	padding: 0 28px;
	border: 0 !important;
	border-radius: 12px 0 12px 0;
	background: var(--hw-anth) !important;
	background-color: var(--hw-anth) !important;
	color: var(--hw-cream) !important;
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 19px;
	line-height: 1;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	box-shadow: none !important;
	opacity: 1;
	transition: background-color 0.15s ease;
}
body.hw-pdp form.cart .single_add_to_cart_button:hover,
body.hw-pdp.woocommerce div.product form.cart button.single_add_to_cart_button.button:hover { background: var(--hw-anth-deep) !important; background-color: var(--hw-anth-deep) !important; color: var(--hw-cream) !important; }
body.hw-pdp form.cart .single_add_to_cart_button.disabled,
body.hw-pdp.woocommerce div.product form.cart button.single_add_to_cart_button.button.disabled { opacity: 0.45 !important; cursor: not-allowed; }
body.hw-pdp form.cart .single_add_to_cart_button:focus-visible { outline: 2px solid var(--hw-brown-text); outline-offset: 3px; }
body.hw-pdp .hw-pdp-marker-hidden { display: none !important; }

/* ---------- Auftragsware / Bestandsware ---------- */
body.hw-pdp .hw-pdp-box { margin-top: 16px; padding: 16px 18px; border: 1px solid var(--hw-line); border-radius: 16px 0 16px 0; background: var(--hw-cream); }
body.hw-pdp .hw-pdp-box__title { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--hw-display); font-weight: 700; font-size: 18px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--hw-anth); }
body.hw-pdp .hw-pdp-box__title .hw-icon { color: var(--hw-brown-text); }
body.hw-pdp ul.hw-pdp-box__list { display: flex; flex-direction: column; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.45; color: var(--hw-ink2); }
body.hw-pdp ul.hw-pdp-box__list li { margin: 0; padding: 0; }
body.hw-pdp ul.hw-pdp-box__list li::before { content: none; }
body.hw-pdp .hw-pdp-box a { color: var(--hw-brown-text); }
body.hw-pdp .hw-pdp-box--bestand { border-color: var(--hw-anth); background: var(--hw-anth); }
body.hw-pdp .hw-pdp-box--bestand .hw-pdp-box__title, body.hw-pdp .hw-pdp-box--bestand ul.hw-pdp-box__list { color: var(--hw-cream); }
body.hw-pdp .hw-pdp-box--bestand .hw-pdp-box__title .hw-icon, body.hw-pdp .hw-pdp-box--bestand a { color: #CDB09A; }

/* ---------- Vorteile ---------- */
body.hw-pdp ul.hw-pdp-trust { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 18px 0 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.35; color: var(--hw-ink2); }
body.hw-pdp ul.hw-pdp-trust li { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; }
body.hw-pdp ul.hw-pdp-trust li::before { content: none; }
body.hw-pdp ul.hw-pdp-trust .hw-icon { color: var(--hw-brown-text); }
body.hw-pdp ul.hw-pdp-trust a { color: var(--hw-ink2); }
body.hw-pdp .hw-pdp-help { margin: 14px 0 0; font-size: 14px; color: var(--hw-ink2); }
body.hw-pdp .hw-pdp-help a { color: var(--hw-brown-text); font-weight: 600; }

/* ---------- Etappe 2: Ansichten in der Galerie ---------- */
body.hw-pdp .woocommerce-product-gallery.hw-show-stage .flex-viewport,
body.hw-pdp .woocommerce-product-gallery.hw-show-stage .woocommerce-product-gallery__wrapper,
body.hw-pdp .woocommerce-product-gallery.hw-show-stage .flex-control-nav,
body.hw-pdp .woocommerce-product-gallery.hw-show-stage .woocommerce-product-gallery__trigger { display: none !important; }
body.hw-pdp .hw-stage[hidden], body.hw-pdp .hw-material[hidden] { display: none !important; }
body.hw-pdp .hw-views { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
body.hw-pdp button.hw-views__btn {
	min-height: 46px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--hw-line);
	border-radius: 10px 0 10px 0;
	background: #fff;
	color: var(--hw-anth);
	font-family: var(--hw-body);
	font-weight: 600;
	font-size: 14px;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
}
body.hw-pdp button.hw-views__btn:hover { border-color: var(--hw-brown-text); background: #fff; color: var(--hw-anth); }
body.hw-pdp button.hw-views__btn.is-active { border: 2px solid var(--hw-anth); padding: 0 15px; }
body.hw-pdp button.hw-views__btn:focus-visible { outline: 2px solid var(--hw-brown-text); outline-offset: 3px; }

body.hw-pdp .hw-wall { position: relative; aspect-ratio: 800 / 520; overflow: hidden; border-radius: 20px 0 20px 0; background: #fff; }
body.hw-pdp .hw-wall__scene { position: absolute; inset: 0; transform-origin: 47.5% 90.4%; transition: transform 0.25s ease; }
body.hw-pdp img.hw-wall__room { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; border-radius: 0; }
body.hw-pdp img.hw-wall__pic { position: absolute; max-width: none; height: auto; margin: 0; border-radius: 0; object-fit: cover; transition: left 0.25s ease, top 0.25s ease, width 0.25s ease; }
body.hw-pdp img.hw-wall__pic.is-acryl { box-shadow: 0 14px 26px rgba(0, 0, 0, 0.28); }
body.hw-pdp img.hw-wall__pic.is-lwkr { box-shadow: 4px 5px 0 #5f5f5b, 0 12px 22px rgba(0, 0, 0, 0.22); }
body.hw-pdp img.hw-wall__pic.is-poster { box-shadow: 0 5px 12px rgba(0, 0, 0, 0.16); outline: 1px solid #E5E5E0; }
body.hw-pdp p.hw-wall__caption {
	position: absolute;
	left: 14px;
	bottom: 12px;
	margin: 0;
	padding: 5px 10px;
	border-radius: 8px 0 8px 0;
	background: rgba(255, 255, 255, 0.92);
	font-size: 13px;
	line-height: 1.3;
	color: var(--hw-ink2);
}

body.hw-pdp figure.hw-material { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: clamp(20px, 3vw, 32px); border-radius: 20px 0 20px 0; background: #fff; box-shadow: inset 0 0 0 1px #EADBD0; }
body.hw-pdp .hw-material .hw-layers__svg { display: block; width: 100%; max-width: 340px; height: auto; margin: 0 auto; }
body.hw-pdp .hw-material ol.hw-layers__list { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
body.hw-pdp .hw-material ol.hw-layers__list li { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 0; font-size: 15px; line-height: 1.45; color: var(--hw-ink2); }
body.hw-pdp .hw-material ol.hw-layers__list li::before { content: none; }
body.hw-pdp .hw-material ol.hw-layers__list strong { color: var(--hw-anth); font-weight: 600; }
body.hw-pdp .hw-layers__swatch { flex: none; width: 18px; height: 18px; margin-top: 1px; border-radius: 5px 0 5px 0; box-shadow: inset 0 0 0 1px rgba(31, 39, 46, 0.25); }
body.hw-pdp .hw-layers__swatch--acryl { background: #EEF3F6; }
body.hw-pdp .hw-layers__swatch--druck { background: #B08E75; }
body.hw-pdp .hw-layers__swatch--alu { background: #263039; }
body.hw-pdp .hw-layers__swatch--schiene { background: #8D939A; }
body.hw-pdp .hw-layers__swatch--leinwand { background: #EFE7DD; }
body.hw-pdp .hw-layers__swatch--holz { background: #D9B98F; }
body.hw-pdp .hw-layers__swatch--keil { background: #8B5E3C; }
body.hw-pdp .hw-layers__swatch--papier { background: #F4F1EC; }
body.hw-pdp .hw-layers__swatch--haptik { background: #CDB09A; }

/* ---------- Kaufleiste am Handy ---------- */
body.hw-pdp .hw-buybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px calc(12px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid #EADBD0;
	background: rgba(255, 255, 255, 0.97);
	box-shadow: 0 -8px 20px rgba(31, 39, 46, 0.08);
	font-family: var(--hw-body);
}
body.hw-pdp .hw-buybar[hidden] { display: none !important; }
body.hw-pdp .hw-buybar__info { display: flex; flex-direction: column; min-width: 0; }
body.hw-pdp .hw-buybar__price { font-family: var(--hw-display); font-weight: 700; font-size: 21px; line-height: 1.1; color: var(--hw-ink); white-space: nowrap; }
body.hw-pdp .hw-buybar__meta { overflow: hidden; font-size: 12px; color: var(--hw-muted); white-space: nowrap; text-overflow: ellipsis; }
body.hw-pdp button.hw-buybar__btn {
	flex: 1 1 auto;
	min-height: 50px;
	margin: 0;
	padding: 0 16px;
	border: 0;
	border-radius: 12px 0 12px 0;
	background: var(--hw-anth);
	color: var(--hw-cream);
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 18px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
@media (min-width: 900px) {
	body.hw-pdp .hw-buybar { display: none !important; }
}
@media (max-width: 899px) {
	body.hw-pdp.hw-buybar-visible { padding-bottom: 84px; }
	body.hw-pdp .hw-vs__options--chips { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- Vorschau-Hinweis ---------- */
.hw-pdp-preview {
	position: fixed;
	left: 12px;
	bottom: 12px;
	z-index: 9995;
	padding: 6px 12px;
	border-radius: 8px 0 8px 0;
	background: #B08E75;
	color: #161B21;
	font: 600 13px/1.3 "HW Barlow", Barlow, Arial, sans-serif;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
@media (max-width: 899px) {
	body.hw-buybar-visible .hw-pdp-preview { bottom: 90px; }
}

@media (prefers-reduced-motion: reduce) {
	body.hw-pdp button.hw-vs__opt, body.hw-pdp form.cart .single_add_to_cart_button, body.hw-pdp .hw-wall__scene, body.hw-pdp img.hw-wall__pic { transition: none; }
}
