/*
 * Base tipográfica e comportamental do CADURB.
 *
 * O escopo em .cadurb-shell preserva páginas públicas, documentos e telas de
 * impressão que não usam o shell interno.
 */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 100%;
}

body.cadurb-shell {
    min-height: 100%;
    margin: 0;
    background: var(--cadurb-content-bg);
    color: var(--cadurb-text);
    font-family: var(--cadurb-font-family-sans);
    font-size: var(--cadurb-font-size-body);
    font-weight: var(--cadurb-font-weight-regular);
    line-height: var(--cadurb-line-height-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.cadurb-shell :where(button, input, optgroup, select, textarea) {
    font-family: inherit;
}

.cadurb-shell :where(h1, h2, h3, h4, h5, h6) {
    color: inherit;
    font-family: inherit;
    font-weight: var(--cadurb-font-weight-semibold);
    line-height: var(--cadurb-line-height-heading);
}

.cadurb-shell :where(p, ul, ol, dl) {
    line-height: var(--cadurb-line-height-body);
}

.cadurb-shell :where(a) {
    color: var(--cadurb-primary-strong);
}

.cadurb-shell :where(a):hover {
    color: var(--cadurb-primary);
}

.cadurb-shell :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: var(--cadurb-focus-width) solid var(--cadurb-focus);
    outline-offset: 2px;
}

.cadurb-shell ::selection {
    background: var(--cadurb-primary);
    color: var(--cadurb-surface);
}

.cadurb-skip-link {
    position: fixed;
    z-index: var(--cadurb-z-skip-link);
    top: var(--cadurb-space-3);
    left: 50%;
    padding: var(--cadurb-space-3) var(--cadurb-space-4);
    border-radius: var(--cadurb-radius-md);
    background: var(--cadurb-surface);
    color: var(--cadurb-primary-strong);
    font-weight: var(--cadurb-font-weight-bold);
    box-shadow: var(--cadurb-shadow-none);
    transform: translate(-50%, calc(-100% - var(--cadurb-space-4)));
    transition: transform var(--cadurb-duration-fast) var(--cadurb-easing-standard);
}

.cadurb-skip-link:focus {
    color: var(--cadurb-primary-strong);
    text-decoration: none;
    box-shadow: var(--cadurb-shadow-focus-surface);
    transform: translate(-50%, 0);
}
