//
// WordPress Grid
// --------------------------------------------------

@mixin wp-block-grid-container($type: null) {

  //Set default container
  @if ($type == null) {
    max-width: $grid-container;
    width: auto;
    margin-left: auto;
    margin-right: auto;

    @include -zf-breakpoint-value(auto, $grid-margin-gutters) {
      $wp_block_gutters_small : rem-calc($-zf-bp-value);
      @include breakpoint(($grid-container + ($wp_block_gutters_small * 1.5))  down) {
        margin-left: $wp_block_gutters_small / 2;
        margin-right: $wp_block_gutters_small / 2;
      }
    }
  }

  //Wide container
  @if ($type == wide and $xy-grid) {
    &.alignwide {
      @include xy-grid-container(100%, 0);
      @include xy-gutters($gutter-type: margin);
      width: auto;

      > [class*="__inner-container"],
      > [class*="embed__wrapper"] {
        @include xy-grid-container(100%, 0);
        width: auto;
      }
    }
  }

  //Full container
  @if ($type == wide and $xy-grid) {
    &.alignfull {
      @include xy-grid-container(100%, 0);

      > [class*="__inner-container"],
      > [class*="embed__wrapper"] {
        @include xy-grid-container(100%, 0);
      }
    }
  }
}

//-- alignment
.aligncenter {
  margin: auto;
}

.alignleft,
.alignright {

  @include -zf-breakpoint-value(auto, $grid-margin-gutters) {
    margin-bottom: (rem-calc($-zf-bp-value) / 2);
  }
}

//-- Align position
@include breakpoint(medium) {
  .alignleft {
    float: left;

    @include -zf-breakpoint-value(medium, $grid-margin-gutters) {
      margin-right: (rem-calc($-zf-bp-value) / 2);
    }
  }

  .alignright {
    float: right;

    @include -zf-breakpoint-value(medium, $grid-margin-gutters) {
      margin-left: (rem-calc($-zf-bp-value) / 2);
    }
  }
}

//-- Condition style
.is-style-wide {
  @include xy-grid-container(100%);
}

.is-style-default {
  //Empty
}

.wp-block-group {

  @include wp-block-grid-container;
  @include wp-block-grid-container(wide);
  @include wp-block-grid-container(full);

  //Set negative gutter if grid padding or margin
  & > * {
    & > .grid-padding-x,
    & > .grid-margin-x {
      @include xy-gutters($negative: true);
    }
  }
}

//-- Content if 'entry-align' class is present
.main > .entry-content > * {

  @include wp-block-grid-container;
  @include wp-block-grid-container(wide);
  @include wp-block-grid-container(full);

  //Set negative gutter if grid padding or margin
  & > * {
    & > .grid-padding-x,
    & > .grid-margin-x {
      @include xy-gutters($negative: true);
    }
  }
}

.main > .entry-content > *:first-child {
  margin-top: 0;
}

.main > .entry-content > *:last-child {
  margin-bottom: 0;
}

.main > .entry-content > .alignwide:not(.wp-block-group.has-background),
.main > .entry-content > .alignfull:not(.wp-block-group.has-background) {
  margin-bottom: 6rem;
  margin-top: 6rem;
}
