.thp-finder { scroll-margin-top: 110px; }
.thp-finder {
    max-width: 860px;
    margin: 1rem auto;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(120,120,120,.22);
    border-radius: 12px;
    background: transparent;
}

.thp-finder__intro h2,
.thp-finder__question h3,
.thp-finder__results h3 { margin-top: 0; }

.thp-finder__progress {
    font-size: .9rem;
    opacity: .68;
    margin: 1rem 0;
}

.thp-finder__hint {
    font-size: .9rem;
    opacity: .72;
    margin-top: -.3rem;
}

.thp-finder__options {
    display: grid;
    gap: .7rem;
}

.thp-finder__option {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(120,120,120,.28);
    border-radius: 8px;
    background: rgba(127,127,127,.035);
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.thp-finder__option:hover,
.thp-finder__option:focus-within {
    border-color: currentColor;
    background: rgba(127,127,127,.06);
}

.thp-finder__option:has(input:checked) {
    border-color: currentColor;
    background: rgba(127,127,127,.08);
}

.thp-finder__option input {
    margin-top: .25rem;
    flex: 0 0 auto;
}

.thp-finder__error {
    margin: .8rem 0 0;
    font-weight: 600;
}

.thp-finder__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: 1rem;
}

/* Fallback, falls das Modul außerhalb eines YOOtheme/UIKit-Kontexts verwendet wird. */
.thp-finder .uk-button {
    cursor: pointer;
    text-decoration: none;
}

.thp-finder__best { margin-top: .25rem; }
.thp-finder__more { margin-top: 2rem; }

.thp-finder__card {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem;
    margin: .8rem 0;
    border: 1px solid rgba(120,120,120,.22);
    border-radius: 9px;
    background: rgba(127,127,127,.025);
}

.thp-finder__card--featured {
    padding: clamp(1rem, 2.5vw, 1.35rem);
    border-width: 2px;
}

.thp-finder__card h3 { margin: .1rem 0 .4rem; }
.thp-finder__card p { margin-top: .5rem; }
.thp-finder__term { font-size: .95rem; }
.thp-finder__card-content { flex: 1; min-width: 0; }

.thp-finder__image {
    width: 170px;
    height: 115px;
    object-fit: cover;
    border-radius: 7px;
    flex: 0 0 170px;
}

.thp-finder__empty {
    padding: 1rem;
    border: 1px solid rgba(120,120,120,.22);
    border-radius: 9px;
}

@media (max-width: 560px) {
    .thp-finder__card { display: block; }
    .thp-finder__image {
        width: 100%;
        height: auto;
        max-height: 240px;
        margin-bottom: .75rem;
    }
}

.thp-finder__note {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    font-size: 0.92em;
    line-height: 1.55;
}
.thp-finder__note p:last-child { margin-bottom: 0; }


.thp-finder__image--missing {
    min-height: 180px;
    background: rgba(0,0,0,.045);
    border: 1px solid rgba(0,0,0,.08);
}
