/* MoonDreams — WordPress blocks and reusable HTML composition helpers. */

.entry-content > .alignwide,
.wp-site-blocks > .alignwide {
  width: min(100%, var(--md-container));
  max-width: var(--md-container);
  margin-inline: auto;
}

.entry-content > .alignfull,
.wp-site-blocks > .alignfull {
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
}

.entry-content > .alignleft {
  margin-inline-end: clamp(1.25rem, 4vw, 2.5rem);
  float: left;
}

.entry-content > .alignright {
  margin-inline-start: clamp(1.25rem, 4vw, 2.5rem);
  float: right;
}

.entry-content > .aligncenter,
.wp-block-image.aligncenter {
  margin-inline: auto;
}

.wp-block-group,
.wp-block-cover,
.wp-block-columns,
.wp-block-media-text,
.wp-block-gallery,
.wp-block-image,
.wp-block-video,
.wp-block-embed,
.wp-block-table,
.wp-block-quote,
.wp-block-pullquote,
.wp-block-separator,
.wp-block-buttons,
.wp-block-details {
  margin-block-start: clamp(1.5rem, 4vw, 2.5rem);
  margin-block-end: clamp(1.5rem, 4vw, 2.5rem);
}

.wp-block-group.has-background {
  padding: clamp(1.5rem, 5vw, 4rem);
  border-radius: var(--md-radius-md);
}

.wp-block-cover,
.wp-block-cover-image {
  min-height: clamp(28rem, 58vw, 46rem);
  overflow: hidden;
  border-radius: var(--md-radius-md);
}

.alignfull.wp-block-cover,
.alignfull.wp-block-cover-image {
  border-radius: 0;
}

.wp-block-cover .wp-block-cover__background {
  background: var(--md-ink) !important;
}

.wp-block-cover__inner-container {
  width: min(calc(100% - var(--md-gutter) - var(--md-gutter)), var(--md-container));
}

.wp-block-image img,
.wp-block-video video {
  border-radius: var(--md-radius-sm);
}

.wp-block-image figcaption,
.wp-block-gallery figcaption,
.wp-block-video figcaption,
.wp-block-embed figcaption {
  margin-block-start: 0.7rem;
  color: var(--md-ink-soft);
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}

.wp-block-gallery {
  gap: clamp(0.5rem, 1.5vw, 1rem) !important;
}

.wp-block-gallery .wp-block-image img {
  border-radius: var(--md-radius-xs);
}

.wp-block-columns {
  gap: clamp(1.5rem, 5vw, 4rem);
}

.wp-block-column > :first-child {
  margin-block-start: 0;
}

.wp-block-column > :last-child {
  margin-block-end: 0;
}

.wp-block-media-text {
  gap: clamp(2rem, 6vw, 6rem);
}

.wp-block-media-text .wp-block-media-text__content {
  padding: clamp(1.5rem, 5vw, 4rem);
}

.wp-block-media-text__media img {
  border-radius: var(--md-radius-md);
}

.wp-block-button__link,
.wp-element-button {
  min-height: 3.25rem;
  padding: 0.9rem 1.5rem;
  border: 1px solid var(--md-plum);
  border-radius: var(--md-radius-pill);
  color: var(--md-paper);
  background: var(--md-plum);
  font-family: var(--md-font-body);
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: color var(--md-transition), background-color var(--md-transition), border-color var(--md-transition), transform var(--md-transition);
}

.wp-block-button__link:hover,
.wp-element-button:hover {
  border-color: var(--md-plum-deep);
  color: var(--md-paper);
  background: var(--md-plum-deep);
  transform: translateY(-2px);
}

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline {
  color: var(--md-plum);
  background: transparent;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button__link.is-style-outline:hover {
  color: var(--md-paper);
  background: var(--md-plum);
}

.wp-block-buttons {
  gap: 0.75rem;
}

.wp-block-quote {
  padding: 0.5rem 0 0.5rem clamp(1.25rem, 4vw, 2.5rem);
  border-inline-start: 2px solid var(--md-gold);
}

.wp-block-quote p {
  font-family: var(--md-font-display);
  font-size: clamp(1.5rem, 3vw, 2.3rem);
  line-height: 1.35;
}

.wp-block-quote cite,
.wp-block-pullquote cite {
  color: var(--md-ink-soft);
  font-family: var(--md-font-body);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.wp-block-pullquote {
  padding: clamp(2.5rem, 7vw, 5rem) var(--md-gutter);
  border-block: 1px solid var(--md-line);
}

.wp-block-pullquote blockquote {
  max-width: 55rem;
  margin-inline: auto;
}

.wp-block-pullquote p {
  color: var(--md-ink);
  font-family: var(--md-font-display);
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.16;
}

.wp-block-separator {
  width: 100%;
  border: 0;
  border-block-start: 1px solid var(--md-line);
}

.wp-block-separator.is-style-wide {
  width: 100%;
}

.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  width: 5rem;
  border-color: var(--md-gold);
}

.wp-block-separator.is-style-dots::before {
  color: var(--md-gold);
}

.wp-block-table {
  overflow-x: auto;
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-sm);
}

.wp-block-table table {
  min-width: 34rem;
}

.wp-block-table th,
.wp-block-table td {
  padding: 0.9rem 1rem;
  border-color: var(--md-line);
}

.wp-block-table th {
  background: var(--md-ivory);
  font-size: 0.75rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.wp-block-details {
  padding: 1.25rem 0;
  border-block: 1px solid var(--md-line);
}

.wp-block-details + .wp-block-details {
  margin-block-start: calc(0px - clamp(1.5rem, 4vw, 2.5rem));
  border-block-start: 0;
}

.wp-block-details summary {
  cursor: pointer;
  color: var(--md-ink);
  font-family: var(--md-font-display);
  font-size: 1.25rem;
  font-weight: 500;
}

.wp-block-details[open] summary {
  margin-block-end: 1rem;
  color: var(--md-plum);
}

.wp-block-latest-posts,
.wp-block-post-template {
  padding: 0;
  list-style: none;
}

.wp-block-latest-posts.is-grid,
.wp-block-post-template.is-flex-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2rem);
}

.wp-block-post-template .wp-block-post,
.wp-block-latest-posts > li {
  overflow: hidden;
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-md);
  background: var(--md-paper);
}

.wp-block-post-template .wp-block-post > :not(.wp-block-post-featured-image),
.wp-block-latest-posts > li > :not(.wp-block-latest-posts__featured-image) {
  margin-inline: 1.25rem;
}

.wp-block-post-featured-image,
.wp-block-latest-posts__featured-image {
  margin: 0 0 1.25rem;
}

.wp-block-post-featured-image img,
.wp-block-latest-posts__featured-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 0;
  object-fit: cover;
}

.wp-block-post-title {
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.wp-block-post-title a,
.wp-block-latest-posts__post-title {
  text-decoration: none;
}

.wp-block-post-date,
.wp-block-post-terms,
.wp-block-latest-posts__post-date {
  color: var(--md-plum);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wp-block-social-links {
  gap: 0.55rem;
}

.wp-block-social-link {
  background: var(--md-plum) !important;
}

.wp-block-search__inside-wrapper {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
  padding: 0;
  border: 0;
}

.wp-block-search__input {
  min-width: 0;
  border: 1px solid var(--md-line-strong) !important;
  border-radius: var(--md-radius-pill) !important;
}

.wp-block-search__button {
  min-height: 3.25rem;
  margin: 0;
  padding: 0.75rem 1.25rem;
  border: 1px solid var(--md-plum);
  border-radius: var(--md-radius-pill);
  color: var(--md-paper);
  background: var(--md-plum);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wp-block-navigation__responsive-container.is-menu-open {
  padding: var(--md-gutter);
  background: var(--md-paper);
}

.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
  color: var(--md-ink);
}

/* HTML-block composition system shipped with the theme. */
.md-block {
  position: relative;
  padding-block: var(--md-section-space);
}

.md-block.md-hero,
.md-block.md-page-hero {
  padding-block: 0;
}

.md-block.md-split {
  display: block;
}

.md-block:nth-child(even):not(.md-hero):not(.md-cta):not(.md-page-hero) {
  background: var(--md-ivory);
}

.md-center {
  text-align: center;
}

.md-center :is(.md-lead, .md-display, .md-prose) {
  margin-inline: auto;
}

.md-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-block-start: 2rem;
}

.md-center .md-actions {
  justify-content: center;
}

.md-button--ghost {
  border-color: currentColor;
  color: var(--md-ink);
  background: transparent;
}

.md-button--ghost:hover {
  border-color: var(--md-plum);
  color: var(--md-paper);
  background: var(--md-plum);
}

.md-hero .md-button--ghost {
  border-color: rgba(85, 61, 80, 0.42);
  color: var(--md-plum);
}

.md-hero .md-button--ghost:hover {
  border-color: var(--md-plum);
  color: var(--md-paper);
  background: var(--md-plum);
}

.md-page-hero .md-eyebrow,
.md-ritual .md-eyebrow,
.md-cta .md-eyebrow {
  color: var(--md-gold-light);
}

.md-hero .md-eyebrow {
  color: var(--md-plum);
}

.md-text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--md-ink);
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.09em;
  text-decoration-color: var(--md-gold);
  text-transform: uppercase;
}

.md-section-heading {
  max-width: 48rem;
  margin-block-end: clamp(2rem, 5vw, 4rem);
}

.md-section-heading.md-center {
  margin-inline: auto;
}

.md-section-heading h2 {
  margin-block-end: 1rem;
}

.md-page-hero,
.page-hero {
  position: relative;
  overflow: hidden;
  color: var(--md-paper);
  background: var(--md-plum-deep);
}

.md-page-hero::before,
.page-hero::before {
  position: absolute;
  top: -13rem;
  right: -8rem;
  width: 29rem;
  height: 29rem;
  border: 1px solid rgba(221, 207, 184, 0.18);
  border-radius: 50%;
  box-shadow: 0 0 0 4rem rgba(221, 207, 184, 0.035), 0 0 0 8rem rgba(221, 207, 184, 0.025);
  content: "";
}

.md-page-hero__inner,
.page-hero__inner {
  position: relative;
  z-index: 1;
  width: min(calc(100% - var(--md-gutter) - var(--md-gutter)), var(--md-container));
  margin-inline: auto;
  padding-block: clamp(5rem, 12vw, 10rem);
  text-align: center;
}

.md-page-hero--compact .md-page-hero__inner,
.page-hero--compact .page-hero__inner {
  padding-block: clamp(3.5rem, 8vw, 6rem);
}

.md-page-hero h1,
.page-hero h1 {
  max-width: 15ch;
  margin-inline: auto;
  margin-block-end: 1rem;
  color: var(--md-paper);
}

.md-page-hero .md-lead,
.page-hero .md-lead {
  margin-inline: auto;
  color: rgba(255, 253, 250, 0.75);
}

.md-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(calc(100% - var(--md-gutter) - var(--md-gutter)), 90rem);
  min-height: inherit;
  grid-template-columns: minmax(0, 1fr) clamp(20rem, 24vw, 25rem);
  align-items: center;
  gap: clamp(1.75rem, 2.25vw, 2.75rem);
  margin-inline: auto;
  padding-block: clamp(2rem, 5svh, 4rem);
}

.md-hero__grid .md-hero__content {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  container-type: inline-size;
}

.md-hero__content h1 {
  max-width: none;
  margin-block-end: 1rem;
  font-size: clamp(3.25rem, 4.35vw, 4.75rem);
  font-size: clamp(3.25rem, 6.8cqw, 4.75rem);
  line-height: 0.96;
}

.md-hero__content .md-lead {
  max-width: 46rem;
}

.md-hero__grid .md-hero__media {
  position: relative;
  inset: auto;
  overflow: hidden;
  width: min(100%, 25rem);
  height: auto;
  min-height: 0;
  justify-self: start;
  margin: 0;
  border-radius: min(12vw, 8rem) min(3vw, 2rem) min(12vw, 8rem) min(3vw, 2rem);
  aspect-ratio: 1 / 1;
  box-shadow: var(--md-shadow-lg);
}

.md-hero__grid .md-hero__media::after {
  background: linear-gradient(0deg, rgba(25, 23, 20, 0.12), transparent 45%);
}

@media (min-width: 48.0625rem) and (max-height: 60rem) {
  .md-hero__grid {
    grid-template-columns: minmax(0, 1fr) clamp(20rem, 24vw, 25rem);
    gap: clamp(1.75rem, 2.25vw, 2.75rem);
    padding-block: clamp(1.5rem, 3.5vh, 2.5rem);
  }

  .md-hero__grid .md-hero__media {
    width: min(100%, 52vh, 25rem);
    height: auto;
    min-height: 0;
    justify-self: start;
    aspect-ratio: 1 / 1;
  }

  .md-hero__content h1 {
    margin-block-end: 0.75rem;
  }

  .md-hero__content .md-lead {
    line-height: 1.6;
  }

  .md-hero__content .md-actions {
    margin-block-start: 1.25rem;
  }
}

@media (min-width: 75rem) {
  .md-hero__content h1 {
    font-size: clamp(3.5rem, 4.6vw, 4.75rem);
    font-size: clamp(3.5rem, 7.4cqw, 5.5rem);
    white-space: nowrap;
  }
}

.md-split__grid,
.md-ritual__grid,
.md-contact__grid {
  display: grid;
  width: min(calc(100% - var(--md-gutter) - var(--md-gutter)), var(--md-container));
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 7rem);
  margin-inline: auto;
}

.md-split--reverse .md-split__media,
.md-ritual__media {
  order: 2;
}

.md-split__media,
.md-ritual__media {
  position: relative;
}

.md-split__media img,
.md-ritual__media img {
  width: 100%;
  min-height: 28rem;
  border-radius: var(--md-radius-lg);
  object-fit: cover;
}

.md-ritual {
  color: rgba(255, 253, 250, 0.78);
  background: var(--md-plum-deep) !important;
}

.md-ritual :is(h2, h3),
.md-cta :is(h2, h3) {
  color: var(--md-paper);
}

.md-ritual .md-lead {
  color: rgba(255, 253, 250, 0.7);
}

.md-values__grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  margin-inline: auto;
}

.md-value-card {
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-md);
  background: var(--md-paper);
  box-shadow: var(--md-shadow-sm);
}

.md-value-card h3 {
  margin-block-end: 0.75rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.md-value-card p:last-child {
  margin-block-end: 0;
  color: var(--md-ink-soft);
}

.md-intro,
.md-prose-section,
.md-faq {
  width: min(calc(100% - var(--md-gutter) - var(--md-gutter)), var(--md-container));
  margin-inline: auto;
}

.md-intro > .md-container,
.md-prose-section > .md-container,
.md-faq > .md-container {
  width: 100%;
}

.md-faq details {
  max-width: 54rem;
  margin-inline: auto;
  padding: 1.25rem 0;
  border-block-end: 1px solid var(--md-line);
}

.md-faq details:first-of-type {
  border-block-start: 1px solid var(--md-line);
}

.md-faq summary {
  cursor: pointer;
  color: var(--md-ink);
  font-family: var(--md-font-display);
  font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  line-height: 1.3;
}

.md-faq details > :not(summary) {
  color: var(--md-ink-soft);
}

.md-cta {
  padding-block: clamp(4rem, 9vw, 8rem);
  color: rgba(255, 253, 250, 0.75);
  background: var(--md-plum-deep) !important;
}

.md-cta__inner {
  width: min(calc(100% - var(--md-gutter) - var(--md-gutter)), 62rem);
  margin-inline: auto;
  text-align: center;
}

.md-cta__inner h2 {
  margin-block-end: 1rem;
}

.md-cta.md-cta--light {
  color: var(--md-ink-soft);
  background: var(--md-ivory) !important;
}

.md-cta.md-cta--light .md-eyebrow {
  color: var(--md-plum);
}

.md-cta.md-cta--light :is(h2, h3) {
  color: var(--md-ink);
}

.md-cta.md-cta--light .md-button {
  border-color: var(--md-plum);
  color: var(--md-paper);
  background: var(--md-plum);
}

.md-cta.md-cta--light .md-button:hover {
  border-color: var(--md-plum-deep);
  color: var(--md-paper);
  background: var(--md-plum-deep);
}

.md-contact__grid {
  align-items: start;
}

.md-contact__details,
.md-contact__form,
.md-contact-card {
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-md);
  background: var(--md-paper);
}

.md-contact-card + .md-contact-card {
  margin-block-start: 1rem;
}

.md-contact-card h3 {
  margin-block-end: 0.5rem;
  font-size: 1.45rem;
}

.md-contact__details > .md-social-link--instagram {
  display: flex;
  width: 100%;
  min-height: 4rem;
  align-items: center;
  gap: 0.85rem;
  margin-block-start: 1rem;
  padding: 1rem 1.25rem;
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-md);
  color: var(--md-ink);
  background: linear-gradient(135deg, var(--md-paper), var(--md-ivory));
  font-weight: 750;
  text-decoration: none;
  box-shadow: var(--md-shadow-sm);
  transition: color var(--md-transition), border-color var(--md-transition), box-shadow var(--md-transition), transform var(--md-transition);
}

.md-contact__details > .md-social-link--instagram:hover {
  border-color: var(--md-plum);
  color: var(--md-plum-deep);
  box-shadow: var(--md-shadow-md);
  transform: translateY(-2px);
}

.md-contact__details > .md-social-link--instagram:focus-visible {
  border-color: var(--md-plum);
}

.md-contact__details > .md-social-link--instagram .md-social-link__icon {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  color: var(--md-plum);
}

.md-contact__form > .md-form-shortcode {
  width: 100%;
  margin-block-start: clamp(1.5rem, 3vw, 2rem);
}

.md-contact-card p:last-child,
.md-contact__form > :last-child {
  margin-block-end: 0;
}

.md-table-scroll {
  width: 100%;
  margin-block: 1.5rem 2.5rem;
  overflow-x: auto;
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-sm);
}

.md-legal-table {
  width: 100%;
  min-width: 42rem;
  border-collapse: collapse;
  background: var(--md-paper);
  font-size: 0.84rem;
}

.md-legal-table th,
.md-legal-table td {
  padding: 0.9rem 1rem;
  border-block-end: 1px solid var(--md-line);
  text-align: left;
  vertical-align: top;
}

.md-legal-table th {
  color: var(--md-ink);
  background: var(--md-ivory);
  font-size: 0.7rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.md-inline-button {
  display: inline;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--md-plum);
  background: transparent;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.md-business-data {
  display: grid;
  gap: 0;
  margin-block: 1.5rem 3rem;
  border-block-start: 1px solid var(--md-line);
}

.md-model-form {
  margin-block: 1.5rem 2rem;
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--md-line-strong);
  border-inline-start: 0.3rem solid var(--md-gold);
  border-radius: var(--md-radius-sm);
  background: var(--md-ivory);
  box-shadow: var(--md-shadow-sm);
}

.md-model-form p {
  margin-block-end: 0.8rem;
  overflow-wrap: anywhere;
}

.md-model-form > :last-child {
  margin-block-end: 0;
}

.md-business-data > div {
  display: grid;
  grid-template-columns: minmax(9rem, 0.38fr) minmax(0, 1fr);
  gap: 1rem;
  padding-block: 0.9rem;
  border-block-end: 1px solid var(--md-line);
}

.md-business-data dt {
  color: var(--md-ink-soft);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.md-business-data dd {
  margin: 0;
  color: var(--md-ink);
}

.md-withdrawal-form-block {
  padding-block: 0 var(--md-section-space);
}

.md-legal-form {
  padding: clamp(1.35rem, 4vw, 3rem);
  border: 1px solid var(--md-line);
  border-radius: var(--md-radius-md);
  background: var(--md-ivory);
  box-shadow: var(--md-shadow-sm);
}

.md-legal-form__form {
  margin-block-start: 2rem;
}

.md-legal-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
}

.md-form-field {
  display: grid;
  gap: 0.4rem;
}

.md-form-field--wide {
  grid-column: 1 / -1;
}

.md-form-field--honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

.md-form-field label,
.md-form-consent {
  color: var(--md-ink);
  font-size: 0.78rem;
  font-weight: 700;
}

.md-legal-form :is(input[type="text"], input[type="email"], input[type="date"], textarea) {
  width: 100%;
  border-color: var(--md-line-strong);
  background: var(--md-paper);
}

.md-form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  margin-block: 1.35rem;
}

.md-form-consent input {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
  margin-block-start: 0.2rem;
}

.md-form-notice {
  margin-block-end: 1.5rem;
  padding: 1rem 1.1rem;
  border-radius: var(--md-radius-xs);
}

.md-form-notice--success {
  border: 1px solid rgba(49, 91, 72, 0.24);
  color: #315b48;
  background: rgba(49, 91, 72, 0.08);
}

.md-form-notice--error {
  border: 1px solid rgba(140, 63, 72, 0.24);
  color: #7b303a;
  background: rgba(140, 63, 72, 0.08);
}

.md-prose-section--compact {
  padding-block-start: 0;
}

@media (max-width: 60rem) {
  .wp-block-latest-posts.is-grid,
  .wp-block-post-template.is-flex-container,
  .md-values__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 40rem) {
  .md-business-data > div,
  .md-legal-form__grid {
    grid-template-columns: 1fr;
  }

  .md-form-field--wide {
    grid-column: auto;
  }
}

@media (max-width: 48rem) {
  .entry-content > .alignleft,
  .entry-content > .alignright {
    max-width: 100%;
    margin-inline: 0;
    float: none;
  }

  .wp-block-media-text,
  .wp-block-media-text.has-media-on-the-right {
    display: block;
  }

  .wp-block-media-text .wp-block-media-text__content {
    padding: 1.75rem 0 0;
  }

  .wp-block-media-text.has-background .wp-block-media-text__content {
    padding: 1.75rem;
  }

  .md-hero__grid,
  .md-split__grid,
  .md-ritual__grid,
  .md-contact__grid {
    grid-template-columns: 1fr;
  }

  .md-hero__grid {
    align-content: initial;
    gap: 1.5rem;
    padding-block: clamp(2rem, 8vw, 3.5rem);
  }

  .md-hero__grid .md-hero__media {
    position: relative;
    z-index: 0;
    inset: auto;
    order: 2;
    width: min(100%, 32rem);
    height: auto;
    min-height: 0;
    justify-self: center;
    border-radius: var(--md-radius-lg) var(--md-radius-sm) var(--md-radius-lg) var(--md-radius-sm);
    aspect-ratio: 1 / 1;
    opacity: 1;
  }

  .md-hero__grid .md-hero__media::after {
    background: linear-gradient(0deg, rgba(25, 23, 20, 0.12), transparent 58%);
  }

  .md-hero__grid .md-hero__content {
    order: 1;
    align-self: auto;
  }

  .md-hero__content h1 {
    font-size: clamp(2.75rem, 11vw, 4rem);
    line-height: 1;
    white-space: normal;
  }

  .md-split--reverse .md-split__media,
  .md-ritual__media {
    order: initial;
  }

  .md-split__media img,
  .md-ritual__media img {
    min-height: 22rem;
  }

  .md-values__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 35rem) {
  .wp-block-latest-posts.is-grid,
  .wp-block-post-template.is-flex-container {
    grid-template-columns: 1fr;
  }

  .wp-block-buttons,
  .md-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .wp-block-button,
  .wp-block-button__link,
  .md-actions .md-button {
    width: 100%;
  }

  .wp-block-search__inside-wrapper {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-button__link,
  .wp-element-button,
  .md-contact__details > .md-social-link--instagram {
    transform: none !important;
  }
}
