main {
    --ftr-v7-olp: 5rem;
}

.ftr.v7 {
    background-color: var(--background);

    /* Card heading: uppercase Rubik with tracking */
    .ftr-v7-hdg {
        --fnt-t-6-tt: uppercase;
        --fnt-t-6-ls: 0.04em;
    }

    /* CTA heading size override (Figma: 36px / 2.25rem) */
    --fnt-t-2-s-d: 2.25rem;

    /* -- Card grid ------------------------------ */


    .bg-bx.lk-bg {
        --inner-theme: var(--main-bg);
        box-shadow: 0 1px 3px 0 hsl(from var(--text-color) h s l / 0.10), 0 1px 2px -1px hsl(from var(--text-color) h s l / 0.10);
      
    }

    .ftr-nv {
        > .pd_h.pd_v {
            padding: 1.78rem;
        }
    }


    /* -- Description text (bold body) ----------- */

    .ftr-v7-desc {
        line-height: 1.3;
        color: var(--text-color);
        letter-spacing: -.15px;
    }

    .fnt_t-6.lc {
        font-weight: 400;
    }

    /* -- Nav link lists ------------------------ */
    .ftr-v7-links {
        li {
            display: flex;
            align-items: center;
            gap: 1rem;
            font-weight: 700;
        

            &::before {
                content: '';
                width: 0.375rem;
                height: 0.375rem;
                border-radius: 50%;
                background-color: var(--buttons);
                flex-shrink: 0;
            }

            a {
                color: hsl(from var(--text-color) h s l / 0.6);
            }
        }
    }

    /* -- Visit Us card: address ----------------- */

    .ftr-v7-addr {
        font-size: .89rem;
        gap: 0.25rem;
    }

    /* -- Divider sections (Follow Us, Payments) - */

    .fnt_t-nt {
        font-size: 0.75rem;
        line-height: 1.33;
        color: hsl(from var(--text-color) h s l / 0.6);
        margin-bottom: .44rem;
    }

    /* -- Social icons -------------------------- */

    .ftr-v7-socials {
        gap: 0.5rem;
    }

    .so-lk {
        width: 2.25rem;
        height: 2.25rem;
        background: hsl(from var(--text-color) h s l / 0.05);
        border-radius: .56rem;

        svg {
            width: 1rem;
            height: 1rem;
            fill: currentColor;
        }
    }

    /* -- Payment icons ------------------------- */

    .ftr-v7-payments {
        gap: 1.25rem;

        svg {
            height: 1.875rem;
            width: auto;
        }
    }

    /* -- Bottom CTA card ----------------------- */

    .bg-bx.ulk-bg {
  
        .icn {
            font-size: 1.11rem;
        }
    }

   
    .ftr-v7-body {
        color: hsl(from var(--text-color) h s l / 0.8);
    }

    .ftr-v7-contact {
        gap: 2.5rem;
    }

    .ftr-v7-hours {
        font-size: 1.11rem;
        line-height: 1;
    }

    .ftr-v7-cta {
        --fnt-phn-s: 1.11rem;
        > .pd_h.pd_v {
            padding: 2.67rem;
        }
    }

    .ftr-v7-cta-right {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }

    .ftr-v7-sub {
        color: hsl(from var(--text-color) h s l / 0.8);
        text-align: center;
        letter-spacing: -.4px;
    }

    /* -- Overlap: CTA extends below footer ----- */

     @media screen and (min-width: 700px) {
         & {

            .ftr-v7-links {
                --itm-val: 50;
                --itm-w: calc( var(--itm-val) * 1% - ( var(--grd-sp-dyn) * ( (100 - var(--itm-val)) * .01 ) ) );
            }
        }
     }

    @media screen and (min-width: 1280px) {

        & {
            padding-top: calc(var(--pd-v) + (var(--ftr-v7-olp) / 2)) !important;

        }

        .ftr-v7-cta {
            max-width: 80%;
            margin-inline: auto;
            margin-top: calc(-1 * (var(--ftr-v7-olp) + (var(--pd-v) * 2)));
        }

        .ftr-v7-cta-left {
            max-width: 65%;
        }

    }
}

@media screen and (min-width: 1280px) {
    :has(+ .ftr.v7) {
        padding-bottom: calc(var(--pd-v) + var(--ftr-v7-olp)) !important;
    }
}
