/* Transparencia de ficha y documentación técnica: componentes específicos,
   deliberadamente acotados para no alterar el resto del catálogo. */
.cat-transparency-intro {
  max-width: 72ch;
  margin: 0 0 1.35rem;
  padding: .85rem 1rem;
  border-left: 4px solid var(--cat-gold);
  background: #f5f0e5;
  color: var(--cat-ink-soft);
  line-height: 1.55;
}

.cat-record-content--sources .cat-accordion__body { padding: 1.35rem 1.45rem 1.5rem; }

.cat-transparency-grid,
.cat-tech-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.cat-transparency-card,
.cat-tech-card {
  min-width: 0;
  padding: 1.3rem 1.35rem;
  border: 1px solid var(--cat-line);
  background: #fffefa;
  box-shadow: 0 8px 20px rgb(21 37 46 / 4%);
}

.cat-transparency-card--source { border-top: 4px solid #c3923f; }
.cat-transparency-card--rights { border-top: 4px solid var(--cat-red); background: #fffaf4; }
.cat-transparency-card--technical { border-top: 4px solid var(--cat-blue); background: #f6faf9; }

.cat-transparency-card--technical,
.cat-tech-card--wide { grid-column: 1 / -1; }
.cat-transparency-grid--technical-only { grid-template-columns: 1fr; }

.cat-transparency-status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .7rem 1.1rem;
  align-items: baseline;
  padding: 1rem 1.15rem;
  border-left: 4px solid var(--cat-gold);
  background: #f1eadb;
}
.cat-transparency-status span { color: var(--cat-ink-soft); }

.cat-transparency-card h3,
.cat-tech-card h3 {
  margin: .15rem 0 .8rem;
  font-family: var(--cat-serif);
  font-size: 1.3rem;
  line-height: 1.15;
}

.cat-transparency-card__eyebrow,
.cat-tech-card__eyebrow {
  margin: 0;
  color: var(--cat-gold);
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cat-transparency-list {
  display: grid;
  gap: .6rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.cat-transparency-list li {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem .8rem;
  align-items: baseline;
  padding-bottom: .72rem;
  border-bottom: 1px solid var(--cat-line);
}

.cat-transparency-list li:last-child { padding-bottom: 0; border-bottom: 0; }
.cat-transparency-list li > span { line-height: 1.55; }
.cat-transparency-list a { font-weight: 700; overflow-wrap: anywhere; }
.cat-transparency-empty { margin: 0; color: var(--cat-ink-soft); line-height: 1.55; }
.cat-transparency-label { margin: 1.15rem 0 .5rem; color: var(--cat-blue-deep); font-weight: 800; }

.cat-transparency-fields { margin: 0; }
.cat-transparency-fields > div {
  display: grid;
  grid-template-columns: minmax(10rem, .7fr) minmax(0, 1.3fr);
  gap: .75rem;
  padding: .55rem 0;
  border-top: 1px solid var(--cat-line);
}
.cat-transparency-fields dt { color: var(--cat-ink-soft); font-weight: 700; }
.cat-transparency-fields dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.cat-transparency-actions { margin: 1rem 0 0; font-weight: 700; }

/* El índice de entidades usa los mismos datos que las fichas, pero con una
   retícula y encabezados propios para que las relaciones se lean como grupos
   y no como etiquetas pegadas al borde del acordeón. */
.cat-accordion--entities .cat-relations--cards {
  grid-template-columns: minmax(0, 1.45fr) minmax(15rem, .9fr);
  gap: 1.35rem 1.6rem;
  padding: 1.3rem 1.45rem 1.5rem;
  background: #fffdfa;
}
.cat-accordion--entities .cat-relations--cards > div { min-width: 0; }
.cat-accordion--entities .cat-relations--cards h3 {
  margin: 0 0 .7rem;
  padding: 0 0 .45rem;
  border-bottom: 2px solid #dfcfae;
  color: var(--cat-blue-deep);
  font: 700 1.1rem/1.15 var(--cat-serif);
}
.cat-accordion--entities .cat-entity-cards { gap: .7rem; }
.cat-accordion--entities .cat-subject-chips { margin-top: .1rem; }
.cat-accordion--entities .cat-entity-group--subjects { grid-column: 1 / -1; }

.cat-dossier-navigation {
  max-width: 76rem;
  margin: 1.4rem auto 2.4rem;
  padding: 1.25rem 1.4rem;
  border: 1px solid #d8bd8a;
  border-left: 5px solid #b44a35;
  background: linear-gradient(110deg, #fff3df, #fffdfa 74%);
}
.cat-dossier-navigation h2 { margin: .18rem 0 .55rem; font: 700 1.45rem/1.15 var(--cat-serif); }
.cat-dossier-navigation p:not(.cat-kicker) { max-width: 70ch; margin: 0; line-height: 1.55; }
.cat-dossier-navigation a { display: inline-block; margin-top: .95rem; color: #7d292e; font-weight: 800; }

@media (max-width: 700px) {
  .cat-accordion--entities .cat-relations--cards { grid-template-columns: 1fr; gap: 1.15rem; padding: 1rem; }
}

.cat-tech-intro {
  max-width: 76ch;
  margin: 1.5rem 0 2rem;
  color: var(--cat-ink-soft);
  font-size: 1.08rem;
}

.cat-tech-section {
  margin: 3.25rem 0;
  scroll-margin-top: 2rem;
}

.cat-tech-section__head {
  max-width: 76ch;
  margin-bottom: 1.25rem;
  padding-left: 1rem;
  border-left: 5px solid var(--cat-gold);
}
.cat-tech-section:nth-of-type(odd) .cat-tech-section__head { border-left-color: var(--cat-red); }

.cat-tech-section__head h2 {
  margin: .2rem 0 .65rem;
  font-family: var(--cat-serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
}

.cat-tech-section__head p:last-child { margin: 0; color: var(--cat-ink-soft); }

.cat-tech-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--cat-line);
  background: var(--cat-line);
}
.cat-tech-metrics > div { padding: 1.1rem; background: var(--cat-surface); }
.cat-tech-metrics > div:first-child { background: var(--cat-blue-deep); color: #fff; }
.cat-tech-metrics > div:nth-child(2) { background: #e8d6ae; }
.cat-tech-metrics > div:nth-child(3) { background: var(--cat-red); color: #fff; }
.cat-tech-metrics strong { display: block; font-family: var(--cat-serif); font-size: 2rem; line-height: 1; }
.cat-tech-metrics span { display: block; margin-top: .4rem; color: var(--cat-ink-soft); font-size: .9rem; }
.cat-tech-metrics > div:first-child span, .cat-tech-metrics > div:nth-child(3) span { color: #fff; }

.cat-tech-card p { margin: .4rem 0 0; }
.cat-tech-card { position: relative; overflow: hidden; box-shadow: 0 8px 20px rgb(21 37 46 / 5%); }
.cat-tech-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--cat-gold); }
.cat-tech-grid .cat-tech-card:nth-child(2n)::before { background: var(--cat-red); }
.cat-tech-card ul { margin: .75rem 0 0; padding-left: 1.15rem; }
.cat-tech-card li + li { margin-top: .4rem; }
.cat-tech-card code, .cat-tech-endpoint code { overflow-wrap: anywhere; }

.cat-tech-entity {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--cat-line);
}
.cat-tech-entity:first-child { border-top: 0; padding-top: 0; }
.cat-tech-entity h3 { margin: 0; }
.cat-tech-entity p { margin: 0; }
.cat-tech-entity p + p { margin-top: .5rem; }

.cat-tech-endpoint {
  margin: 0 0 1rem;
  padding: 1rem;
  border-left: 4px solid var(--cat-gold);
  background: linear-gradient(110deg, #e8d6ae 0%, #f7f1e5 72%);
}
.cat-tech-endpoint p { margin: .2rem 0; }

.cat-tech-status {
  margin: 0;
  padding: .8rem 1rem;
  border: 1px solid var(--cat-line);
  background: #f1eadb;
}

@media (max-width: 700px) {
  .cat-transparency-grid, .cat-tech-grid, .cat-tech-metrics { grid-template-columns: 1fr; }
  .cat-transparency-fields > div, .cat-tech-entity { grid-template-columns: 1fr; gap: .25rem; }
  .cat-tech-metrics { gap: 1px; }
  .cat-transparency-status { grid-template-columns: 1fr; gap: .4rem; }
  .cat-record-content--sources .cat-accordion__body { padding: 1rem; }
}
