/* ============================================================
   FOOTER
   COLOR + FONT NOTES:
   - Main footer background is --footer-bg below.
   - Text sizes are deliberately grouped here for easy editing.
   ============================================================ */

.site-footer{
    --footer-bg:#252525; /* EDIT FOOTER BACKGROUND */
    --footer-text:#ffffff; /* EDIT FOOTER TEXT */
    --footer-muted:rgba(255,255,255,.68); /* EDIT MUTED TEXT */
    --footer-line:rgba(255,255,255,.14); /* EDIT DIVIDER */

    margin-top:0;
    background:var(--footer-bg);
    color:var(--footer-text);
}

.site-footer a{color:inherit}
.site-footer__top{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:2.5rem;
    padding:4rem 0 3.25rem;
}

.site-footer__brand{
    grid-column:1/-1;
    text-align:center;
}
.site-footer__brand p{
    max-width:none;
    width:100%;
}

.footer-logo{
    display:inline-flex;
    max-width:155px;
    margin-bottom:1rem;
    text-decoration:none;
}
.footer-logo img{
    width:auto;
    max-height:54px;
    filter:brightness(0) invert(1);
}
.footer-logo span{
    font-size:1.45rem; /* EDIT FOOTER LOGO SIZE */
    font-weight:900;
}
.site-footer__brand p,
.site-footer__contact p{
    max-width:290px;
    margin-bottom:1rem;
    color:var(--footer-muted);
    font-size:.76rem; /* EDIT FOOTER BODY SIZE */
    line-height:1.7;
}
.site-footer__brand p{max-width:none}

.site-footer__column h2{
    margin:0 0 1rem;
    color:var(--footer-text);
    font-size:.68rem; /* EDIT FOOTER HEADING SIZE */
    letter-spacing:.11em;
    text-transform:uppercase;
}
.site-footer__column ul{
    margin:0;
    padding:0;
    list-style:none;
}
.site-footer__column li+li{margin-top:.6rem}
.site-footer__column a{
    font-size:.73rem; /* EDIT FOOTER LINK SIZE */
    text-decoration:none;
    color:var(--footer-muted);
}
.site-footer__column a:hover{
    color:#ffffff;
    opacity:1;
}

.footer-text-link{
    color:#fff!important;
    font-size:.72rem!important;
    font-weight:800;
}
.footer-phone{
    display:block;
    margin-bottom:.35rem;
    color:var(--color-primary, #df1037)!important; /* EDIT CONTACT HIGHLIGHT */
    font-size:1.15rem!important; /* EDIT PHONE SIZE */
    font-weight:800;
}
.footer-email{
    display:block;
    margin-bottom:.75rem;
    color:#fff!important;
    font-size:.75rem!important;
}

.site-footer__bottom{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:1.1rem 0;
    border-top:1px solid var(--footer-line);
}
.site-footer__bottom p,
.footer-bottom-links{
    margin:0;
    color:var(--footer-muted);
    font-size:.62rem; /* EDIT COPYRIGHT SIZE */
}
.footer-bottom-links{display:flex;gap:1rem}
.footer-bottom-menu{display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0;list-style:none}
.footer-bottom-links a{text-decoration:none}

@media(max-width:1050px){
    .site-footer__top{grid-template-columns:repeat(4,minmax(0,1fr))}
    .site-footer__column:last-child{grid-column:auto}
}
@media(max-width:800px){
    .site-footer__top{grid-template-columns:repeat(2,1fr);gap:2rem}
    .site-footer__brand{grid-column:1/-1}
}
@media(max-width:600px){
    .site-footer__top{grid-template-columns:1fr;padding:2.75rem 0 2.25rem}
    .site-footer__brand{grid-column:auto}
    .site-footer__bottom{flex-direction:column}
}

/* One centered menu replaces the footer columns. */
.site-footer__top{display:flex;flex-direction:column;align-items:center;gap:1.75rem}
.site-footer__brand,.footer-minimal{width:100%}
.footer-minimal-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 2rem;margin:0;padding:0;list-style:none}
.footer-minimal-menu a{font-size:.8rem;color:var(--footer-muted);text-decoration:none}
.footer-minimal-menu a:hover,.footer-minimal-menu a:focus-visible{color:var(--footer-text);text-decoration:underline}
