/* Native shortcode compatibility */
.em-section {
  position: relative;
  padding-block: var(--em-section-padding, 30px);
  background-color: var(--em-section-bg, transparent);
  background-image: var(--em-section-image, none);
  background-position: center;
  background-size: cover;
}

.em-section.is-dark,
.em-section.is-dark h1,
.em-section.is-dark h2,
.em-section.is-dark h3,
.em-section.is-dark h4 {
  color: #fff;
}

.em-section-overlay {
  position: absolute;
  inset: 0;
  background: var(--em-overlay, transparent);
  pointer-events: none;
}

.em-section > .em-section-content {
  position: relative;
  z-index: 1;
}

.em-row,
.em-row-inner {
  width: calc(100% - 30px);
  max-width: var(--em-container);
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: var(--em-row-align, stretch);
  justify-content: var(--em-row-justify, flex-start);
  gap: 0;
}

.em-row-inner {
  width: 100%;
  max-width: none;
}

.em-row.is-collapse {
  width: 100%;
  max-width: none;
}

.em-row.is-collapse > .em-col {
  padding: 0;
}

.em-row.is-large { max-width: 1110px; }
.em-row.is-small { max-width: 1065px; }

.em-col,
.em-col-inner {
  width: var(--em-col-width, 100%);
  flex: 0 0 var(--em-col-width, 100%);
  min-width: 0;
  padding: 0 15px 30px;
}

.em-col-inner {
  padding-bottom: 0;
}

.em-col > .em-col-content,
.em-col-inner > .em-col-content {
  padding: var(--em-col-padding-sm, var(--em-col-padding-md, var(--em-col-padding-lg, 0)));
}

.em-row-inner.is-small {
  width: calc(100% + 20px);
  margin-inline: -10px;
}

.em-row-inner.is-small > .em-col-inner {
  padding-inline: 10px;
}

.em-col.is-center { text-align: center; }
.em-col.is-right { text-align: right; }

.em-text { width: 100%; }
.em-text.is-center { text-align: center; }
.em-text.is-right { text-align: right; }
.em-text > :last-child { margin-bottom: 0; }

.em-gap { display: block; width: 100%; }

.em-divider {
  width: var(--em-divider-width, 30px);
  height: var(--em-divider-height, 3px);
  margin-block: 16px;
  background: var(--em-divider-color, var(--em-ink));
}

.em-image {
  width: var(--em-image-width, 100%);
  margin-inline: auto;
}

.em-image img {
  width: 100%;
}

.em-banner {
  position: relative;
  min-height: var(--em-banner-height, 300px);
  overflow: hidden;
  background-color: var(--em-banner-color, transparent);
  background-image: var(--em-banner-image, none);
  background-position: var(--em-banner-position, center);
  background-size: var(--em-banner-size, cover);
  border: var(--em-banner-border, 0);
  border-radius: var(--em-banner-radius, 0);
}

.em-banner > .em-banner-content {
  position: absolute;
  inset: 0;
}

.em-text-box {
  position: absolute;
  z-index: 2;
  left: var(--em-x, 50%);
  top: var(--em-y, 50%);
  width: var(--em-box-width, 40%);
  transform: translate(var(--em-tx, -50%), var(--em-ty, -50%));
}

.em-text-box.is-right { text-align: right; }
.em-text-box.is-center { text-align: center; }

.em-featured-box {
  display: flex;
  align-items: center;
  gap: 18px;
}

.em-featured-box-image {
  flex: 0 0 var(--em-feature-image, 48px);
  width: var(--em-feature-image, 48px);
}

.em-featured-box-content > :last-child {
  margin-bottom: 0;
}

.em-image-box {
  display: flex;
  align-items: center;
  gap: 16px;
}

.em-image-box-image {
  flex: 0 0 var(--em-image-box-width, 50%);
}

.em-stack {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: var(--em-stack-gap, 8px);
}

.em-stack.is-column { flex-direction: column; align-items: flex-start; }
.em-stack.is-center { justify-content: center; }

.em-ux-menu a {
  display: block;
  padding-block: 4px;
}

