/*--------------------------------------------------------------
    Block: Base Margins
--------------------------------------------------------------*/
.wp-block-archives,
.wp-block-button,
.wp-block-calendar,
.wp-block-categories,
.wp-block-code,
.wp-block-columns,
.wp-block-cover,
.wp-block-cover-image,
.wp-block-embed,
.wp-block-file,
.wp-block-gallery,
.wp-block-group,
.wp-block-image,
.wp-block-latest-comments,
.wp-block-latest-posts,
.wp-block-media-text,
.wp-block-navigation,
.wp-block-post-excerpt,
.wp-block-post-featured-image,
.wp-block-preformatted,
.wp-block-pullquote,
.wp-block-query,
.wp-block-quote,
.wp-block-quote.is-style-large,
.wp-block-search,
.wp-block-separator,
.wp-block-site-title,
.wp-block-social,
.wp-block-social-links,
.wp-block-tag-cloud,
.wp-block-table,
.wp-block-verse,
.wp-block-video {
  margin-bottom: calc(2 * var(--wp--custom--spacing--base));
  margin-top: calc(2 * var(--wp--custom--spacing--base));
}

/*--------------------------------------------------------------
    Block: Buttons
--------------------------------------------------------------*/
.wp-block-buttons {
  margin-top: calc(1.5 * var(--wp--custom--spacing--base));
  margin-bottom: calc(1.5 * var(--wp--custom--spacing--base));
  column-gap: calc(1.5 * var(--wp--custom--spacing--base));

  @media (min-width: 782px) {
    column-gap: calc(2 * var(--wp--custom--spacing--base));
  }

  & > .wp-block-button {
    margin: calc(0.5 * var(--wp--custom--spacing--base)) 0;
  }

  &:first-child {
    & > .wp-block-button:only-child {
      margin-top: 0;
    }
  }

  &:last-child {
    & > .wp-block-button:only-child {
      margin-bottom: 0;
    }
  }
}

.wp-block-button__link,
:root .wp-block-file__button {
  text-align: center;
}

:root {
  .wp-block-button__link,
  .wp-block-file__button {
    &:hover,
    &:focus {
      text-decoration: underline;
    }
  }
}

/* Style: outline
------------------------------*/
.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  padding: .9em 1.3em;
}

/*--------------------------------------------------------------
    Block : Calendar
--------------------------------------------------------------*/
.wp-block-calendar {
  table {
    background-color: var(--wp--preset--color--recommended-color-03);
    color: inherit;
    font-size: inherit;
    margin: 0;
  }

  :root & {
    caption,
    tbody td,
    th {
      border: 2px solid var(--wp--preset--color--sub-accent-color);
      color: inherit;
      padding: calc(0.3 * var(--wp--custom--spacing--base)) 0;
      text-align: center;
      @media (min-width: 782px) {
        padding: calc(0.7 * var(--wp--custom--spacing--base));
      }
    }

    caption {
      color: var(--wp--preset--color--white);
    }

    table {
      thead {
        border: none;
      }

      th {
        background-color: transparent;
        font-weight: var(--wp--custom--font-weight--bold);
      }
    }

    nav {
      display: flex;
      justify-content: space-between;
      margin-top: var(--wp--custom--spacing--base);
    }
  }
}

.wp-calendar-table {
  :root & {
    caption {
      background-color: var(--wp--preset--color--accent-color);
      border-bottom: none;
      font-size: var(--wp--preset--font-size--small);
      letter-spacing: var(--wp--custom--letter-spacing--body);
      text-transform: uppercase;
    }
  }
}

/*--------------------------------------------------------------
    Block : Columns
--------------------------------------------------------------*/
.wp-block-columns {

  .wp-block-column {

    & > *:first-child {
      margin-top: 0;
    }

    & > *:last-child {
      margin-bottom: 0;
    }

  }
}

.wp-block-column {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-top: calc(2 * var(--wp--custom--spacing--base));
  }
}

/* Style : No Gutters
------------------------------*/
.wp-block-columns.is-style-cormorant-no-gutters > .wp-block-column {
  margin: 0 !important;
}

/*--------------------------------------------------------------
    Block : Comments
--------------------------------------------------------------*/
.wp-block-post-comments {
  margin-top: calc(4 * var(--wp--custom--spacing--base));
  margin-bottom: calc(4 * var(--wp--custom--spacing--base));

  @media (min-width: 782px) {
    margin-top: calc(8 * var(--wp--custom--spacing--base));
    margin-bottom: calc(8 * var(--wp--custom--spacing--base));
  }

  & > *:first-child,
  :root & .comment-content > *:first-child {
    margin-top: 0;
  }

  & > *:last-child,
  :root & .comment-content > *:last-child {
    margin-bottom: 0;
  }

  .commentlist,
  .commentlist .comment {
    list-style: none;
    margin: 0;
  }

  .commentlist .comment {
    border-top: 2px solid var(--wp--preset--color--accent-color);
    margin: calc(1.5 * var(--wp--custom--spacing--base)) 0 0 0;
    padding: calc(1.5 * var(--wp--custom--spacing--base)) 0 0 0;

    @media (min-width: 782px) {
      margin-top: calc(3 * var(--wp--custom--spacing--base));
      margin-bottom: calc(3 * var(--wp--custom--spacing--base));
    }

    .comment {
      margin-left: calc(2 * var(--wp--custom--spacing--base));
    }
  }

  .navigation {
    //background-color: var(--wp--preset--color--white);
  }

  /* Comments Closed
  ------------------------------*/
  .nocomments {
    background-color: var(--wp--preset--color--recommended-color-03);
    color: var(--wp--preset--color--recommended-color-01);
    font-size: var(--wp--preset--font-size--large);
    font-weight: var(--wp--custom--font-weight--bold);
    line-height: var(--wp--custom--line-height--heading);
    text-align: center;
    padding: var(--wp--custom--spacing--base);
  }

  /* Comments Headers
  ------------------------------*/
  & > h3,
  .comment-reply-title {
    margin-top: 0;
  }

  & > h3 > .navigation {
    display: none;
  }

}

/* Comments Item
  ------------------------------*/
.comment-body {
  position: relative;

  & > .reply {
    align-items: center;
    display: flex;
    margin: 0;
    min-height: calc(3 * var(--wp--custom--spacing--base));
    position: absolute;
    right: 0;
    top: 0;

    @media (min-width: 782px) {
      min-height: calc(2 * var(--wp--custom--spacing--base));
    }
  }
}

.comment-meta {
  display: flex;
  flex-direction: column;
  font-size: var(--wp--preset--font-size--small);
  justify-content: center;
  margin-bottom: calc(1.5 * var(--wp--custom--spacing--base));
  min-height: calc(3 * var(--wp--custom--spacing--base));
  padding: 0 0 0 calc(3 * var(--wp--custom--spacing--base));
  position: relative;

  @media (min-width: 782px) {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    font-size: var(--wp--preset--font-size--normal);
    justify-content: flex-start;
    margin-bottom: calc(2 * var(--wp--custom--spacing--base));
    min-height: calc(2 * var(--wp--custom--spacing--base));
    padding: 0 100px 0 calc(3 * var(--wp--custom--spacing--base));
    column-gap: var(--wp--custom--spacing--base);

    img {
      height: calc(2 * var(--wp--custom--spacing--base));
      width: calc(2 * var(--wp--custom--spacing--base));
    }
  }

  .says {
    display: none;
  }
}

.wp-block-post-comments {
  .comment-author {
    .avatar {
      border-radius: 50%;
      height: calc(2 * var(--wp--custom--spacing--base));
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: calc(2 * var(--wp--custom--spacing--base));
    }
  }

  .commentlist {
    .comment {
      padding-left: 0;

      p {
        font-size: inherit;
        line-height: inherit;
        margin: 0 0 1em 0;
      }
    }
  }

  .comment-meta,
  .comment-author {
    margin-left: 0;
  }

  @media (min-width: 782px) {
    .comment-author,
    .comment-metadata > a:not(:only-child) {
      margin-right: var(--wp--custom--spacing--base);
    }
  }

}

.comment-metadata {
  a {
    text-decoration: none;

    &:hover,
    &:focus {
      text-decoration: underline;
    }
  }
}

.comment-reply-link,
.comment-edit-link {
  background-color: var(--wp--preset--color--accent-color);
  color: var(--wp--preset--color--white);
  border: 1px solid currentColor;
  font-size: var(--wp--preset--font-size--tiny);
  font-weight: var(--wp--custom--font-size--bold);
  letter-spacing: var(--wp--custom--letter-spacing--heading);
  padding: .3em .6em;
  text-decoration: none;
  text-transform: uppercase;

  &:hover,
  &:focus {
    text-decoration: underline;
  }
}

/* Comments Navigation
------------------------------*/
.wp-block-post-comments {
  .navigation {
    display: flex;
    font-size: .8em;
    padding-top: calc(2 * var(--wp--custom--spacing--base));

    @media (min-width: 782px) {
      font-size: inherit;
      margin: calc(3 * var(--wp--custom--spacing--base)) 0 0 0;
      padding: calc(4 * var(--wp--custom--spacing--base)) 0 0 0;
    }

    .alignright {
      margin-left: auto;
      text-align: right;
    }

    .alignleft,
    .alignright {
      margin-bottom: 0;
      margin-top: 0;
    }

    a {
      text-decoration: none;

      &:hover,
      &:focus {
        text-decoration: underline;
      }
    }
  }
}

/* Comment Respond
------------------------------*/
.comment-respond {
  background-color: var(--wp--preset--color--white);
  padding: calc(2 * var(--wp--custom--spacing--base)) calc(1.5 * var(--wp--custom--spacing--base));

  @media (min-width: 782px) {
    padding: calc(4 * var(--wp--custom--spacing--base));
  }

  .wp-block-post-comments > &:not(first-child) {
    margin-top: calc(2 * var(--wp--custom--spacing--base));

    @media (min-width: 782px) {
      margin-top: calc(4 * var(--wp--custom--spacing--base));
    }

  }
}

.comment-reply-title small {
  font-size: 1rem;
  letter-spacing: var(--wp--custom--letter-spacing--body);
  margin-left: var(--wp--custom--spacing--base);
  white-space: nowrap;
}

/* Comment Form
------------------------------*/
.comment-form {
  margin: 0;

  a {
    color: inherit;
  }

  &:after {
    clear: both;
    content: '';
    display: block;
  }

  p {
    margin-bottom: calc(1.5 * var(--wp--custom--spacing--base));
    width: 100%;

    @media (min-width: 782px) {
      margin-bottom: calc(2 * var(--wp--custom--spacing--base));

    }

    &:last-of-type {
      margin-bottom: 0;
    }
  }

  :root & {
    .logged-in-as,
    .comment-notes {
      margin: calc(-.5 * var(--wp--custom--spacing--base)) 0 calc(2 * var(--wp--custom--spacing--base)) 0;
    }
  }

  @media (min-width: 782px) {
    .comment-form-author,
    .comment-form-email {
      float: left;
      width: calc(50% - var(--wp--custom--spacing--base));
    }

    .comment-form-email {
      margin-left: calc(2 * var(--wp--custom--spacing--base));

      & + p:before {
        clear: both;
        content: '';
        display: block;
      }
    }
  }
}

.comment-form-comment {
  textarea {
    @media (min-width: 782px) {
      height: 170px;
    }
  }
}

.comment-form-cookies-consent {
  align-items: baseline;
  display: flex;
}

.comment-respond label {
  display: block;
}

:root .wp-block-post-comments {
  input,
  textarea {
    border: 2px solid currentColor;
  }
}

.comment-respond {
  input[type="text"],
  input[type="email"],
  textarea {
    margin-bottom: 0;
  }

  input[type="submit"] {
    background-color: var(--wp--preset--color--accent-color);
    display: block;
    margin-left: auto;
    width: 100%;
    @media (min-width: 782px) {
      width: auto;
    }
  }
}

/* Reply Respond
------------------------------*/
.commentlist .comment-respond {
  margin: calc(1.5 * var(--wp--custom--spacing--base)) 0 0;
  @media (min-width: 782px) {
    margin-top: calc(3 * var(--wp--custom--spacing--base));
    padding: calc(3 * var(--wp--custom--spacing--base));
  }
}

/*--------------------------------------------------------------
    Block : Embed
--------------------------------------------------------------*/
.wp-block-embed {
  &.alignfull {
    video,
    iframe {
      width: 100%;
    }
  }

  .alignfull {
    video,
    iframe {
      width: 100%;
    }
  }
}

/*--------------------------------------------------------------
    Block : Featured Image
--------------------------------------------------------------*/
.wp-block-post-featured-image {
  a {
    display: block;
  }

  img {
    margin: 0 auto;
  }
}

/*--------------------------------------------------------------
    Block : File
--------------------------------------------------------------*/
.wp-block-file {
  &__content-wrapper {
    align-items: center;
    display: flex;
    justify-content: space-between;
  }

  a.wp-block-file__button {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    &:not(:only-child) {
      margin-left: var(--wp--custom--spacing--base);
    }

    &:active,
    &:focus,
    &:hover,
    &:visited {
      opacity: .75;
    }

    &:focus,
    &:hover {
      text-decoration: underline;
    }

  }
}

/*--------------------------------------------------------------
    Block : Gallery
--------------------------------------------------------------*/
.blocks-gallery-grid {
  width: 100%;
}

/*--------------------------------------------------------------
    Block : Group
--------------------------------------------------------------*/
.wp-block-group {
  :root & {
    > *:first-child {
      margin-top: 0;
    }

    > *:last-child {
      margin-bottom: 0;
    }
  }

  :root &.has-background {
    padding: calc(2 * var(--wp--custom--spacing--base));
  }
}

/*--------------------------------------------------------------
    Block : Heading
--------------------------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-feature-settings: "lnum";
  font-variant-numeric: lining-nums;

  &.has-background {
    padding: .25em .4em;

    /* @todo Are they needed?
    ------------------------------*/
    //&.has-text-align-center {
    //  margin-right: auto !important;
    //  margin-left: auto !important;
    //}

    /* @todo Are they needed?
    ------------------------------*/
    //&.has-text-align-right {
    //  margin-right: 0 !important;
    //  margin-left: auto !important;
    //}
  }
}

/*--------------------------------------------------------------
    Block : Image
--------------------------------------------------------------*/
.wp-block-image {
  &.alignfull,
  & .alignfull {
    img {
      width: 100%;
    }
  }

  &.alignleft,
  & .alignleft {
    margin: 0 calc(1.5 * var(--wp--custom--spacing--base));
  }

  &.alignright,
  & .alignright {
    margin: 0 0 calc(1.5 * var(--wp--custom--spacing--base)) calc(1.5 * var(--wp--custom--spacing--base));
  }

  img {
    display: block;
    height: auto;
    margin: 0;
  }

  :root & figcaption {
    margin-bottom: 0;
    margin-top: calc(.7 * var(--wp--custom--spacing--base));
  }
}

/*--------------------------------------------------------------
    Block : Latest Comments
--------------------------------------------------------------*/
.wp-block-latest-comments {
  & > &__comment {
    margin-left: 0;
    margin-bottom: calc(2 * var(--wp--custom--spacing--base));
  }

  &__comment-excerpt {
    margin-top: calc(.5 * var(--wp--custom--spacing--base));
  }

  &__comment-date,
  &__comment-excerpt p {
    font-size: var(--wp--preset--font-size--small);
  }

  &__comment-excerpt p {
    line-height: var(--wp--custom--line-height--body);
    margin: 0 0 1em;

    &:last-child {
      margin-bottom: 0;
    }
  }
}

/*--------------------------------------------------------------
    Block : Latest Posts
    @todo Preparing block style
--------------------------------------------------------------*/
.wp-block-latest-posts {
  & > li {
    margin-left: 0;
  }

  &__post-author,
  &__post-date {
    color: inherit;
    font-size: var(--wp--preset--font-size--tiny);
  }
}

/*--------------------------------------------------------------
    Block : Media and Text
    @todo Preparing block styles
--------------------------------------------------------------*/
.wp-block-media-text {
  & &__content {
    padding: var(--wp--custom--spacing--base);
  }

  &:not(.has-background):not(.is-stacked-on-mobile) &__content {
    padding-top: 0;
    padding-bottom: 0;
    @media (min-width: 782px) {
      padding-left: 0;
      padding-right: 0;
    }
  }

  :root &__content {
    > *:first-child {
      margin-top: 0;
    }

    > *:last-child {
      margin-bottom: 0;
    }
  }
}

/*--------------------------------------------------------------
    Block : Navigation
--------------------------------------------------------------*/
.wp-block-navigation {
  &-item {
    line-height: var(--wp--custom--line-height--heading);
    margin: 0;
  }

  .wp-block-page-list,
  .wp-block-page-list ul,
  &__container,
  &__container ul {
    gap: calc(.5 * var(--wp--custom--spacing--base)) calc(1 * var(--wp--custom--spacing--base));

    @media (min-width: 782px) {
      gap: calc(.75 * var(--wp--custom--spacing--base)) calc(2 * var(--wp--custom--spacing--base));
    }
  }

  & &-link__submenu-icon,
  & .wp-block-page-list__submenu-icon {
    margin-left: calc(.5 * var(--wp--custom--spacing--base));

    svg {
      height: .6em;
      width: .6em;
    }
  }

  .current-menu-item,
  .wp-block-navigation-link a:hover,
  .wp-block-navigation-link a:focus {
    text-decoration: underline;
  }
}

:root nav.wp-block-navigation {
  & > *:not(:only-child),
  &_responsive-container-content > *:not(:only-child) {
    margin-top: calc(1 * var(--wp--custom--spacing--base));
    margin-bottom: calc(1 * var(--wp--custom--spacing--base));

    @media (min-width: 782px) {
      margin-top: calc(1.5 * var(--wp--custom--spacing--base));
      margin-bottom: calc(1.5 * var(--wp--custom--spacing--base));
    }
  }
}

/* Type : Vertical */
.is-vertical {
  .wp-block-navigation__container,
  .wp-block-page-list {
    display: flex;
    gap: .5em 0;
  }
}

/* Sub Level */
.wp-block-navigation {
  .wp-block-navigation__container {
    & > .has-child :where( .submenu-container, .wp-block-navigation-link__container ) {
      left: 0;
      top: calc(100% + var(--wp--custom--spacing--base));
    }
  }

  .has-child {
    :where( .submenu-container, .wp-block-navigation-link__container ) {
      margin: 0;
      padding: calc(.75 * var(--wp--custom--spacing--base));
    }
  }

  &:not(.has-background) {
    .submenu-container,
    .wp-block-navigation__container .wp-block-navigation-link__container {
      background-color: var(--wp--preset--color--accent-color);
      border: 2px solid currentColor;
      color: var(--wp--preset--color--white);
    }
  }
}

:root .wp-block-navigation .has-child li {
  left: 0;
  margin: 0;
}

/* Navigation Button */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
  align-items: center;
  background-color: var(--wp--preset--color--accent-color);
  box-shadow: none;
  color: var(--wp--preset--color--white);
  height: 36px;
  width: 36px;

  svg {
    height: 24px;
    width: 24px;
    padding: 6px;
  }
}

.wp-block-navigation__responsive-container-close {
  right: var(--wp--custom--spacing--base);
  top: var(--wp--custom--spacing--base);
}

.is-menu-open .wp-block-navigation__responsive-dialog {
  //position: relative;
}

/* Responsive Container */
.wp-block-navigation__responsive-container.is-menu-open {
  padding: calc(2 * var(--wp--custom--spacing--base)) calc(1 * var(--wp--custom--spacing--base));

  .wp-block-navigation:not(.has-background) & {
    background-color: var(--wp--preset--color--background);
    color: var(--wp--preset--color--accent-color);
    margin-top: 0;
    margin-bottom: 0;
    height: 100vh;
  }

  .wp-block-navigation & li.has-child > a {
    margin-bottom: calc(.5 * var(--wp--custom--spacing--base));
  }

  :where(.submenu-container, .wp-block-navigation__responsive-container .wp-block-navigation-link__container) a {
    padding: 0;
  }
}

.wp-block-navigation__responsive-container.is-menu-open a:focus {
  text-decoration: underline !important;
  text-decoration-style: dotted;
}

.wp-block-navigation {
  .wp-block-search {
    margin-top: 0;
    margin-bottom: 0;
  }
}

/*--------------------------------------------------------------
    Block : Paragraph
--------------------------------------------------------------*/
p.has-background {
  padding: var(--wp--custom--spacing--base) calc(1.5 * var(--wp--custom--spacing--base));
}

/* Drop Cap */
.has-drop-cap:not(:focus):first-letter {
  color: var(--wp--preset--color--accent-color);
  font-size: 3.5em;
  font-weight: var(---wp--custom--font-weight--bold);
  padding: .2em 0;
  text-align: center;
}

/*--------------------------------------------------------------
    Block : Post Date
--------------------------------------------------------------*/
.wp-block-post-date {
  a {
    text-decoration: none;

    &:hover,
    &:focus {
      text-decoration: underline;
    }
  }
}

/*--------------------------------------------------------------
    Block : Post Excerpt
--------------------------------------------------------------*/
.wp-block-post-excerpt {
  & > *:first-child {
    margin-top: 0;
  }

  & > *:last-child {
    margin-bottom: 0;
  }
}

/*--------------------------------------------------------------
    Block : Post Navigation
--------------------------------------------------------------*/
.post-navigation-link-previous a:before {
  content: "< ";
}

.post-navigation-link-next a:after {
  content: " >";
}

/*--------------------------------------------------------------
    Block : Post Title
--------------------------------------------------------------*/
.wp-block-post-title {
  a {
    text-decoration: none;

    &:hover,
    &:focus {
      text-decoration: underline;
    }
  }
}

/*--------------------------------------------------------------
    Block : Pullquote
--------------------------------------------------------------*/
.wp-block-pullquote {
  text-align: inherit;
  border-top: none;
  border-bottom: none;

  blockquote {
    border: none;
    font-size: var(--wp--preset--font-size--large);
    line-height: 1.3;
    margin: 0;
    padding: 1.5em 0 0;
    position: relative;
    text-align: inherit;

    @media (min-width: 782px) {
      padding: 1.8em 0 0;
    }

    &:before {
      content: "“";
      display: block;
      font-family: Georgia, serif;
      font-size: 4em;
      font-weight: inherit;
      height: .25em;
      line-height: .8;
      position: absolute;
      left: -.1rem;
      top: 0;
    }

    p {
      font-size: inherit;
      letter-spacing: var(--wp--custom--letter-spacing--body);
      line-height: inherit;

      &:last-of-type {
        margin-bottom: 0;
      }
    }
  }

  cite,
  .wp-block-pullquote__citation {
    display: block;
    font-size: var(--wp--preset--font-size--small);
    font-style: normal;
    font-weight: var(--wp--custom--font-weight--bold);
    letter-spacing: var(--wp--custom--letter-spacing--heading);
    margin-top: var(--wp--custom--spacing--base);
    text-transform: uppercase;

    @media (min-width: 782px) {
      font-size: var(--wp--preset--font-size--normal);
      margin-top: calc(1.5 * var(--wp--custom--spacing--base));
    }

    &:before {
      content: "- ";
    }
  }

  &.has-text-align-center blockquote:before {
    left: 50%;
    transform: translateX(-50%);
  }

  &.has-text-align-right blockquote:before {
    right: .1rem;
  }

  &.alignleft p,
  &.alignright p {
    font-size: inherit;
  }
}

/*--------------------------------------------------------------
    Block : Query Loop
--------------------------------------------------------------*/
.wp-block-query {
  > *:first-child {
    margin-top: 0;
  }

  > *:last-child {
    margin-bottom: 0;
  }
}

.wp-block-post-template {
  margin: 0;
}

:root .wp-block-post-template {
  > .wp-block-post {
    margin: 0 0 calc(2 * var(--wp--custom--spacing--base));

    > *:first-child {
      margin-top: 0;
    }

    > *:last-child {
      margin-bottom: 0;
    }

  }
}

/*--------------------------------------------------------------
    Block : Query Pagination
    @todo Preparing to block styles
--------------------------------------------------------------*/
.wp-block-query-pagination {
  justify-content: space-between;
  width: 100%;

  :root & {
    a {
      display: block;
      margin: 0;
      text-decoration: none;

      &:hover,
      &:focus {
        text-decoration: underline;
      }

      & + a {
        padding-left: 16px;
      }
    }

    .wp-block-query-pagination-next {
      margin-left: auto;
      text-align: right;

      &:only-child {
        margin-left: auto;
      }
    }
  }

}

/*--------------------------------------------------------------
    Block : Quote
--------------------------------------------------------------*/
:root .wp-block-quote {
  border-left: 2px solid currentColor;
  padding: 0 0 0 var(--wp--custom--spacing--base);

  @media (min-width: 782px) {
    padding: 0 0 0 calc(2 * var(--wp--custom--spacing--base));
  }

  &.has-text-align-center {
    border-width: 0;
    padding: 0;
  }

  &.has-text-align-right {
    border: none;
    border-right: 2px solid currentColor;
    padding: 0 var(--wp--custom--spacing--base) 0 0;

    @media (min-width: 782px) {
      padding: 0 calc(2 * var(--wp--custom--spacing--base)) 0 0;
    }
  }

  cite {
    font-size: var(--wp--preset--font-size--heading-6);
    text-align: inherit;
  }
}

/*--------------------------------------------------------------
    Block : Search
--------------------------------------------------------------*/
.wp-block-search {
  &__label {
    display: block;
    font-size: var(--wp--preset--font-size--small);
    font-weight: var(--wp--custom--font-weight--bold);
    margin: 0 0 calc(.5 * var(--wp--custom--spacing--base)) 0;
  }

  & &__inside-wrapper,
  & &__input,
  & &__button {
    background-color: var(--wp--preset--color--accent-color);
    border: 2px solid var(--wp--preset--color--accent-color);
    font-size: var(--wp--preset--font-size--small);
    padding: 15px 18px;
  }

  & &__button {
    align-items: center;
    color: var(--wp--preset--color--white);
    display: flex;
    flex-shrink: 0;
    font-weight: var(--wp--custom--font-weight--bold);
    justify-content: center;
    margin-left: var(--wp--custom--spacing--base);
    min-width: 60px;
  }

  & &__button.has-icon {
    padding: 0;
  }

  & &__button svg {
    margin: auto;
    height: 40px;
    width: 40px;
  }
}

/*--------------------------------------------------------------
    Block : Separator
--------------------------------------------------------------*/
.wp-block-separator {
  background-color: currentColor;
  width: 100px;

  &.is-style-wide,
  &.is-style-dots {
    width: 100%;
  }

  &.has-background:not(.is-style-dots) {
    height: 2px;
  }
}

/*--------------------------------------------------------------
    Block : Site Logo
--------------------------------------------------------------*/
.wp-block-site-logo.aligncenter {
  text-align: center;
}

/*--------------------------------------------------------------
    Block : Site Title
--------------------------------------------------------------*/
.wp-block-site-title {
  a {
    text-decoration: none;

    &:focus,
    &:hover {
      text-decoration: underline;
    }
  }
}

/*--------------------------------------------------------------
    Block : Social Links
--------------------------------------------------------------*/
:root .wp-block-social-links {
  gap: calc(.5 * var(--wp--custom--spacing--base));
  font-size: var(--wp--preset--font-size--normal);

  @media (min-width: 782px) {
    gap: calc(1 * var(--wp--custom--spacing--base));
  }

  &.has-large-icon-size {
    font-size: var(--wp--preset--font-size--large);
  }

  &.has-huge-icon-size {
    font-size: var(--wp--preset--font-size--huge);
  }

  .wp-block-social-link svg {
    height: calc(1em + 4px);
    width: calc(1em + 4px);
  }
}

/*--------------------------------------------------------------
    Block : Table
--------------------------------------------------------------*/
.wp-block-table {
  margin: 0;

  figcaption {
    color: var(--wp--preset--color--accent-color);
    font-size: var(--wp--preset--font-size--tiny);
    margin: calc(.75 * var(--wp--custom--spacing--base)) 0 0 0;
    text-align: inherit;
  }
}

/*--------------------------------------------------------------
    Block : Template Part
--------------------------------------------------------------*/
.wp-block-template-part {
  &.has-background {
    margin-top: 0;
    margin-bottom: 0;
    padding: var(--wp--custom--spacing--base) 0;

    & > *:first-child,
    & > .wp-block:first-child > *:first-child {
      margin-top: 0;
    }

    & > *:last-child,
    & > .wp-block:last-child > *:last-child {
      margin-bottom: 0;
    }
  }
}

/*--------------------------------------------------------------
    Block : Term Description
--------------------------------------------------------------*/
.wp-block-term-description {
  & > *:first-child {
    margin-top: 0;
  }

  & > *:last-child {
    margin-bottom: 0;
  }
}