.rrldb-public{
    --rrldb-surface:#fff;
    --rrldb-text:#1f2937;
    --rrldb-muted:#6b7280;
    --rrldb-line:#e5e7eb;
    --rrldb-soft:#f6f7f9;
    --rrldb-radius:16px;
    color:var(--rrldb-text);
    font-family:inherit;
    font-size:inherit;
    line-height:inherit;
    width:100%;
    max-width:1180px;
    margin:28px auto;
}
.rrldb-public *{box-sizing:border-box}
.rrldb-public input,.rrldb-public button,.rrldb-public select,.rrldb-public textarea,.rrldb-public summary{font-family:inherit}
.rrldb-public__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}
.rrldb-public__header--compact{align-items:center}
.rrldb-public__heading{min-width:0}
.rrldb-eyebrow{margin:0 0 5px;font-size:.78em;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rrldb-muted)}
.rrldb-public__title{margin:0!important;font-size:clamp(1.75em,3vw,2.5em)!important;line-height:1.05}
.rrldb-public__count{margin:0;color:var(--rrldb-muted);font-size:1em}
.rrldb-public__title+.rrldb-public__count{margin-top:8px}
.rrldb-search{display:flex;align-items:center;gap:9px;width:min(100%,390px);min-width:260px;padding:0 14px;border:1px solid var(--rrldb-line);border-radius:14px;background:var(--rrldb-surface);box-shadow:0 5px 18px rgba(17,24,39,.05);color:var(--rrldb-muted)}
.rrldb-search:focus-within{border-color:#9ca3af;box-shadow:0 0 0 3px rgba(17,24,39,.07)}
.rrldb-search input{width:100%;min-height:44px;padding:0;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;color:var(--rrldb-text);font:inherit}

/* Filter */
.rrldb-filterbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:-4px 0 18px;padding:12px 14px;border:1px solid var(--rrldb-line);border-radius:14px;background:var(--rrldb-soft)}
.rrldb-filtergroup{display:flex;flex-wrap:wrap;align-items:center;gap:7px}
.rrldb-filterlabel{margin-right:2px;color:var(--rrldb-muted);font-size:.9em;font-weight:750}
.rrldb-filterchip{appearance:none;border:1px solid var(--rrldb-line);border-radius:999px;background:var(--rrldb-surface);color:var(--rrldb-text);padding:7px 11px;font:inherit;font-size:.9em;line-height:1;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.rrldb-filterchip:hover{border-color:#9ca3af}
.rrldb-filterchip.is-active{background:#cfe8ff;border-color:#9ac7ee;color:#000080;box-shadow:0 3px 10px rgba(36,113,177,.2)}

/* Kompakte Objektliste */
.rrldb-object-list{display:flex;flex-direction:column;gap:8px;width:100%;max-width:900px;margin:0 auto}
.rrldb-object{overflow:hidden;border:1px solid var(--rrldb-line);border-radius:14px;background:var(--rrldb-surface);box-shadow:0 4px 16px rgba(17,24,39,.045);transition:border-color .15s ease,box-shadow .15s ease}
.rrldb-object:hover{border-color:#d1d5db}
.rrldb-object.is-open{border-color:#cbd5e1;box-shadow:0 10px 26px rgba(17,24,39,.08)}
.rrldb-object[hidden]{display:none!important}
.rrldb-object__summary{display:grid;width:100%;grid-template-columns:86px minmax(0,1fr) auto 24px;align-items:center;gap:14px;padding:9px 12px;border:0!important;background:transparent!important;color:inherit!important;text-align:left;cursor:pointer;box-shadow:none!important}
.rrldb-object__summary:hover{background:var(--rrldb-soft)!important}
.rrldb-object__summary:focus-visible{outline:2px solid currentColor;outline-offset:-2px}
.rrldb-object__thumb{display:flex;width:86px;height:58px;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--rrldb-line);border-radius:9px;background:linear-gradient(135deg,#f8fafc,#eef1f5)}
.rrldb-object__thumb img{display:block;width:100%!important;height:100%!important;object-fit:contain;padding:3px}
.rrldb-object__thumb-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:#9ca3af}
.rrldb-object__thumb-placeholder svg{width:34px;height:34px}
.rrldb-object__summary-text{display:flex;min-width:0;flex-direction:column;gap:3px}
.rrldb-object__name{overflow:hidden;font-size:1.08em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.rrldb-object__subline{overflow:hidden;color:var(--rrldb-muted);font-size:.9em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.rrldb-object__summary-meta{color:var(--rrldb-muted);font-size:.88em;white-space:nowrap}
.rrldb-object__chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--rrldb-muted);font-size:1.2em;transition:transform .15s ease}
.rrldb-object.is-open .rrldb-object__chevron{transform:rotate(180deg)}

/* Nur der angeklickte Eintrag zeigt Details */
.rrldb-object__details{border-top:1px solid var(--rrldb-line);background:#fff}
.rrldb-object__details[hidden]{display:none!important}
.rrldb-object__detail-grid{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr);gap:22px;padding:20px}
.rrldb-object__media-column{min-width:0}
.rrldb-detail-media{display:flex;aspect-ratio:16/9;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--rrldb-line);border-radius:12px;background:linear-gradient(135deg,#f8fafc,#eef1f5)}
.rrldb-detail-media__image{display:block;width:100%!important;height:100%!important;object-fit:contain;padding:8px}
.rrldb-detail-media__placeholder{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#9ca3af;font-size:.9em;font-weight:650}
.rrldb-detail-media__placeholder svg{width:48px;height:48px}
.rrldb-loco-card__thumbs{display:flex;gap:6px;padding:8px 0 0;overflow-x:auto;scrollbar-width:thin}
.rrldb-gallery-thumb{flex:0 0 54px;width:54px;height:40px;padding:2px;border:1px solid var(--rrldb-line);border-radius:7px;background:#fff;cursor:pointer;overflow:hidden;opacity:.78}
.rrldb-gallery-thumb:hover,.rrldb-gallery-thumb.is-active{opacity:1;border-color:#6b7280;box-shadow:0 0 0 1px #6b7280}
.rrldb-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}
.rrldb-object__info{min-width:0}
.rrldb-loco-card__road{margin:0 0 5px;color:var(--rrldb-muted);font-size:.8em;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.rrldb-loco-card__title{margin:0!important;font-size:1.35em!important;line-height:1.18!important}
.rrldb-detail-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.rrldb-detail-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;background:var(--rrldb-soft);border:1px solid var(--rrldb-line);font-size:.82em;font-weight:700}
.rrldb-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:14px 0 0;padding:0;border-top:1px solid var(--rrldb-line)}
.rrldb-specs>div{min-width:0;padding:9px 9px 9px 0;border-bottom:1px solid var(--rrldb-line)}
.rrldb-specs>div:nth-child(even){padding-left:9px;padding-right:0}
.rrldb-specs .rrldb-specs__wide{grid-column:1/-1;padding-left:0;padding-right:0}
.rrldb-specs dt{margin:0 0 2px;color:var(--rrldb-muted);font-size:.78em;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.rrldb-specs dd{overflow:hidden;margin:0;font-size:1em;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.rrldb-specs__wide dd{white-space:normal}

.rrldb-functions-public{margin-top:14px;border:1px solid var(--rrldb-line);border-radius:12px;background:var(--rrldb-soft)}
.rrldb-functions-public summary{display:flex;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;font-size:1em;font-weight:800;user-select:none}
.rrldb-functions-public summary::-webkit-details-marker{display:none}
.rrldb-functions-public summary:after{content:"+";margin-left:auto;color:var(--rrldb-muted);font-size:1.15em;font-weight:500;line-height:1}
.rrldb-functions-public[open] summary:after{content:"–"}
.rrldb-functions-public__count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;margin-left:2px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:.76em}
.rrldb-functions-public__list{display:grid;gap:6px;padding:0 11px 11px}
.rrldb-function-public{display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:start;padding:8px 9px;border-radius:9px;background:#fff;font-size:.95em}
.rrldb-function-public strong{font-variant-numeric:tabular-nums}
.rrldb-no-results,.rrldb-empty{padding:28px;border:1px dashed var(--rrldb-line);border-radius:16px;background:var(--rrldb-soft);text-align:center;color:var(--rrldb-muted)}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:760px){
    .rrldb-public__header{align-items:stretch;flex-direction:column;gap:14px}
    .rrldb-search{width:100%;min-width:0}
    .rrldb-filterbar{align-items:flex-start;flex-direction:column}
    .rrldb-filtergroup{width:100%}
    .rrldb-object__summary{grid-template-columns:72px minmax(0,1fr) 22px;gap:10px;padding:8px 9px}
    .rrldb-object__thumb{width:72px;height:50px}
    .rrldb-object__summary-meta{display:none}
    .rrldb-object__detail-grid{grid-template-columns:1fr;padding:14px;gap:16px}
}
@media(max-width:480px){
    .rrldb-public{max-width:calc(100vw - 24px)}
    .rrldb-object__summary{grid-template-columns:64px minmax(0,1fr) 20px}
    .rrldb-object__thumb{width:64px;height:46px}
    .rrldb-object__name{font-size:1em}
    .rrldb-object__subline{font-size:.82em}
    .rrldb-specs{grid-template-columns:1fr}
    .rrldb-specs>div,.rrldb-specs>div:nth-child(even){padding-left:0;padding-right:0}
}
@media(prefers-reduced-motion:reduce){.rrldb-object,.rrldb-object__chevron{transition:none}}
