/* Opt-in information-page navigation, enabled through local_contents. */
.guide-layout--local-contents { --local-contents-offset: 7rem; grid-template-columns: 14rem minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); }
.guide-layout--local-contents .local-contents { position: sticky; top: var(--local-contents-offset); align-self: start; max-height: calc(100dvh - var(--local-contents-offset) - 1rem); overflow-y: auto; }
.local-contents__title { margin: 0 0 1rem; color: var(--color-ink-soft); font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.local-contents__disclosure > summary { display: none; }
.guide-layout--local-contents .local-contents nav ul, .guide-layout--local-contents .local-contents nav li { display: block; border: 0; }
.guide-layout--local-contents .local-contents nav a { min-height: 2.75rem; display: flex; align-items: center; padding: .6rem 0; color: var(--color-ink); font-size: .9375rem; line-height: 1.5; font-weight: 500; text-decoration: none; }
.guide-layout--local-contents .local-contents nav a[aria-current="location"] { color: var(--color-brand); font-weight: 700; }
.local-contents .guide-contact { margin-top: 2.5rem; color: var(--color-ink-soft); font-family: var(--font-sans); font-size: .875rem; font-weight: 400; }
.local-contents .guide-contact span { display: flex; align-items: center; gap: .25rem; margin: .35rem 0 0; color: var(--color-brand); font-size: .9375rem; font-weight: 600; }
.local-contents .guide-contact .fc-icon--arrow { width: .8125rem; height: .8125rem; margin-left: 0; }
.local-contents :is(a, summary):focus-visible { outline: 2px solid var(--color-brand); outline-offset: 4px; }
.guide-layout--local-contents .guide-main > .guide-section { scroll-margin-top: var(--local-anchor-margin, 0px); }
@media (min-width: 60rem) {
    .guide-layout--local-contents > :is(.local-contents, .guide-main),
    .guide-layout--local-contents .guide-main > .guide-section:first-of-type { padding-top: 0; }
    /* Optical alignment of the small label with the larger section heading. */
    .local-contents__title { line-height: 2.2; }
    .guide-layout--local-contents .local-contents nav a {
        cursor: pointer;
        transition: color var(--transition-fast), text-indent var(--transition-fast);
    }
    .guide-layout--local-contents .local-contents nav a:focus-visible {
        color: var(--color-brand);
        text-indent: 2px;
        outline-offset: -2px;
    }
}
@media (min-width: 60rem) and (hover: hover) {
    .guide-layout--local-contents .local-contents nav a:hover {
        color: var(--color-brand);
        text-indent: 2px;
        text-decoration: none;
    }
}
@media (prefers-reduced-motion: reduce) {
    .guide-layout--local-contents .local-contents nav a:is(:hover, :focus-visible) {
        transition: none;
        text-indent: 0;
    }
}
@media (max-width: 59.99rem) {
    .guide-layout--local-contents { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .guide-layout--local-contents .local-contents { position: static; max-height: none; overflow: visible; }
    .local-contents__title { display: none; }
    .local-contents__disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 2.75rem; padding: .5rem 0; color: var(--color-ink); font-size: 1rem; font-weight: 650; list-style: none; cursor: pointer; }
    .local-contents__disclosure > summary::-webkit-details-marker { display: none; }
    .local-contents__disclosure > summary::after { content: ''; width: .5rem; height: .5rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-right: .25rem; }
    .local-contents__disclosure[open] > summary::after { transform: rotate(225deg); }
    .guide-layout--local-contents .local-contents nav { padding-block: .5rem; }
    .local-contents .guide-contact { margin-top: 1.5rem; }
}


/* Opt-in reading-width separators. First reference: Sikkerhet. */
.guide-main--quiet-separators > .guide-section {
    position: relative;
    border-bottom: 0;
}
.guide-main--quiet-separators > .guide-section:not(:last-of-type)::after {
    content: '';
    position: absolute;
    inset: auto auto 0 0;
    width: min(100%, 66ch, var(--content-reading));
    height: 1px;
    background: color-mix(in srgb, var(--color-border) 45%, transparent);
    pointer-events: none;
}
.guide-main--quiet-separators > .guide-section + .guide-section {
    padding-top: var(--space-7);
}

/* Sports rules have longer navigation labels than the other guides. */
@media (min-width: 60rem) {
    .guide-layout--local-contents.guide-layout--sports-rules { grid-template-columns: 17rem minmax(0, 1fr); }
}

.guide-layout--sports-rules .regulation-body :is(ul, ol) { max-width: 66ch; }
