/* =====================================================================
   6. RELAÇÕES (componente usado na capa, no mapa em lista e no dossiê)
   ===================================================================== */
.rels{ list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--rule); }
.rel{ border-top: 1px solid var(--rule); }
.rel-cab{ display: block; padding: 13px 0 12px; color: var(--ink); text-decoration: none; cursor: pointer; list-style: none; min-height: 44px; }
.rel-cab::-webkit-details-marker{ display: none; }
a.rel-cab:hover .rel-nomes, details[open] > .rel-cab .rel-nomes{ color: var(--wine); }
.rel-nomes{ display: block; font-weight: 600; font-size: 1.02rem; line-height: 1.3; }
.rel-nomes svg{ vertical-align: -2px; margin-right: 4px; }
.rel-seta{ color: var(--wine); margin: 0 .3em; font-weight: 400; }
.rel-titulo{ display: block; margin-top: 3px; font-size: .92rem; line-height: 1.35; color: var(--ink-2); }
.rel-arq{ font-family: var(--f-mono); font-size: .64rem; font-weight: 600; letter-spacing: .1em; color: var(--wine); margin-right: .6em; }
.rel-meta{ display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 6px; }
.rel-meta .data{ font-family: var(--f-mono); font-size: .68rem; letter-spacing: .06em; color: var(--ink-2); }
details.rel > .rel-cab{ position: relative; padding-right: 34px; }
details.rel > .rel-cab::after{ content: "+"; position: absolute; right: 4px; top: 12px; font-family: var(--f-mono); font-weight: 600; font-size: 1.1rem; color: var(--wine); }
details.rel[open] > .rel-cab::after{ content: "−"; }
.rel-corpo{ padding: 0 0 18px 14px; border-left: 3px solid var(--wine); margin-bottom: 14px; font-size: .97rem; line-height: 1.5; }
.rel-corpo p{ margin: 0 0 8px; }
.rel-corpo .acoes{ gap: 4px 20px; margin-top: 6px; }
.fontes-mini{ font-size: .86rem; color: var(--ink-2); }
.fontes-mini ul{ margin: 4px 0 0; padding-left: 1.1em; }
.fonte-meta{ font-family: var(--f-mono); font-size: .62rem; letter-spacing: .08em; color: var(--ink-2); white-space: nowrap; }
.fonte-meta[data-nivel="A"]{ color: var(--ink); font-weight: 600; }
.fonte-aviso{ display: block; font-size: .8rem; font-style: italic; color: var(--wine); }
.nao-prova{ margin: 10px 0; padding: 8px 12px; background: var(--paper-light); border: 1px dashed var(--ink-2); font-size: .92rem; line-height: 1.45; }
.nao-prova .rotulo{ display: block; color: var(--wine); margin-bottom: 2px; }
.resposta{ font-size: .9rem; color: var(--ink-2); border-top: 1px dashed var(--rule); padding-top: 8px; margin-top: 8px; }
.vazio{ color: var(--ink-2); font-style: italic; }

.rel-verificado{ margin-top: 8px; }
