:root {
  // Set root size for rems so that 1rem = 10px
  // stylelint-disable-next-line declaration-property-unit-allowed-list
  font-size: 62.5%;
}

// Editor exceptions below
// These styles are NO USE to front-end
// Need to be right after general, because after typography comes block styles
.editor-styles-wrapper {
  // Import typography related styles inside blocks
  @import 'layout/typography';

  // Import gravity forms inside Gutenberg editor
  @import 'features/gravity-forms';

  // Prevent horizontal scrolling
  overflow-x: hidden;

  // Use ACF defined font styles in ACF fields
  .acf-bl,
  .acf-bl *,
  .acf-field,
  .acf-input,
  .acf-button-group label,
  .wpseo-metabox-root *,
  .acf-fields *[class^='acf-']:not(.acf-field-url) {
    font-family: inherit;
    font-size: unset;
  }

  // Fix acf icons visibility issue
  .acf-icon {
    // stylelint-disable-next-line
    z-index: 5555 !important;
  }

  // Fix link colors in sidebar
  .edit-post-post-link__preview-link-container a,
  .editor-post-link a {

    // stylelint-disable-next-line
    color: inherit;
    text-decoration: inherit;
  }

  // Make buttons and input fields work in ACF previews
  .acf-block-preview .block {
    @import 'layout/forms';
  }

  // Fix padding for certain native blocks in article view
  .wp-block-text-columns,
  .wp-block-gallery,
  .wp-block.editor-post-title {
    @media (max-width: $width-max-article + 40px) {
      padding-left: var(--padding-container-horizontal);
      padding-right: var(--padding-container-horizontal);
      width: 100%;

      // stylelint-disable-next-line selector-max-specificity, selector-max-class
      &.alignleft,
      &.alignright,
      &.alignwide,
      &.alignfull {
        padding-left: 0;
        padding-right: 0;
      }
    }
  }

  // Full width image should be always without paddings
  .wp-block[data-align="full"] > .wp-block-image {
    padding-left: 0;
    padding-right: 0;
  }

  // Full width gallery should be always be with paddings
  .wp-block[data-align="full"] > .wp-block-gallery {
    padding-left: var(--padding-container-horizontal);
    padding-right: var(--padding-container-horizontal);

    // stylelint-disable-next-line no-descending-specificity, selector-max-specificity
    &.alignfull {
      padding-left: var(--padding-container-horizontal);
      padding-right: var(--padding-container-horizontal);
    }
  }

  // Wide gallery fix for mobile editor
  .wp-block[data-align="wide"] > .wp-block-gallery {
    width: 100%;
  }
}

// Fix alignleft and alignright figcaption width
// Hack for achieving the same than in gutenberg-helpers.js
[data-align="right"] figcaption,
[data-align="left"] figcaption {
  margin-left: auto;
  margin-right: auto;

  // Hack for keeping figcaption from flowing over floated image
  // This variable is set inline to the corresponding figure with gutenberg-helpers.js
  // stylelint-disable-next-line csstools/value-no-unknown-custom-properties
  max-width: var(--width-child-img);
  text-align: center;
}

// Default editor blocks
.is-root-container > .wp-block {
  font-family: var(--font-paragraph);

  // Font smoothing
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;

  // stylelint-disable-next-line value-keyword-case
  text-rendering: geometricPrecision;

  // Full width block
  &[data-align="full"] {
    max-width: $width-full;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
  }

  // Wide width block
  &[data-align="wide"] {
    max-width: $width-wide;
    width: 100%;

    @media (min-width: 870px) {
      padding-left: 0;
      padding-right: 0;
    }
  }
}

// stylelint-disable-next-line selector-attribute-quotes
.wp-block[data-type^=acf] {
  // Reset 28px gap that comes from wp-includes/css/dist/edit-post/classic.css
  margin-bottom: 0;
  margin-top: 0;

  // Allow ACF blocks to be full width by default
  max-width: 100%;
}

// Reset admin lists
.edit-post-layout__metaboxes ul,
.edit-post-layout__metaboxes ol,
.wp-admin .edit-post-sidebar ul,
.wp-admin .edit-post-sidebar ol {
  list-style: none;
  padding-left: 0;
}

// Reset minus margins in Gutenberg editor
// stylelint-disable-next-line selector-max-specificity
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-align="full"] {
  margin-left: unset;
  margin-right: unset;
}

// Article view main title in Gutenberg editor
.editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper .editor-post-title {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  max-width: $width-max-article;
  // stylelint-disable-next-line value-keyword-case
  text-rendering: geometricPrecision;
}

// Enable fonts in articles and Gutenberg editor in article view
.is-root-container > .wp-block.block-editor-rich-text__editable,
.is-root-container > .block-editor-rich-text__editable,
.is-root-container .wp-block.wp-block-quote,
.is-root-container .wp-block[data-type^="core"],
.is-root-container [contenteditable] p {
  font-family: var(--font-paragraph);

  // Font smoothing
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  max-width: $width-max-article;

  // stylelint-disable-next-line value-keyword-case
  text-rendering: geometricPrecision;
}
