/* Shared link semantics: prose stays underlined; navigation and controls are explicit. */
:root{--sj-link-color:#244397;--sj-link-surface:var(--surface,#fff);--sj-link-line:var(--line,#dbe3ef);--sj-link-hover:#edf2ff;--sj-link-focus:#b86b00}
html[data-theme=dark]{--sj-link-color:#b9d2ff;--sj-link-surface:#17243a;--sj-link-line:#526782;--sj-link-hover:#233653;--sj-link-focus:#ffd280}
.site-footer{--sj-link-color:#d5e4ff;--sj-link-surface:#203553;--sj-link-line:#61748e;--sj-link-hover:#304864}
a[href]{text-underline-offset:.2em;text-decoration-thickness:.07em;text-decoration-skip-ink:auto;overflow-wrap:anywhere}
body :is(p,li,dd,td,.prose)>a[href]:not([class]),body .prose a[href]:not([class]){color:var(--sj-link-color);text-decoration-line:underline}
body :is(nav,.site-footer,.admin-sidebar,.school-sidebar,.candidate-sidebar,.pagination) a[href],body a:is(.button,.btn,.admin-btn,.admin-button,.school-button,.candidate-button,.guide-btn,.brand,.school-mark,.candidate-brand,.school-brand,.admin-brand,.nav-register-button,[role=button]){text-decoration:none!important}
/* Navigation uses one reserved border, never a second text underline. */
body .primary-nav a[href]:not(.button):not(.nav-register-button){border-bottom:2px solid transparent;padding-bottom:4px;text-decoration:none!important}
body .primary-nav a[aria-current=page]:not(.button):not(.nav-register-button){border-bottom-color:currentColor}
@media(hover:hover){body .primary-nav a[href]:not(.button):not(.nav-register-button):hover{border-bottom-color:currentColor;text-decoration:none!important}}
body a.sj-link{display:inline-flex;align-items:baseline;gap:.35em;color:var(--sj-link-color);font-weight:600;text-decoration:none}
body a.sj-link-button,body a[href^="tel:"],body :is(.help-center-shortcuts,.job-help-links,.job-school-phones) a[href]{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;max-width:100%;padding:.55rem .85rem;border:1px solid var(--sj-link-line);border-radius:9px;background:var(--sj-link-surface);color:var(--sj-link-color);font:inherit;font-weight:600;line-height:1.5;text-decoration:none!important;vertical-align:middle}
body :is(.help-center-shortcuts,.job-school-phones){display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}
body .job-school-phones>strong{flex-basis:100%}
body .job-help-links{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}
body .job-help-links>strong{margin-right:auto}
body .help-center-shortcuts a::after,body .job-help-links a::after{content:'→';font-weight:600}
body a[href]:focus-visible{outline:3px solid var(--sj-link-focus)!important;outline-offset:3px;border-radius:4px}
@media(hover:hover){body a.sj-link:hover{text-decoration:underline}body a.sj-link-button:hover,body a[href^="tel:"]:hover,body :is(.help-center-shortcuts,.job-help-links,.job-school-phones) a[href]:hover{background:var(--sj-link-hover);border-color:var(--sj-link-color)}body :is(nav,.site-footer) a[href]:not(.button):hover{text-decoration:underline!important}}
@media(max-width:600px){body :is(.help-center-shortcuts,.job-help-links){gap:.6rem;flex-direction:row}body .job-help-links>strong{flex-basis:100%}body .help-center-shortcuts a{flex:0 1 100%;text-align:center}body .job-help-links a{flex:1 1 140px;text-align:center}}
@media(forced-colors:active){body a[href]:focus-visible{outline-color:Highlight!important}body a.sj-link-button,body a[href^="tel:"],body :is(.help-center-shortcuts,.job-help-links,.job-school-phones) a[href]{border-color:LinkText}}
@media print{body a.sj-link-button,body a[href^="tel:"]{display:inline;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-decoration:underline!important}}
