/* Grammar hub candidate: page-owned order and roadmap reflow. */
.grammar-hero .hub-opening-actions,
.vocab-opening .hub-opening-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
  margin-block: 20px 12px;
}

.grammar-hero .hub-opening-actions .text-link,
.vocab-opening .hub-opening-actions .text-link { font-weight: 600; }

.grammar-routes { padding-block: 0 28px; background: var(--cream); }
.grammar-routes__grid { display: grid; gap: 1px; border: 1px solid var(--line); background: var(--line); }
.grammar-route { min-height: 132px; background: var(--cream); }

.grammar-repair { padding-block: 44px; }
.grammar-repair .repair-summary { margin: 20px 0 0; color: var(--soft); }
.hub-details { margin-block-start: 16px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.hub-details summary { padding: 14px 0; color: var(--navy); font-weight: 700; cursor: pointer; }
.hub-details > *:not(summary) { margin-block-end: 16px; }

#curriculum .curriculum-group { break-inside: avoid; }

@media (min-width: 760px) {
  .grammar-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #curriculum .hub-shell { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
  #curriculum .section__head,
  #curriculum .curriculum-parent { grid-column: 1 / -1; }
  #curriculum .curriculum-group { margin-block: 0; }
}
