/* ============================================
   Produktdetailseite – Mobile First
   Breakpoints: 768px, 1024px (wie site-weit)
   ============================================ */

/* Zurück-Button-Container (Stil wie im Mietshop) */
.next-back-button-container-flex {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 10px;
}

/* Crawlbarer Produkt-Index: Karten-Grid (Mobile First) */
.productindex-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 0 0 10px 0;
}
.productindex-card {
	position: relative;
	display: flex;
	flex-direction: column;
	color: #202020;
	background: #FFFFFF;
	border: 1px solid #e3e5e8;
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.18s, border-color 0.18s, transform 0.18s;
}
.productindex-card:hover {
	border-color: #202020;
	box-shadow: 0 6px 18px rgba(0,0,0,0.08);
	transform: translateY(-2px);
}
/* Produktname als Link; Stretched-Link macht die ganze Karte klickbar */
.home-whitebox a.productindex-card-link { text-decoration: none; color: #202020; }
.productindex-card-link::after {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
}
.productindex-card-media {
	position: relative;
	height: 150px;
	background: #fafafa;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 12px;
}
.productindex-card-media img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.productindex-card-body {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}
/* Typ-Button kommt unveraendert aus tools/css/style_shop.css (echtes <button>) */
.productindex-card-type { margin-bottom: 2px; }
.productindex-card-link {
	line-height: 1.3;
}
.productindex-card-price {
	margin-top: auto;
	color: #202020;
}
/* Altpreis: Größe wie Supplies-Liste (font-heading0 medium), dezent grau */
.productindex-card-price-old {
	margin-left: 6px;
	color: #909090;
	text-decoration: line-through;
}

@media (min-width: 768px) {
	.productindex-grid { grid-template-columns: 1fr 1fr 1fr; gap: 18px; }
	.productindex-card-media { height: 170px; }
}
@media (min-width: 1024px) {
	.productindex-grid { grid-template-columns: 1fr 1fr 1fr 1fr; }
	.productindex-card-media { height: 180px; }
}

/* Varianten nicht hoverable (kein Klick möglich) */
.diversity-flex .diversity-box {
	cursor: default;
	pointer-events: none;
}


/* --- Layout-Container --- */

.product-page-layout {
	margin-top: 20px;
}

.product-page-cols {
	display: block;
}


/* --- Bildgalerie --- */

.product-gallery {
	margin-bottom: 20px;
}

.product-gallery-big {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background: #F1F1F1;
	height: 320px;
	padding: 25px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-gallery-big img,
.product-gallery-big video {
	max-width: 100%;
	max-height: 270px;
	object-fit: contain;
	display: block;
}

/* Lade-Spinner (wie im Shop) */
.product-gallery-big .waiting-icon {
	width: 50px;
	height: auto;
	max-height: none;
}

.product-gallery-thumbs {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	flex-wrap: wrap;
}

.product-gallery-thumb {
	position: relative;
	width: 64px;
	height: 64px;
	border-radius: 6px;
	border: 2px solid transparent;
	background: #F1F1F1;
	cursor: pointer;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: border-color 0.2s;
}

.product-gallery-thumb img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* Play-Icon-Overlay für Video-Thumbnails */
.product-gallery-thumb .product-gallery-play-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 28px;
	height: auto;
	max-height: none;
	pointer-events: none;
}

.product-gallery-thumb.active-thumb {
	border-color: #202020;
}

.product-gallery-thumb:hover {
	border-color: #202020;
}


/* --- Produktinfos --- */

.product-info {
	display: block;
}

.product-page-title {
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 12px;
	line-height: 1.3;
}

.product-page-price-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 8px;
}

.product-page-price-amount {
	font-size: 1.5em;
	font-weight: bold;
}

.product-page-price-amount.discounted {
	color: #1BC393;
}

.product-page-price-original {
	text-decoration: line-through;
	color: #888;
	font-size: 1.1em;
}

.product-page-price-unit {
	font-size: 0.85em;
	color: #666;
}

.product-page-deposit {
	font-size: 0.9em;
	color: #888;
	margin-bottom: 12px;
}

.product-page-cta {
	margin: 16px 0;
}

.product-page-attributes {
	margin: 16px 0;
}

.product-page-description {
	margin: 24px 0 16px 0;
	line-height: 1.6;
}

/* Anker für QR-Code-Direktlink zur Videoanleitung (Offset wegen Fixed-Header) */
.product-page-video-anchor {
	height: 0;
	scroll-margin-top: 120px;
}

/* Zubehör-Bereich: Breite begrenzen und zentrieren */
.product-page-additionals {
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
}

.product-page-faq {
	margin: 16px 0;
}


/* ============================================
   Tablet: 768px
   ============================================ */

@media (min-width: 768px) {

	.product-page-cols {
		display: flex;
		gap: 30px;
		align-items: flex-start;
	}

	.product-gallery {
		flex: 0 0 45%;
		max-width: 45%;
		margin-bottom: 0;
		position: sticky;
		top: 120px;
	}

	.product-info {
		flex: 1;
		min-width: 0;
	}

	.product-gallery-big {
		height: 400px;
	}

	.product-gallery-big img,
	.product-gallery-big video {
		max-height: 350px;
	}

	.product-gallery-thumb {
		width: 72px;
		height: 72px;
	}

	.product-page-title {
		font-size: 1.6em;
	}

	.product-page-description {
		margin-top: 45px;
	}

}


/* ============================================
   Desktop: 1024px
   ============================================ */

@media (min-width: 1024px) {

	.product-gallery {
		flex: 0 0 42%;
		max-width: 42%;
	}

	.product-gallery-big {
		height: 460px;
	}

	.product-gallery-big img,
	.product-gallery-big video {
		max-height: 410px;
	}

	.product-gallery-thumb {
		width: 80px;
		height: 80px;
	}

	.product-page-title {
		font-size: 1.8em;
	}

}
