/* =============================================
   AFFILIATE PLACEMENTS
   Disclosure, in-copy links and the end-of-post CTA.
   ============================================= */

.affiliate-disclosure {
    margin: 0 0 2rem;
    padding: 0.75rem 1rem;
    border-left: 3px solid var(--color-accent-01);
    background: var(--color-light-purple);
    border-radius: 0 var(--radius) var(--radius) 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--color-muted);
}

/* In-copy links stay visually part of the sentence — an underline that reads as
   editorial rather than as a banner. */
.affiliate-link--inline {
    color: var(--color-primary);
    font-weight: var(--fw-semibold);
    text-decoration: underline;
    text-decoration-color: var(--color-accent-01);
    text-decoration-thickness: 2px;
    text-underline-offset: 0.2em;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.affiliate-link--inline:hover,
.affiliate-link--inline:focus-visible {
    color: var(--color-dark-purple);
    text-decoration-color: var(--color-dark-purple);
}

.affiliate-cta {
    margin: 3.5rem 0 2.5rem;
    padding: 2.25rem;
    border: 1px solid var(--color-secondary);
    border-radius: calc(var(--radius) * 2);
    background: linear-gradient(135deg, var(--color-light-purple) 0%, var(--color-white) 100%);
}

.affiliate-cta__eyebrow {
    margin: 0 0 0.5rem;
    font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: var(--fw-bold, 700);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-primary);
}

.affiliate-cta__title {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: var(--text-title5);
    line-height: var(--lh-title5);
    color: var(--color-dark-purple);
}

.affiliate-cta__copy {
    margin: 0 0 1.5rem;
    font-size: var(--text-body);
    line-height: var(--lh-copy);
    color: var(--color-text);
}

.affiliate-cta__button {
    display: inline-block;
    padding: 0.85rem 1.75rem;
    border-radius: var(--radius);
    background: var(--color-primary);
    color: var(--color-white);
    font-weight: 700;
    font-size: 0.9375rem;
    text-decoration: none;
}

.affiliate-cta__note {
    margin: 1rem 0 0;
    font-size: 0.75rem;
    color: var(--color-muted);
}

@media (max-width: 640px) {
    .affiliate-cta {
        padding: 1.5rem;
    }

    .affiliate-cta__button {
        display: block;
        text-align: center;
    }
}

/* =============================================
   BREADCRUMBS
   ============================================= */

.breadcrumbs {
    margin-bottom: 1.5rem;
    font-size: 0.8125rem;
    color: var(--color-muted);
}

.breadcrumbs a {
    color: var(--color-primary);
    text-decoration: none;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .affiliate-cta__button,
    .affiliate-link--inline {
        transition: none;
    }

    .affiliate-cta__button:hover {
        transform: none;
    }
}
