/**
 * Footer 4-Column Equal Width Layout
 * Forces all footer columns to be equal width on same row
 * ONLY applies to footer template part, not content on other pages
 *
 * @package Fated_Quantum
 * @since 1.0.1
 */

/* Desktop: 4 equal columns on same row - ONLY in footer template part */
@media (min-width: 782px) {
    /* Override the :has() selector from page-improvements.css ONLY for footer template part */
    footer.wp-block-template-part .wp-block-columns:has(> .wp-block-column:nth-child(4)),
    body > footer .wp-block-columns:has(> .wp-block-column:nth-child(4)) {
        display: flex !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        gap: 0 !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
    }

    /* Override the :has() selector column rules ONLY for footer template part */
    footer.wp-block-template-part .wp-block-columns:has(> .wp-block-column:nth-child(4)) .wp-block-column,
    body > footer .wp-block-columns:has(> .wp-block-column:nth-child(4)) .wp-block-column {
        flex: 0 0 23% !important;
        flex-basis: 23% !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        max-width: 23% !important;
        min-width: 0 !important;
        width: 23% !important;
        margin-right: 2.33% !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Also target without :has() for fallback - ONLY footer template part */
    footer.wp-block-template-part .wp-block-columns.is-layout-flex,
    footer.wp-block-template-part .wp-block-columns,
    body > footer .wp-block-columns.is-layout-flex,
    body > footer .wp-block-columns {
        display: flex !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        gap: 0 !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Target each column - ONLY footer template part */
    footer.wp-block-template-part .wp-block-columns.is-layout-flex > .wp-block-column,
    footer.wp-block-template-part .wp-block-columns > .wp-block-column.is-layout-flow,
    footer.wp-block-template-part .wp-block-columns > .wp-block-column,
    footer.wp-block-template-part .wp-block-column.is-layout-flow,
    footer.wp-block-template-part .wp-block-column,
    body > footer .wp-block-columns.is-layout-flex > .wp-block-column,
    body > footer .wp-block-columns > .wp-block-column.is-layout-flow,
    body > footer .wp-block-columns > .wp-block-column,
    body > footer .wp-block-column.is-layout-flow,
    body > footer .wp-block-column {
        flex: 0 0 23% !important;
        flex-basis: 23% !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        max-width: 23% !important;
        min-width: 0 !important;
        width: 23% !important;
        margin-right: 2.33% !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Remove margin from last column - ONLY footer template part */
    footer.wp-block-template-part .wp-block-columns .wp-block-column:nth-child(4),
    footer.wp-block-template-part .wp-block-columns .wp-block-column:last-child,
    footer.wp-block-template-part .wp-block-columns:has(> .wp-block-column:nth-child(4)) .wp-block-column:nth-child(4),
    footer.wp-block-template-part .wp-block-columns:has(> .wp-block-column:nth-child(4)) .wp-block-column:last-child,
    body > footer .wp-block-columns .wp-block-column:nth-child(4),
    body > footer .wp-block-columns .wp-block-column:last-child {
        margin-right: 0 !important;
    }
}

/* Privacy/Terms list ONLY - direct child of space-between group in footer */
footer.wp-block-template-part .wp-block-group.is-content-justification-space-between > .wp-block-list,
body > footer .wp-block-group.is-content-justification-space-between > .wp-block-list {
    display: flex !important;
    flex-direction: row !important;
    gap: 1rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

footer.wp-block-template-part .wp-block-group.is-content-justification-space-between > .wp-block-list li,
body > footer .wp-block-group.is-content-justification-space-between > .wp-block-list li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
}

footer.wp-block-template-part .wp-block-group.is-content-justification-space-between > .wp-block-list li:not(:last-child)::after,
body > footer .wp-block-group.is-content-justification-space-between > .wp-block-list li:not(:last-child)::after {
    content: '•' !important;
    margin-left: 1rem !important;
    color: var(--wp--preset--color--medium-gray, #8a9ba8) !important;
}

/* Mobile: stack vertically - ONLY footer template part */
@media (max-width: 781px) {
    footer.wp-block-template-part .wp-block-columns .wp-block-column,
    body > footer .wp-block-columns .wp-block-column {
        flex-basis: 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: var(--wp--preset--spacing--40, 2rem);
    }
}

/* Fix vertical navigation blocks (Quick Navigation on API docs, etc.) */
/* Override page-improvements.css horizontal flex for vertical navigation */
.wp-block-navigation.is-vertical .wp-block-navigation__container,
main .wp-block-navigation.is-vertical .wp-block-navigation__container,
.wp-block-navigation.is-vertical .wp-block-page-list,
main .wp-block-navigation.is-vertical .wp-block-page-list {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0.5rem !important;
}

.wp-block-navigation.is-vertical .wp-block-pages-list__item,
main .wp-block-navigation.is-vertical .wp-block-pages-list__item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}
