.listing-specs {
  margin-block: 24px;
}
.spec-fieldset {
  border: 1px solid #e9e0d8;
  border-radius: 20px;
  padding: 22px;
  background: #fffcf8;
  min-width: 0;
}
.spec-fieldset legend {
  font-weight: 750;
  padding-inline: 10px;
  font-size: 1.1rem;
  color: #1b2540;
}
.spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.spec-grid .spec-field {
  margin: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.spec-grid .spec-field:has(textarea) {
  grid-column: 1/-1;
}
.spec-grid input,
.spec-grid select,
.spec-grid textarea {
  width: 100%;
  min-width: 0;
}
.spec-required {
  color: #a25129;
  font-size: 0.78em;
}
.spec-field small {
  line-height: 1.9;
}
.spec-intro {
  margin-top: 0;
}
.spec-help:empty {
  display: none;
}
.specs-detail dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 28px;
}
.specs-detail dl > div {
  padding-block: 14px;
  border-bottom: 1px solid #eceef2;
  min-width: 0;
}
.specs-detail dt {
  font-size: 0.85rem;
  color: #647084;
}
.specs-detail dd {
  margin: 6px 0 0;
  overflow-wrap: anywhere;
  white-space: normal;
}
.listing-specs [hidden] {
  display: none !important;
}
@media (max-width: 640px) {
  .spec-grid,
  .specs-detail dl {
    grid-template-columns: 1fr;
  }
  .spec-fieldset {
    padding: 16px;
  }
  .spec-grid .spec-field:has(textarea) {
    grid-column: auto;
  }
}
