:root {
    --fel-orion-suggest-top: 0px;
    --fel-orion-radius: 16px;
    --fel-orion-shadow: 0 20px 45px rgba(10, 20, 40, 0.15);
    --fel-orion-border: #e4e8ee;
    --fel-orion-muted: #6a7483;
    --fel-orion-bg: #ffffff;
    --fel-orion-chip-bg: #f3f6fa;
    --fel-orion-chip-hover: #e8eef7;
    --fel-orion-brand: #0e5fd8;
}

.tt-menu {
    display: none !important;
    visibility: hidden !important;
}

form.fel-orion-search-ready {
    position: relative;
    z-index: 50;
}

form.fel-orion-search-ready.fel-ai-input input[type="text"],
form.fel-orion-search-ready.fel-ai-input input[type="search"] {
    border-image: linear-gradient(90deg, #4f8ef7, #4ac1d0, #67d08a) 1;
}

.search-suggest.fel-orion-suggest-wrapper {
    position: absolute;
    left: 0;
    top: calc(100% + 8px);
    z-index: 10060;
    width: min(100%, 980px);
    pointer-events: auto;
}

.search-suggest.fel-orion-suggest-wrapper.fel-suggest-layout-container-width {
    width: min(1180px, 95vw);
}

.search-suggest.fel-orion-suggest-wrapper.fel-suggest-layout-full-width {
    width: min(98vw, 1400px);
}

.fel-orion-suggest {
    border: 1px solid var(--fel-orion-border);
    border-radius: var(--fel-orion-radius);
    background: var(--fel-orion-bg);
    box-shadow: var(--fel-orion-shadow);
    overflow: hidden;
    animation: fel-orion-suggest-in 160ms ease-out;
}

@keyframes fel-orion-suggest-in {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fel-suggest-intent {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--fel-orion-border);
    background: linear-gradient(135deg, #f5f9ff, #f7fcff);
}

.intent-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--fel-orion-muted);
    margin-bottom: 6px;
}

.intent-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.intent-tag {
    background: #e7efff;
    color: #093f8a;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 0.78rem;
    font-weight: 600;
}

.fel-suggest-intent__confidence {
    font-size: 0.77rem;
    color: #0a5598;
    font-weight: 700;
}

.fel-suggest-intent__meta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.fel-suggest-intent__spinner {
    width: 18px;
    height: 18px;
    border: 2px solid #bfd6fa;
    border-top-color: var(--fel-orion-brand);
    border-radius: 50%;
    animation: fel-orion-spin 650ms linear infinite;
}

.fel-intent-loading .intent-label {
    margin-bottom: 0;
}

.fel-typing-dots span {
    animation: fel-orion-dot 1.25s infinite;
}

.fel-typing-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.fel-typing-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes fel-orion-dot {
    0%, 60%, 100% { opacity: 0.4; }
    30% { opacity: 1; }
}

@keyframes fel-orion-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.fel-suggest-main-grid {
    display: grid;
}

.fel-suggest-main-grid.fel-has-sidebar {
    grid-template-columns: minmax(250px, 300px) 1fr;
}

.fel-suggest-main-grid.fel-no-sidebar {
    grid-template-columns: 1fr;
}

.fel-suggest-sidebar {
    border-right: 1px solid var(--fel-orion-border);
    padding: 14px;
    background: #fbfdff;
}

.fel-suggest-section {
    margin-bottom: 14px;
}

.fel-suggest-section:last-child {
    margin-bottom: 0;
}

.section-title {
    margin: 0 0 8px;
    font-size: 0.8rem;
    color: var(--fel-orion-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.related-queries,
.category-chips,
.manufacturer-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fel-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    background: var(--fel-orion-chip-bg);
    border: 1px solid transparent;
    color: #1f2d3d;
    padding: 4px 10px;
    font-size: 0.79rem;
    text-decoration: none;
    line-height: 1.3;
}

.fel-chip:hover {
    background: var(--fel-orion-chip-hover);
    border-color: #c9d7ea;
    text-decoration: none;
    color: #11253b;
}

.chip-count {
    color: var(--fel-orion-muted);
    font-size: 0.74rem;
}

.fel-suggest-content {
    padding: 14px;
}

.fel-top-match {
    margin-bottom: 12px;
}

.fel-top-match__label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--fel-orion-muted);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.fel-product-card {
    display: block;
    position: relative;
    border-radius: 12px;
    border: 1px solid var(--fel-orion-border);
    background: #fff;
    text-decoration: none;
    color: inherit;
    transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
}

.fel-product-card:hover {
    border-color: #a8c3ea;
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(10, 20, 40, 0.1);
    text-decoration: none;
    color: inherit;
}

.fel-product-card__media {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--fel-orion-border);
    background: linear-gradient(135deg, #f1f5fb 0%, #e8eef7 100%);
    aspect-ratio: 4 / 3;
}

.fel-product-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fel-product-card__media.is-missing {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fel-product-card__media.is-missing::after {
    content: "Kein Bild";
    color: #6f7b8b;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.fel-product-card__body {
    padding: 11px 12px;
    min-width: 0;
}

.fel-product-card__name {
    font-size: 0.9rem;
    font-weight: 700;
    margin-bottom: 4px;
}

.fel-product-card__meta {
    color: var(--fel-orion-muted);
    font-size: 0.78rem;
    margin-bottom: 5px;
}

.fel-product-card__score {
    color: #0b5bb7;
    font-size: 0.76rem;
    font-weight: 700;
}

.fel-product-card__details {
    color: #516075;
    font-size: 0.74rem;
    line-height: 1.35;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.fel-product-card__price {
    color: #0f478e;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.25;
}

.product-match-score {
    position: absolute;
    top: 7px;
    left: 7px;
    z-index: 2;
    border-radius: 999px;
    background: rgba(8, 60, 132, 0.92);
    color: #ffffff;
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 2px 7px;
}

.fel-product-card--top {
    display: grid;
    grid-template-columns: 132px 1fr;
}

.fel-product-card--top .fel-product-card__media {
    aspect-ratio: auto;
    height: 100%;
    border-right: 1px solid var(--fel-orion-border);
    border-bottom: 0;
}

.fel-orion-suggest__results.fel-suggest-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.fel-product-card--grid {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
}

.fel-product-card--grid .fel-product-card__media {
    width: 86px;
    height: 86px;
    aspect-ratio: auto;
    border-right: 1px solid var(--fel-orion-border);
    border-bottom: 0;
}

.fel-product-card--grid .fel-product-card__body {
    padding: 9px 10px;
}

.fel-product-card--grid .fel-product-card__name {
    font-size: 0.83rem;
    margin-bottom: 3px;
    line-height: 1.3;
}

.fel-orion-suggest__empty,
.fel-orion-suggest__loading {
    border-radius: 12px;
    border: 1px dashed #c7d3e3;
    background: #f8fbff;
    padding: 14px;
    color: #3d566f;
}

.fel-orion-suggest__loading {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fel-orion-suggest__loading-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid #bfd6fa;
    border-top-color: var(--fel-orion-brand);
    border-radius: 50%;
    animation: fel-orion-spin 650ms linear infinite;
    flex: 0 0 auto;
}

.fel-local-session-suggest .fel-local-session-suggest__header {
    padding: 12px 14px 6px;
    color: var(--fel-orion-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.fel-local-session-suggest__list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 0 8px 10px;
}

.fel-local-session-suggest__item {
    border: 0;
    background: transparent;
    border-radius: 10px;
    text-align: left;
    padding: 8px 10px;
    cursor: pointer;
    color: #1f2d3d;
}

.fel-local-session-suggest__item:hover {
    background: var(--fel-orion-chip-bg);
}

.fel-keyboard-focus {
    outline: 2px solid #6aa7ff !important;
    outline-offset: 1px;
}

.fel-suggest-footer {
    margin-top: 12px;
    border-top: 1px solid var(--fel-orion-border);
    padding-top: 10px;
}

.fel-view-all-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: var(--fel-orion-brand);
    text-decoration: none;
}

.fel-view-all-btn:hover {
    color: #094ca6;
    text-decoration: none;
}

.orion-score-badge {
    position: absolute;
    top: 5px;
    right: 5px;
    z-index: 15;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    pointer-events: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}

.fel-suggest-theme-dark .fel-orion-suggest {
    --fel-orion-bg: #111827;
    --fel-orion-border: #263248;
    --fel-orion-muted: #a6b2c6;
    --fel-orion-chip-bg: #1f2b3e;
    --fel-orion-chip-hover: #2b3c56;
    color: #f2f6ff;
}

.fel-suggest-theme-dark .fel-chip {
    color: #dce6f8;
}

.fel-suggest-theme-dark .fel-product-card {
    background: #182235;
    color: #f2f6ff;
}

.fel-suggest-theme-dark .fel-product-card__media {
    background: linear-gradient(135deg, #203149 0%, #18283d 100%);
}

.fel-suggest-theme-dark .fel-product-card__media.is-missing::after {
    color: #a6b2c6;
}

.fel-suggest-theme-dark .fel-product-card__details {
    color: #bcc9dc;
}

.fel-suggest-theme-dark .fel-product-card__price {
    color: #9ac3ff;
}

@media (min-width: 1200px) {
    .fel-orion-suggest__results.fel-suggest-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

@media (max-width: 991px) {
    .search-suggest.fel-orion-suggest-wrapper {
        width: min(96vw, 980px);
        left: 50%;
        transform: translateX(-50%);
    }

    .fel-suggest-main-grid.fel-has-sidebar {
        grid-template-columns: 1fr;
    }

    .fel-suggest-sidebar {
        border-right: 0;
        border-bottom: 1px solid var(--fel-orion-border);
    }
}

@media (max-width: 640px) {
    .fel-product-card--top {
        grid-template-columns: 1fr;
    }

    .fel-product-card--top .fel-product-card__media {
        border-right: 0;
        border-bottom: 1px solid var(--fel-orion-border);
        aspect-ratio: 4 / 3;
    }

    .fel-product-card--grid {
        grid-template-columns: 74px minmax(0, 1fr);
    }

    .fel-product-card--grid .fel-product-card__media {
        width: 74px;
        height: 74px;
    }
}
