/* === legislacao.css (estilos da página de legislação) === */
.page-title{
  margin: .5rem 0 1rem;
  display:flex; align-items:center; gap:.6rem; color: var(--azul);
}
.page-title .badge{ background:#e6eef8; padding:.2rem .6rem; border-radius:999px; font-size:.85rem; color:#0f172a; }

.search-row{ margin: .5rem 0 1.25rem; }
.search-row input{
  width:100%; padding:.9rem 1rem; border:1px solid #d1d5db; border-radius:12px; outline:none;
  background:#fff; transition: border var(--trans), box-shadow var(--trans);
}
.search-row input:focus{ border-color: var(--azul); box-shadow: 0 0 0 4px rgba(0,51,102,.14); }

.accordion{ display:grid; gap:.8rem; }
.accordion-item{
  background:#fff; border:1px solid #e5e7eb; border-radius: var(--radius); overflow:hidden; box-shadow: var(--sombra);
}
.accordion-header{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  padding:1rem 1.1rem; background: linear-gradient(0deg, #f4f7fb, #f9fbff);
  border:0; color:#0f172a; font-weight:700; cursor:pointer;
}
.accordion-header:focus-visible{ outline:3px solid rgba(0,51,102,.25); outline-offset:2px; }
.year{ font-size:1.05rem; letter-spacing:.2px; }
.count-badge{ margin-left:auto; background:#e6eef8; color:#0f172a; padding:.2rem .55rem; border-radius:999px; font-weight:600; font-size:.8rem; }
.chevron{ width:1rem; height:1rem; position:relative; flex:0 0 1rem; }
.chevron::before, .chevron::after{
  content:''; position:absolute; inset:0; margin:auto; width:.55rem; height:2px; background:#0f172a; transition: transform var(--trans), opacity var(--trans);
}
.chevron::before{ transform: rotate(90deg); }
.accordion-header[aria-expanded="true"] .chevron::after{ opacity:0; }
.accordion-header[aria-expanded="true"] .chevron::before{ transform: rotate(180deg); }

.accordion-content{
  max-height:0; overflow:hidden; transition:max-height var(--trans); will-change:max-height; border-top:1px solid #eef2f7; background:#fff;
}
.accordion-item.open .accordion-content{
  max-height: 320px; overflow-y:auto; scroll-behavior:smooth;
}
.accordion-content > ul{ list-style:none; margin:0; padding:.75rem 1rem 1rem; display:grid; gap:.5rem; }
.accordion-content a{ color: var(--azul); text-decoration:none; }
.accordion-content a:hover{ text-decoration:underline; }

.empty-state{ text-align:center; color:#6b7280; margin-top:1rem; }

@media (max-width: 640px){
  .accordion-header{ padding:.9rem .9rem; }
  .accordion-content > ul{ padding:.6rem .75rem .8rem; }


}