/* Asset-Grid / Filter / Card — aus index.html <style> ausgelagert (§2.16 CSP: kein inline-<style>). Laedt NACH style.css → Kaskade wie zuvor. */
.asset-class-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.class-filter-btn { padding: 6px 16px; border: 1px solid #009cad; background: transparent; color: #009cad; border-radius: 20px; cursor: pointer; font-size: 0.875rem; transition: all 0.2s; }
.class-filter-btn.active, .class-filter-btn:hover { background: #009cad; color: #fff; }
.asset-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; transition: box-shadow 0.2s; }
.asset-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
.asset-card-img { width: 100%; height: 180px; background: #f5f5f5; }
.asset-card-no-img { background: #eee url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24" fill="%23ccc"><path d="M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z"/></svg>') center no-repeat; }
.asset-card-body { padding: 12px 16px; }
.asset-card-class { font-size: 0.75rem; color: #009cad; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 4px; }
.asset-card-title { font-size: 0.95rem; font-weight: 600; color: #2e3a43; margin: 0 0 6px; line-height: 1.3; }
.asset-card-code { font-size: 0.8rem; color: #888; }
.public-assets-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.public-assets-message { grid-column: 1/-1; text-align: center; color: #888; padding: 40px 0; }

/* Leer-/Fallback-Kachel (aus script.js-innerHTML ausgelagert; §2.16: keine inline-style=/onmouse-Handler). */
.public-asset-card--empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; gap: 16px; padding: 40px 24px;
    border: 1.5px dashed #009cad; border-radius: 8px;
    background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    font-family: 'Ubuntu', Arial, sans-serif; color: #2e3a43;
    grid-column: 1 / -1;
}
.public-asset-card--empty p {
    margin: 0; font-size: 15px; font-weight: 500; color: #2e3a43; max-width: 340px;
}
.empty-card-cta {
    display: inline-block; background: #009cad; color: #fff;
    font-family: 'Ubuntu', Arial, sans-serif; font-weight: 600; font-size: 14px;
    padding: 8px 20px; border-radius: 6px; text-decoration: none;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08); transition: opacity .15s;
}
.empty-card-cta:hover { opacity: .88; }  /* ersetzt onmouseover/onmouseout=this.style.opacity */

/* Aktiver-Filter-Chip über dem Asset-Grid (Franz-Bug 2026-07-18: Filter war unsichtbar + nicht rücksetzbar). */
.active-filter-chip {
    display: inline-flex; align-items: center; gap: 8px;
    background: #009cad; color: #fff;
    border-radius: 20px; padding: 6px 14px;
    font-size: 0.875rem; font-weight: 600; cursor: pointer;
    transition: background .15s;
}
.active-filter-chip:hover { background: #007e8c; }
.active-filter-chip__icon { flex: 0 0 auto; opacity: 0.9; }
.active-filter-chip__clear {
    display: inline-flex; align-items: center; justify-content: center;
    width: 18px; height: 18px; margin-left: 2px;
    border-radius: 50%; background: rgba(255,255,255,0.25);
    font-size: 0.95rem; line-height: 1;
}
