/* ---------- Kunst-Puzzle (kompakt) ---------- */
.puzzle { position: relative; padding: 0 24px 80px; background: var(--creme); color: var(--burgund); }
.puzzle .section-title { font-size: clamp(32px, 5vw, 64px); padding-bottom: 16px; }
.puzzle__intro { max-width: 34em; margin: 0 auto 20px; text-align: center; font-size: 16px; line-height: 1.6; }
.puzzle__leiste { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px 20px; margin-bottom: 14px; font-size: 14px; font-weight: 600; letter-spacing: .04em; }
.puzzle__neu { padding: 8px 14px; border: 2px solid var(--burgund); border-radius: 0; background: transparent; color: var(--burgund); font: inherit; cursor: pointer; }
.puzzle__neu:hover { background: var(--burgund); color: var(--creme); }
.puzzle__feld { position: relative; max-width: 900px; margin: 0 auto; min-height: 200px; }
.puzzle__brett { position: absolute; background-size: cover; outline: 2px dashed rgba(71, 20, 35, .35); outline-offset: 2px; }
.puzzle__brett::after { content: ""; position: absolute; inset: 0; background: rgba(240, 238, 233, .8); }
.puzzle__teil { position: absolute; left: 0; top: 0; touch-action: none; cursor: grab; filter: drop-shadow(0 3px 5px rgba(71, 20, 35, .35)); will-change: transform; }
.puzzle__teil.ist-gezogen { cursor: grabbing; filter: drop-shadow(0 10px 14px rgba(71, 20, 35, .4)); }
.puzzle__teil.ist-fest { cursor: default; filter: none; }
.puzzle__geschafft { position: relative; max-width: 480px; margin: 24px auto 0; padding: 22px; background: var(--rosa); text-align: center; }
.puzzle__schild { display: inline-block; margin: 0 0 12px; padding: 5px 14px; background: var(--limette); font-weight: 700; font-size: 18px; transform: rotate(-3deg); }
.puzzle__werk { margin: 0 0 4px; font-size: 17px; font-weight: 600; }
.puzzle__wert { margin: 0 0 16px; font-size: 14px; }
.puzzle__knoepfe { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.puzzle__link { padding: 8px 14px; background: var(--burgund); color: var(--creme); text-decoration: none; font-weight: 600; }

/* Puzzlefeld ohne Vorlage im Hintergrund */
.puzzle__brett { background: rgba(71, 20, 35, .05); }
.puzzle__brett::after { display: none; }
