/* RED Search 2.0a DEV – Volltext + Autocomplete + semantischer Fallback */
.red-search-hero { padding: clamp(3.2rem,6vw,5.8rem) 0 2.6rem; border-bottom: 1px solid var(--red-line); background: rgba(255,250,238,.55); }
.red-search-wrap { width: min(100% - 2rem, 980px); margin-inline: auto; }
.red-search-kicker { margin-bottom: .55rem; color: var(--red-forest); font-size: .74rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.red-search-hero h1 { margin: 0 0 .8rem; font-family: Fraunces,Georgia,serif; font-size: clamp(2.1rem,5vw,3.4rem); font-weight: 500; }
.red-search-lead { max-width: 68ch; margin: 0; color: var(--red-muted); }
.red-search-main { padding: 2.4rem 0 5rem; }
.red-search-page-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; margin-bottom: 1rem; }
.red-search-page-form input { min-width: 0; height: 52px; padding: 0 1rem; border: 1px solid rgba(60,73,42,.24); border-radius: 12px; background: rgba(255,253,247,.94); color: var(--red-ink); font: inherit; font-size: 1rem; outline: none; }
.red-search-page-form input:focus { border-color: var(--red-forest); box-shadow: 0 0 0 4px rgba(39,72,44,.11); }
.red-search-page-form button { min-height: 52px; padding: 0 1.2rem; border: 0; border-radius: 12px; background: var(--red-forest); color: #fffaf0; font: inherit; font-weight: 650; cursor: pointer; }
.red-search-status { min-height: 1.7rem; margin: .3rem 0 1.2rem; color: var(--red-muted); font-size: .87rem; }
.red-search-results { display: grid; gap: .8rem; }
.red-search-result { display: block; padding: 1.05rem 1.1rem 1.12rem; border: 1px solid var(--red-line); border-radius: 14px; background: rgba(255,253,247,.82); text-decoration: none; box-shadow: 0 9px 28px rgba(61,51,31,.045); transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.red-search-result:hover { transform: translateY(-2px); border-color: rgba(39,72,44,.36); box-shadow: 0 12px 28px rgba(61,51,31,.075); }
.red-search-result-top { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; margin-bottom: .38rem; }
.red-search-category { display: inline-flex; padding: .22rem .48rem; border-radius: 999px; background: rgba(39,72,44,.1); color: var(--red-forest); font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.red-search-result h2 { margin: 0; font-family: Fraunces,Georgia,serif; font-size: clamp(1.08rem,2vw,1.3rem); font-weight: 500; }
.red-search-result p { margin: .45rem 0 0; color: var(--red-muted); font-size: .88rem; line-height: 1.55; }
.red-search-result mark { padding: 0 .08em; border-radius: 2px; background: rgba(219,186,90,.3); color: inherit; }
.red-search-empty { padding: 1.2rem; border: 1px dashed rgba(60,73,42,.25); border-radius: 14px; color: var(--red-muted); background: rgba(255,253,247,.5); }
.red-blog-search-entry { width: min(100% - 12vw,1180px); margin: 2rem auto 0; padding: 1rem 1.1rem; border: 1px solid rgba(39,72,44,.22); border-radius: 14px; background: rgba(255,253,247,.72); }
.red-blog-search-entry form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .55rem; }
.red-blog-search-entry input { min-width: 0; height: 44px; padding: 0 .85rem; border: 1px solid rgba(60,73,42,.22); border-radius: 9px; background: #fffdf8; color: var(--red-ink); font: inherit; outline: none; }
.red-blog-search-entry input:focus { border-color: var(--red-forest); box-shadow: 0 0 0 3px rgba(39,72,44,.1); }
.red-blog-search-entry button { min-height: 44px; padding: 0 1rem; border: 0; border-radius: 9px; background: var(--red-forest); color: #fffaf0; font: inherit; font-size: .82rem; font-weight: 650; cursor: pointer; }
@media(max-width:680px){.red-search-page-form,.red-blog-search-entry form{grid-template-columns:1fr}.red-search-page-form button,.red-blog-search-entry button{width:100%}.red-blog-search-entry{width:min(100% - 2.2rem,1180px)}}

.red-search-page-form { position: relative; }
.red-search-page-suggestions {
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  right: 0;
  z-index: 9;
  max-height: min(360px, 50vh);
  overflow-y: auto;
  padding: .32rem;
  border: 1px solid rgba(60,73,42,.18);
  border-radius: 11px;
  background: #fffdf8;
  box-shadow: 0 12px 30px rgba(61,51,31,.11);
}
.red-search-page-suggestions[hidden] { display: none; }
.red-search-suggestion {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .72rem .8rem;
  border-radius: 8px;
  color: var(--red-ink);
  text-decoration: none;
  font-size: .88rem;
  font-weight: 600;
  line-height: 1.35;
}
.red-search-suggestion:hover,
.red-search-suggestion.is-active { background: rgba(39,72,44,.10); color: var(--red-forest-deep); }
.red-search-suggestion-title { min-width: 0; }
.red-search-suggestion-meta { flex: 0 0 auto; color: var(--red-muted); font-size: .68rem; font-weight: 650; letter-spacing: .045em; text-transform: uppercase; }

/* RED Search 2.0 – hybrid semantic ranking */
.red-search-semantic-badge {
  display:inline-flex; align-items:center; gap:.24rem; padding:.18rem .46rem; border-radius:999px;
  border:1px solid rgba(44,89,64,.16); background:rgba(236,244,232,.78); color:#365c42;
  font-size:.66rem; line-height:1.15; letter-spacing:.045em; text-transform:uppercase; font-weight:650;
}
@media (max-width: 640px) {
  .red-search-semantic-badge { font-size:.62rem; }
}
.red-search-mode-note {
  display:inline-flex;
  align-items:center;
  min-height:1.9rem;
  margin:.58rem 0 .12rem;
  padding:.32rem .68rem;
  border:1px solid rgba(44,89,64,.18);
  border-radius:999px;
  background:rgba(252,249,239,.78);
  color:#365c42;
  font-size:.76rem;
  font-weight:600;
  line-height:1.25;
  letter-spacing:.018em;
  box-shadow:0 1px 0 rgba(44,89,64,.04);
}
@media (max-width:640px) {
  .red-search-mode-note { font-size:.72rem; padding:.3rem .6rem; }
}
