/* Shared proof-cover system for the Omnia case library.
   Real client imagery stays visible, while a single generated editorial texture
   gives every result a consistent, readable frame. */
.omnia-case-cover {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  background: #0b0a0c;
}

.omnia-case-cover::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: linear-gradient(145deg, rgba(3, 3, 4, .32), rgba(3, 3, 4, .86));
  content: "";
}

.omnia-case-media:has(.omnia-case-cover),
.omnia-route-detail-media:has(.omnia-case-cover) {
  min-height: 0;
  aspect-ratio: 4 / 5;
}

.omnia-case-media .omnia-case-cover-asset,
.omnia-route-detail-media .omnia-case-cover-asset,
.omnia-trusted-media .omnia-case-cover-asset,
.omnia-case-media .omnia-case-cover-texture,
.omnia-route-detail-media .omnia-case-cover-texture,
.omnia-trusted-media .omnia-case-cover-texture {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0;
}

.omnia-case-cover-asset {
  object-fit: contain !important;
  background: #090909;
  filter: saturate(.72) contrast(1.04) brightness(.56);
}

.omnia-case-cover-texture {
  z-index: 1 !important;
  object-fit: cover;
  opacity: .66;
}

.omnia-case-cover-content {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  gap: 9px;
  padding: clamp(20px, 2.8vw, 34px);
  color: #fff;
}

.omnia-case-cover-content > span {
  color: #c8b6ff;
  font-family: Bebasneue, "Bebas Neue", Impact, sans-serif;
  font-size: clamp(17px, 1.5vw, 24px);
  letter-spacing: .08em;
  line-height: .9;
}

.omnia-case-cover-content strong {
  max-width: 10ch;
  color: #fff;
  font-family: Bebasneue, "Bebas Neue", Impact, sans-serif;
  font-size: clamp(43px, 5.4vw, 86px);
  font-weight: 700;
  letter-spacing: -.01em;
  line-height: .79;
  word-spacing: .075em;
  text-wrap: balance;
}

.omnia-case-cover-content small {
  max-width: 29ch;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(11px, 1vw, 14px);
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.18;
}

.omnia-trusted-media .omnia-case-cover {
  min-height: 100%;
}

.omnia-trusted-media .omnia-case-cover-content {
  padding: 20px;
}

.omnia-trusted-media .omnia-case-cover-content strong {
  font-size: clamp(36px, 4vw, 66px);
}

@media (max-width: 620px) {
  /* The preserved homepage grid gives its media column no intrinsic height at
     this breakpoint.  Give the shared cover its own ratio so result imagery is
     never silently collapsed below the client copy. */
  .omnia-trusted-media:has(.omnia-case-cover) {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5;
    overflow: hidden;
  }

  .omnia-trusted-media .omnia-case-cover {
    height: 100% !important;
    min-height: 0 !important;
  }

  .omnia-case-card--catalog .omnia-case-media:has(.omnia-case-cover) {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .omnia-case-cover-content {
    gap: 7px;
    padding: 20px;
  }

  .omnia-case-cover-content strong {
    font-size: clamp(43px, 14vw, 61px);
  }
}
