/* Text actions use the same outline treatment as Save for later.
   Existing navigation, cards, and primary actions keep their own layout. */
a {
    color: var(--accent-green-light);
    text-decoration: none;
}

:is(.link-button, .decision-summary a, .finder-skip, .finder-see-all,
    .signin-change, .description-toggle, .empty-link, .account-browse-link,
    .account-links a, .remix-back, .remix-return, .remix-source-actions a,
    .drawer-link):not([hidden]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    background: var(--bg-secondary);
    font: 500 14px/1.4 var(--font-sans);
    text-align: center;
    text-decoration: none;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

/* References inside prose and tables need smaller padding than standalone CTAs. */
:is(p a:not([class]), td a:not([class]), label a:not([class]),
    .faq-answer a, .legal-section a,
    .blog-content a:not(.cta-button):not(.blog-related-card),
    .account-note a, .pro-note a, .retention-signup-meta a,
    .signin-notice a, .kit-billing-note a, .kit-next-steps-note a):not([hidden]) {
    display: inline-block;
    max-width: 100%;
    padding: 2px 7px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    background: var(--bg-secondary);
    font-family: inherit;
    font-size: inherit;
    font-weight: 500;
    line-height: 1.5;
    vertical-align: baseline;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

/* The Remix brief shortcut remains responsive; do not override its display rule. */
.remix-brief-jump {
    min-height: 44px;
    max-width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--border-default);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    background: var(--bg-secondary);
    text-decoration: none;
}

:is(.link-button, .decision-summary a, .finder-skip, .finder-see-all,
    .signin-change, .description-toggle, .empty-link, .account-browse-link,
    .account-links a, .remix-back, .remix-return, .remix-source-actions a,
    .remix-brief-jump, .drawer-link,
    p a:not([class]), td a:not([class]), label a:not([class]),
    .faq-answer a, .legal-section a,
    .blog-content a:not(.cta-button):not(.blog-related-card),
    .account-note a, .pro-note a, .retention-signup-meta a,
    .signin-notice a, .kit-billing-note a, .kit-next-steps-note a):hover {
    border-color: var(--accent-green);
    color: var(--accent-green-light);
    background: var(--accent-green-glow);
    text-decoration: none;
    text-shadow: none;
}

a:focus-visible,
:is(.finder-skip, .signin-change, .description-toggle):focus-visible {
    outline: 2px solid var(--accent-green);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .link-button, .decision-summary a, .remix-back, .remix-source-actions a {
        transition: none;
    }
}
