@media all {

  .ce-type-dw_textmedia {

    & > .ce-inner {
      grid-column: 3 / -3;
      display: grid;
      grid-template-columns: repeat(var(--page-grid-cols), minmax(0, 1fr));
      gap: var(--element-gap-small) var(--size-3);
      align-items: start;

      & > .ce-header {
        grid-column: 1 / -1;
        min-width: 0;
      }

      & > :is(.ce-text, .ce-media) {
        grid-column: 1 / -1;
        min-width: 0;
        width: 100%;
        max-width: var(--max-inline-width);
        margin-inline: auto;
      }

    }

    & .ce-media-file:has(> a.lightbox) {

      &:is(:focus, :hover, :has(a:focus-visible)) {
        transform: none;
      }

      &:is(:focus, :hover) img {
        box-shadow: none;
      }

    }

    & .ce-media-image > a.lightbox {
      display: block;
      position: relative;

      &::before {
        position: absolute;
        inset: auto var(--ce-media-overlay-offset) var(--ce-media-overlay-offset) auto;
        z-index: 1;
        font-size: var(--dynamic-size-scaler);
        color: var(--color-white);
        pointer-events: none;
      }

      &::after {
        content: "";
        position: absolute;
        inset: 0;
        background-color: rgba(var(--color-white-rgb), .25);
        opacity: 0;
        pointer-events: none;
        transition: var(--transition-fast);
        transition-property: opacity;
      }

      &:is(:hover, :focus-visible)::after {
        opacity: 1;
      }
    }

  }

  .ce-type-dw_textmedia > .ce-inner[data-media-variant="small"] {
    display: flex;
    flex-wrap: wrap;
    width: 100%;

    & > .ce-header {
      flex: 0 0 100%;
      order: 0;
    }

    & > :is(.ce-text, .ce-media) {
      margin-inline: 0;
    }

    & > .ce-text {
      flex: 1 1 0;
      order: 2;

      & > :is(.ce-bodytext, .ce-cta) {
        padding-inline-start: 0;
      }
    }

    & > .ce-media {
      flex: 0 0 min(var(--size-20), 30%);
      order: 1;

    }

    &:has(> .ce-media-right) {

      & > .ce-text {
        order: 1;
      }

      & > .ce-media {
        order: 2;
      }
    }
  }

}

@media (min-width: 62.5rem) {

  .ce-type-dw_textmedia > .ce-inner {

    & > :is(.ce-text, .ce-media) {
      margin-inline: 0;
    }

    &:not([data-media-variant="small"]):has(> .ce-text):has(> .ce-media:is(.ce-media-left, .ce-media-right)) {

      & > .ce-header {
        grid-column: 1 / span 6;
      }

      & > :is(.ce-text, .ce-media) {
        grid-column: span 6;
        grid-row: 1;
      }

      & > .ce-media-left {
        grid-column: 1 / span 6;
      }

      & > .ce-media-right {
        grid-column: 7 / span 6;
      }

      &:has(> .ce-header) > :is(.ce-text, .ce-media) {
        grid-row: 2;
      }
    }

  }

  .ce-type-dw_textmedia:is(:not(.ce-container *), .page-footer-top *) > .ce-inner:not([data-media-variant="small"]) > .ce-text > :is(.ce-bodytext, .ce-cta) {
    padding-inline-start: var(--size-3);
  }

}
