Fix custom path matching for site section scope
Follow up to:
#3582504
**Description:**
The site-section scope supports custom path values such as `custom:/products/*`, but the selection pipeline currently relies on the base scope matching logic, which only compares the detected section ID to stored scope values. As a result, custom path patterns may never match during context selection.
**Scope:**
- Override `matchesCurrentContext()` in the site-section scope plugin.
- Match both configured section IDs and `custom:` path patterns against the current path.
- Preserve existing behavior for items with no site-section values.
- Add tests for predefined section matching, custom path matching, non-matching paths, and no-current-request behavior.
**Acceptance criteria:**
- Context items scoped to `custom:` paths are selected when the current path matches.
- Existing predefined site-section matching still works.
- Items with non-matching site-section restrictions are excluded.
- Tests cover wildcard and exact custom path patterns.
**AI usage disclosures:**
- [x] AI Assisted Issue
- [x] AI Generated Code
issue