.sgeb-public-documents {
  --sgeb-public-primary: #037691;
  --sgeb-public-secondary: #0295bc;
  --sgeb-public-highlight: #b1d31c;
  --sgeb-public-accent: var(--sgeb-public-secondary);
  --sgeb-public-text: var(--sgeb-public-primary);
  --sgeb-public-border: rgba(3, 118, 145, 0.18);
  --sgeb-public-border-strong: rgba(2, 149, 188, 0.24);
  --sgeb-public-muted: #636363;
  --sgeb-public-row-hover: rgba(2, 149, 188, 0.06);
  background: transparent;
  font-family: inherit;
}

.sgeb-public-documents,
.sgeb-public-documents * {
  font-family: inherit;
}

.sgeb-public-documents__page-title {
  margin: 0 0 1.5rem;

}

.sgeb-public-documents__filter {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin: 0 0 1.75rem;
}

.sgeb-public-documents__filter-label {
  margin: 0;
  color: var(--sgeb-public-text);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.sgeb-public-documents__filter-field {
  min-width: 18rem;
}

.sgeb-public-documents__filter-select {
  width: 100%;
  min-height: 48px;
  padding: 0.8rem 1rem;
  border: 1px solid var(--sgeb-public-border-strong);
  border-radius: 999px;
  background: #fff;
  color: var(--sgeb-public-text);
  font: inherit;
}

.sgeb-public-documents__filter-submit {
  min-height: 48px;
  padding: 0.8rem 1.2rem;
  border: 2px solid var(--sgeb-public-primary);
  border-radius: 999px;
  background: #fff;
  color: var(--sgeb-public-primary);
  font: inherit;
  cursor: pointer;
}

.sgeb-public-documents__empty {
  margin: 0;
  color: var(--sgeb-public-muted);
}

.sgeb-public-documents__year + .sgeb-public-documents__year {
  margin-top: clamp(3rem, 6vw, 4.75rem);
}

.sgeb-public-documents__year {
  background: transparent;
}

.sgeb-public-documents h2.sgeb-public-documents__year-title {
  margin: 0 0 1rem;
  color: var(--sgeb-public-highlight);
}

.sgeb-public-documents__category {
  background: transparent;
  border-bottom: 1px solid var(--sgeb-public-border-strong);
}

.sgeb-public-documents__category + .sgeb-public-documents__category {
  margin-top: 1rem;
}

.sgeb-public-documents__category-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0 1rem;
  cursor: pointer;
  list-style: none;
}

.sgeb-public-documents__category-summary::-webkit-details-marker {
  display: none;
}

.sgeb-public-documents h3.sgeb-public-documents__category-title {
  margin: 0;
  color: var(--sgeb-public-primary);
}

.sgeb-public-documents__category-toggle {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  color: var(--sgeb-public-text);
  transition: color 0.2s ease, transform 0.2s ease;
}

.sgeb-public-documents__category-toggle svg {
  width: 1.2rem;
  height: 1.2rem;
  stroke: currentColor;
  stroke-width: 2.2;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sgeb-public-documents__category[open] .sgeb-public-documents__category-toggle {
  color: var(--sgeb-public-accent);
}

.sgeb-public-documents__category[open] .sgeb-public-documents__category-toggle svg {
  transform: rotate(180deg);
}

.sgeb-public-documents__items {
  background: transparent;
  padding-bottom: 1rem;
}

.sgeb-public-documents__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  background: transparent;
  border-top: 1px solid var(--sgeb-public-border);
  transition: background-color 0.2s ease;
}

.sgeb-public-documents__row:hover {
  background: var(--sgeb-public-row-hover);
}

.sgeb-public-documents__row-label {
  margin: 0;
  color: var(--sgeb-public-secondary);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.4;
}

.sgeb-public-documents__row-file {
  justify-self: end;
}

@media (max-width: 767px) {
  .sgeb-public-documents__filter {
    align-items: stretch;
    justify-content: stretch;
  }

  .sgeb-public-documents__filter-field {
    min-width: 100%;
  }

  .sgeb-public-documents__filter-select {
    min-height: 42px;
    padding: 0.65rem 0.9rem;
    font-size: 0.95rem;
  }

  .sgeb-public-documents__row {
    padding: 0.9rem 0.3rem 0.9rem 0.8rem;
  }

  .sgeb-public-documents__category-summary {
    padding-bottom: 0.85rem;
  }

  .sgeb-public-documents__row-label {
    font-size: 1rem;
  }
}
