/*
 * Play catalog — industrial editorial route.
 * The feed shares the landing page's paper, type and technical play plates.
 */

html[data-design-system="halde"] .catalog-page{
  position:relative;
  padding:0 0 100px;
  gap:0;
  color:var(--text-primary);
  background-color:var(--bg-page);
  background-image:url("../assets/paper-grain.svg");
  background-size:420px 420px;
  background-blend-mode:multiply;
}

html[data-design-system="halde"] .catalog-page > .pnl{
  margin:0;
  padding-inline:var(--page-gutter);
  color:var(--text-primary);
  border:0;
  border-radius:0;
  background:transparent;
  background-image:none;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page > .pnl + .pnl{
  border-top:1px solid rgba(17,18,18,.14);
}

html[data-design-system="halde"] .catalog-page > .pnl::before{
  display:none;
}

html[data-design-system="halde"] .catalog-page :where(h1,h2,h3,p,button,input){
  font-family:var(--font-editorial);
}

html[data-design-system="halde"] .catalog-page :where(.lab,.mono,code,output){
  font-family:var(--font-technical);
}

/* Catalog introduction */
html[data-design-system="halde"] .catalog-page .catalog-intro{
  padding-top:clamp(46px,6vw,82px);
  padding-bottom:clamp(30px,4vw,54px);
}

html[data-design-system="halde"] .catalog-page .catalog-kicker{
  width:auto;
  margin:0;
  padding:0 0 13px;
  border:0;
  border-bottom:1px solid rgba(17,18,18,.2);
  border-radius:0;
  color:rgba(17,18,18,.56);
  background:transparent;
  box-shadow:none;
  text-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-intro-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);
  gap:clamp(42px,7vw,112px);
  align-items:end;
  margin:0;
  padding:clamp(34px,5vw,70px) 0 clamp(30px,4vw,52px);
  border:0;
  border-bottom:1px solid rgba(17,18,18,.14);
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-intro-grid::before{
  display:none;
}

html[data-design-system="halde"] .catalog-page .catalog-intro h1{
  max-width:12ch;
  margin:0;
  color:var(--text-primary);
  font-family:var(--font-editorial);
  font-size:var(--type-page-title-size);
  font-variation-settings:"wght" 590;
  font-weight:590;
  letter-spacing:-.07em;
  line-height:.84;
  text-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-intro-actions{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-intro-actions p{
  max-width:36ch;
  padding:0;
  color:rgba(17,18,18,.68);
  font-size:clamp(16px,1.3vw,20px);
  font-weight:430;
  line-height:1.5;
}

html[data-design-system="halde"] .catalog-page .catalog-search{
  min-height:52px;
  margin-top:24px;
  padding:0 13px;
  border:1px solid rgba(17,18,18,.36);
  border-radius:0;
  color:var(--text-primary);
  background:rgba(255,255,255,.14);
  box-shadow:none;
  transition:border-color .18s ease,background-color .18s ease;
}

html[data-design-system="halde"] .catalog-page .catalog-search:focus-within{
  border-color:var(--text-primary);
  background:rgba(255,255,255,.28);
  box-shadow:inset 0 -2px 0 var(--accent);
}

html[data-design-system="halde"] .catalog-page .catalog-search > span{
  font:500 19px/1 var(--font-technical);
}

html[data-design-system="halde"] .catalog-page .catalog-search input{
  width:100%;
  min-height:48px;
  padding:0;
  border:0;
  color:var(--text-primary);
  background:transparent;
  box-shadow:none;
  font-size:14px;
  font-weight:460;
}

html[data-design-system="halde"] .catalog-page .catalog-search input::placeholder{
  color:rgba(17,18,18,.43);
}

html[data-design-system="halde"] .catalog-page .catalog-search output{
  color:rgba(17,18,18,.52);
  font-size:8.5px;
}

html[data-design-system="halde"] .catalog-page .catalog-filters{
  min-height:56px;
  margin:0;
  padding:11px 0 0;
  gap:7px;
  border:0;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-filters .chip{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 13px;
  border:1px solid rgba(17,18,18,.24);
  border-radius:0;
  color:rgba(17,18,18,.72);
  background:rgba(255,255,255,.13);
  box-shadow:none;
  font-size:9px;
  cursor:pointer;
  transition:border-color .16s ease,background-color .16s ease,color .16s ease;
}

html[data-design-system="halde"] .catalog-page .catalog-filters .chip:hover{
  border-color:var(--text-primary);
  color:#ecebe5;
  background:#292b2a;
}

html[data-design-system="halde"] .catalog-page .catalog-filters .chip.on{
  border-color:#292b2a;
  color:#f5f4ed;
  background:#292b2a;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-filters .chip.on::before{
  content:"";
  width:3px;
  height:12px;
  margin-right:7px;
  background:var(--accent);
}

html[data-design-system="halde"] .catalog-page .catalog-philosophy{
  color:rgba(17,18,18,.52);
  font-size:9px;
  font-weight:480;
}

/* Featured play */
html[data-design-system="halde"] .catalog-page .featured-play{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);
  gap:clamp(44px,7vw,116px);
  align-items:center;
  padding-block:clamp(58px,7vw,104px);
}

html[data-design-system="halde"] .catalog-page .feature-cover{
  max-width:620px;
}

html[data-design-system="halde"] .catalog-page .feature-copy{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .feature-copy::before{
  display:none;
}

html[data-design-system="halde"] .catalog-page .feature-copy .strip{
  margin:0 0 22px;
  padding:0 0 11px;
  border-bottom:1px solid rgba(17,18,18,.15);
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .feature-copy h2{
  max-width:11ch;
  color:var(--text-primary);
  font-family:var(--font-editorial);
  font-size:var(--type-section-title-size);
  font-variation-settings:"wght" 590;
  font-weight:590;
  letter-spacing:-.065em;
  line-height:.87;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

html[data-design-system="halde"] .catalog-page .feature-outcome{
  max-width:45ch;
  margin:22px 0;
  color:rgba(17,18,18,.68);
  font-size:clamp(16px,1.3vw,19px);
  font-weight:430;
}

html[data-design-system="halde"] .catalog-page .feature-hear{
  max-width:55ch;
  margin:0 0 24px;
  padding:4px 0 4px 15px;
  border:0;
  border-left:3px solid var(--accent);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .feature-hear p{
  color:rgba(17,18,18,.7);
  font-size:12px;
}

html[data-design-system="halde"] .catalog-page .feature-actions{
  gap:8px;
}

html[data-design-system="halde"] .catalog-page .feature-actions :is(.btn,.btn2){
  min-height:40px;
  border-radius:0;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .feature-proof{
  gap:18px;
  margin-top:26px;
  padding-top:13px;
  border-color:rgba(17,18,18,.14);
  color:rgba(17,18,18,.56);
  font-size:8px;
}

/* Shared technical play plate */
html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .play-cover{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-areas:
    "top"
    "title"
    "activity"
    "activity-meta"
    "foot";
  grid-template-rows:auto minmax(76px,1fr) auto auto auto;
  width:100%;
  max-width:none;
  aspect-ratio:3 / 2;
  padding:clamp(14px,1.45vw,20px);
  overflow:hidden;
  color:#ecebe5;
  border:1px solid #666966;
  border-radius:4px;
  background-color:#292b2a;
  background-image:
    radial-gradient(circle at 2px 2px,rgba(255,255,255,.045) 0 .38px,transparent .6px),
    linear-gradient(145deg,rgba(255,255,255,.035),transparent 48%);
  background-size:23px 23px,100% 100%;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .play-cover::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  display:block;
  border:0;
  border-radius:4px;
  background:linear-gradient(#f04f23,#f04f23) calc(100% - 14px) 14px / 3px 25px no-repeat;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .play-cover::after{
  display:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .play-cover > *{
  position:relative;
  z-index:1;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-top{
  grid-area:top;
  align-items:flex-start;
  padding:0 20px 9px 0;
  border-bottom:1px solid rgba(255,255,255,.13);
  color:#ecebe5;
  font:560 clamp(5px,.46vw,7px)/1.15 var(--font-technical);
  letter-spacing:.045em;
  opacity:1;
  text-shadow:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-title{
  grid-area:title;
  align-self:end;
  max-width:12ch;
  padding:clamp(14px,2vw,26px) 0 clamp(10px,1.3vw,16px);
  color:#f5f4ed;
  font-family:var(--font-editorial);
  font-size:clamp(25px,2.8vw,46px);
  font-variation-settings:"wght" 570;
  font-weight:570;
  letter-spacing:-.065em;
  line-height:.84;
  text-transform:uppercase;
  text-shadow:none;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity{
  grid-area:activity;
  height:clamp(36px,4vw,58px);
  display:flex;
  align-items:flex-end;
  gap:1px;
  margin:0 0 8px;
  padding:10px 0 4px;
  border-top:1px solid rgba(255,255,255,.64);
  border-bottom:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity i{
  flex:1 1 0;
  min-width:1px;
  height:6px;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  background:rgba(236,235,229,.22);
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity .run-level-1{height:6px;background:rgba(236,235,229,.22)}
html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity .run-level-2{height:14px;background:rgba(236,235,229,.42)}
html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity .run-level-3{height:25px;background:rgba(236,235,229,.68)}
html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity .run-level-4{height:38px;background:#f3f2eb}
html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity i:nth-child(23),
html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity i:nth-child(61){background:#f04f23}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-activity-meta{
  grid-area:activity-meta;
  margin:0 0 7px;
  color:rgba(236,235,229,.52);
  font:520 5.5px/1.2 var(--font-technical);
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-foot{
  grid-area:foot;
  margin:0;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.16);
  color:#ecebe5;
  font:560 clamp(5px,.42vw,6.5px)/1.1 var(--font-technical);
  letter-spacing:.055em;
  opacity:1;
  text-shadow:none;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art)::before{
  display:none;
}

html[data-design-system="halde"] .catalog-page .cover-play{
  right:14px;
  top:50%;
  bottom:auto;
  width:36px;
  height:36px;
  margin-top:-18px;
  border:1px solid #ecebe5;
  border-radius:0;
  color:#292b2a;
  background:#ecebe5;
  box-shadow:none;
  font-size:11px;
}

html[data-design-system="halde"] .catalog-page .cover-play:hover{
  border-color:var(--accent);
  color:#fff;
  background:var(--accent);
  transform:none;
}

/* Curated shelves */
html[data-design-system="halde"] .catalog-page .play-shelf{
  padding-block:clamp(46px,5.5vw,78px);
}

html[data-design-system="halde"] .catalog-page .play-shelf .shelf-head,
html[data-design-system="halde"] .catalog-page .catalog-all .shelf-head{
  margin:0 0 clamp(28px,3.5vw,48px);
  padding:0 0 15px;
  border:0;
  border-bottom:1px solid rgba(17,18,18,.16);
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .shelf-head .lab{
  padding:0;
  border:0;
  color:rgba(17,18,18,.54);
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .shelf-head h2{
  max-width:27ch;
  margin-top:8px;
  color:var(--text-primary);
  font-size:var(--type-subsection-title-size);
  font-variation-settings:"wght" 570;
  font-weight:570;
  letter-spacing:-.045em;
  line-height:1;
}

html[data-design-system="halde"] .catalog-page .shelf-note{
  color:rgba(17,18,18,.48);
  font-size:8px;
  font-weight:500;
}

html[data-design-system="halde"] .catalog-page .play-shelf .shelf-track{
  padding:0;
  gap:clamp(22px,2.6vw,42px);
  border:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .play-shelf .catalog-card{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-card:hover .play-cover{
  transform:translateY(-3px);
  border-color:#8b8e89;
  box-shadow:0 12px 30px rgba(17,18,18,.12);
}

html[data-design-system="halde"] .catalog-page .card-copy{
  padding:15px 1px 0;
}

html[data-design-system="halde"] .catalog-page .card-copy h3{
  color:var(--text-primary);
  font-size:clamp(17px,1.2vw,20px);
  font-weight:580;
  letter-spacing:-.025em;
}

html[data-design-system="halde"] .catalog-page .card-copy p{
  color:rgba(17,18,18,.67);
  font-size:12.5px;
  font-weight:430;
}

html[data-design-system="halde"] .catalog-page .card-copy > div{
  padding:8px 0 0;
  border-top:1px solid rgba(17,18,18,.13);
  color:rgba(17,18,18,.57);
  box-shadow:none;
  font-size:8px;
}

/* Full catalog */
html[data-design-system="halde"] .catalog-page .catalog-all{
  padding-block:clamp(48px,6vw,86px);
}

html[data-design-system="halde"] .catalog-page .catalog-table-head{
  margin:0;
  padding:0 10px 9px;
  border:0;
  border-radius:0;
  color:rgba(17,18,18,.54);
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-maker-group{
  margin-top:clamp(28px,3.5vw,46px);
}

html[data-design-system="halde"] .catalog-page .catalog-maker-head{
  min-height:58px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:0 10px 12px;
  border-bottom:2px solid var(--text-primary);
}

html[data-design-system="halde"] .catalog-page .catalog-maker-head > a:first-child{
  display:flex;
  align-items:baseline;
  gap:13px;
  color:var(--text-primary);
  text-decoration:none;
}

html[data-design-system="halde"] .catalog-page .catalog-maker-head b{
  font-family:var(--font-editorial);
  font-size:clamp(20px,1.7vw,27px);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1;
}

html[data-design-system="halde"] .catalog-page .catalog-maker-head .lab{
  color:rgba(17,18,18,.5);
  font-size:8px;
}

html[data-design-system="halde"] .catalog-page .catalog-maker-link{
  padding-bottom:2px;
  color:rgba(17,18,18,.54);
  text-decoration:none;
}

html[data-design-system="halde"] .catalog-page .catalog-maker-link:hover{
  color:var(--text-primary);
}

html[data-design-system="halde"] .catalog-page .catalog-maker-group[hidden]{
  display:none;
}

html[data-design-system="halde"] .catalog-page .catalog-row{
  margin:0;
  padding:13px 10px;
  border:0;
  border-top:1px solid rgba(17,18,18,.13);
  border-radius:0;
  color:var(--text-primary);
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-row:hover{
  color:#ecebe5;
  background:#292b2a;
}

html[data-design-system="halde"] .catalog-page .catalog-row-title b{
  font-weight:580;
}

html[data-design-system="halde"] .catalog-page .row-preview{
  width:28px;
  height:28px;
  border:1px solid currentColor;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-disclosure{
  margin:10px 0 0;
  padding:11px 0 0;
  border:0;
  border-top:1px solid rgba(17,18,18,.13);
  border-radius:0;
  color:rgba(17,18,18,.48);
  background:transparent;
  box-shadow:none;
}

/* Compact technical thumbnail used by the index. */
html[data-design-system="halde"] .catalog-page .catalog-row .play-cover.thumb{
  width:44px;
  aspect-ratio:1;
  padding:5px;
  border:1px solid #5e615e;
  border-radius:2px;
  color:#ecebe5;
  background:#292b2a;
  box-shadow:none;
}

html[data-design-system="halde"] .catalog-page .catalog-row .play-cover.thumb::before,
html[data-design-system="halde"] .catalog-page .catalog-row .play-cover.thumb::after{
  display:none;
}

html[data-design-system="halde"] .catalog-page .catalog-row .play-cover.thumb .cover-title{
  color:#ecebe5;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

@media (max-width:1100px){
  html[data-design-system="halde"] .catalog-page .featured-play{
    grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);
    gap:38px;
  }

  html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art) .cover-title{
    font-size:clamp(24px,3.6vw,38px);
  }
}

@media (min-width:761px) and (max-width:900px){
  html[data-design-system="halde"] .catalog-page :is(.catalog-table-head,.catalog-row){
    grid-template-columns:minmax(0,1fr) 9ch 10ch 7ch;
    gap:1.2ch;
  }
}

@media (max-width:760px){
  html[data-design-system="halde"] .catalog-page .catalog-intro-grid,
  html[data-design-system="halde"] .catalog-page .featured-play{
    grid-template-columns:1fr;
  }

  html[data-design-system="halde"] .catalog-page .catalog-intro-grid{
    gap:30px;
  }

  html[data-design-system="halde"] .catalog-page .catalog-intro h1{
    font-size:var(--type-page-title-size);
  }

  html[data-design-system="halde"] .catalog-page .feature-cover{
    max-width:560px;
  }

  html[data-design-system="halde"] .catalog-page .featured-play{
    gap:38px;
  }

  html[data-design-system="halde"] .catalog-page .play-shelf{
    padding-inline:var(--page-gutter);
  }

  html[data-design-system="halde"] .catalog-page .play-shelf .shelf-track{
    gap:22px;
  }

  html[data-design-system="halde"] .catalog-page .catalog-maker-head{
    min-height:52px;
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
    padding-inline:2px;
  }
}

@media (max-width:480px){
  html[data-design-system="halde"] .catalog-page .catalog-filters{
    align-items:flex-start;
  }

  html[data-design-system="halde"] .catalog-page .catalog-philosophy{
    width:100%;
    margin:7px 0 0;
  }

  html[data-design-system="halde"] .catalog-page .feature-copy h2{
    font-size:var(--type-section-title-size);
  }

  html[data-design-system="halde"] .catalog-page .shelf-head{
    display:block;
  }

  html[data-design-system="halde"] .catalog-page .shelf-note{
    display:block;
    margin-top:10px;
    text-align:left;
  }
}

/* Route theme contract ----------------------------------------------------
   The catalog is page UI, so its reading text and rules follow the active
   theme. Play covers remain fixed dark artifacts under their own selectors. */
html[data-design-system="halde"] .catalog-page :is(
  .catalog-intro-actions p,
  .feature-outcome,
  .feature-hear p,
  .card-copy p,
  .catalog-row-title small,
  .catalog-row > .mono,
  .catalog-row > .lab
){
  color:var(--text-secondary);
  opacity:1;
}

html[data-design-system="halde"] .catalog-page :is(
  .catalog-kicker,
  .catalog-search output,
  .catalog-philosophy,
  .feature-proof,
  .shelf-head .lab,
  .shelf-note,
  .card-copy > div,
  .catalog-table-head,
  .catalog-maker-head .lab,
  .catalog-maker-link,
  .catalog-disclosure
){
  color:var(--text-tertiary);
  opacity:1;
}

html[data-design-system="halde"] .catalog-page .card-copy > div > *{
  color:inherit;
  opacity:1;
}

html[data-design-system="halde"] .catalog-page :is(
  .catalog-kicker,
  .catalog-intro-grid,
  .feature-copy .strip,
  .feature-proof,
  .play-shelf .shelf-head,
  .catalog-all .shelf-head,
  .card-copy > div,
  .catalog-table-head,
  .catalog-maker-head,
  .catalog-row,
  .catalog-disclosure
){
  border-color:var(--border-default);
}

html[data-design-system="halde"] .catalog-page .catalog-card:hover .play-cover{
  box-shadow:var(--shadow-soft);
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art,.catalog-row) .play-cover :is(
  .cover-top,
  .cover-top span,
  .cover-title,
  .cover-foot,
  .cover-foot span,
  .cover-foot b
){
  color:var(--artifact-text);
  opacity:1;
}

html[data-design-system="halde"] .catalog-page :is(.feature-cover,.card-art,.catalog-row) .play-cover :is(
  .cover-activity-meta,
  .cover-activity-meta span,
  .cover-activity-meta b
){
  color:var(--artifact-muted);
  opacity:1;
}
