/* ═════════════════════════════════════════════════════
   Astaria — Crosslinks & Hover Cards
   Parchment-themed inline links with preview tooltips
   ═════════════════════════════════════════════════════ */

/* ── Crosslink inline style ── */
.crosslink {
    color: var(--parch-ink, #2c1810);
    text-decoration: none;
    border-bottom: 1px dotted var(--parch-ink-faded, #6b5b48);
    transition: border-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}

.crosslink:hover {
    color: var(--ast-gold, #c4a35a);
    border-bottom-color: var(--ast-gold, #c4a35a);
    border-bottom-style: solid;
}

/* ── Hover Card ── */
.crosslink-card {
    position: absolute;
    z-index: 9999;
    background: var(--parch-bg, #f4e8c1);
    border: 1px solid var(--parch-ink-faded, #6b5b48);
    border-radius: 6px;
    padding: 0.9rem 1rem;
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(196, 163, 90, 0.15);
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    max-width: 320px;
    font-family: 'Crimson Text', serif;
}

.crosslink-card.visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* ── Card inner elements ── */
.crosslink-card-category {
    font-family: 'Cinzel', serif;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--ast-gold, #c4a35a);
    margin-bottom: 0.3rem;
}

.crosslink-card-title {
    font-family: 'Cinzel', serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--parch-ink, #2c1810);
    line-height: 1.3;
    margin-bottom: 0.4rem;
}

.crosslink-card-excerpt {
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--parch-ink-light, #4a3828);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.crosslink-card-action {
    font-family: 'Cinzel', serif;
    font-size: 0.7rem;
    color: var(--parch-ink-faded, #6b5b48);
    text-align: right;
}

.crosslink-card-loading {
    font-family: 'Cinzel', serif;
    font-size: 0.85rem;
    color: var(--parch-ink-faded, #6b5b48);
    text-align: center;
    padding: 0.5rem 0;
}

/* ── Responsive: hide hover cards on touch devices ── */
@media (hover: none) {
    .crosslink-card {
        display: none;
    }
}
