/**
 * RW Site Toolkit Utility Classes
 */

/* Responsive Breakpoints */
/* Tablet: 782px and below (WordPress admin bar breakpoint) */
/* Mobile: 600px and below */

/* Max Width Utilities */
.rw-max-width-desktop {
    max-width: var(--rw-max-width-desktop) !important;
}

@media (max-width: 782px) {
    .rw-max-width-tablet {
        max-width: var(--rw-max-width-tablet) !important;
    }
}

@media (max-width: 600px) {
    .rw-max-width-mobile {
        max-width: var(--rw-max-width-mobile) !important;
    }
}

/* Align Self Utilities */
.rw-align-self-auto {
    align-self: auto !important;
}

.rw-align-self-flex-start {
    align-self: flex-start !important;
}

.rw-align-self-flex-end {
    align-self: flex-end !important;
}

.rw-align-self-center {
    align-self: center !important;
}

.rw-align-self-baseline {
    align-self: baseline !important;
}

.rw-align-self-stretch {
    align-self: stretch !important;
}

/* Display Flex Toggle */
.rw-flex-enabled,
.rw-flex-enabled > .block-editor-block-list__block-edit,
.rw-flex-enabled > .block-editor-block-list__block-edit > [data-block] {
    display: flex !important;
}

/* Ensure inner content wrapper also inherits flex for group blocks */
.wp-block-group.rw-flex-enabled > .wp-block-group__inner-container {
    display: flex !important;
}

/* Prevent WordPress layout system from overriding our flex settings */
.rw-flex-enabled.is-layout-constrained,
.rw-flex-enabled.is-layout-flow {
    display: flex !important;
}

/* Reset child flex constraints when using flex */
.rw-flex-enabled > *,
.rw-flex-enabled > .wp-block-group__inner-container > * {
    flex: 0 1 auto !important;
}

/* Flex Grow */
.rw-flex-grow {
    flex-grow: 1 !important;
}

/* Flex Direction Utilities - Desktop */
.rw-flex-direction-row,
.rw-flex-direction-row > .block-editor-block-list__block-edit,
.rw-flex-direction-row > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-flex-direction-row > .wp-block-group__inner-container {
    flex-direction: row !important;
}

.rw-flex-direction-row-reverse,
.rw-flex-direction-row-reverse > .block-editor-block-list__block-edit,
.rw-flex-direction-row-reverse > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-flex-direction-row-reverse > .wp-block-group__inner-container {
    flex-direction: row-reverse !important;
}

.rw-flex-direction-column,
.rw-flex-direction-column > .block-editor-block-list__block-edit,
.rw-flex-direction-column > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-flex-direction-column > .wp-block-group__inner-container {
    flex-direction: column !important;
}

.rw-flex-direction-column-reverse,
.rw-flex-direction-column-reverse > .block-editor-block-list__block-edit,
.rw-flex-direction-column-reverse > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-flex-direction-column-reverse > .wp-block-group__inner-container {
    flex-direction: column-reverse !important;
}

.rw-flex-direction-initial,
.rw-flex-direction-initial > .block-editor-block-list__block-edit,
.rw-flex-direction-initial > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-flex-direction-initial > .wp-block-group__inner-container {
    flex-direction: initial !important;
}

.rw-flex-direction-inherit,
.rw-flex-direction-inherit > .block-editor-block-list__block-edit,
.rw-flex-direction-inherit > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-flex-direction-inherit > .wp-block-group__inner-container {
    flex-direction: inherit !important;
}

/* Flex Direction Utilities - Tablet */
@media (max-width: 782px) {
    .rw-flex-direction-tablet-row {
        flex-direction: row !important;
    }

    .rw-flex-direction-tablet-row-reverse {
        flex-direction: row-reverse !important;
    }

    .rw-flex-direction-tablet-column {
        flex-direction: column !important;
    }

    .rw-flex-direction-tablet-column-reverse {
        flex-direction: column-reverse !important;
    }

    .rw-flex-direction-tablet-initial {
        flex-direction: initial !important;
    }

    .rw-flex-direction-tablet-inherit {
        flex-direction: inherit !important;
    }
}

/* Flex Direction Utilities - Mobile */
@media (max-width: 600px) {
    .rw-flex-direction-mobile-row {
        flex-direction: row !important;
    }

    .rw-flex-direction-mobile-row-reverse {
        flex-direction: row-reverse !important;
    }

    .rw-flex-direction-mobile-column {
        flex-direction: column !important;
    }

    .rw-flex-direction-mobile-column-reverse {
        flex-direction: column-reverse !important;
    }

    .rw-flex-direction-mobile-initial {
        flex-direction: initial !important;
    }

    .rw-flex-direction-mobile-inherit {
        flex-direction: inherit !important;
    }
}

/* Align Items Utilities */
.rw-align-items-flex-start,
.rw-align-items-flex-start > .block-editor-block-list__block-edit,
.rw-align-items-flex-start > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-flex-start > .wp-block-group__inner-container {
    align-items: flex-start !important;
}

.rw-align-items-flex-end,
.rw-align-items-flex-end > .block-editor-block-list__block-edit,
.rw-align-items-flex-end > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-flex-end > .wp-block-group__inner-container {
    align-items: flex-end !important;
}

.rw-align-items-center,
.rw-align-items-center > .block-editor-block-list__block-edit,
.rw-align-items-center > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-center > .wp-block-group__inner-container {
    align-items: center !important;
}

.rw-align-items-baseline,
.rw-align-items-baseline > .block-editor-block-list__block-edit,
.rw-align-items-baseline > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-baseline > .wp-block-group__inner-container {
    align-items: baseline !important;
}

.rw-align-items-stretch,
.rw-align-items-stretch > .block-editor-block-list__block-edit,
.rw-align-items-stretch > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-stretch > .wp-block-group__inner-container {
    align-items: stretch !important;
}

.rw-align-items-initial,
.rw-align-items-initial > .block-editor-block-list__block-edit,
.rw-align-items-initial > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-initial > .wp-block-group__inner-container {
    align-items: initial !important;
}

.rw-align-items-inherit,
.rw-align-items-inherit > .block-editor-block-list__block-edit,
.rw-align-items-inherit > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-align-items-inherit > .wp-block-group__inner-container {
    align-items: inherit !important;
}

/* Justify Content Utilities */
.rw-justify-space-between,
.rw-justify-space-between > .block-editor-block-list__block-edit,
.rw-justify-space-between > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-space-between > .wp-block-group__inner-container {
    justify-content: space-between !important;
}

.rw-justify-space-around,
.rw-justify-space-around > .block-editor-block-list__block-edit,
.rw-justify-space-around > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-space-around > .wp-block-group__inner-container {
    justify-content: space-around !important;
}

.rw-justify-space-evenly,
.rw-justify-space-evenly > .block-editor-block-list__block-edit,
.rw-justify-space-evenly > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-space-evenly > .wp-block-group__inner-container {
    justify-content: space-evenly !important;
}

.rw-justify-start,
.rw-justify-start > .block-editor-block-list__block-edit,
.rw-justify-start > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-start > .wp-block-group__inner-container {
    justify-content: flex-start !important;
}

.rw-justify-end,
.rw-justify-end > .block-editor-block-list__block-edit,
.rw-justify-end > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-end > .wp-block-group__inner-container {
    justify-content: flex-end !important;
}

.rw-justify-center,
.rw-justify-center > .block-editor-block-list__block-edit,
.rw-justify-center > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-center > .wp-block-group__inner-container {
    justify-content: center !important;
}

.rw-justify-initial,
.rw-justify-initial > .block-editor-block-list__block-edit,
.rw-justify-initial > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-initial > .wp-block-group__inner-container {
    justify-content: initial !important;
}

.rw-justify-inherit,
.rw-justify-inherit > .block-editor-block-list__block-edit,
.rw-justify-inherit > .block-editor-block-list__block-edit > [data-block],
.wp-block-group.rw-justify-inherit > .wp-block-group__inner-container {
    justify-content: inherit !important;
}
