/* One entry point, with genre selection retained above the open store. */
.catalog .promo-strip { padding:17px 0;background:transparent;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.catalog .promo-strip strong { color:var(--accent);font-size:25px; }
.catalog-layout { display:block;border:1px solid var(--line); }
.genre-list { display:grid;grid-template-columns:repeat(6,minmax(0,1fr)); }
.genre { display:flex;align-items:center;justify-content:center;min-width:0;min-height:56px;padding:13px 10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#121212;color:#fff;transition:background .15s,color .15s; }
.genre:last-child { border-right:0; }
.genre-name { font:700 17px/1.2 var(--display);letter-spacing:-.04em; }
.genre:hover { background:#fff;color:#000; }
.genre.active { background:var(--accent);color:#000; }
.genre:focus-visible { outline:2px solid #fff;outline-offset:-5px; }
.store-panel { min-width:0; }
#player-status { color:var(--muted); }
#player-status:empty { display:none; }
.store-cover { background:#000; }
.player-launch { display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:144px;padding:28px 32px;background:var(--accent);color:#000;border:0;font:800 clamp(28px,4.4vw,58px)/1.04 var(--display);letter-spacing:-.055em;text-align:left;transition:background .15s; }
.player-launch:hover { background:#fff; }
.player-launch:focus-visible { outline:3px solid #fff;outline-offset:-7px; }
.player-launch .launch-arrow { font:400 70px/1 Arial,sans-serif;flex-shrink:0; }
.store-note { padding:17px 20px;font:13px/1.5 var(--body);color:var(--muted); }
.store-bottom { display:flex;justify-content:space-between;gap:18px;padding:13px 20px;font:9px/1.5 var(--mono);color:var(--muted);border-top:1px solid var(--line); }
.store-bottom a { color:#fff;text-decoration:underline;text-underline-offset:4px;white-space:nowrap; }
.player-container { min-height:620px;background:#0d0d0d; }
.player-container iframe { display:block;width:100%;height:680px;border:0;background:#0d0d0d; }
.player-container[hidden],.store-cover[hidden] { display:none; }
@media(max-width:680px) {
  .genre-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .genre { padding:14px 8px;min-height:48px; }
  .genre:nth-child(3n) { border-right:0; }
  .genre-name { font-size:13px; }
  .player-launch { min-height:116px;padding:24px 18px;gap:12px;font-size:clamp(22px,5.8vw,36px); }
  .player-launch .launch-arrow { font-size:40px; }
  .store-note { padding:14px;font-size:12px; }
  .store-bottom { padding:12px 14px;gap:12px;flex-wrap:wrap;font-size:8px; }
  .player-container iframe { height:650px; }
}
@media(prefers-reduced-motion:reduce) { .genre,.player-launch { transition:none; } }

/* Keep the offer next to the catalog introduction, above one player block. */
.catalog-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end;gap:var(--layout-gap)}
.catalog-heading .promo-strip{display:block;border:0;border-left:1px solid var(--line);padding:8px 0 8px 24px;margin:0;max-width:355px;justify-self:end}
.catalog-heading .promo-strip strong{font-size:22px;display:block;margin-bottom:12px}
.catalog-heading .promo-strip p{font-size:11px;line-height:1.6;max-width:none}
@media(max-width:680px){
  .catalog-heading{grid-template-columns:minmax(0,1fr);gap:24px}
  .catalog-heading .promo-strip{justify-self:stretch;max-width:none;border-left:0;border-top:1px solid var(--line);padding:18px 0 0}
  .catalog-heading .promo-strip strong{font-size:20px;margin-bottom:8px}
  .catalog-heading .promo-strip p{font-size:10px;margin-top:0;max-width:42ch}
}
