/* Pixel-led text and pixel blackletter for plain section headings.
   Image lettering from typography.js keeps its existing size and treatment. */
@font-face {
  font-family: "Press Start 2P";
  src: url("./fonts/PressStart2P-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Not Jam Blackletter 13";
  src: url("./fonts/NotJamBlkltr13.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --site-pixel: "Press Start 2P", monospace;
  --site-blackletter: "Not Jam Blackletter 13", Uncial, Georgia, serif;
}

/* Collection-page navigation uses the approved pixel blackletter. The home
   spellbook rail retains its established calligraphy and spacing. */
.collection-header nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font: 400 clamp(18px, 1.5vw, 25px)/1.35 var(--site-blackletter) !important;
  letter-spacing: 0;
  text-transform: none;
}
body:not(.packs-page) :is(
  .public-service-nav a, .product-jumps a, .product-crumbs,
  .pack-breadcrumb, .collection-subhead > a,
  .selected-work .selected-foot, .studio-enter
) {
  font-family: var(--site-pixel) !important;
  font-size: 9px !important;
  line-height: 1.8 !important;
  letter-spacing: 0;
}

/* Prose and card copy match the approved pixel study. The buy controls, forms,
   prices and fixed spellbook controls retain their tested typography. */
body:not(.packs-page) :is(
  .collection-intro p, .pack-description, .preview-section-intro,
  .pack-card-copy > p:not(.eyebrow), .release-mini-note,
  .selected-work .selected-copy p, .studio-copy p,
  .studio-invitation-center > p:not(.studio-kicker),
  .product-lead, .product-note, .product-section p:not(.eyebrow),
  .product-section li, .product-section th, .product-section td,
  .product-final p, .character-identity, .lineup-member figcaption,
  .study-shelves > a > span:last-child, .download-item p
) {
  font: 400 10px/2.05 var(--site-pixel) !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
}
body:not(.packs-page) :is(
  .eyebrow, .collection-intro > span, .pack-facts,
  .product-edition, .product-hero-art .hero-caption,
  .art-caption span, .tile-caption span,
  .pack-item-caption > span, .studio-piece-caption span,
  .studio-collection-head > span, .studio-kicker,
  .selected-work .selected-copy > span,
  .study-room-footer > span, footer > span
) {
  font-family: var(--site-pixel) !important;
  font-size: 8px !important;
  line-height: 1.8 !important;
  letter-spacing: 0 !important;
}
body:not(.packs-page) :is(
  .product-section h3, .pack-item-caption h3, .tile-caption h3,
  .studio-piece h3, .art-caption h2,
  .product-preview figcaption h3, .download-item h3
) {
  font-family: var(--site-pixel) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
}
body:not(.packs-page) .contents-list summary {
  font-family: var(--site-pixel) !important;
  font-size: 11px !important;
  line-height: 1.9 !important;
}

/* These headings are live plain text; the large purple image-backed titles
   remain driven by typography.js and existing page markup. */
body:not(.packs-page) :is(
  .public-shop-home .section-heading h2,
  .collection-subhead h2,
  .studio-collection-head h2,
  .study-shelves h2,
  .product-section h2,
  .product-final h2
) {
  font-family: var(--site-blackletter) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  text-shadow: 3px 3px 0 #462456;
  white-space: normal;
}
body:not(.packs-page) .collection-subhead h2 { font-size: 39px !important; }
body:not(.packs-page) .product-section h2 { font-size: 39px !important; }
body:not(.packs-page) .product-final h2 { font-size: 39px !important; }
body:not(.packs-page) .public-shop-home .section-heading h2 { font-size: 52px !important; }
body:not(.packs-page) .studio-collection-head h2 { font-size: 39px !important; }
body:not(.packs-page) .study-shelves h2 { font-size: 52px !important; }
body.studio-art-page .studio-collection-head h2 { text-shadow: 2px 2px 0 #cdb8d5; }
@media (max-width: 700px) {
  .collection-header nav a { font-size: 18px !important; }
  body:not(.packs-page) :is(
    .public-service-nav a, .product-jumps a, .product-crumbs,
    .pack-breadcrumb, .collection-subhead > a,
    .selected-work .selected-foot, .studio-enter
  ) { font-size: 8px !important; }
  body:not(.packs-page) :is(
    .collection-intro p, .pack-description, .preview-section-intro,
    .pack-card-copy > p:not(.eyebrow), .release-mini-note,
    .selected-work .selected-copy p, .studio-copy p,
    .studio-invitation-center > p:not(.studio-kicker),
    .product-lead, .product-note, .product-section p:not(.eyebrow),
    .product-section li, .product-section th, .product-section td,
    .product-final p, .character-identity, .lineup-member figcaption,
    .study-shelves > a > span:last-child, .download-item p
  ) { font-size: 10px !important; line-height: 2.15 !important; }
  body:not(.packs-page) .collection-subhead h2 { font-size: 26px !important; }
  body:not(.packs-page) .product-section h2 { font-size: 26px !important; }
  body:not(.packs-page) .product-final h2 { font-size: 26px !important; }
  body:not(.packs-page) .public-shop-home .section-heading h2 { font-size: 39px !important; }
  body:not(.packs-page) .studio-collection-head h2 { font-size: 26px !important; }
  body:not(.packs-page) .study-shelves h2 { font-size: 39px !important; }
  body:not(.packs-page) :is(
    .product-section h3, .pack-item-caption h3, .tile-caption h3,
    .studio-piece h3, .art-caption h2,
    .product-preview figcaption h3, .download-item h3
  ) { font-size: 11px !important; }
}
