/* Firmenauswahl: Dropdown direkt unter dem Feld (klein, scrollbar), Vorschlagszeilen mit Land, Initiale, Name, Börse:Ticker, ISIN. */
.cat-wrap { position: relative; }
.cat-box { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30; background: #fff; border: 1px solid #d9e1ef; border-radius: 16px; box-shadow: 0 22px 54px rgba(20, 40, 90, .20); text-align: left; overflow: hidden;
  visibility: hidden; opacity: 0; transform: translateY(-8px) scale(.985); transform-origin: top center; pointer-events: none; transition: opacity 180ms var(--ease, ease), transform 260ms var(--ease, ease), visibility 0s linear 260ms; }
.cat-box.open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; transition-delay: 0s; }
/* Bildlauf nur in der Liste: Mausrad scrollt sie, die Seite dahinter bleibt stehen (overscroll-behavior) */
.cat-scroll { max-height: 336px; overflow-y: auto; overscroll-behavior: contain; padding: 6px; scrollbar-width: thin; scrollbar-color: #c3cde2 transparent; }
.cat-head { display: flex; align-items: center; gap: 8px; padding: 8px 10px 6px; font: 700 .72rem var(--font, system-ui); letter-spacing: .08em; text-transform: uppercase; color: #5b6784; }
.cat-head-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent, #1b5fd1); box-shadow: 0 0 0 0 rgba(27, 95, 209, .5); animation: cat-pulse 1.8s ease-out infinite; }
@keyframes cat-pulse { to { box-shadow: 0 0 0 8px rgba(27, 95, 209, 0); } }
/* Zeilen bauen sich gestaffelt auf, sobald die Liste aufgeht */
.cat-box.open .cat-opt { animation: cat-in 360ms var(--ease, ease) backwards; }
.cat-box.open .cat-opt.d1 { animation-delay: 30ms; } .cat-box.open .cat-opt.d2 { animation-delay: 60ms; } .cat-box.open .cat-opt.d3 { animation-delay: 90ms; }
.cat-box.open .cat-opt.d4 { animation-delay: 120ms; } .cat-box.open .cat-opt.d5 { animation-delay: 150ms; } .cat-box.open .cat-opt.d6 { animation-delay: 180ms; }
.cat-box.open .cat-opt.d7 { animation-delay: 210ms; } .cat-box.open .cat-opt.d8 { animation-delay: 240ms; } .cat-box.open .cat-opt.d9 { animation-delay: 270ms; }
@keyframes cat-in { from { opacity: 0; transform: translateY(10px); } }
.cat-opt:hover .cat-dot { transform: scale(1.08); }
.cat-dot { transition: transform 200ms var(--ease, ease); }
.cat-opt { display: flex; align-items: center; gap: 12px; width: 100%; padding: 9px 10px; border: 0; border-radius: 10px; background: transparent; cursor: pointer; font: inherit; color: var(--ink, #14213d); text-align: left; }
.cat-opt:hover, .cat-opt.on { background: #eef3fd; }
.cat-cc { flex: 0 0 auto; min-width: 28px; padding: 2px 6px; border-radius: 6px; background: #eef1f6; color: #4a5671; font: 700 .72rem var(--font, system-ui); letter-spacing: .04em; text-align: center; }
.cat-dot { flex: 0 0 auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #5b86d6, #3a62b3); color: #fff; font: 700 .95rem var(--font, system-ui); }
.cat-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.cat-name { font-weight: 600; font-size: .98rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cat-sym { font-size: .82rem; color: #5b6784; }
.cat-isin { flex: 0 0 auto; font: 500 .74rem ui-monospace, Consolas, monospace; color: #7a859e; }
.cat-none { padding: 12px 12px 10px; font-size: .9rem; color: #4a5671; }
.cat-none p { margin: 0 0 8px; }
.cat-report { font-weight: 600; color: var(--accent-strong, #1b5fd1); }
.cat-recent-label { font-size: .85rem; color: #5b6784; font-weight: 600; }
[data-catalog-recent][hidden] { display: none; }
input.cat-picked { border-color: var(--accent, #1b5fd1); }
@media (max-width: 640px) { .cat-isin { display: none; } .cat-scroll { max-height: 260px; } }
.notice-catalog { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #fff7e6; border: 1px solid #f0d9a8; color: #5b4a1e; font-size: .92rem; }
.notice-catalog a { font-weight: 600; }
.hero2 .cat-opt { padding: 6px 10px; }
