.a_fieldset {
  --a_fieldset_padding_x: 1rem;
  --a_fieldset_padding_top: 1rem;
  --a_fieldset_padding_bottom: .5rem;
  --a_fieldset_border_radius: var(--a_border_radius);
  --a_fieldset_border_color: #000;
  --a_fieldset_border_width: var(--a_border_width);
  --a_fieldset_invalid_color: var(--a_color_danger);

  margin-top: .5rem;
  padding: var(--a_fieldset_padding_top) var(--a_fieldset_padding_x) var(--a_fieldset_padding_bottom) var(--a_fieldset_padding_x);
  border-radius: var(--a_fieldset_border_radius);
  border: var(--a_fieldset_border_width) solid var(--a_fieldset_border_color);
  position: relative;
  min-width: 0;

  .a_fieldset {
    margin-top: 1rem;
  }
  .a_legend {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background-color: #fff;
    max-width: 100%;
  }
  .a_fieldset__btn_collapse {
    position: absolute;
    right: var(--a_fieldset_padding_x);
    bottom: calc(100% - 0.3rem);
    background-color: #fff;
    padding: 0 .25rem;
    .a_icon {
      width: 1.8rem;
      height: auto;
    }
  }
}
.a_fieldset_with_legend {
  --a_fieldset_padding_top: 0;
}
.a_fieldset_collapsible {
  .a_legend {
    max-width: calc(100% - 2rem);
  }
}
.a_fieldset_no_border {
  --a_fieldset_border_color: transparent;
}
.a_fieldset_invalid {
  --a_fieldset_border_color: var(--a_fieldset_invalid_color);
}
.a_fieldset_collapsed {
  .a_fieldset__content {
    display: none;
  }
}
.a_fieldset__search {
  margin-bottom: 1rem;
}

.a_legend {
  --a_legend_padding_x: .5rem;
  --a_legend_color: inherit;
  --a_legend_font_size: inherit;
  --a_flegend_invalid_color: var(--a_color_danger);
  --a_legend_font_weight: bold;

  padding: 0 var(--a_legend_padding_x);
  color: var(--a_legend_color);
  width: auto;
  font-weight: var(--a_legend_font_weight);
  font-size: var(--a_legend_font_size);
}
.a_legend_invalid {
  --a_legend_color: var(--a_flegend_invalid_color);
}
