.footer-content {
    border-top: 1px solid var(--text-color);
    padding: 78px 0px;
    display: flex;
}

/* Reduced max-width and margin-right to give menus more room */
.footer-description {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 340px; 
    margin-right: 6vw; 
    width: 100%;
}

.footer-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 24px;
}

.footer-logo-image {
    width: 100%;
    height: auto;
}

.footer-paragraph-wrapper {
    margin-bottom: 13px;
}

.footer-logo-text {
    font-family: var(--font4);
    line-height: 80%;
    letter-spacing: -0.02em;
    font-size: 56px;
}

.footer-form {
    margin-top: 13px;
}

.footer-form .subscribe-with-alerts {
    max-width: 100% !important;
}

.footer-socials {
    gap: 25px;
    margin-top: 0px;
    flex: unset;
    display: flex !important;
}

.footer-socials a {
    margin-top: 18px;
}

#instagram-footer,
#linkedin-footer,
#pinterest-footer {
    display: none;
}

.footer-navigation {
    display: none;
    justify-content: space-between;
    flex-wrap: wrap;
    column-gap: 5vw;
    row-gap: 78px;
    flex-grow: 1;
    padding-right: calc(5vw * var(--scale));
    margin-top: 18px;
}

.footer-links-label {
    font-size: 20px;
    font-weight: bold;
    line-height: 100%;
    margin-bottom: 25px;
    text-transform: uppercase;
    font-family: var(--font3);
}

.footer-secondary-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 20px;
}

/* Changed width to max-content so it doesn't force a line break */
.footer-navigation li {
    list-style-type: none;
    display: flex;
    flex-direction: column;
}

.footer-nav-link,
.footer-secondary-links a {
    line-height: 100%;
    font-size: 14px; 
}

.footer-bottom {
    padding: 17px 0px;
    font-size: 14px;
    line-height: 150%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--text-color);
    font-family: var(--font1);
    text-align: center;
    flex-wrap: wrap;
}

/* Styles for extra large desktop */
@media (min-width: 1920px) {
    .footer-navigation {
        max-width: 46%;
        margin-left: auto;
    }
}

/* Styles for large desktop */
@media (min-width: 1439px) {  
    .footer-content {
        padding: calc(5.42vw * var(--scale)) 0px;
    }
    
    /* Reduced scaling width to match the new 340px base */
    .footer-description {
        max-width: calc(23.6vw * var(--scale)); 
    }
    
    .footer-logo {
        margin-bottom: calc(1.67vw * var(--scale));
    }
    
    .footer-logo-image {
        width: 100%;
        height: auto;
    }
    
    .footer-paragraph-wrapper {
        margin-bottom: calc(0.9vw * var(--scale));
    }
    
    .footer-logo-text {
        font-size: calc(3.89vw * var(--scale));
    }
    
    .footer-form {
        margin-top: calc(0.9vw * var(--scale));
    }
    
    .footer-socials {
        gap: calc(1.74vw * var(--scale));
        margin-top: 0px;
    }
    
    .footer-socials a {
        margin-top: calc(1.25vw * var(--scale));
    }
    
    .footer-navigation {
        row-gap: calc(5.42vw * var(--scale));
        margin-top: calc(1.25vw * var(--scale));
    }
    
    .footer-links-label {
        font-size: calc(1.39vw * var(--scale));
        margin-bottom: calc(1.74vw * var(--scale));
    }

    .footer-nav-link,
    .footer-secondary-links a {
        font-size: calc(0.97vw * var(--scale)); 
    }
    
    .footer-secondary-links {
        row-gap: calc(1.39vw * var(--scale));
    }

    .footer-bottom {
        padding: calc(1.18vw * var(--scale)) 0px;
        font-size: calc(0.97vw * var(--scale));
    }
}

/* Styles for tablet */
@media (max-width: 991px) { 
    .footer-content {
        flex-direction: column;
        align-items: flex-start;
    }

    .footer-description {
        margin-right: 0px;
        max-width: 90%;
    }
    
    .footer-logo-text {
        font-size: 48px;
    }
    
    /* Reduced tablet gap from 15vw to 5vw so items don't push each other down */
    .footer-navigation {
        justify-content: flex-start;
        column-gap: 5vw; 
        padding-right: 0px;
        margin-top: 78px;
    }

    }

/* Styles for mobile */
@media (max-width: 479px) { 
    .footer-content {
        padding: 57px 0px;
    }
    
    .footer-description {
        max-width: 100%;
    }
    
    .footer-logo {
        margin-bottom: 18px;
    }
    
    .footer-logo-image {
        width: 100%;
        max-width: 320px;
        height: auto;
    }
    
    .footer-paragraph-wrapper {
        margin-bottom: 10px;
    }
    
    .footer-logo-text {
        font-size: 40px;
    }
    
    .footer-form {
        margin-top: 10px;
    }
    
    .footer-socials {
        gap: 22px;
        margin-top: 0px;
    }
    
    .footer-socials a {
        margin-top: 14px;
    }
    
    .footer-navigation {
        row-gap: 57px;
        margin-top: 57px;
    }
    
    .footer-links-label {
        font-size: 18px;
        margin-bottom: 23px;
    }
    
    .footer-secondary-links {
        row-gap: 18px;
    }

    /* Changed mobile rows back to 20 to ensure it fits cleanly on narrow screens */
    .footer-nav-link,
    .footer-secondary-links a {
        font-size: 12px;
    }
    
    .footer-bottom {
        padding: 14px 0px;
        font-size: 12px;
    }
}
/* Olympic Herald — short red underline beneath footer section labels */
.footer-links-label {
    position: relative;
    padding-bottom: 10px;
}

.footer-links-label::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 32px;
    height: 3px;
    background-color: var(--oh-red);
}

.footer-ownership-line {
    margin-top: 18px;
    font-family: var(--font1);
    font-size: 12.5px;
    line-height: 1.5;
    opacity: 0.6;
}

/* Tighter vertical rhythm now that the counties grid is gone */
.footer-content {
    padding: 56px 0px;
}
