.g-tabs .bodys {
  background-color: var(--tabs-background, #fff);
}

.g-tabs .bodys {
  padding: calc(var(--gap)) 0 0 0;
  border: solid 1px var(--primary-color);
  border-radius: 0 calc(var(--gap)) calc(var(--gap)) calc(var(--gap));
  margin-top: -1px;
  overflow: hidden;
}

.g-tabs {
  --border-color: var(--gtab-border-color, #c8c7c7);
}

.g-tabs .tab-handler.tab-active,
.g-tabs .tab-body.tab-active {
  --border-color: var(--primary-color);
}

.g-tabs .tab-handler.tab-active label,
.g-tabs [id^="tab"] + label {
  border: solid var(--border-size) var(--border-color);
}

.g-tabs .tab-handler.tab-active label,
.g-tabs [id^="tab"]:checked + label {
  color: var(--primary-color);
  border: solid var(--border-size) var(--border-color);
  border-bottom: solid 1px rgba(0, 0, 0, 0);
}

.g-tabs:not([current="0"]) .bodysTopLine::after,
.g-tabs:not([current="0"]) .bodysTopLine {
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(var(--gap) * 2);
  height: calc(var(--gap));
  background: #ffffff;
  z-index: 1;
}

.g-tabs:not([current="0"]) .bodysTopLine::after {
  content: "";
  z-index: 2;
  border-top: solid 1px var(--primary-color);
  border-left: solid 1px var(--primary-color);
  border-top-left-radius: calc(var(--gap));
  left: 0;
  top: 0;
}

.g-tabs[current="0"] .bodysTopLine {
  display: none;
}

.g-tabs go-input .input {
  background-color: var(--tab-background, #fff);
  border-radius: 0;
  border: none;
  box-shadow: none;
}

.g-tabs .tab-body {
  border: none;
}

.g-tabs .tab-handler label {
  text-align: center;
  justify-content: center;
  border-bottom: solid 1px var(--primary-color);
}

.g-tabs .tab-handler:first-child label::after {
  content: "";
  height: calc(var(--gap) * 1.5);
  width: 100%;
  position: absolute;
  bottom: calc(0px - calc(var(--gap) * 1));
  background-color: var(--tab-background, #fff);
  left: 0;
  pointer-events: none;
  border-left: solid 1px var(--border-color);
}

.g-tabs .tab-handler:first-child:not(.tab-active) {
  border-bottom: solid 1px var(--border-color);
}

.g-tabs .tab-handler:first-child:not(.tab-active) label::after {
  content: "";
  z-index: -1;
  height: calc(var(--gap) * 1.5);
  left: 0;
  width: 100%;
  border-top-left-radius: calc(var(--gap));
}

.g-tabs go-input label {
  padding: 0 calc(var(--gap));
  font-size: 90%;
  opacity: 0.6;
  margin: 0;
}

.g-tabs:not([current="0"]) .buttons::after {
  content: "";
  position: absolute;
  left: 1px;
  width: calc(var(--gap) - 6px);
  height: 2px;
  background-color: var(--tabs-background, #fff);
  bottom: calc(1px - 1px);
}

.g-tabs:not([current="0"]) .bodys::after {
  content: "";
  position: absolute;
  left: 1px;
  width: calc(var(--gap));
  height: calc(var(--gap));
  background-color: var(--tabs-background, #fff);
  top: 0;
}
