/*
	Shop – Grundaussehen. Baut auf UIkit der Homepage auf und setzt nur,
	was der Shop zusätzlich braucht. Abschaltbar unter Shop → Einstellungen
	(css = nein), dann gestaltet das CSS der Homepage die Klassen erw-shop-….
*/
.erw-shop { --erw-shop-rand: rgba(0,0,0,.12); --erw-shop-leise: rgba(0,0,0,.6); --erw-shop-akzent: currentColor; }
.erw-shop img { max-width: 100%; height: auto; }

/* Karten und Raster */
.erw-shop-karte { display: flex; flex-direction: column; height: 100%; }
.erw-shop-karte .uk-card-body { display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.erw-shop-karte-bild { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: rgba(0,0,0,.03); }
.erw-shop-karte-bild img, .erw-shop-karte-bild .erw-shop-ohne-bild { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.erw-shop-karte:hover .erw-shop-karte-bild img { transform: scale(1.03); }
.erw-shop-karte-titel { font-size: 1.1rem; margin: 0; }
.erw-shop-karte-titel a { color: inherit; text-decoration: none; }
.erw-shop-karte-text { color: var(--erw-shop-leise); font-size: .9rem; }
.erw-shop-karte .erw-shop-preis { margin-top: auto; }
.erw-shop-ohne-bild { min-height: 8rem; background: repeating-linear-gradient(45deg, rgba(0,0,0,.03), rgba(0,0,0,.03) 10px, rgba(0,0,0,.06) 10px, rgba(0,0,0,.06) 20px); }
.erw-shop-ausverkauft { font-size: .85rem; color: #b42318; }

/* Preis nach PAngV */
.erw-shop-preis { line-height: 1.35; }
.erw-shop-preis-betrag { font-size: 1.25rem; font-weight: 600; }
.erw-shop-produkt .erw-shop-preis-betrag { font-size: 1.75rem; }
.erw-shop-preis-alt s { color: var(--erw-shop-leise); }
.erw-shop-preis-hinweis, .erw-shop-grundpreis, .erw-shop-preis-tiefst, .erw-shop-lieferzeit { display: block; font-size: .85rem; color: var(--erw-shop-leise); }
.erw-shop-preis-hinweis a { color: inherit; text-decoration: underline; }
.erw-shop-lieferzeit { margin-top: .35rem; }

/* Produktseite */
.erw-shop-galerie-haupt { aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.03); overflow: hidden; }
.erw-shop-galerie-haupt img { width: 100%; height: 100%; object-fit: contain; }
.erw-shop-galerie-leiste { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: .75rem 0 0; }
.erw-shop-galerie-knopf { width: 4.5rem; height: 4.5rem; padding: 0; border: 2px solid transparent; background: none; cursor: pointer; overflow: hidden; }
.erw-shop-galerie-knopf img { width: 100%; height: 100%; object-fit: cover; }
.erw-shop-galerie-knopf.erw-shop-aktiv, .erw-shop-galerie-knopf:focus-visible { border-color: var(--erw-shop-akzent); }
.erw-shop-kaufen-gross { margin: 1.25rem 0; display: grid; gap: .75rem; max-width: 28rem; }
.erw-shop-kaufen-zeile { display: flex; gap: .75rem; align-items: flex-end; flex-wrap: wrap; }
.erw-shop-kaufen { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.erw-shop-menge .uk-input { width: 5rem; }
.erw-shop-beschreibung { margin-top: 2.5rem; }

/* Warenkorb und Kasse */
.erw-shop-pos-bild { width: 4rem; height: 4rem; object-fit: cover; margin-right: .75rem; flex: none; }
.erw-shop-pos-artikel .erw-shop-ohne-bild { width: 4rem; height: 4rem; min-height: 0; margin-right: .75rem; flex: none; }
.erw-shop-summen th { font-weight: normal; text-align: left; }
.erw-shop-summen td { text-align: right; white-space: nowrap; }
.erw-shop-summen .erw-shop-gesamt th, .erw-shop-summen .erw-shop-gesamt td { font-weight: 700; font-size: 1.1em; border-top: 1px solid var(--erw-shop-rand); }
.erw-shop-summen .erw-shop-steuer th, .erw-shop-summen .erw-shop-steuer td { font-size: .85em; color: var(--erw-shop-leise); }
.erw-shop-block { margin: 0 0 1.75rem; padding: 0; border: 0; }
.erw-shop-block > .uk-legend { font-size: 1.15rem; margin-bottom: .75rem; }
.erw-shop-feld { margin-bottom: .75rem; }
.erw-shop-wahl { gap: 1.5rem; }
.erw-shop-option { display: block; padding: .75rem 1rem; border: 1px solid var(--erw-shop-rand); margin-bottom: .5rem; cursor: pointer; }
.erw-shop-option:has(input:checked) { border-color: var(--erw-shop-akzent); box-shadow: inset 0 0 0 1px var(--erw-shop-akzent); }
.erw-shop-option-text { display: block; font-size: .85rem; color: var(--erw-shop-leise); margin: .25rem 0 0 1.6rem; }
.erw-shop-schalter { display: block; margin: .5rem 0; }
.erw-shop-uebersicht { padding: 1.25rem; border: 1px solid var(--erw-shop-rand); }
.erw-shop-zustimmungen { margin: 1rem 0; font-size: .95rem; }
.erw-shop-zustimmungen a, .erw-shop-uwg a { text-decoration: underline; }
.erw-shop-fehler .uk-form-label { color: #b42318; }
.erw-shop-zahlungshinweis { margin: 1rem 0; white-space: normal; }

/* Menü */
.erw-shop-korb-link { display: inline-flex; align-items: center; gap: .35rem; text-decoration: none; }
.erw-shop-korb-anzahl[hidden] { display: none; }

@media (max-width: 639px){
	.erw-shop-kaufen-zeile .uk-button { flex: 1; }
	.erw-shop-uebersicht { padding: 1rem; }
}
@media (prefers-reduced-motion: reduce){
	.erw-shop-karte-bild img { transition: none; }
}
