/* Suche: Feld klappt bei der Lupe auf (rechts im Hauptmenü), Vorschläge als Panel darunter. */
.rha-suche { position: absolute; right: 0; top: 50%; transform: translateY(-50%) scaleX(.6); transform-origin: right center; opacity: 0; z-index: 30; display: flex; align-items: center; width: min(26rem, calc(100vw - 2rem)); height: 3.5rem; padding: 0 .25rem 0 1rem; background: #fff; color: #1f2937; border: 2px solid #167a5a; border-radius: 999px; box-shadow: 0 6px 24px rgba(0, 0, 0, .18); transition: transform .18s ease, opacity .18s ease; }
.rha-suche[hidden] { display: none; }
.rha-suche.rha-suche-auf { transform: translateY(-50%) scaleX(1); opacity: 1; }
.rha-suche-feld { flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: inherit; font: inherit; font-size: 1.05rem; outline: none; box-shadow: none; padding: 0; -webkit-appearance: none; appearance: none; }
.rha-suche-feld::-webkit-search-cancel-button { display: none; }
.rha-suche:focus-within { outline: 3px solid #0f5c43; outline-offset: 2px; }
.rha-suche-los, .rha-suche-zu { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border: 0; border-radius: 999px; background: transparent; color: #0f5c43; cursor: pointer; font-size: 1.6rem; line-height: 1; }
.rha-suche-los svg { width: 1.4rem; height: 1.4rem; margin: 0; }
.rha-suche-los:hover, .rha-suche-zu:hover { background: #e3f3ec; }

.rha-suche-liste { position: absolute; right: 0; top: calc(100% + .5rem); width: 100%; max-height: min(70vh, 34rem); overflow: auto; padding: .5rem; background: #fff; color: #1f2937; border: 1px solid #d1d5db; border-radius: 1rem; box-shadow: 0 12px 32px rgba(0, 0, 0, .2); text-align: left; }
.rha-suche-liste[hidden] { display: none; }
.rha-suche-gruppe { padding: .25rem 0 .5rem; }
.rha-suche-gruppe + .rha-suche-gruppe { border-top: 1px solid #e5e7eb; padding-top: .5rem; }
.rha-suche-titel { padding: .25rem .75rem; font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #4b5563; }
.rha-suche-opt { display: flex; flex-direction: column; justify-content: center; min-height: 3rem; padding: .5rem .75rem; border-radius: .6rem; color: #1f2937; text-decoration: none; font-size: 1rem; line-height: 1.3; }
.rha-suche-opt[aria-selected="true"], .rha-suche-opt:hover { background: #e3f3ec; color: #0f5c43; }
.rha-suche-opt mark { background: #fff1a8; color: inherit; font-weight: 700; border-radius: .15rem; padding: 0 .05rem; }
.rha-suche-pfad { font-size: .8rem; color: #6b7280; }
.rha-suche-chips { display: block; }
.rha-suche-chips .rha-suche-opt { display: inline-flex; min-height: 2.5rem; margin: .15rem .2rem; padding: .25rem 1rem; border: 1.5px solid #8fcbb4; border-radius: 999px; }
.rha-suche-alle { margin-top: .25rem; border-top: 1px solid #e5e7eb; border-radius: 0 0 .6rem .6rem; font-weight: 700; color: #0f5c43; }
.rha-suche-leer { margin: 0; padding: 1rem .75rem; color: #374151; }

@media (max-width: 767px) { .rha-suche { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .rha-suche { transition: none; } }

.dark .rha-suche, .dark .rha-suche-liste { background: #1f2937; color: #e5e7eb; border-color: #26d09a; }
.dark .rha-suche-opt { color: #e5e7eb; }
.dark .rha-suche-opt[aria-selected="true"], .dark .rha-suche-opt:hover { background: #064e3b; color: #fff; }
.dark .rha-suche-los, .dark .rha-suche-zu, .dark .rha-suche-alle { color: #6ee7b7; }
.dark .rha-suche-titel, .dark .rha-suche-pfad { color: #9ca3af; }
.dark .rha-suche-opt mark { background: #854d0e; color: #fff; }

/* Theme-Formularstile überschreiben */
.rha-suche input.rha-suche-feld { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; outline: none !important; }
.rha-suche button.rha-suche-los, .rha-suche button.rha-suche-zu { background: transparent !important; color: #0f5c43 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; min-width: 3rem; }
.rha-suche button.rha-suche-los:hover, .rha-suche button.rha-suche-zu:hover { background: #e3f3ec !important; }
.dark .rha-suche button.rha-suche-los, .dark .rha-suche button.rha-suche-zu { color: #6ee7b7 !important; }
.dark .rha-suche button.rha-suche-los:hover, .dark .rha-suche button.rha-suche-zu:hover { background: #064e3b !important; }
.rha-suche-text { display: block; }
.rha-suche .rha-suche-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
