/* Footer: brand, services, saved-menu pages and contact columns on the dark surface. */
.ocf-footer {
    border-top: var(--card-border-width) solid color-mix(in srgb, var(--ocf-heading-alt) 24%, transparent); /* full-width line where the CTA meets the footer */
    background: var(--neptune-band);
    color: var(--ocf-heading-alt);
    padding-block: calc(var(--ocf-grid-gap) * 2);
    font-size: var(--ocf-font-small-size);
}

.ocf-footer-grid {
    display: grid;
    grid-template-columns: 320fr 208fr 176fr 320fr;
    gap: calc(var(--ocf-grid-gap) * 2);
}

.ocf-footer-brand {
    display: block;
    max-width: calc(var(--ocf-grid-gap) * 7.5);
    margin-bottom: calc(var(--ocf-grid-gap) * 0.625);
}

.ocf-footer .eyebrow {
    color: var(--ocf-secondary);
    margin-bottom: calc(var(--ocf-grid-gap) * 0.625);
}

.ocf-footer-links {
    display: flex;
    flex-direction: column;
    gap: calc(var(--ocf-grid-gap) * 0.4375);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ocf-footer-contact a,
.ocf-footer-contact__row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(var(--ocf-space-unit) * 0.625);
    align-items: start;
}

.ocf-footer-icon {
    width: calc(var(--ocf-space-unit) * 1.125);
    height: calc(var(--ocf-space-unit) * 1.125);
    margin-top: calc(var(--ocf-space-unit) * 0.125);
    color: var(--ocf-secondary);
}

.ocf-footer-phone {
    font-weight: var(--font-weight-bold);
}

.ocf-footer a:hover {
    color: var(--ocf-secondary);
}

.ocf-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: var(--ocf-grid-gap);
    margin-top: calc(var(--ocf-grid-gap) * 1.5);
    padding-top: var(--ocf-grid-gap);
    border-top: var(--card-border-width) solid color-mix(in srgb, var(--ocf-heading-alt) 16%, transparent);
}

.ocf-footer-bottom > div {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--ocf-grid-gap) * 0.625);
}

@media (max-width: 1000px) {
    .ocf-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: calc(var(--ocf-grid-gap) * 1.25);
    }
}

@media (max-width: 600px) {
    .ocf-footer-grid {
        grid-template-columns: 1fr;
    }

    .ocf-footer-bottom {
        flex-direction: column;
    }
}

/* OCF_AGENT_BLOCK:footer-navy-text START */
/* Dark navy text on the orange band (about 6:1 contrast); fixed so it stays readable in dark mode too. */
.ocf-footer {
    --footer-ink: #18344a;
    --footer-ink-strong: #0d2233;
    color: var(--footer-ink);
    border-top-color: color-mix(in srgb, var(--footer-ink) 20%, transparent);
}

.ocf-footer a,
.ocf-footer p,
.ocf-footer span {
    color: inherit;
}

.ocf-footer .eyebrow {
    color: var(--footer-ink-strong);
    font-weight: 800;
}

.ocf-footer-icon {
    color: var(--footer-ink-strong);
}

.ocf-footer-phone {
    color: var(--footer-ink-strong);
}

.ocf-footer a:hover {
    color: var(--footer-ink-strong);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.ocf-footer-bottom {
    border-top-color: color-mix(in srgb, var(--footer-ink) 25%, transparent);
}
/* OCF_AGENT_BLOCK:footer-navy-text END */

/* OCF_AGENT_BLOCK:footer-logo-size START */
/* Footer logo: the logo file is square with wide empty margins, so show it large and pull the margins in
 * (left edge lines up with the text below). */
.ocf-footer .ocf-footer-brand {
    max-width: none;
    width: max-content;
    margin-bottom: calc(var(--ocf-grid-gap) * 0.25);
}

.ocf-footer .ocf-footer-brand img {
    display: block;
    width: 220px;
    max-width: none;
    height: 220px;
    margin: -40px 0 -36px -31px;
    object-fit: contain;
}

@media (max-width: 600px) {
    .ocf-footer .ocf-footer-brand img {
        width: 190px;
        height: 190px;
        margin: -34px 0 -30px -27px;
    }
}
/* OCF_AGENT_BLOCK:footer-logo-size END */

/* OCF_AGENT_BLOCK:footer-five-columns START */
/* Five columns once the Service Areas column is present. */
@media (min-width: 1001px) {
    .ocf-footer-grid:has(> nav:nth-of-type(3)) {
        grid-template-columns: 280fr 200fr 170fr 150fr 260fr;
        gap: calc(var(--ocf-grid-gap) * 1.5);
    }
}
/* OCF_AGENT_BLOCK:footer-five-columns END */
