/* Einsatzheld Gestalter – Produktseite mit Live-Vorschau */
.eh-gestalter-page { padding-top: 1.5rem; padding-bottom: 2rem; }

.eh-preview-tabs { display: flex; gap: .5rem; margin-bottom: .75rem; }
.eh-tab { border: 2px solid #000; background: #fff; padding: .3rem .9rem; font-weight: 600; cursor: pointer; }
.eh-tab.active { background: #f9e912; }

.eh-preview { position: relative; display: grid; gap: .75rem; grid-template-columns: 1fr; min-height: 320px; }
.eh-preview.both { grid-template-columns: 1fr 1fr; }
.eh-side { position: relative; background: #fff; aspect-ratio: 1 / 1; }
.eh-photo { width: 100%; height: 100%; display: block; object-fit: contain; }
.eh-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }

.eh-tech-wrap { margin-top: 1.5rem; }
.eh-tech-heading { font-size: 1.15rem; margin-bottom: .25rem; }
.eh-tech-intro { font-size: .8rem; color: #555; }
.eh-tech { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .eh-tech { grid-template-columns: 1fr 1fr; } }
.eh-tech-card { border: 2px solid #000; background: #fff; padding: .6rem; }
.eh-tech-title { font-weight: 700; margin-bottom: .4rem; }
.eh-tech-svg { width: 100%; height: auto; display: block; }
.eh-tech-empty { color: #777; font-style: italic; padding: 1.5rem 0; text-align: center; background: #f4f4f4; }
.eh-tech-meta { font-size: .8rem; margin-top: .4rem; }
.eh-tech-legend { list-style: none; padding: 0; margin: .4rem 0 0; font-size: .8rem; }
.eh-tech-legend li { display: flex; align-items: center; gap: .4rem; margin-bottom: .2rem; }
.eh-tech-legend code { font-size: .75rem; }
.eh-swatch.eh-swatch-sm { width: 1rem; height: 1rem; border-width: 1px; box-shadow: none; display: inline-block; flex: none; }

.eh-description { margin-top: 2.5rem; border-top: 2px solid #000; padding-top: 1.25rem; }
.eh-description h2 { font-size: 1.3rem; }
.eh-sizechart { display: inline-block; margin-top: .5rem; font-weight: 600; }
.eh-loading { padding: 2rem; color: #666; }
.eh-preview-note { font-size: .8rem; color: #666; margin-top: .5rem; }

.eh-title { font-size: 1.6rem; margin-bottom: .25rem; }
.eh-artnr { font-size: .85rem; color: #555; margin-bottom: .75rem; }
.eh-price { font-size: 1.9rem; font-weight: 700; }
.eh-price small { font-size: .8rem; font-weight: 400; color: #555; display: block; }
.eh-staffel { font-size: .85rem; color: #333; margin: .25rem 0 1rem; }
.eh-staffel span { display: inline-block; margin-right: .75rem; }

.eh-field { margin-bottom: 1.1rem; }
.eh-label { font-weight: 700; margin-bottom: .35rem; }
.eh-value { font-weight: 600; color: #2e7d32; }

.eh-swatches, .eh-sizes { display: flex; flex-wrap: wrap; gap: .5rem; }
.eh-swatch {
    width: 2.6rem; height: 2.6rem; border: 2px solid #000; box-shadow: 3px 3px 0 #000;
    cursor: pointer; padding: 0; position: relative;
}
.eh-swatch.active { outline: 3px solid #f9e912; outline-offset: 2px; }
.eh-swatch.silberreflex { background: linear-gradient(110deg, #888 0%, #fff 45%, #888 100%) !important; }
.eh-swatch.nachleuchtend { box-shadow: 3px 3px 0 #000, 0 0 10px 3px #e4fb15 inset; }
.eh-swatch.none { background: repeating-linear-gradient(45deg, #fff 0 6px, #ddd 6px 12px) !important; }
.eh-swatch.none::after { content: '✕'; position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.1rem; }

.eh-size {
    min-width: 3rem; padding: .45rem .5rem; border: 2px solid #000; background: #fff; box-shadow: 3px 3px 0 #000;
    font-weight: 600; cursor: pointer;
}
.eh-size.active { background: #f9e912; }
.eh-size small { display: block; font-weight: 400; font-size: .7rem; }

.eh-freetext { margin-top: .5rem; text-transform: uppercase; }
.eh-print-sides { display: flex; gap: 1.5rem; }
.eh-check { display: flex; align-items: center; gap: .4rem; font-weight: 600; cursor: pointer; margin: 0; }
.eh-check input { width: 1.2rem; height: 1.2rem; accent-color: #000; }
.eh-disabled { opacity: .45; pointer-events: none; }
.eh-hint { font-size: .8rem; color: #555; margin-top: .3rem; min-height: 1em; }
.eh-hint.error {
    color: #b71c1c; font-weight: 700; background: #ffebee; border-left: 4px solid #d50000;
    padding: .4rem .6rem; margin-top: .4rem;
}
.eh-alert {
    background: #d50000; color: #fff; font-weight: 600; padding: .75rem 1rem; margin-bottom: .75rem;
    border: 2px solid #000; box-shadow: 4px 4px 0 #000;
}
.eh-alert strong { display: block; font-size: 1.05rem; }
.eh-alert::before { content: '⚠ '; font-size: 1.1rem; }

.eh-buy { display: flex; gap: .75rem; align-items: center; }
.eh-qty { max-width: 6rem; }
.eh-cart { flex: 1; }

/* Hinweis individuelle Anfertigung (wie der graue Kasten der alten Beschreibungen) */
.eh-notice { background: #e4e4e4; padding: 12px 14px; margin-top: 1rem; line-height: 1.5; }
.eh-notice-short { font-size: .85rem; color: #555; margin-top: .4rem; }
