/* Catalog pages (Himnario Adventista 2009). Scoped under .bsghl-cat; tokens come from library.css. */
.bsghl-cat-flag { margin: .5rem 0 1rem; padding: .6rem .9rem; border-radius: 10px; background: rgba(229, 165, 27, .15); color: #ffe7a8; font-size: .95rem; }
.bsghl-cat-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.bsghl-cat-tab { display: inline-flex; align-items: center; gap: .45rem; min-height: 48px; padding: .4rem 1rem; border: 1.5px solid rgba(255, 255, 255, .3); border-radius: 14px; background: rgba(255, 255, 255, .06); color: #fff; font: 700 1rem/1 inherit; cursor: pointer; }
.bsghl-cat-tab:hover { border-color: rgba(255, 255, 255, .7); }
.bsghl-cat-tab.is-active { background: var(--g-gold); border-color: var(--g-gold); color: var(--g-gold-ink); }
.bsghl-cat-tab:focus-visible { outline: 3px solid rgba(229, 165, 27, .8); outline-offset: 2px; }
.bsghl-cat-code { font-size: .8rem; letter-spacing: .08em; opacity: .85; }
.bsghl-cat-panel { margin: 0 0 1.5rem; padding: 1.25rem; border: 1.5px solid var(--g-line); border-radius: var(--g-r); background: #fff; }
.bsghl-cat.is-js .bsghl-cat-panel { display: none; }
.bsghl-cat.is-js .bsghl-cat-panel.is-active { display: block; }
.bsghl-cat-panel h2 { margin: 0 0 .5rem; font-size: 1.1rem; color: var(--g-muted); text-transform: uppercase; letter-spacing: .08em; }
.bsghl-cat-title { margin: 0 0 .25rem; font-size: 1.5rem; line-height: 1.25; overflow-wrap: anywhere; }
.bsghl-cat-credits { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem 1.5rem; margin: .5rem 0; }
.bsghl-cat-credits dt { font-size: .85rem; font-weight: 700; color: var(--g-muted); }
.bsghl-cat-credits dd { margin: 0; overflow-wrap: anywhere; }
.bsghl-cat-unv { color: #b45309; font-weight: 700; cursor: help; }
.bsghl-cat-note, .bsghl-cat-rights { font-size: .9rem; color: var(--g-muted); }
.bsghl-cat-empty { margin: .25rem 0; padding: .7rem .9rem; border-left: 4px solid var(--g-gold); background: #fffaf0; color: var(--g-text); }
.bsghl-cat-source, .bsghl-cat-disclaimer { margin: 0 0 1.5rem; padding: 1.1rem 1.25rem; border: 1.5px solid var(--g-line); border-radius: var(--g-r); background: #fff; }
.bsghl-cat-disc { padding: .6rem 0; border-top: 1px solid var(--g-line); }
.bsghl-cat-disc:first-of-type { border-top: 0; }
.bsghl-cat-disc p { margin: .2rem 0; overflow-wrap: anywhere; }
.bsghl-cat-pager { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin: 1rem 0 1.5rem; }
.bsghl-cat-pager a { color: var(--g-royal-2); font-weight: 600; text-decoration: none; }
.bsghl-cat-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.bsghl-cat-list a { display: flex; gap: .6rem; align-items: baseline; min-height: 48px; padding: .6rem .8rem; border: 1.5px solid var(--g-line); border-radius: 12px; background: #fff; color: var(--g-text); text-decoration: none; }
.bsghl-cat-list a:hover { border-color: var(--g-royal-2); }
.bsghl-cat-num { min-width: 2.4rem; font-weight: 800; color: var(--g-royal); font-variant-numeric: tabular-nums; }
.bsghl-cat-name { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .bsghl-cat-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; -webkit-overflow-scrolling: touch; }
  .bsghl-cat-tab { flex: 0 0 auto; }
  .bsghl-cat-title { font-size: 1.25rem; }
  .bsghl-cat-panel { padding: 1rem; }
}
