.family-coatings .coating-product-card .product-image {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

.family-coatings .coating-product-card .product-image img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.family-coatings .coating-material-visual {
  width: 100%;
  height: 100%;
  border: 1px solid rgba(24, 43, 91, .14);
  background-color: #ddd8ce;
}

.family-coatings .coating-material-visual.surface-substrate {
  background: linear-gradient(145deg, #dedbd4, #b9b7b1);
}

.family-coatings .coating-material-visual.surface-primer {
  background: linear-gradient(145deg, #f0eee8, #d8d4ca);
}

.family-coatings .coating-material-visual.surface-midcoat,
.family-coatings .coating-material-visual.surface-relief {
  background: repeating-linear-gradient(135deg, #d2cdc2 0 5px, #c5c0b5 5px 10px);
}

.family-coatings .coating-material-visual.surface-interior {
  background: linear-gradient(145deg, #ece8df, #d9d1c4);
}

.family-coatings .coating-material-visual.surface-exterior,
.family-coatings .coating-material-visual.surface-functional {
  background: linear-gradient(145deg, #c9cec8, #929c95);
}

.family-coatings .coating-material-visual.surface-stone {
  background:
    radial-gradient(circle at 25% 30%, rgba(60, 66, 61, .18) 0 1px, transparent 2px),
    radial-gradient(circle at 70% 68%, rgba(60, 66, 61, .15) 0 1px, transparent 2px),
    #c9c4b8;
  background-size: 13px 13px, 17px 17px;
}

.family-coatings .coating-material-visual.surface-waterproof {
  background: linear-gradient(160deg, #d9e2df, #9fafaa);
}

.family-coatings .coating-material-visual.surface-topcoat {
  background: linear-gradient(145deg, rgba(255, 255, 255, .82), rgba(185, 193, 188, .42));
}

.family-coatings .coating-material-visual.surface-art {
  background: repeating-linear-gradient(95deg, #c9c0b2 0 2px, #ded7cc 2px 7px);
}

.family-coatings .coating-effect-label {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 5px 8px;
  background: rgba(24, 43, 91, .9);
  color: #fff;
  font-size: 10px;
  line-height: 1;
}

.family-coatings .coating-detail-visual {
  position: relative;
  width: min(100%, 460px);
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 12px auto 22px;
}

.family-coatings .coating-detail-visual img {
  width: 100%;
  height: 100%;
  max-height: none;
  margin: 0;
  object-fit: contain;
}

.family-coatings .coating-detail-data {
  display: grid;
  grid-template-columns: minmax(8rem, .4fr) 1fr;
  margin: 18px 0;
  border-top: 1px solid var(--line);
}

.family-coatings .coating-detail-data dt,
.family-coatings .coating-detail-data dd {
  margin: 0;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.family-coatings .coating-detail-data dt {
  padding-right: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.family-coatings .coating-detail-data dd {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.family-coatings .coating-detail-boundary {
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 599px) {
  .family-coatings .product-grid {
    grid-template-columns: 1fr;
  }

  .family-coatings .coating-detail-data {
    grid-template-columns: 1fr;
  }

  .family-coatings .coating-detail-data dt {
    padding-bottom: 2px;
    border-bottom: 0;
  }

  .family-coatings .coating-detail-data dd {
    padding-top: 2px;
  }
}
