/**
 * Footer Menu Styles 4.0
 * Matches main navigation mega menu typography, colors, and spacing
 * Does NOT modify grid/layout - only menu item styling
 */

/* ============================================
   BASE STYLES (Mobile First)
   ============================================ */

/* Footer Bottom Layout */
.footer-bottom {
    display: flex;
    flex-direction: column;
    /*gap: 20px;*/
}

.footer-bottom-left {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

/* Footer Copyright Text */
.footer-copyright-text {
    color: rgba(36, 61, 115, 0.75);
    font-size: 16px;
}

/* Footer Menu List */
.footer-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Top Level Menu Items */
.footer-menu-list>li {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-bottom: 2em;
}

.footer-menu-list>li:last-child {
    padding-bottom: 0;
}

/*footer borders*/

.site-footer .layout-five-cols.section-row {
    border-top: solid 1px rgba(36, 61, 115, 0.2);
}

.site-footer .layout-five-cols.section-row {
    border-bottom: solid 1px rgba(36, 61, 115, 0.2);
}

.site-footer .copyright-wrapper {
    border-top: solid 1px rgba(36, 61, 115, 0.2);
}

.site-footer .copyright-wrapper .footer-bottom {
    padding: calc(2 * var(--verspace)) 0;
}

/* Top Level Links (Column Headings) */
.footer-menu-list>li>a {
    color: var(--dark-blue);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    margin-bottom: 16px;
    padding: 0;
    text-transform: none;
    transition: color 0.2s ease;
    text-decoration: none;
    display: block;
}

.footer-menu-list>li>a:hover {
    color: var(--royal-blue);
}

.footer-menu-list>li.current-menu-item>a,
.footer-menu-list>li.current-menu-ancestor>a {
    color: var(--royal-blue);
}

/* Sub-menu Container */
.footer-menu-list .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Sub-menu Items */
.footer-menu-list .sub-menu li {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Sub-menu Links */
.footer-menu-list .sub-menu a {
    color: rgba(36, 61, 115, 0.7);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    padding: 0;
    display: inline-block;
    transition: color 0.2s ease;
    text-decoration: none;
}

.footer-menu-list .sub-menu a:hover {
    color: var(--dark-blue);
}

/* Active state for sub-menu items */
.footer-menu-list .sub-menu li.current-menu-item>a,
.footer-menu-list .sub-menu li.current_page_item>a {
    color: var(--royal-blue);
}

.site-footer .list-labels .list-label {
    padding-bottom: 0;
    border-bottom: none;
}

/*footer list labels*/
.site-footer .list-label-title {
    color: var(--dark-blue);
    font-size: 18px;
    line-height: 1.3;
}

.site-footer .list-labels .list-label {
    grid-gap: 12px;
}

/*footer Trusted*/
.section-col.trusted h2 {
    text-align: left;
}

/* ============================================
   TABLET & DESKTOP STYLES
   Match existing breakpoints from style.css
   ============================================ */

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

    /*.site-footer .content-wrapper .section-col:nth-child(2),
    .content-wrapper .section-col:nth-child(4) {
        border-right: 1px solid rgba(36, 61, 115, 0.075);
    }*/
    /* Bottom Footer Layout - Custom Grid Columns */
    .site-footer .layout-two-cols.content-wrapper.wrap-wide>.section-col:first-child {
        grid-column: 1 / span 24;
    }


    /*Footer Menu Grid*/
    .site-footer .layout-five-cols .section-col .footer-menu-list {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 0;
    }

    /*footer Trusted*/
    .section-col.trusted h2 {
        text-align: right;
    }

}

/* 1024px - Desktop Navigation Kicks In */
@media only screen and (min-width: 1024px) {

    /* List label title larger on desktop */
    .list-labels.content-row {
        grid-gap: 2em;
    }

    /* Match desktop navigation heading size */
    .footer-menu-list>li>a {
        font-size: 18px;
        margin-bottom: 20px;
    }

    /* Match desktop navigation sub-item size */
    .footer-menu-list .sub-menu a {
        font-size: 16px;
    }

    /* Match desktop navigation gap */
    .footer-menu-list .sub-menu {
        grid-gap: 12px;
    }

    /* Footer bottom - side by side layout */
    .footer-bottom {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }

}