@media all {

  .ce-type-dw_textmedia {

    & .ce-header {
      grid-column: 4 / -4;
      grid-row: 1;
    }
    
    & .ce-inner {
      grid-row: 3;
      order: 0;
      grid-column: 4 / -4;
    }

    & .ce-media {
      grid-row: 2;
      order: 1;
      grid-column: 2 / -2;

      & .ce-gallery {
        display: flex;
        flex-direction: column;
        gap: var(--element-gap);
      }

      & .ce-media-file {
        overflow: clip;
      }

    }

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

      & .ce-media {
        grid-column: 4 / -2;
      }

    }

    &:has(.ce-media-left) {

      & .ce-media {
        grid-column: 2 / -4;
      }

    }

  }

}

@media (min-width: 62.5rem) {

  .ce-type-dw_textmedia {

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

    & .ce-inner ,
    & .ce-media {
      grid-row: 2;
      display: flex;
      flex-direction: column;
    }

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

      & .ce-inner {
        padding-right: var(--element-padding);
        grid-column: 6 / -14;
      }

      & .ce-media {
        grid-column: 14 / -2;
      }

      & .ce-inner:has(+ .ce-smallimage) {
        grid-column: 6 / -10;
      }

      & .ce-smallimage.ce-media {
        grid-column: 18 / -6;
      }

    }

    &:has(.ce-media-left) {

      & .ce-inner {
        padding-left: var(--element-padding);
        grid-column: 14 / -6;
      }

      & .ce-media {
        grid-column: 2 / -14;
      }

      & .ce-inner:has(+ .ce-smallimage) {
        grid-column: 10 / -6;
      }

      & .ce-smallimage.ce-media {
        grid-column: 6 / -18;
      }

    }

  }

}