/* ==========================================================================
   NoLie Labs. download.css
   Download-page layout. Everything shared lives in base.css.
     .dl-hero        eyebrow, h1, intro, the facts row, the one action
     .dl-facts       Version / Size / SHA-256, three cells over a rule
     .rows--plain    ruled rows without a rank column (title | body)
     .dl-close       the closing line
   ========================================================================== */

.dl-hero__inner {
  display: grid;
  gap: 56px;
}

.dl-hero__text {
  max-width: 640px;
}

@media (min-width: 1024px) {
  .dl-hero__inner {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: 64px;
    align-items: center;
  }
  .dl-hero__visual {
    justify-self: end;
  }
}

.dl-hero__intro {
  max-width: 32em;
  margin-top: 28px;
}

/* Facts row */
.dl-facts {
  display: grid;
  gap: 20px;
  margin-top: 48px;
  padding-block: 24px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}

.dl-facts__cell {
  min-width: 0;
}

.dl-facts__value {
  margin-top: 8px;
  font-weight: 600;
  font-size: 17px;
  line-height: 1.35;
  color: var(--text);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}

.dl-facts__cell--wide {
  grid-column: 1 / -1;
}

.dl-facts__sha {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 16px;
}

.dl-facts__sha .mono {
  font-size: 14px;
  line-height: 1.5;
  color: var(--text);
}

.copy-btn.is-done {
  color: var(--great);
}

.changelog .row__rank {
  color: var(--text);
}

.changelog__body {
  display: grid;
  gap: 10px;
}

.changelog__body p {
  margin: 0;
}

/* The one action */
.dl-action {
  display: grid;
  gap: 16px;
  justify-items: start;
  margin-top: 40px;
}

@media (min-width: 720px) {
  .dl-hero__intro {
    margin-top: 36px;
  }
  .dl-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin-top: 56px;
    padding-block: 28px;
  }
  .dl-action {
    margin-top: 48px;
  }
}

/* Ruled rows without a rank: title over body, side by side from 1024px. */
.rows--plain .row {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "title"
    "body";
}

@media (min-width: 1024px) {
  .rows--plain.rows--split .row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    grid-template-areas: "title body";
  }
}

.dl-close {
  max-width: 640px;
}
