/* =========================================================
   CubeSat Salon media
   ========================================================= */

/*
 * CubeSat Salon posts use contained featured images. Keep the section menu in
 * normal document flow so it never covers the top of those images, including
 * when the WordPress admin bar is present.
 */
body.section-s031.single-post.has-section-overlay-header.has-section-featured-hero-active .site-header,
body.section-s031.single-post.has-section-overlay-header.has-section-featured-hero-active #mobile-header {
  position: relative;
  top: auto;
  right: auto;
  left: auto;
  width: 100%;
  background: #fff !important;
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media {
  display: block;
  box-sizing: border-box;
  width: min(calc(100% - 48px), 1200px);
  margin: 0 auto;
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media > img.unisec-section-featured-hero {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: min(78vh, 900px);
  margin: 0 auto !important;
  object-fit: contain;
  object-position: center;
  overflow: visible;
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media__action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 2px;
  margin: 0;
  padding-block: 12px clamp(20px, 3vw, 32px);
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media__action a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 8px 4px;
  color: #07566a;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media__action a:hover,
body.section-s031.single-post .unisec-cubesat-salon-featured-media__action a:focus-visible {
  color: #007d93;
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media__action a:focus-visible {
  outline: 3px solid #007d93;
  outline-offset: 3px;
}

body.section-s031.single-post .unisec-cubesat-salon-featured-media__hint {
  color: #52656f;
  font-size: 12px;
  line-height: 1.5;
  text-align: right;
}

body.section-s031 .unisec-post-list:is(
  [data-unisec-post-list="cubesat-salon-latest"],
  [data-unisec-post-list="cubesat-salon-news"],
  [data-unisec-post-list="cubesat-salon-en-latest"]
) {
  --unisec-card-image-fit: contain;
  --unisec-card-image-ratio: 16 / 10;
}

body.section-s031 .unisec-post-list:is(
  [data-unisec-post-list="cubesat-salon-latest"],
  [data-unisec-post-list="cubesat-salon-news"],
  [data-unisec-post-list="cubesat-salon-en-latest"]
) .unisec-post-card.has-media .unisec-card__image {
  align-self: center;
  box-sizing: border-box;
  height: auto;
  aspect-ratio: var(--unisec-card-image-ratio);
  padding: clamp(14px, 1.6vw, 20px);
  background: #f3f7f8;
}

body.section-s031 .unisec-post-list:is(
  [data-unisec-post-list="cubesat-salon-latest"],
  [data-unisec-post-list="cubesat-salon-news"],
  [data-unisec-post-list="cubesat-salon-en-latest"]
) .unisec-post-card.has-media .unisec-card__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 640px) {
  body.section-s031.single-post .unisec-cubesat-salon-featured-media {
    width: calc(100% - 32px);
  }

  body.section-s031.single-post .unisec-cubesat-salon-featured-media > img.unisec-section-featured-hero {
    max-height: min(70vh, 680px);
  }
}
