/* Base styles - Mobile first */
.media-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
  width: 100%;
  max-width: 1536px;
  margin: auto;
  text-align: center;
  height: 100%;
}

.media-card-base {
  height: 100%;
}

.media-card-content,
.media-card-media {
  width: 100%;
  height: 100%;
}

.media-card-media {
  max-width: 812px;
  width: 100%;
  height: auto;
  padding: 2rem 2rem 0;
}

.media-card-media img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

iframe.media-oembed-content {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

/* Content padding */
.media-card-content {
  padding: 2rem 2rem 0;
}

.media-card-content > .media-links {
  margin-top: auto !important;
}

.media-links {
  padding: 1rem 0;
}

/* Media position variants - Mobile */
.media_top .media-card-content,
.media_bottom .media-card-content {
  display: flex;
  flex-direction: column;
}

.media_bottom {
  flex-direction: column-reverse;
}

.media_bottom .media-card-media {
  margin-bottom: 0;
}

/* Container overrides - Remove spacing in carousels/grids */
.ssb-carousel .media-card-content,
.ssb-carousel .media-card-media,
.card-grid .media-card-media,
.card-grid .media-card-content,
.ssb-carousel .media-card,
.card-grid .media-card {
  padding: 0;
}

.ssb-carousel .media_top .media-card-content,
.card-grid .media_top .media-card-content {
  padding: 1.5rem 1rem 0;
}

/* Tablet and up */
@media (min-width: 768px) {
  .media-card {
    flex-direction: row;
    padding: 4rem 2rem;
  }

  .media-card-content,
  .media-card-media {
    max-width: 100%;
  }

  .media-card-media {
    text-align: right;
    max-width: 812px;
    padding: 0;
  }

  .media-card-content {
    padding: 0 2rem;
  }

  /* Media position variants - Mobile */
  .media_top .media-card-content,
  .media_bottom .media-card-content {
    align-items: center;
  }

  /* Media position variants - Desktop */
  .media_top {
    flex-direction: column;
  }

  .media_top .media-card-content {
    padding: 1.5rem 2rem 0;
  }

  .media_right {
    flex-direction: row-reverse;
    text-align: left;
    padding-top: 0;
    padding-bottom: 0;
  }

  .media_right .media-card-media {
    padding: 4rem 2rem 4rem 0;
  }

  .media_right .media-card-content {
    margin-right: 2rem;
    padding: 2rem 0 2rem 2rem;
  }

  .media_left {
    flex-direction: row;
    text-align: left;
    padding-top: 0;
    padding-bottom: 0;
  }

  .media_left .media-card-media {
    padding: 4rem 0 4rem 2rem;
  }

  .media_left .media-card-content {
    margin-left: 2rem;
    padding: 2rem 2rem 2rem 0;
  }

  .media_bottom {
    flex-direction: column-reverse;
  }

  .media_bottom .media-card-content {
    padding: 0 2rem 1.5rem;
  }

  /* Container overrides - Desktop */
  .ssb-carousel .media_left .media-card-content,
  .ssb-carousel .media_right .media-card-content,
  .ssb-carousel .media-card-content,
  .card-grid .media_left .media-card-content,
  .card-grid .media_right .media-card-content,
  .card-grid .media-card-content,
  .ssb-carousel .media-card,
  .card-grid .media-card {
    margin: 0;
    padding: 0;
  }
}
