/* ============================================================
   Trimble Footer — Bricks element
   ============================================================
   Custom properties (set inline on .trm-footer by Footer.php):
     --trm-f-bg          — main footer background
     --trm-f-bottom-bg   — bottom (copyright) bar background
     --trm-f-heading     — column heading text
     --trm-f-link        — link text
     --trm-f-link-hover  — link hover text
     --trm-f-copyright   — bottom-bar copyright text
     --trm-f-logo-h      — logo height
   ============================================================ */

.trm-footer,
.trm-footer * {
    box-sizing: border-box;
}

.trm-footer {
    background: var(--trm-f-bg, #1E3A8A);
    color: var(--trm-f-link, #BFD4FB);
    font-family: inherit;
    line-height: 1.55;
}

.trm-footer ul.trm-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.trm-footer__inner {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) repeat(auto-fit, minmax(180px, 1fr));
    gap: 32px;
    max-width: 1320px;
    margin: 0 auto;
    padding: 56px clamp(20px, 4vw, 40px) 40px;
}

/* ── Brand column ─────────────────────────────────────────── */
.trm-footer__brand {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 340px;
}

.trm-footer__logo {
    display: inline-flex;
    line-height: 0;
    text-decoration: none;
}

.trm-footer__logo img,
.trm-footer__logo-svg {
    display: block;
    height: var(--trm-f-logo-h, 32px);
    width: auto;
    max-width: 100%;
}

.trm-footer__tagline {
    margin: 0;
    color: var(--trm-f-link, #BFD4FB);
    font-size: 13px;
    line-height: 1.6;
}

/* ── Columns ──────────────────────────────────────────────── */
.trm-footer__columns {
    display: contents;
}

.trm-footer__column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.trm-footer__heading {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 600;
    color: var(--trm-f-heading, #FAFAF9);
    letter-spacing: 0.1px;
}

.trm-footer__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.trm-footer__link {
    color: var(--trm-f-link, #BFD4FB);
    text-decoration: none;
    font-size: 13px;
    line-height: 1.5;
    transition: color 160ms ease, opacity 160ms ease;
    word-break: break-word;
}

.trm-footer__link:hover,
.trm-footer__link:focus-visible {
    color: var(--trm-f-link-hover, #FAFAF9);
    outline: none;
}

/* ── Bottom bar ───────────────────────────────────────────── */
.trm-footer__bottom {
    background: var(--trm-f-bottom-bg, #0F2A6E);
    color: var(--trm-f-copyright, #7B9DD0);
}

.trm-footer__bottom-inner {
    max-width: 1320px;
    margin: 0 auto;
    padding: 14px clamp(20px, 4vw, 40px);
    text-align: center;
    font-size: 12px;
    line-height: 1.5;
}

.trm-footer__copyright {
    display: inline-block;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 768px) {
    .trm-footer__inner {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 44px;
        padding-bottom: 32px;
    }

    .trm-footer__brand {
        max-width: none;
    }

    .trm-footer__bottom-inner {
        font-size: 11.5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .trm-footer__link {
        transition: none !important;
    }
}
