/* Sangford Campus360 UI Kit v1.0 — scoped base */
.c360-ui,
.c360-ui * {
    box-sizing: border-box;
}

.c360-ui {
    margin: 0;
    min-height: 100vh;
    background: var(--c360-page-bg);
    color: var(--c360-slate-900);
    font-family: var(--c360-font-sans);
    font-size: var(--c360-font-size-base);
    line-height: var(--c360-line-normal);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.c360-ui img,
.c360-ui svg {
    display: block;
    max-width: 100%;
}

.c360-ui button,
.c360-ui input,
.c360-ui select,
.c360-ui textarea {
    font: inherit;
}

.c360-ui :where(a) {
    color: var(--c360-brand-700);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.c360-ui :where(a:hover) {
    color: var(--c360-brand-900);
}

.c360-ui :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid transparent;
    box-shadow: var(--c360-focus-ring);
}

.c360-ui h1,
.c360-ui h2,
.c360-ui h3,
.c360-ui h4,
.c360-ui p {
    margin-top: 0;
}

.c360-ui h1,
.c360-ui h2,
.c360-ui h3,
.c360-ui h4 {
    color: var(--c360-brand-900);
    line-height: var(--c360-line-tight);
}

.c360-ui h1 {
    font-size: var(--c360-font-size-2xl);
}

.c360-ui h2 {
    font-size: var(--c360-font-size-xl);
}

.c360-ui h3 {
    font-size: var(--c360-font-size-lg);
}

.c360-ui p:last-child {
    margin-bottom: 0;
}

.c360-ui ::selection {
    background: var(--c360-brand-100);
    color: var(--c360-brand-950);
}

.c360-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.c360-skip-link {
    position: fixed;
    top: var(--c360-space-3);
    left: var(--c360-space-3);
    z-index: 9999;
    transform: translateY(-150%);
    padding: var(--c360-space-2) var(--c360-space-4);
    border-radius: var(--c360-radius-md);
    background: var(--c360-white);
    color: var(--c360-brand-900);
    box-shadow: var(--c360-shadow-md);
    font-weight: 700;
}

.c360-skip-link:focus {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .c360-ui *,
    .c360-ui *::before,
    .c360-ui *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
