.pmg-formular { border: 0; margin: 1.25rem 0; padding: 1.25rem; background: #FCE4DC; border-radius: 20px; }
.pmg-formular legend { font-family: Fraunces, Georgia, serif; font-size: 1.35rem; font-weight: 600; float: left; width: 100%; padding: 0; margin-bottom: .5rem; }
.pmg-gruppe { clear: both; margin-bottom: 1.1rem; }
.pmg-label { display: block; font-weight: 800; margin-bottom: .5rem; }
.pmg-filter { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .75rem; }
.pmg-filter-btn { border: 2px solid rgba(43,30,47,.15); background: #fff; border-radius: 999px; padding: .3em .9em; font: inherit; font-weight: 700; font-size: .85rem; cursor: pointer; color: #2B1E2F; }
.pmg-filter-btn.ist-aktiv { background: #2B1E2F; border-color: #2B1E2F; color: #fff; }
.pmg-designs { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .6rem; max-height: 420px; overflow-y: auto; padding: .25rem; }
.pmg-design { position: relative; cursor: pointer; background: #fff; border-radius: 14px; padding: 5px; border: 3px solid transparent; transition: border-color .15s, transform .15s; text-align: center; }
.pmg-design:hover { transform: translateY(-2px); }
.pmg-design input { position: absolute; opacity: 0; }
.pmg-design img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; display: block; }
.pmg-design span { display: block; font-size: .75rem; font-weight: 700; margin-top: .25rem; line-height: 1.2; }
.pmg-design:has(input:checked) { border-color: #C93C4A; }
.pmg-design:has(input:checked)::after { content: "✓"; position: absolute; top: 8px; right: 8px; width: 24px; height: 24px; border-radius: 50%; background: #C93C4A; color: #fff; font-weight: 900; display: grid; place-items: center; font-size: .85rem; }
.pmg-design:has(input:focus-visible) { outline: 3px solid #F6B78C; }
.pmg-design[hidden] { display: none; }
.pmg-zeile { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
@media (max-width: 600px) { .pmg-zeile { grid-template-columns: 1fr; } }
.pmg-formular label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .6rem; }
.pmg-formular label abbr { color: #C93C4A; text-decoration: none; }
.pmg-formular input[type=text], .pmg-formular textarea { display: block; width: 100%; margin-top: .25rem; border-radius: 12px; border: 2px solid rgba(43,30,47,.15); padding: .55rem .8rem; font: inherit; font-weight: 400; background: #fff; box-sizing: border-box; }
.pmg-hinweis { font-size: .85rem; margin: .25rem 0 0; color: #6B5B73; }
