.alignwide {
  margin-left: -80px;
  margin-right: -80px;
  max-width: 100vw;
}
.alignfull {
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 100vw;
}
.wp-block-table td {
  vertical-align: top;
}

.wp-block-group.alignfull {
  position: relative;
  padding: 90px 0;
  background-color: #fafafa;
}
.wp-block-group.alignfull:nth-child(even) {
  background-color: #f3f3f3;
}

.wp-block-group.alignfull > * {
  position: relative;
  z-index: 2;
}

.wp-block-group.alignfull h2.has-text-align-center {
  margin-bottom: 30px;
}
.wp-block-image.is-style-circle-mask img,
.wp-block-image.is-style-rounded img {
  border-radius: 15px;
}

.wp-block-group.alignfull > * {
  position: relative;
}
/* .wp-block-image,
  .wp-block-video {
    margin: 0 0 30px 0;
  } */

.wp-block-image.is-style-shadow img {
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.05);
  border-radius: 5px;
}

.is-style-shadow {
  margin-top: 15px;
  filter: grayscale(20%);
}
.is-style-shadow:hover {
  filter: grayscale(0%);
}

p:empty {
  display: none;
}

.wp-block-columns {
  margin: 0;
}
.wp-block-buttons.aligncenter {
  text-align: center;
  justify-content: center;
}

.wp-block-quote {
  background-color: #fff;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.05);
  padding: 15px;
}
.wp-block-quote p {
  font-style: italic;
}
.wp-block-quote > p:last-child {
  margin-bottom: 0;
}

.wp-block-separator.is-style-wide {
  margin: 30px 0;
  border-bottom: 2px #aaa solid;
}

.wp-block-button__link,
.wp-block-button__link:hover {
  background-color: var(--theme-primary-color);
  color: #fff;
  border-radius: 3px;
}
.wp-block-button .wp-block-button__link.is-style-outline:not(.has-background),
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
  border-color: var(--theme-primary-color);
  color: #fff;
}

/* Image alignment */
.alignleft {
  float: left;
  margin: 0 1.5em 1em 0;
}

.alignright {
  float: right;
  margin: 0 0 1em 1.5em;
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-image img {
  max-width: 100%;
  height: auto;
}

.wp-block-image.aligncenter {
  text-align: center;
}
.wp-caption {
  max-width: 100%;
}

.wp-caption img {
  display: block;
}

.wp-caption-text {
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.5em;
  text-align: center;
}

/* Gutenberg image alignment */
.wp-block-image > .alignleft {
  float: left;
  margin: 0 1.5em 1em 0;
}

.wp-block-image > .alignright {
  float: right;
  margin: 0 0 1em 1.5em;
}

.wp-block-image > .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.entry-content::after {
  content: "";
  display: table;
  clear: both;
}
/* Allow text to wrap next to aligned images */
.wp-block-image:has(> figure.alignleft),
.wp-block-image:has(> figure.alignright) {
  width: auto;
}
