/* =========================================================
   WriteUpCafe — series-listing.css  (2026-11-15 listing pages)
   /series · /books · /courses · /collections · /playbooks. Scoped under .slv.
   Type accent arrives as --a / --a-bg / --a-dark from SeriesLingo.
   ========================================================= */

.slv {
  --m-bg: var(--wuc-parchment, #f5f0e8); --m-raised: var(--wuc-parchment-raised, #fbf7ef); --m-sunken: var(--wuc-parchment-sunken, #ece5d8);
  --m-ink: var(--wuc-espresso-dark, #1a0f06); --m-body: #3d2a18; --m-muted: #6b5a4a;
  --m-line: rgba(139, 69, 19, 0.18); --m-line-strong: rgba(139, 69, 19, 0.35); --m-copper: var(--wuc-copper-dark, #8b4513);
  --m-primary: var(--wuc-primary, #e87a35); --m-gold: var(--wuc-gold-highlight, #f0c080);
  --m-display: 'Playfair Display', 'Times New Roman', Georgia, serif;
  background: var(--m-bg); color: var(--m-ink); min-height: 70vh;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 15px; line-height: 1.5;
}
.slv *, .slv *::before, .slv *::after { box-sizing: border-box; }
.slv h1, .slv h2, .slv p, .slv ol { margin: 0; }
.slv ol { padding: 0; list-style: none; }
.slv a { color: var(--a-dark); text-decoration: none; }
.slv a:hover { text-decoration: underline; }
.slv img { display: block; }
.slv [hidden] { display: none !important; }
.slv :focus-visible { outline: 3px solid rgba(232, 122, 53, 0.55); outline-offset: 2px; }
.slv-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--a-dark); }
.slv-eyebrow--muted { color: var(--m-muted); }
.slv-meta { font-size: 13px; color: var(--m-muted); }

/* ---------- type switcher ---------- */
.slv-types { background: var(--m-raised); border-bottom: 1px solid var(--m-line); }
.slv-types__in { max-width: 1200px; margin: 0 auto; padding: 10px 40px; display: flex; flex-wrap: wrap; gap: 8px; }
.slv .slv-types__link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px; border-radius: 999px; color: var(--m-body); font-weight: 600; }
.slv .slv-types__link:hover { background: var(--m-sunken); text-decoration: none; }
.slv .slv-types__link.is-current { background: var(--a-dark); color: #fff; font-weight: 700; }

.slv-wrap { max-width: 1200px; margin: 0 auto; padding: 44px 40px 72px; display: flex; flex-direction: column; gap: 32px; }

/* ---------- head ---------- */
.slv-head { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-end; justify-content: space-between; }
.slv-head__text { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.slv-title { font-family: var(--m-display); font-weight: 700; font-size: 60px; line-height: 1.05; letter-spacing: -0.02em; color: var(--m-ink); }
.slv--collection .slv-title { font-style: italic; font-size: 64px; }
.slv-intro { font-size: 17px; color: var(--m-body); max-width: 620px; }

/* ---------- buttons ---------- */
.slv-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 22px;
  border-radius: 999px; border: 1px solid transparent; font: 700 14px 'DM Sans', sans-serif; cursor: pointer; white-space: nowrap;
}
.slv a.slv-btn:hover { text-decoration: none; }
.slv .slv-btn--ghost { min-height: 48px; border-color: var(--m-line-strong); color: var(--m-copper); font-weight: 600; font-size: 15px; }
.slv .slv-btn--ghost:hover { background: rgba(139, 69, 19, 0.07); }
.slv .slv-btn--primary { min-height: 48px; background: var(--m-primary); color: #fff; font-size: 15px; }
.slv .slv-btn--accent { background: var(--a-dark); color: #fff; }
.slv .slv-btn--outline { border-color: color-mix(in srgb, var(--a-dark) 45%, transparent); color: var(--a-dark); }

/* ---------- featured (series) ---------- */
.slv-feat { background: var(--m-ink); color: #f5f0e8; border-radius: 14px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.slv-feat__img img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.slv-feat__body { padding: 36px 40px; display: flex; flex-direction: column; justify-content: center; gap: 14px; min-width: 0; }
.slv-feat__img:first-child:last-child, .slv-feat__body:first-child { grid-column: 1 / -1; }
.slv-feat__tags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #ddd0c0; }
.slv-feat__tag { padding: 5px 12px; border-radius: 999px; background: rgba(240, 192, 128, 0.14); border: 1px solid rgba(240, 192, 128, 0.4); color: var(--m-gold); }
.slv-feat__title { font-family: var(--m-display); font-weight: 700; font-size: 44px; line-height: 1.05; overflow-wrap: anywhere; }
.slv .slv-feat a { color: #f5f0e8; }
.slv-feat__desc { color: #ddd0c0; }
.slv-feat__figs { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 14px; color: #ddd0c0; }
.slv-feat__figs strong { color: var(--m-gold); }
.slv-feat__latest { padding-top: 14px; border-top: 1px solid rgba(240, 192, 128, 0.25); display: flex; flex-direction: column; gap: 4px; font-weight: 600; }
.slv-feat__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--m-gold); }

/* ---------- filter + sort ---------- */
.slv-bar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between; }
.slv-chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.slv-chips__label { flex: 0 0 auto; font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--m-muted); margin-right: 4px; }
.slv-chip {
  min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--m-line-strong); background: transparent;
  color: var(--m-body); font: 600 14px 'DM Sans', sans-serif; cursor: pointer;
}
.slv-chip.is-active { background: var(--m-ink); border-color: var(--m-ink); color: #f5f0e8; }
.slv-sort { display: flex; align-items: center; gap: 10px; color: var(--m-muted); font-size: 14px; }
.slv-sort select { min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--m-line-strong); background: var(--m-raised); color: var(--m-ink); font: 500 14px 'DM Sans', sans-serif; }
.slv-count, .slv-none { text-align: center; font-size: 14px; color: var(--m-muted); }

/* ---------- series rows ---------- */
.slv-list--series { display: flex; flex-direction: column; }
.slv-row { display: flex; gap: 24px; align-items: center; padding: 24px 0; border-top: 1px solid var(--m-line); }
.slv .slv-row__cover { flex: 0 0 168px; width: 168px; height: 112px; border-radius: 10px; overflow: hidden; }
.slv-row__cover img { width: 100%; height: 100%; object-fit: cover; }
.slv .slv-row__cover--tile {
  display: flex; align-items: center; justify-content: center; background: var(--a-bg); color: var(--a-dark);
  font-family: var(--m-display); font-style: italic; font-weight: 700; font-size: 34px;
}
.slv .slv-row__cover--tile:hover { text-decoration: none; }
.slv-row__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.slv-row__title { font-family: var(--m-display); font-weight: 700; font-size: 24px; line-height: 1.2; overflow-wrap: anywhere; }
.slv .slv-row__title a, .slv .slv-book__title a, .slv .slv-course__title a, .slv .slv-pb__title a { color: var(--m-ink); }
.slv-row__desc { color: var(--m-body); }
.slv-row__count { flex: 0 0 110px; display: flex; flex-direction: column; align-items: flex-end; font-size: 13px; color: var(--m-muted); }
.slv-row__count strong { font-family: var(--m-display); font-weight: 700; font-size: 40px; line-height: 1; color: #c17d3c; }

/* ---------- book shelf ---------- */
.slv-list--book { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 28px; padding-top: 8px; }
.slv-book { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.slv .slv-book__cover {
  display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 2 / 3; padding: 28px 22px;
  border-radius: 5px 12px 12px 5px; background: var(--a-dark); border-left: 9px solid rgba(0, 0, 0, 0.3); color: #fff;
  box-shadow: 0 18px 36px rgba(26, 15, 6, 0.25);
}
.slv .slv-book__cover:hover { text-decoration: none; }
.slv-book:nth-child(3n+2) .slv-book__cover:not(.slv-book__cover--img) { background: color-mix(in srgb, var(--a-dark) 80%, #000); }
.slv-book:nth-child(3n) .slv-book__cover:not(.slv-book__cover--img) { background: var(--a); }
.slv .slv-book__cover--img { padding: 0; overflow: hidden; border-left: 0; }
.slv-book__cover--img img { width: 100%; height: 100%; object-fit: cover; }
.slv-book__cover span { font-size: 10px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; overflow-wrap: anywhere; }
.slv-book__cover strong {
  font-family: var(--m-display); font-style: italic; font-weight: 700; font-size: 32px; line-height: 1.1;
  padding-bottom: 14px; border-bottom: 2px solid var(--m-gold); overflow-wrap: break-word; hyphens: auto;
}
.slv-book__cover strong.is-sm { font-size: 22px; }
.slv-book__cover strong.is-xs { font-size: 17px; line-height: 1.2; }
.slv-book__text { display: flex; flex-direction: column; gap: 6px; }
.slv-book__title { font-family: var(--m-display); font-weight: 700; font-size: 20px; line-height: 1.25; overflow-wrap: anywhere; }
.slv-book__by { font-size: 14px; color: var(--m-body); }
.slv .slv-book__by a { font-weight: 700; }
.slv-book__desc { font-size: 14px; color: var(--m-body); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- course cards ---------- */
.slv-list--course { display: flex; flex-direction: column; gap: 20px; }
.slv-course { background: var(--m-raised); border: 1px solid var(--m-line); border-radius: 14px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.slv-course__main { padding: 30px 32px; display: flex; flex-direction: column; gap: 12px; min-width: 0; color: var(--m-body); }
.slv-course__title { font-family: var(--m-display); font-weight: 700; font-size: 30px; line-height: 1.15; overflow-wrap: anywhere; }
.slv-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.slv-pills span { padding: 6px 12px; border-radius: 999px; background: var(--a-bg); color: var(--a-dark); font-size: 13px; font-weight: 600; }
.slv-course__foot { margin-top: auto; padding-top: 6px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.slv-person { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; min-width: 0; }
.slv-avatar { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 999px; background: var(--a-dark); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; }
.slv-course__side { padding: 30px 32px; background: var(--m-bg); border-left: 1px solid var(--m-line); display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.slv-numlist { display: flex; flex-direction: column; gap: 10px; }
.slv-numlist li { display: flex; gap: 12px; align-items: flex-start; font-weight: 500; color: var(--m-ink); }
.slv-numlist li > span:first-child {
  flex: 0 0 28px; height: 28px; border-radius: 999px; border: 2px solid var(--a); display: inline-flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 13px; color: var(--a-dark);
}
.slv-numlist li > span:last-child { padding-top: 3px; min-width: 0; overflow-wrap: anywhere; }

/* ---------- collection cards ---------- */
.slv-list--collection { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.slv-coll {
  --c-fg: var(--m-ink); --c-body: var(--m-body); --c-soft: var(--a-dark); --c-rule: var(--m-line);
  min-height: 520px; padding: 32px; border-radius: 14px; background: var(--m-raised); border: 1px solid var(--m-line);
  color: var(--c-fg); display: flex; flex-direction: column; gap: 18px; min-width: 0;
}
.slv-coll--dark { --c-fg: #fff; --c-body: var(--a-bg); --c-soft: color-mix(in srgb, var(--a-bg) 70%, var(--a)); --c-rule: rgba(255, 255, 255, 0.25); background: color-mix(in srgb, var(--a-dark) 78%, #000); border-color: transparent; }
.slv-coll--tint { --c-rule: color-mix(in srgb, var(--a-dark) 25%, transparent); background: var(--a-bg); border-color: var(--c-rule); }
.slv-coll__top, .slv-coll__label { font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--c-soft); }
.slv-coll__title { font-family: var(--m-display); font-style: italic; font-weight: 700; font-size: 44px; line-height: 1.05; overflow-wrap: anywhere; }
.slv .slv-coll a { color: var(--c-fg); }
.slv-coll__desc { font-family: var(--m-display); font-size: 16px; line-height: 1.6; color: var(--c-body); }
.slv-coll__inside { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--c-rule); display: flex; flex-direction: column; gap: 10px; }
.slv-coll__inside a { font-family: var(--m-display); font-style: italic; font-weight: 500; font-size: 18px; line-height: 1.3; }
.slv-coll__more { font-size: 13px; color: var(--c-soft); }
.slv-coll__by { font-size: 14px; color: var(--c-body); }

/* ---------- playbook cards ---------- */
.slv-list--playbook { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; gap: 20px; }
.slv-pb { background: var(--m-raised); border: 1px solid var(--m-line); border-radius: 14px; padding: 30px 32px; display: flex; flex-direction: column; gap: 14px; min-width: 0; color: var(--m-body); }
.slv-pb--wide { grid-column: 1 / -1; padding: 32px 36px; gap: 16px; }
.slv-pb__title { font-family: var(--m-display); font-weight: 700; font-size: 28px; line-height: 1.15; overflow-wrap: anywhere; }
.slv-pb--wide .slv-pb__title { font-size: 40px; line-height: 1.1; }
.slv-pb--wide > p { max-width: 820px; }
.slv-strip { display: flex; flex-wrap: wrap; gap: 6px; }
.slv .slv-strip__block {
  flex: 1 1 140px; min-width: 0; min-height: 64px; padding: 10px 14px; border-radius: 10px; border: 1px solid transparent;
  background: var(--a-dark); color: #fff; display: flex; flex-direction: column; justify-content: center;
}
.slv .slv-strip__block.is-alt { background: var(--a); }
.slv .slv-strip__block.is-guest { background: var(--a-bg); color: var(--a-dark); border-color: color-mix(in srgb, var(--a-dark) 40%, transparent); }
.slv .slv-strip__block:hover { text-decoration: none; filter: brightness(1.08); }
.slv-strip__block span:first-child { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.slv-strip__block span:last-child { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.slv-rail { display: flex; flex-direction: column; }
.slv-rail li { position: relative; display: flex; gap: 14px; align-items: flex-start; padding-bottom: 16px; }
.slv-rail li > span {
  flex: 0 0 30px; height: 30px; border-radius: 999px; background: var(--a-dark); color: #fff; display: flex; align-items: center; justify-content: center;
  font-family: var(--m-display); font-weight: 700; font-size: 14px; position: relative; z-index: 1;
}
.slv-rail li:not(:last-child)::before { content: ""; position: absolute; left: 14px; top: 30px; bottom: 0; width: 2px; background: color-mix(in srgb, var(--a-dark) 35%, transparent); }
.slv .slv-rail a { padding-top: 3px; color: var(--m-ink); font-weight: 500; min-width: 0; overflow-wrap: anywhere; }
.slv-pb__foot { margin-top: auto; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; font-size: 14px; }
.slv .slv-pb__foot a:not(.slv-btn) { font-weight: 700; }

/* ---------- empty ---------- */
.slv-empty { padding: 56px 32px; border-radius: 14px; border: 1px dashed rgba(139, 69, 19, 0.45); display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; color: var(--m-body); }
.slv-empty h2 { font-family: var(--m-display); font-weight: 700; font-size: 28px; color: var(--m-ink); }
.slv-empty p { max-width: 520px; }

/* ---------- tablet ---------- */
@media (max-width: 980px) {
  .slv-list--book { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .slv-list--collection { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .slv-course { grid-template-columns: minmax(0, 1fr); }
  .slv-course__side { border-left: 0; border-top: 1px solid var(--m-line); }
  .slv-feat { grid-template-columns: minmax(0, 1fr); }
  .slv-feat__title { font-size: 36px; }
}

/* ---------- phone ---------- */
@media (max-width: 680px) {
  .slv-types__in { padding: 8px 16px; flex-wrap: nowrap; overflow-x: auto; }
  .slv .slv-types__link { flex: 0 0 auto; padding: 0 16px; }
  .slv-wrap { padding: 28px 16px 48px; gap: 24px; }
  .slv-title, .slv--collection .slv-title { font-size: 40px; }
  .slv-head .slv-btn { width: 100%; }
  .slv-feat__body { padding: 24px 20px; }
  .slv-feat__title { font-size: 30px; }
  .slv-chips { flex-wrap: nowrap; overflow-x: auto; max-width: 100%; padding-bottom: 4px; }
  .slv-chip { flex: 0 0 auto; }
  .slv-row { flex-wrap: wrap; gap: 14px; padding: 20px 0; }
  .slv .slv-row__cover { flex: 0 0 96px; width: 96px; height: 64px; }
  .slv .slv-row__cover--tile { font-size: 22px; }
  .slv-row__count { flex: 1 1 auto; flex-direction: row; align-items: baseline; gap: 6px; justify-content: flex-end; }
  .slv-row__count strong { font-size: 28px; }
  .slv-row__body { flex-basis: 100%; order: 3; }
  .slv-row__title { font-size: 21px; }
  .slv-list--book { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
  .slv .slv-book__cover { padding: 18px 14px; }
  .slv-book__cover strong { font-size: 22px; }
  .slv-book__cover strong.is-sm { font-size: 16px; }
  .slv-book__cover strong.is-xs { font-size: 13px; }
  .slv-book__title { font-size: 17px; }
  .slv-course__main, .slv-course__side { padding: 22px 20px; }
  .slv-course__title { font-size: 24px; }
  .slv-list--collection { grid-template-columns: minmax(0, 1fr); }
  .slv-coll { min-height: 0; padding: 26px 22px; }
  .slv-coll__title { font-size: 36px; }
  .slv-list--playbook { grid-template-columns: minmax(0, 1fr); }
  .slv-pb, .slv-pb--wide { padding: 24px 20px; }
  .slv-pb--wide .slv-pb__title { font-size: 28px; }
  .slv .slv-strip__block { flex: 1 1 100% !important; }
}

/* =========================================================
   Design-system alignment (src/design-system/design.md §3 type, §4 buttons, §5.3 chips)
   - Display type (H1–H3) is Playfair in the display colour: copper-dark on parchment, gold on dark.
   - Card / entry titles are DM Sans 600 (H4 22 / H5 18) in the text colour.
   - Eyebrows are always copper, 11px, 0.15em, uppercase.
   - Buttons: 40px (48 large, 32 small), DM Sans 500 14px, pill; outline on parchment = primary orange.
   - Selected chips use the tab-chip recipe (12% fill / 35% border / orange text).
   ========================================================= */
.slv { --ds-display: var(--wuc-copper-dark, #8b4513); --ds-gold: var(--wuc-gold-highlight, #f0c080); --ds-copper: var(--wuc-copper, #c17d3c); --ds-fg1: #1a0f06; --ds-fg2: #3d2a18; --ds-orange: var(--wuc-primary, #e87a35); }

/* H1 — 48 / 800 / 1.10 / -0.02em, never italic */
.slv .slv-title, .slv.slv--collection .slv-title {
  font-family: var(--m-display); font-style: normal; font-weight: 800; font-size: 48px; line-height: 1.10;
  letter-spacing: -0.02em; color: var(--ds-display); text-wrap: balance;
}
.slv .slv-intro { color: var(--ds-fg2); text-wrap: pretty; }

/* eyebrows */
.slv .slv-eyebrow, .slv .slv-eyebrow--muted, .slv .slv-chips__label, .slv .slv-coll__top, .slv .slv-coll__label { color: var(--ds-display); font-size: 11px; font-weight: 600; letter-spacing: 0.15em; }
.slv .slv-coll--dark .slv-coll__top, .slv .slv-coll--dark .slv-coll__label, .slv .slv-feat__eyebrow { color: var(--ds-copper); }
.slv .slv-feat__tags { color: #ddd0c0; }
.slv .slv-feat__tag { color: var(--ds-gold); }

/* H2 on the dark featured card — 36 / 700, gold */
.slv .slv-feat__title { font-weight: 700; font-size: 36px; line-height: 1.15; letter-spacing: -0.01em; }
.slv .slv-feat .slv-feat__title a { color: var(--ds-gold); }

/* card titles — DM Sans 600 */
.slv .slv-row__title, .slv .slv-course__title, .slv .slv-pb__title {
  font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 22px; line-height: 1.30; letter-spacing: 0;
}
.slv .slv-book__title { font-family: 'DM Sans', sans-serif; font-weight: 600; font-size: 18px; line-height: 1.35; }
.slv .slv-row__title a, .slv .slv-course__title a, .slv .slv-pb__title a, .slv .slv-book__title a { color: var(--ds-fg1); }
/* lead cards carry an H3 — 28 / 600, display colour */
.slv .slv-pb--wide .slv-pb__title, .slv .slv-coll__title {
  font-family: var(--m-display); font-style: normal; font-weight: 600; font-size: 28px; line-height: 1.25; letter-spacing: -0.01em;
}
.slv .slv-pb--wide .slv-pb__title a, .slv .slv-coll .slv-coll__title a { color: var(--ds-display); }
.slv .slv-coll--dark .slv-coll__title a { color: var(--ds-gold); }
.slv .slv-coll__desc { font-family: inherit; font-size: 15px; line-height: 1.5; }
.slv .slv-coll__inside a { font-family: inherit; font-style: normal; font-weight: 500; font-size: 15px; line-height: 1.45; }
.slv .slv-book__cover strong { font-style: normal; color: var(--ds-gold); }
.slv .slv-empty h2 { font-weight: 600; color: var(--ds-display); }

/* buttons */
.slv .slv-btn { min-height: 40px; padding: 0 22px; font: 500 14px/1 'DM Sans', sans-serif; transition: background-color .15s ease-out, border-color .15s ease-out, color .15s ease-out; }
.slv .slv-btn--ghost { min-height: 40px; font-size: 14px; font-weight: 500; border-color: var(--ds-orange); color: var(--ds-orange); }
.slv .slv-btn--ghost:hover { background: rgba(232, 122, 53, 0.08); }
.slv .slv-btn--primary { min-height: 40px; font-size: 14px; background: var(--ds-orange); color: #ffffff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12); }
.slv .slv-btn--primary:hover { background: #f08a45; }
/* card CTAs = the outline chip ("Read more →" recipe) */
.slv .slv-btn--accent, .slv .slv-btn--outline {
  min-height: 32px; padding: 0 14px; background: transparent; border: 1px solid var(--ds-orange); color: var(--ds-orange); font-size: 13px;
}
.slv .slv-btn--accent:hover, .slv .slv-btn--outline:hover { background: rgba(232, 122, 53, 0.08); }

/* chips: tab-chip recipe */
.slv .slv-chip { min-height: 40px; border-color: transparent; color: var(--ds-fg1); font-weight: 500; }
.slv .slv-chip:hover { background: rgba(26, 15, 6, 0.04); }
.slv .slv-chip.is-active { background: rgba(232, 122, 53, 0.12); border-color: rgba(232, 122, 53, 0.35); color: var(--ds-orange); }
.slv .slv-types__link { min-height: 40px; font-weight: 500; border: 1px solid transparent; color: var(--ds-fg1); }
.slv .slv-types__link.is-current { background: rgba(232, 122, 53, 0.12); border-color: rgba(232, 122, 53, 0.35); color: var(--ds-orange); font-weight: 500; }
.slv .slv-sort select { min-height: 40px; border-radius: 10px; }
.slv .slv-pills span { font-weight: 500; }
