/* Marktplatz nach Mascus-Muster (25.09.2026): Filterleiste links, Inseratsraster rechts.
   Wird von start_neu.html und listings_neu.html geladen; Farben aus deren Variablen. */
.mp { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 28px; align-items: start; }
.mp-seite { position: sticky; top: 16px; }
.mp-details { border: 1px solid var(--linie-2, #e7dfd0); border-radius: 12px; background: #fff; padding: 0 16px 8px; }
.mp-seite-titel { list-style: none; cursor: pointer; font-family: var(--serif); font-weight: 600; font-size: 1.05rem; color: var(--navy);
  padding: 12px 0; border-bottom: 1px solid var(--linie-2, #e7dfd0); }
.mp-seite-titel::-webkit-details-marker { display: none; }
.mp-gruppe { padding: 10px 0 4px; border-bottom: 1px solid var(--linie-2, #e7dfd0); }
.mp-gruppe:last-of-type { border-bottom: 0; }
.mp-gruppe-titel { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--meta, #6d7d88); margin-bottom: 6px; }
.mp-liste { list-style: none; margin: 0; padding: 0; }
.mp-liste li { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 3px 0; font-size: .9rem; }
.mp-liste li a { color: var(--tinte, #1d2c34); text-decoration: none; }
.mp-liste li a:hover { text-decoration: underline; }
.mp-liste li.on a { color: var(--navy); font-weight: 600; }
.mp-zahl { font-family: var(--mono, monospace); font-size: .78rem; color: var(--meta, #6d7d88); }
.mp-reset { display: inline-block; margin: 10px 0 4px; font-size: .85rem; color: var(--gold-text, #8a6425); }
.mp-anzeige { display: block; text-align: center; margin-top: 12px; }
.mp-haupt { min-width: 0; }
.mp-kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-bottom: 14px; }
.mp-kopf .mp-anzahl { font-family: var(--serif); font-weight: 600; font-size: 1.15rem; color: var(--navy); }
.mp-kopf .mp-sortierung { font-size: .85rem; color: var(--meta, #6d7d88); }
.mp-haupt .zk-reihe { grid-template-columns: repeat(3, 1fr); }
.mp-mehr { display: flex; justify-content: center; margin-top: 24px; }
@media (max-width: 1100px) { .mp-haupt .zk-reihe { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) {
  .mp { grid-template-columns: 1fr; gap: 16px; }
  .mp-seite { position: static; }
  .mp-details:not([open]) .mp-seite-titel { border-bottom: 0; }
  .mp-anzeige { display: none; }
}
@media (max-width: 480px) { .mp-haupt .zk-reihe { grid-template-columns: 1fr; } }
