/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
.inn-body {
    margin: 0;
    padding: 16px 0;
    min-height: 100vh;
    box-sizing: border-box;
    font-family: var(--k-font);
    font-size: 16px;
    line-height: 1.5;
    color: var(--c-fg);
    background-color: var(--c-surface);
    /* --inn-bg-image is set by innmelding-design.js from the shell's data-inn-bg
       attribute. Absent or unset, the page simply keeps the flat surface colour. */
    background-image: var(--inn-bg-image, none);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

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

/* Both exclusions are load-bearing, so neither may be simplified away (finding F26).

   :not(.btn) — Bootstrap paints button-shaped links through `.btn`, whose own `color` and
   `text-decoration` sit at specificity (0,1,0). A bare `.inn-body a` is (0,1,1) and therefore
   wins, repainting every <a class="btn"> in the brand colour on its own dark fill. Measured
   before this exclusion existed: btn-secondary 2.44:1, btn-success 2.53:1, btn-danger 2.53:1,
   btn-primary 2.55:1 by default and 2.93-3.06:1 on hover, against the 4.5:1 WCAG 2.2 AA
   threshold — and every one of them also picked up an unwanted underline. That hits the
   `Tilbake` button on every step but the first, and the Register/submit button on five
   Control pages.

   :not(.inn-skip) — the same trap one level up. Without it this rule is (0,2,1) and outranks
   `.inn-skip:focus` (0,2,0), so the focused skip link renders dark blue on its own dark blue
   background: 1:1, an invisible skip link. */
.inn-body a:not(.btn):not(.inn-skip) {
    color: var(--c-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.inn-body a:not(.btn):not(.inn-skip):hover {
    color: var(--c-fg);
}

.inn-body :focus-visible {
    outline: 3px solid var(--c-primary);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Skip link
   -------------------------------------------------------------------------- */
.inn-skip {
    position: absolute;
    left: -9999px;
    top: 8px;
    z-index: 2000;
    padding: 12px 18px;
    border-radius: 7px;
    background: var(--c-primary);
    color: #ffffff;
    font-weight: 700;
    text-decoration: none;
}

.inn-skip:focus,
.inn-skip:focus-visible {
    left: 16px;
    color: #ffffff;
}

