/* SAMA – kleine Shop-Bausteine (Warenkorb-Button im Header, Galerie). */

.sama-warenkorb {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-radius: var(--sama-radius, 12px);
	background: var(--sama-primaer, #1f7a6d);
	color: #fff;
	font-family: var(--sama-schrift, Manrope), system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s;
}
.sama-warenkorb:hover,
.sama-warenkorb:focus { background: var(--sama-primaer-dunkel, #155c52); color: #fff; }
.sama-warenkorb:focus-visible { outline: 3px solid var(--sama-akzent, #f2a93b); outline-offset: 3px; }
.sama-warenkorb__icon { display: inline-flex; }
.sama-warenkorb__zahl {
	display: inline-grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--sama-akzent, #f2a93b);
	color: var(--sama-anthrazit, #22272b);
	font-size: 13px;
	font-weight: 800;
}
.sama-warenkorb__zahl.is-leer { display: none; }
@media (max-width: 767px) {
	.sama-warenkorb { padding: 10px 12px; font-size: 14px; }
	.sama-warenkorb__text { display: none; }
}

.sama-galerie { display: flex; flex-direction: column; gap: 12px; width: 100%; }
.sama-galerie__haupt img,
.sama-galerie--leer img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--sama-radius, 12px);
	background: var(--sama-hellgrau, #f5f7f6);
}
.sama-galerie__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(72px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.sama-galerie__thumb {
	display: block;
	width: 100%;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 8px;
	background: none;
	overflow: hidden;
	cursor: pointer;
}
.sama-galerie__thumb img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.sama-galerie__thumb.is-aktiv { border-color: var(--sama-primaer, #1f7a6d); }
.sama-galerie__thumb:focus-visible { outline: 3px solid var(--sama-akzent, #f2a93b); outline-offset: 2px; }

.sama-ab-preis { white-space: nowrap; }

/* Produkt-FAQ [sama_produkt_faq] */
.sama-faq { display: flex; flex-direction: column; width: 100%; font-family: var(--sama-schrift, Manrope), system-ui, sans-serif; }
.sama-faq__eintrag { border-bottom: 1px solid var(--sama-linie, #dde3e1); }
.sama-faq__frage {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 18px 0;
	font-weight: 700;
	font-size: 17px;
	color: var(--sama-anthrazit, #22272b);
	cursor: pointer;
	list-style: none;
}
.sama-faq__frage::-webkit-details-marker { display: none; }
.sama-faq__frage::after {
	content: "";
	flex: 0 0 12px;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--sama-primaer, #1f7a6d);
	border-bottom: 2px solid var(--sama-primaer, #1f7a6d);
	transform: rotate(45deg) translateY(-3px);
	transition: transform 0.15s;
}
.sama-faq__eintrag[open] .sama-faq__frage::after { transform: rotate(-135deg) translateY(-3px); }
.sama-faq__frage:focus-visible { outline: 3px solid var(--sama-akzent, #f2a93b); outline-offset: 2px; }
.sama-faq__antwort { padding: 0 0 18px; color: var(--sama-text-gedaempft, #5a6469); font-size: 16px; line-height: 1.65; }
.sama-faq__antwort p { margin: 0 0 10px; }
.sama-faq__antwort p:last-child { margin-bottom: 0; }

/* Sprungmarken [sama_anker] – Abstand unter dem Header beim Anspringen. */
.sama-anker { display: block; height: 0; scroll-margin-top: 110px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Rechtlicher Hinweis Maßanfertigung */
.sama-rechtshinweis {
	margin: 0 0 16px;
	padding: 12px 16px;
	border-left: 4px solid var(--sama-akzent, #f2a93b);
	border-radius: 8px;
	background: #fff8ec;
	color: var(--sama-text, #2b3135);
	font-family: var(--sama-schrift, Manrope), system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.55;
}

/* Germanized-Pflichtangaben unter Preisen */
.sama-pflichtangaben { display: block; font-family: var(--sama-schrift, Manrope), system-ui, sans-serif; font-size: 13px; line-height: 1.5; color: var(--sama-text-gedaempft, #5a6469); }
.sama-pflichtangaben p, .sama-pflichtangaben div { display: inline; margin: 0; }
.sama-pflichtangaben a { color: inherit; text-decoration: underline; }
