/**
 * BlockStudio Extensions - Custom Styles
 *
 * This file contains custom styles for BlockStudio extensions.
 * Organize styles by block type for easier maintenance.
 */

/**
 * DGS Block Padding Extensions
 * Applied to all blocks matching the dgs/* pattern
 */

/* Padding Top */
[class*="dgs-"].padding-top-none {
    padding-top: 0 !important;
}

[class*="dgs-"].padding-top-xs {
    padding-top: var(--space-xs) !important;
}

[class*="dgs-"].padding-top-s {
    padding-top: var(--space-s) !important;
}

[class*="dgs-"].padding-top-m {
    padding-top: var(--space-m) !important;
}

[class*="dgs-"].padding-top-l {
    padding-top: var(--space-l) !important;
}

[class*="dgs-"].padding-top-xl {
    padding-top: var(--space-xl) !important;
}

[class*="dgs-"].padding-top-xxl {
    padding-top: var(--space-xxl) !important;
}

/* Padding Bottom */
[class*="dgs-"].padding-bottom-none {
    padding-bottom: 0 !important;
}

[class*="dgs-"].padding-bottom-xs {
    padding-bottom: var(--space-xs) !important;
}

[class*="dgs-"].padding-bottom-s {
    padding-bottom: var(--space-s) !important;
}

[class*="dgs-"].padding-bottom-m {
    padding-bottom: var(--space-m) !important;
}

[class*="dgs-"].padding-bottom-l {
    padding-bottom: var(--space-l) !important;
}

[class*="dgs-"].padding-bottom-xl {
    padding-bottom: var(--space-xl) !important;
}

[class*="dgs-"].padding-bottom-xxl {
    padding-bottom: var(--space-xxl) !important;
}

/* Padding Left */
[class*="dgs-"].padding-left-none {
    padding-left: 0 !important;
}

[class*="dgs-"].padding-left-xs {
    padding-left: var(--space-xs) !important;
}

[class*="dgs-"].padding-left-s {
    padding-left: var(--space-s) !important;
}

[class*="dgs-"].padding-left-m {
    padding-left: var(--space-m) !important;
}

[class*="dgs-"].padding-left-l {
    padding-left: var(--space-l) !important;
}

[class*="dgs-"].padding-left-xl {
    padding-left: var(--space-xl) !important;
}

[class*="dgs-"].padding-left-xxl {
    padding-left: var(--space-xxl) !important;
}

/* Padding Right */
[class*="dgs-"].padding-right-none {
    padding-right: 0 !important;
}

[class*="dgs-"].padding-right-xs {
    padding-right: var(--space-xs) !important;
}

[class*="dgs-"].padding-right-s {
    padding-right: var(--space-s) !important;
}

[class*="dgs-"].padding-right-m {
    padding-right: var(--space-m) !important;
}

[class*="dgs-"].padding-right-l {
    padding-right: var(--space-l) !important;
}

[class*="dgs-"].padding-right-xl {
    padding-right: var(--space-xl) !important;
}

[class*="dgs-"].padding-right-xxl {
    padding-right: var(--space-xxl) !important;
}

/**
 * Image Block Extensions
 */
figure.box-shadow img {
    box-shadow: var(--box-shadow-m);
}

/**
 * Heading Block Extensions
 */
/* Add heading-related extension styles here */

/**
 * Paragraph Block Extensions
 */
/* Add paragraph-related extension styles here */

/**
 * Button Block Extensions
 */
/* Add button-related extension styles here */

/**
 * Group Block Extensions
 */
/* Add group-related extension styles here */

/**
 * Column Block Extensions
 */
/* Add column-related extension styles here */

/**
 * WordPress Core Group/Column Block Fixes
 * Prevent horizontal overflow from flex containers
 */
[class*="wp-container-core-group-is-layout"],
[class*="wp-container-core-columns-is-layout"],
.wp-block-group.is-layout-flex,
.wp-block-columns.is-layout-flex {
    flex-wrap: nowrap;
    flex-direction: column;
}

/* Allow columns to remain horizontal when using alignwide/alignfull */
.wp-block-columns.alignwide,
.wp-block-columns.alignfull {
    flex-direction: row;
}

/**
 * Content Grid Alignment Styles
 * Using Automatic.css content-grid system
 * Only applies to WordPress content (not Bricks-built pages)
 */

/* Remove default width constraint on WordPress content using Bricks */
body.single #brx-content.wordpress,
body.page #brx-content.wordpress {
    width: unset;
}

/**
 * Alignwide - Uses feature-max grid column (WordPress content only)
 */
.wordpress .wp-block.alignwide,
.wordpress .alignwide {
    grid-column: feature-max;
    margin: auto;
    /* Override Bricks default alignwide styles */
    left: unset;
    right: unset;
    position: relative; /* Keep relative for overlays */
    width: auto;
    max-width: none;
}

/**
 * Alignfull - Uses full grid column edge to edge (WordPress content only)
 */
.wordpress .wp-block.alignfull,
.wordpress .alignfull {
    grid-column: full;
    /* Override Bricks default alignfull styles */
    left: unset;
    right: unset;
    position: relative; /* Keep relative for overlays */
    margin-left: 0;
    margin-right: 0;
    width: auto;
    max-width: none;
}

/**
 * Editor-specific alignment styles
 */
.editor-styles-wrapper .alignwide {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
}

.editor-styles-wrapper .alignfull {
    max-width: 100%;
}

/**
 * WordPress Block Layout Wrapper Fix
 * Remove padding from has-global-padding wrapper that constrains content
 */
.has-global-padding {
    padding-right: 0;
    padding-left: 0;
}

/**
 * Frames Plugin Block Fixes
 * Fix overflow issues with Frames blocks using content-grid system
 */
.alignwide.wp-block-frames-feature-card-uniform {
    grid-column: feature-max;
    margin: auto;
    left: unset;
    right: unset;
    position: relative;
    width: 100%;
    max-width: 100%;
}
