/* ---- setlist (Setlist — Music press & gig merch 92) -------------------------
   THE STRUCTURAL MOVE: mean whitespace. Every gutter on this page is 10px and
   every section heading is a ruled department kicker set hard left, so the
   blocks read as columns of a printed paper rather than tiles in a gallery.
   The hero is deliberately shallow — under half the window — so the eight-tile
   masonry feed crests the fold instead of waiting below a stage.
   Ground is uncoated newsprint bone; the nav bar is a solid slab of ink (via
   --header-bg, not a separate rule); the one stage-gel red is spent only on
   the category label and the price line and never fills a block — not even a
   button, which is why .btn.brand is repainted ink.
   The two strips are told apart by CARD COUNT (:has(> :nth-child(5))) and
   never :nth-of-type — the hero is always the first section element, so a type
   selector would silently point at the wrong band. */
body.t-setlist {
  background: #f2efe6;
  color: #141310;
  --radius: 0;
  --header-bg: #141310;
  --surface: #f7f5ee;
  --surface-2: #e6e2d6;
  --line: #d9d4c6;
  --line-strong: #c6c0ae;
  --heading: #141310;
  --text: #141310;
  --muted: #5c584c;
}
body.t-setlist .sf-name, body.t-setlist .sf-cart, body.t-setlist .sf-searchbtn { color: #f2efe6; }

/* shallow on purpose: the paper opens on a story, not on a stage */
body.t-setlist .sc-hero { min-height: 44vh; padding: 70px 20px 74px; }
body.t-setlist .sc-hero h1, body.t-setlist .sc-banner h2 { font-size: clamp(28px, 4.6vw, 52px); line-height: 1.05; letter-spacing: -0.03em; }

/* every heading is a department rule, left set — the spine of the page */
body.t-setlist .sc-h2 { text-align: left; text-transform: uppercase; letter-spacing: 0.2em; font-size: 11.5px; font-weight: 700; border-bottom: 1px solid #d9d4c6; padding-bottom: 11px; margin-bottom: 22px; }
body.t-setlist .sc-buygrid, body.t-setlist .sc-strip { padding: 34px 20px 14px; }

/* THE FEED — eight tiles, 10px gutters both ways, category above the title */
body.t-setlist .sc-mas-grid { column-gap: 10px; }
body.t-setlist .sc-mas-item { margin: 0 0 10px; }
body.t-setlist .sc-mas-cat, body.t-setlist .sc-buy-cat, body.t-setlist .sc-strip-label { margin-top: 10px; text-transform: uppercase; letter-spacing: 0.22em; font-size: 10px; font-weight: 700; }
body.t-setlist .sc-mas-p, body.t-setlist .sc-buy-p { color: #d8291c; font-weight: 700; }

/* the six-up: the picture shrinks to a stamp and the label carries the tile */
body.t-setlist .sc-strip-row:has(> :nth-child(5)) { grid-template-columns: repeat(3, 1fr); gap: 10px 24px; }
body.t-setlist .sc-strip-row:has(> :nth-child(5)) .sc-strip-card { display: grid; grid-template-columns: 52px 1fr; gap: 14px; align-items: center; text-align: left; border-top: 1px solid #d9d4c6; padding-top: 12px; }
body.t-setlist .sc-strip-row:has(> :nth-child(5)) .sc-strip-label { margin: 0; text-transform: none; letter-spacing: 0; font-size: 15px; }
/* the four-up bookend keeps its picture and its small caps */
body.t-setlist .sc-strip-row:not(:has(> :nth-child(5))) { grid-template-columns: repeat(4, 1fr); gap: 10px; }

/* the one asymmetric block: photograph one side, a tight ruled column of type
   the other — set close rather than airy */
body.t-setlist .sc-about-split { grid-template-columns: 1.1fr 1fr; gap: 34px; align-items: start; padding: 50px 20px 54px; }
body.t-setlist .sc-about-copy { border-left: 1px solid #d9d4c6; padding-left: 28px; }

/* back catalogue: four across, prices exposed, gutters as small as the feed's */
body.t-setlist .sc-buy-grid { grid-template-columns: repeat(4, 1fr); gap: 30px 10px; }
body.t-setlist .sc-buy-card { align-items: flex-start; text-align: left; }
body.t-setlist .sc-banner { min-height: 54vh; display: flex; align-items: center; }

/* the newsletter box promoted out of a sidebar into a full-width ink band */
body.t-setlist .sc-contact-band { background: #141310; padding: 64px 0 72px; }
body.t-setlist .sc-contact-band-inner { max-width: 100%; text-align: left; }
body.t-setlist .sc-contact-band .sc-h2 { color: #f2efe6; border-bottom-color: #35322a; }
body.t-setlist .sc-contact-band .sc-contact-sub, body.t-setlist .sc-contact-band .sc-field label { color: #b6b1a2; }
body.t-setlist .sc-contact-band .sc-field input, body.t-setlist .sc-contact-band .sc-field textarea { background: #1e1c17; border-color: #35322a; color: #f2efe6; }

/* flat ink slabs — the red is never allowed to fill one */
body.t-setlist .btn.brand { background: #141310; border-color: #141310; color: #f2efe6; border-radius: 0; box-shadow: none; text-transform: uppercase; letter-spacing: 0.16em; font-size: 11px; font-weight: 700; padding: 14px 28px; }
body.t-setlist .sc-contact-band .btn.brand { background: #f2efe6; border-color: #f2efe6; color: #141310; }
@media (max-width: 900px) {
  body.t-setlist .sc-buy-grid,
  body.t-setlist .sc-strip-row:has(> :nth-child(5)),
  body.t-setlist .sc-strip-row:not(:has(> :nth-child(5))) { grid-template-columns: repeat(2, 1fr); }
  body.t-setlist .sc-about-split { grid-template-columns: 1fr; gap: 26px; }
  body.t-setlist .sc-about-copy { border-left: 0; padding-left: 0; }
}

/* NIGHT — the same paper under the desk lamp: newsprint goes to press-room
   black, the warm-grey hairlines survive as a half-shade lift so the ruled
   kickers and the ruled about-column still read, and the stage gel opens up to
   the colour a red gel actually is against a dark room — #d8291c on near-black
   stops being an accent and turns into a smudge. */
html[data-theme="dark"] body.t-setlist {
  background: #121110;
  color: #ccc6b8;
  --header-bg: #0b0a09;
  --surface: #1a1917;
  --surface-2: #211f1c;
  --line: #302d28;
  --line-strong: #433f38;
  --heading: #f2efe6;
  --text: #ccc6b8;
  --muted: #8c877b;
}
html[data-theme="dark"] body.t-setlist .sc-h2 { border-bottom-color: #302d28; }
html[data-theme="dark"] body.t-setlist .sc-about-copy,
html[data-theme="dark"] body.t-setlist .sc-strip-row:has(> :nth-child(5)) .sc-strip-card { border-color: #302d28; }
html[data-theme="dark"] body.t-setlist .sc-mas-cat, html[data-theme="dark"] body.t-setlist .sc-buy-cat,
html[data-theme="dark"] body.t-setlist .sc-mas-p, html[data-theme="dark"] body.t-setlist .sc-buy-p { color: #ff5c47; }
html[data-theme="dark"] body.t-setlist .sc-contact-band { background: #0b0a09; }
html[data-theme="dark"] body.t-setlist .sc-contact-band .sc-h2 { border-bottom-color: #2a2723; }
html[data-theme="dark"] body.t-setlist .sc-contact-band .sc-field input,
html[data-theme="dark"] body.t-setlist .sc-contact-band .sc-field textarea { background: #1a1917; border-color: #302d28; color: #f2efe6; }
html[data-theme="dark"] body.t-setlist .btn.brand { background: #f2efe6; border-color: #f2efe6; color: #121110; }
