/* ========================================
   Related works: shared base
   ======================================== */
#detail-overlay .related-works {
  margin-top: 0;
  padding-top: 0;
}

#detail-overlay .related-works h3,
#detail-overlay .related-works h4 {
  margin: 0 0 8px;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  opacity: 0.56;
  font-weight: 400;
}

#detail-overlay .related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  min-width: 0;
}

#detail-overlay .related-item {
  display: grid;
  grid-template-columns: var(--detail-related-thumb-size, 56px) minmax(120px, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

#detail-overlay .related-item img {
  display: block;
  width: var(--detail-related-thumb-size, 56px);
  height: var(--detail-related-thumb-size, 56px);
  object-fit: cover;
  object-position: center;
  border-radius: var(--detail-related-thumb-radius, 2px);
  border: var(--detail-related-thumb-border-width, 1px) solid var(--detail-related-thumb-border-color, rgba(0, 0, 0, 0.10));
  box-shadow: var(--detail-related-thumb-shadow, none);
  background: var(--detail-related-thumb-bg, rgba(0, 0, 0, 0.03));
  filter: var(--detail-related-thumb-filter, none);
  box-sizing: border-box;
  -webkit-user-drag: none;
}

#detail-overlay .related-title {
  display: block;
  min-width: 0;
  font-size: 11px;
  line-height: 1.3;
}

#detail-overlay .related-title small {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.25;
  opacity: 0.68;
}

/* ========================================
   Related works: square variant
   ======================================== */
#detail-overlay .detail-layout.is-square .related-works {
  margin-top: var(--wd-pc-square-related-gap-top, 10px);
  width: 100%;
}

#detail-overlay .detail-layout.is-square .related-works h3,
#detail-overlay .detail-layout.is-square .related-works h4 {
  display: block;
  margin: 0 0 var(--wd-pc-square-related-title-gap-bottom, 8px);
  font-size: var(--wd-pc-square-related-title-size, 10px);
  line-height: var(--wd-pc-square-related-title-line-height, 1.2);
  letter-spacing: var(--wd-pc-square-related-title-letter-spacing, 0.01em);
  opacity: var(--wd-pc-square-related-title-opacity, 0.56);
  font-weight: var(--wd-pc-square-related-title-weight, 400);
}

#detail-overlay .detail-layout.is-square .related-title,
#detail-overlay .detail-layout.is-square .related-title small {
  display: inline;
}

#detail-overlay .detail-layout.is-square .related-grid {
  display: grid;
  grid-template-columns: repeat(4, var(--wd-pc-square-related-thumb-size, var(--detail-related-thumb-size, 56px)));
  gap: var(--wd-pc-square-related-grid-gap, var(--detail-nav-gap, 14px));
  align-items: start;
  justify-content: start;
}

#detail-overlay .detail-layout.is-square .related-item {
  position: relative;
  display: block;
  width: var(--wd-pc-square-related-thumb-size, var(--detail-related-thumb-size, 56px));
  min-width: var(--wd-pc-square-related-thumb-size, var(--detail-related-thumb-size, 56px));
  height: var(--wd-pc-square-related-thumb-size, var(--detail-related-thumb-size, 56px));
  overflow: hidden;
}

#detail-overlay .detail-layout.is-square .related-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  pointer-events: none;
}

#detail-overlay .detail-layout.is-square .related-item img {
  display: block;
  width: var(--wd-pc-square-related-thumb-size, var(--detail-related-thumb-size, 56px));
  height: var(--wd-pc-square-related-thumb-size, var(--detail-related-thumb-size, 56px));
  filter: var(--wd-pc-square-related-thumb-filter, brightness(1.12) saturate(0.72) contrast(0.92));
  opacity: var(--detail-related-thumb-opacity, 1);
}

/* ========================================
   Related works: nav-inline variant
   ======================================== */
#detail-overlay .detail-layout.is-landscape .detail-nav-wide .related-works,
#detail-overlay .detail-layout.is-square .detail-nav-wide .related-works {
  width: auto;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-related-inline,
#detail-overlay .detail-layout.is-square .detail-nav-related-inline {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-related-label,
#detail-overlay .detail-layout.is-square .detail-nav-related-label {
  margin: 0 0 8px;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.01em;
  opacity: 0.56;
  font-weight: 400;
  text-align: right;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-related-items,
#detail-overlay .detail-layout.is-square .detail-nav-related-items {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--detail-nav-gap, 14px);
  align-items: flex-start;
  justify-content: flex-end;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-related-items .related-item,
#detail-overlay .detail-layout.is-square .detail-nav-related-items .related-item {
  display: block;
  width: var(--detail-related-thumb-size, 56px);
  min-width: var(--detail-related-thumb-size, 56px);
  height: var(--detail-related-thumb-size, 56px);
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-related-items .related-item img {
  filter: var(--wd-pc-landscape-related-thumb-filter, none);
  opacity: var(--detail-related-thumb-opacity, 1);
}

#detail-overlay .detail-layout.is-landscape .detail-nav-related-items .related-title,
#detail-overlay .detail-layout.is-square .detail-nav-related-items .related-title {
  display: none;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-wide .related-works h3,
#detail-overlay .detail-layout.is-landscape .detail-nav-wide .related-works h4,
#detail-overlay .detail-layout.is-square .detail-nav-wide .related-works h3,
#detail-overlay .detail-layout.is-square .detail-nav-wide .related-works h4 {
  display: none;
}

#detail-overlay .detail-layout.is-landscape .detail-nav-wide .related-grid,
#detail-overlay .detail-layout.is-square .detail-nav-wide .related-grid {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--detail-nav-gap, 14px);
  align-items: flex-start;
  justify-content: flex-start;
}
