/* v12.52: hybrid solar price article. Compact price tables that fit a phone
   without sideways scrolling, and the source list. */

.solar-price-guide .guide-hero h1 {
  font-size: clamp(36px, 2.8vw, 48px);
}

/* The img carries width/height to reserve its space; without this the 720
   attribute wins and object-fit crops the price rows out of the hero. */
.solar-price-guide .guide-hero figure img {
  height: auto;
}

.price-table table {
  min-width: 0;
}

.price-table th small {
  display: block;
  margin-top: 3px;
  color: #647386;
  font-size: 12px;
  font-weight: 500;
}

.price-table td:nth-child(n+2):last-child,
.price-list-table td:nth-child(2) {
  white-space: nowrap;
}

.guide-sources .price-sources {
  margin: 12px 0;
  padding-left: 18px;
}

.guide-sources .price-sources li {
  margin: 7px 0;
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 620px) {
  .price-table th,
  .price-table td {
    padding: 10px 8px;
    font-size: 13px;
    line-height: 1.4;
  }

  .price-table thead th {
    font-size: 11px;
    letter-spacing: 0;
  }

  /* Package tables become stacked cards: name, equipment, then the two prices. */
  .price-options-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .price-options-table table,
  .price-options-table tbody {
    display: block;
  }

  .price-options-table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 12px;
    padding: 14px;
    border-bottom: 1px solid #e4dfd7;
  }

  .price-options-table tr:last-child {
    border-bottom: 0;
  }

  .price-options-table tbody th,
  .price-options-table tbody td {
    display: block;
    padding: 0;
    border: 0;
  }

  .price-options-table tbody th,
  .price-options-table tbody td:nth-child(2) {
    grid-column: 1 / -1;
  }

  .price-options-table td[data-label] {
    color: #0b1f3a;
    font-weight: 700;
    white-space: nowrap;
  }

  .price-options-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    color: #647386;
    font-size: 11px;
    font-weight: 600;
  }

  .price-table td:nth-child(n+2):last-child,
  .price-list-table td:nth-child(2) {
    white-space: normal;
  }
}
