/* Partners page (partners.html). Loaded after lfs-tokens, lfs-shell and lfs-content.
   Tokens only, no raw hex (BRAND.md). Layout: jump links, then one band per partner
   category with the heading on the left and partner cards on the right.
   Category and partner ids are anchor targets, and partner ids are also 301 targets
   for the old WordPress partner posts (web.config, 2026-10-08). */

/* ---- Jump links ---- */
.lfs-partner-nav {
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.lfs-partner-nav__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    padding: 1.25rem 0;
    list-style: none;
}

.lfs-partner-nav__list a {
    display: inline-block;
    padding: 0.45rem 0.9rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--r-pill);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text);
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.lfs-partner-nav__list a:hover {
    background: var(--brand-soft);
    border-color: var(--brand);
}

.lfs-partner-nav__list a:focus-visible,
.lfs-partner__link a:focus-visible {
    outline: 2px solid var(--brand);
    outline-offset: 2px;
}

/* ---- Category bands ---- */
.lfs-partner-band,
.lfs-partner {
    scroll-margin-top: calc(var(--nav-h) + 1rem);
}

.lfs-partner-band__inner {
    display: grid;
    gap: 1.5rem;
}

.lfs-partner-band__intro .lfs-section-heading {
    margin-bottom: 0.5rem;
}

.lfs-partner-band__intro p {
    margin: 0;
    max-width: 22rem;
    color: var(--body);
    line-height: 1.6;
}

.lfs-partner-band__cards {
    display: grid;
    gap: 1.25rem;
}

@media (min-width: 40rem) {
    .lfs-partner-band__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 56.25rem) {
    .lfs-partner-band__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr);
        gap: 3rem;
        align-items: start;
    }
}

/* ---- Partner card ---- */
.lfs-partner {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border: 1px solid var(--border-strong);
    border-radius: var(--r-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.lfs-partner__logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 4rem;
    margin-bottom: 1rem;
}

.lfs-partner__logo img {
    display: block;
    width: auto;
    height: auto;
    max-width: 11rem;
    max-height: 3.5rem;
    object-fit: contain;
}

.lfs-partner h3 {
    margin: 0 0 0.5rem;
    font-size: 1.1875rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.lfs-partner p {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--body);
}

.lfs-partner p.lfs-partner__link {
    margin-top: auto;
    padding-top: 1rem;
    font-weight: 600;
}

.lfs-partner__link a {
    color: var(--brand);
}
