/**
 * Site footer — parts/footer.html (redesign phase 4). Tokens only.
 * Logo + address · Utstyr · Dryhire · Kontakt, bottom line with © and org.nr.
 */
.wp-block-template-part:has(> .dh-footer),
footer:has(> .dh-footer) {
    margin-top: 0 !important;
}

.dh-footer {
    display: grid;
    gap: 28px;
    max-width: calc(var(--content-width) + 2 * 2rem);
    margin: 1.5rem auto 0 !important;
    padding: 32px var(--dh-gutter) calc(20px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    border-top: 1px solid var(--dh-border);
    background: var(--dh-background);
    color: var(--dh-foreground);
    font-family: var(--dh-font-sans);
}

.dh-footer > *,
.dh-footer__cols > *,
.dh-footer__brand > *,
.dh-footer__col > * {
    margin: 0 !important;
}

@media (min-width: 768px) {
    .dh-footer { padding-inline: 1.5rem; }
}

@media (min-width: 1024px) {
    .dh-footer { padding-inline: 2rem; }
}

.dh-footer__cols {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.dh-footer__brand {
    display: grid;
    gap: 8px;
    align-content: start;
}

.dh-footer__logo .dh-logo__svg {
    height: 20px;
}

.dh-footer__muted {
    font-size: 14px;
    color: var(--dh-muted-foreground);
}

.dh-footer__title {
    margin-bottom: 10px !important;
    font-family: var(--dh-font-sans);
    font-size: 12px !important;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--dh-muted-foreground);
}

.dh-footer__list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
}

.dh-footer__list li {
    margin: 0;
}

.dh-footer a {
    color: var(--dh-foreground);
    text-decoration: none;
}

.dh-footer a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.dh-footer a:focus-visible {
    outline: 3px solid color-mix(in oklch, var(--dh-ring) 50%, transparent);
    outline-offset: 2px;
    border-radius: 4px;
}

.dh-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    padding-top: 16px;
    border-top: 1px solid var(--dh-border);
    font-size: 13px;
    color: var(--dh-muted-foreground);
    font-variant-numeric: tabular-nums;
}

.dh-footer__bottom p {
    margin: 0;
}

@media (max-width: 768px) {
    .dh-footer__cols {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dh-footer__brand {
        grid-column: 1 / -1;
    }
}
