/* =========================================================
   meelo Ortschaften – Modul-spezifisch
   (Template-Styles direkt im Template, hier Archiv)
   ========================================================= */

/* ── Gemeinden-Archiv ───────────────────────────────────── */
.mo-archive-wrap { font-family: var(--ms-font); }
.mo-archive-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); gap: 18px; }

/* Gemeinde-Karte */
.mo-archive-card {
    background: var(--ms-surface); border: 1px solid var(--ms-border);
    border-radius: var(--ms-radius-lg); overflow: hidden; text-decoration: none;
    color: inherit; display: block; transition: all var(--ms-transition);
}
.mo-archive-card:hover { transform: translateY(-3px); box-shadow: var(--ms-shadow-lg); border-color: var(--ms-primary); }
.mo-archive-card-img { aspect-ratio: 16/9; overflow: hidden; background: var(--ms-surface-2); position: relative; }
.mo-archive-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.mo-archive-card:hover .mo-archive-card-img img { transform: scale(1.04); }
.mo-archive-card-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 40px; }
.mo-archive-card-body { padding: 16px; }
.mo-archive-card-name { font-size: 17px; font-weight: 800; color: var(--ms-text); margin-bottom: 5px; font-family: var(--ms-font-serif); }
.mo-archive-card-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--ms-muted); }
.mo-archive-card-footer { display: flex; gap: 8px; padding: 10px 16px; border-top: 1px solid var(--ms-surface-2); }
.mo-archive-stat { flex: 1; text-align: center; font-size: 12px; color: var(--ms-muted); }
.mo-archive-stat strong { display: block; font-size: 16px; font-weight: 800; color: var(--ms-primary); }

/* Farb-Akzent-Linie */
.mo-archive-card-accent { height: 4px; }

/* Leer-State */
.mo-archive-empty { text-align: center; padding: 64px 24px; color: var(--ms-muted); }

/* Kanton-Filter */
.mo-kanton-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 22px; }

@media (max-width: 640px) {
    .mo-archive-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 400px) {
    .mo-archive-grid { grid-template-columns: 1fr; }
}
