/* ───────── recipes page ───────── */
.page-head { padding: clamp(1.5rem, 5vw, 3.5rem) 0 var(--space-l); }
.page-head .mega { font-size: clamp(4.5rem, 17vw, 11rem); }
.layout {
  display: grid;
  grid-template-columns: 13rem minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
  padding-top: var(--space-l);
}
/* table of contents: a row of pills on narrow screens, a sticky sidebar from 53.75em */
.toc { font-size: var(--text-small); }
.toc h4 {
  --flow-space: var(--space-s);
  width: 100%;
  color: var(--accent);
}
.toc a { color: var(--muted); }
.toc a:hover { color: var(--fg); }
@media (min-width: 53.75em) {
  .toc {
    display: block;
    position: sticky;
    top: 1.5rem;
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
    padding-bottom: var(--space-m);
  }
  .toc h4 { --flow-space: var(--space-l); }
  .toc h4 + a { --flow-space: var(--space-s); }
  .toc a {
    display: block;
    padding: 0.2rem 0 0.2rem var(--space-m);
    border: 0;
    border-left: 0.125rem solid var(--border);
    border-radius: 0;
  }
}


.doc :is(h2, h3) { scroll-margin-top: var(--space-m); }
.doc h3 {
  font-size: var(--text-body);
}
.doc h3 code {
  display: inline-block;  /* so the padding counts towards the heading's height */
  font-size: inherit;
  background: var(--fg);
  color: var(--bg-2);
  border-color: transparent;
  border-radius: var(--radius-s);
  padding: 0.1em 0.6em;
}
.doc :is(h1, h2, h3, h4) {
  margin-block-end: max(1rem, 0.5em);
  --flow-space: 1.5em;
}

.doc h3 a { text-decoration: none; }

.doc > p { max-width: 46rem; }

/* params and the like: an .auto-grid of cards (tables overflow on phones) */
.cards-title {
  --flow-space: var(--space-l);
  font-size: var(--text-title);
  font-weight: 600;
  line-height: 1.2;
  color: var(--fg);
}
.cards .card {
  font-size: var(--text-small);
  min-width: 0;
  overflow-wrap: anywhere;
  display: flex;
  flex-direction: column;
  gap: var(--space-m);
}
.cards .head { display: flex; align-items: center; gap: var(--space-m); }
.cards .pict {
  flex: none;
  box-sizing: content-box;
  width: 1.6rem;
  height: 1.6rem;
  padding: 0.7rem;
  border-radius: var(--radius-m);
  background: var(--bg-2);
  fill: none;
  stroke: var(--muted);
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cards h4 { font-size: var(--text-body); font-weight: 600; line-height: 1.25; min-width: 0; }
.cards h4 code { color: var(--accent); }
.cards p { color: var(--muted); line-height: 1.5; }
.cards .meta { font-size: var(--text-label); margin-block-start: auto; }
.cards .meta + .meta { margin-block-start: 0; }
