/**
 * Content file-link — `.page-content`-scoped overrides.
 *
 * The link-list block's stylesheet defines the file-card visual, but
 * its selectors (`.link-list__entry`, `.link-list__items`) have lower
 * specificity than the rich-text-block `.page-content a` / `.page-content ul`
 * rules in `blocks.css`. The block itself dodges this by living inside
 * `<section class="link-list">` (different ancestor); our injected
 * markup sits directly inside `.page-content`, so we restate the
 * link-list rules here with a `.page-content` prefix to win the cascade
 * by specificity, without resorting to `!important`.
 */

/* List wrapper */
.page-content ul.link-list__items,
.page-content ol.link-list__items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.page-content ul.link-list__items > li.link-list__item,
.page-content ol.link-list__items > li.link-list__item {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Card itself. `.page-content a` paints a translucent brand-blue
   `border-bottom` to fake an underline — kill that for cards. */
.page-content a.link-list__entry,
.page-content a.link-list__entry:hover,
.page-content a.link-list__entry:focus,
.page-content a.link-list__entry:visited {
    text-decoration: none;
    border-bottom: 0;
    display: flex;
    align-items: stretch;
    min-height: 78px;
    color: var(--c-text);
    background-color: var(--c-surface-soft);
    transition: background-color 0.4s ease;
}

.page-content a.link-list__entry:hover {
    background-color: color-mix(in srgb, var(--c-brand) 8%, var(--c-surface-soft));
}

.page-content a.link-list__entry:focus-visible {
    outline: 2px solid var(--c-brand);
    outline-offset: 2px;
}

/* Icon column */
.page-content a.link-list__entry .link-list__icon {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 76px;
    background-color: var(--c-brand);
    color: var(--c-surface);
}

.page-content a.link-list__entry .link-list__ext {
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.06em;
    color: var(--c-surface);
}

/* Body column */
.page-content a.link-list__entry .link-list__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    flex: 1;
    min-width: 0;
    padding: 16px 22px;
}

.page-content a.link-list__entry .link-list__entry-title {
    font-family: Montserrat, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: var(--c-text);
    word-break: break-word;
    transition: color 0.4s ease;
}

.page-content a.link-list__entry:hover .link-list__entry-title,
.page-content a.link-list__entry:focus-visible .link-list__entry-title {
    color: var(--c-brand);
}
