/* Black Lantern — antique gold on warm charcoal.
 *
 * Ported from the vibecoded site for Black Lantern Tattoo Atelier, the
 * Mathew DeLaMort / Lex partnership. A THEME rather than a custom template:
 * every section on the source homepage (hero, welcome, artists, portfolio,
 * FAQ, CTA) maps onto an existing catalog variant, so the whole identity is
 * palette, type and shape — which is exactly what a theme carries.
 *
 * Deliberately NOT the `delamort` theme, even though it is the same artist.
 * That one is #0d0d0d with saturated #d1a000 gold in Bebas Neue — a condensed
 * poster voice. This is warm charcoal with a muted antique gold in Cinzel,
 * engraved Roman capitals. Reusing delamort would have put his solo site's
 * voice on the atelier's masthead.
 *
 * 🚨 Every rule here targets the REAL section markup
 * (`[data-theme] .slot[data-section=...]`), never invented utility classes.
 * The first cut of the twitchicide theme shipped `.tw-halftone` etc. as
 * standalone classes that ZERO components applied, so its entire visual
 * identity was inert. A theme can restyle markup the shared sections already
 * emit; it cannot introduce markup.
 *
 * Tokens are exact, converted from the source's own :root HSL:
 *   --background 0 0% 15%    -> #262626
 *   --foreground 40 26% 87%  -> #e6e1d5
 *   --card       0 0% 20%    -> #333333
 *   --primary    41 39% 54%  -> #b79a5c
 *   --accent     35 45% 33%  -> #7a5a2e   (kept as the deep band, see below)
 *   --border     0 0% 25%    -> #404040
 *
 * Note the source's `--primary` (#b79a5c), not its `--accent` (#7a5a2e), is
 * our `--accent`: primary is what it actually paints links, rules and CTAs
 * with, and #7a5a2e on #262626 is 2.4:1 — unreadable as text. The darker
 * value survives as --bg-mid's warm edge instead.
 */

@layer theme {
  [data-theme="black-lantern"] {
    --bg: #262626;
    --bg-mid: #333333;
    --text: #e6e1d5;
    --accent: #b79a5c;
    --accent-text: #b79a5c;
    --muted: #a29a8f;
    --rule: #404040;

    --font-display: 'Cinzel', 'Times New Roman', serif;
    --font-body: 'Karla', system-ui, sans-serif;

    /* Engraved capitals want air between letters and no bold weight -- Cinzel
       carries the emphasis in its own forms. */
    --btn-transform: uppercase;
    --btn-tracking: 0.18em;
    --btn-weight: 500;
    --btn-radius: 0;
  }

  [data-theme="black-lantern"] :is(h1, h2, h3) {
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 500;
  }

  /* The source sets every section heading in small, widely-tracked capitals
     over a hairline rule -- the atelier/gallery-label look. */
  [data-theme="black-lantern"] .slot[data-section] h2 {
    font-size: clamp(1.1rem, 2.2vw, 1.6rem);
  }

  /* Warm radial wash behind the hero, as the source does with
     from-primary/10 via-background. */
  [data-theme="black-lantern"] .slot[data-section="hero"] {
    background-image: radial-gradient(
      circle at 50% 40%,
      color-mix(in srgb, var(--accent) 10%, transparent) 0%,
      var(--bg) 60%
    );
  }

  /* Gallery + roster tiles read as framed plates, not full-bleed photos. */
  [data-theme="black-lantern"] .slot[data-section="gallery"] img,
  [data-theme="black-lantern"] .slot[data-section="roster"] img {
    border: 1px solid var(--rule);
  }
}
