/* ==========================================================================
   NEMA X — Catalogue Page
   Three sections: 01 Introduction, 02 Interactive Edition (the primary,
   large-format experience) and 03 PDF Editions (a restrained three-column
   publication selector). Scoped entirely to template-catalogue.php
   (inc/setup.php gates the enqueue by is_page_template()) — nothing here
   reaches any other template. Light/paper background throughout (the
   editorial-publication register), reusing existing tokens/.eyebrow/.reveal
   rather than inventing a parallel design language.
   ========================================================================== */

.cat-intro{ padding:var(--pad-lead) 0 var(--pad-beat); }
.cat-intro-inner{ max-width:760px; }

.cat-heading{
  margin-top:var(--s-3);
  font-family:var(--f-display); font-weight:400; line-height:var(--lh-mega); letter-spacing:var(--ls-head);
  display:flex; flex-direction:column;
}
.cat-heading-mark{ font-size:clamp(40px,7vw,86px); }
.cat-heading-sub{
  margin-top:2px; font-style:italic; font-weight:360; color:var(--ink-soft);
  font-size:clamp(22px,3.4vw,40px);
}

.cat-intro-text{
  margin-top:var(--s-5); color:var(--ink-soft); font-size:15px; line-height:var(--lh-body);
  max-width:52ch;
}

.cat-divider{ height:1px; background:var(--line); transform-origin:left; }
.cat-divider.reveal{ transform:scaleX(0); opacity:1; transition:transform var(--i5) var(--ease-instrument); }
.cat-divider.reveal.is-visible{ transform:scaleX(1); }

/* ---- 02 — Interactive Edition — the primary experience. Deliberately
   larger and more spacious than the PDF row below it: a full-width band
   with its own generous vertical rhythm and the biggest CTA on the page,
   so it never reads as "one of four equal downloads." ---- */
.cat-portfolio{
  padding:var(--pad-standard) 0;
  background:color-mix(in srgb, var(--stamp) 4%, var(--paper));
}
.cat-portfolio-inner{ max-width:760px; }
.cat-portfolio-heading{
  margin-top:var(--s-3);
  font-family:var(--f-display); font-weight:400; font-style:italic;
  font-size:clamp(28px,4vw,48px); line-height:var(--lh-mega); letter-spacing:var(--ls-head);
}
.cat-portfolio-desc{
  margin-top:var(--s-4); color:var(--ink-soft); font-size:15px; line-height:var(--lh-body); max-width:48ch;
}

.cat-portfolio-cta{
  position:relative; display:inline-flex; align-items:baseline; gap:12px;
  margin-top:var(--s-6);
  font-family:var(--f-mono); font-size:14px; letter-spacing:var(--ls-label); text-transform:uppercase;
  color:var(--ink);
}
.cat-portfolio-cta::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:1px; width:100%;
  background:var(--line); transition:background var(--i2) var(--ease-instrument);
}
.cat-portfolio-cta:hover, .cat-portfolio-cta:focus-visible{ color:var(--stamp); }
.cat-portfolio-cta:hover::after, .cat-portfolio-cta:focus-visible::after{ background:var(--stamp); }
.cat-portfolio-cta-arrow{ display:inline-block; transition:transform var(--i2) var(--ease-instrument); }
.cat-portfolio-cta:hover .cat-portfolio-cta-arrow, .cat-portfolio-cta:focus-visible .cat-portfolio-cta-arrow{ transform:translate(2px,-2px); }

.cat-portfolio-cta--disabled{
  color:var(--ink-soft); opacity:.55; cursor:default;
}
.cat-portfolio-cta--disabled::after{ background:var(--line); }

/* ---- 03 — PDF Editions — restrained editorial rows, no button boxes,
   no icons, no shadows. Each column: language code / title / hairline /
   CTA. The current site language's column is only ever subtly foregrounded
   (a warmer code colour + a fractionally larger title) — never hidden,
   never boxed, never scaled. ---- */
.cat-pdfs{ padding:var(--pad-beat) 0 var(--pad-standard); }

.cat-pdf-row{
  display:grid; grid-template-columns:1fr; gap:var(--s-7) var(--s-6);
  margin-top:var(--s-6);
}
@media (min-width:640px){
  .cat-pdf-row{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:1024px){
  .cat-pdf-row{ grid-template-columns:repeat(3,1fr); }
}

.cat-pdf-col{ display:flex; flex-direction:column; align-items:flex-start; unicode-bidi:isolate; }

.cat-pdf-code{
  font-family:var(--f-mono); font-size:11px; letter-spacing:var(--ls-wide); text-transform:uppercase;
  color:var(--ink-soft); unicode-bidi:plaintext;
}
.cat-pdf-col--priority .cat-pdf-code{ color:var(--stamp); }

.cat-pdf-title{
  margin-top:var(--s-2);
  font-family:var(--f-display); font-weight:400; font-size:clamp(19px,1.9vw,23px);
  line-height:var(--lh-read); color:var(--ink); unicode-bidi:plaintext;
}
.cat-pdf-col--priority .cat-pdf-title{ font-size:clamp(20px,2vw,25px); }

.cat-pdf-rule{ width:100%; height:1px; background:var(--line); margin-top:var(--s-4); margin-bottom:var(--s-4); }
.cat-pdf-col--priority .cat-pdf-rule{ background:color-mix(in srgb, var(--stamp) 45%, var(--line)); }

.cat-pdf-cta{
  position:relative;
  font-family:var(--f-mono); font-size:12px; letter-spacing:var(--ls-label); text-transform:uppercase;
  color:var(--ink); unicode-bidi:plaintext;
}
.cat-pdf-cta::after{
  content:""; position:absolute; left:0; right:0; bottom:-3px; height:1px; width:0;
  background:var(--stamp); transition:width var(--i2) var(--ease-instrument);
}
.cat-pdf-cta:hover::after, .cat-pdf-cta:focus-visible::after{ width:100%; }
.cat-pdf-cta:hover, .cat-pdf-cta:focus-visible{ color:var(--stamp); }
.cat-pdf-cta-arrow{ display:inline-block; }

.cat-pdf-cta--disabled{ color:var(--ink-soft); opacity:.5; cursor:default; }
.cat-pdf-cta--disabled::after{ display:none; }

@media (max-width:539px){
  .cat-portfolio-cta{ font-size:13px; }
}
