/**
 * WCRS Search Result Card
 *
 * Used in template-parts/content.php on search results and archives.
 * Uses stretched-link pattern for WCAG 2.4.4 compliance:
 * single <a> on title with ::after covering entire card.
 *
 * WCAG 2.1 AA:
 * - 1.4.3 Contrast: all colors ≥ 4.5:1 (#012D5B on white = 12.5:1)
 * - 1.4.11 Non-text Contrast: 3:1 borders/focus (uses #012D5B)
 * - 2.4.4 Link Purpose: "Czytaj więcej o [title]" contextual aria
 * - 2.4.7 Focus Visible: 2px outline with offset
 * - 2.5.5 Target Size: min 44x44px tap target on button
 * - 3.2.4 Consistent Identification: consistent card pattern
 */

.wcrs-search-card {
    position: relative;
}

/* Stretched-link pattern: title link covers entire card */
.wcrs-search-card__title-link {
    color: inherit;
    text-decoration: none;
}

.wcrs-search-card__title-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Focus visible: 2px navy outline with offset — WCAG 2.4.7 */
.wcrs-search-card__title-link:focus-visible {
    outline: none;
}

.wcrs-search-card:has(.wcrs-search-card__title-link:focus-visible),
.wcrs-search-card:has(.wcrs-search-card__title-link:focus) {
    outline: 2px solid #012D5B;
    outline-offset: 4px;
    border-radius: 12px;
}

/* Fallback for browsers without :has() */
.wcrs-search-card__title-link:focus-visible ~ * {
    outline: none;
}

/* Elements above the stretched link — keep semantics but no interactivity clash */
.wcrs-search-card time {
    position: relative;
    z-index: 2;
    pointer-events: none;
}

/* Line clamp for excerpt (visual only — full text available to screen readers via <a> above) */
.wcrs-search-card .line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* CTA button hover — arrow slides right */
.wcrs-search-card__arrow {
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

.wcrs-search-card:hover .wcrs-search-card__arrow,
.wcrs-search-card:focus-within .wcrs-search-card__arrow {
    transform: translateX(4px);
}

/* Reduced motion: no animation — WCAG 2.3.3 */
@media (prefers-reduced-motion: reduce) {
    .wcrs-search-card__arrow {
        transition: none;
    }
    .wcrs-search-card:hover .wcrs-search-card__arrow,
    .wcrs-search-card:focus-within .wcrs-search-card__arrow {
        transform: none;
    }
}

/* Title underline hint on card hover */
.wcrs-search-card:hover .wcrs-search-card__title-link,
.wcrs-search-card:focus-within .wcrs-search-card__title-link {
    text-decoration: underline;
    text-underline-offset: 3px;
}
