.digital-nsw-kb {
  font-size: var(--nsw-font-size-sm-desktop);
  transition: background 0.15s, border 0.15s;
}

.digital-nsw-kb__top {
  padding: 2rem !important;
  position: relative;

  /** Border is here and bottom so focus outline, radius, bg, looks right */
  border: 1px solid var(--nsw-grey-03);
  border-left: 4px solid var(--nsw-brand-accent) !important;
  border-top-right-radius: var(--nsw-border-radius) !important;
  border-bottom-right-radius: var(--nsw-border-radius) !important;
}

.digital-nsw-kb__top:hover {
  background: var(--nsw-off-white) !important;
  color: var(--nsw-text-dark);
}

.digital-nsw-kb__bottom {
  padding: 2rem !important;
  border: 1px solid var(--nsw-grey-03);
  border-left: 4px solid var(--nsw-brand-accent) !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  border-bottom-right-radius: var(--nsw-border-radius) !important;
  border-bottom-left-radius: var(--nsw-border-radius) !important;
}

.digital-nsw-kb__bottom:hover {
  background: none !important;
  color: var(--nsw-text-dark);
}

.digital-nsw-kb__full_links {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
}

.digital-nsw-kb__full_link {
  outline: none !important;
  padding: 3px;
  text-decoration: unset;
}

.digital-nsw-kb__full_link_content {
  display: flex;
  flex-direction: row;
  align-content: center;
  column-gap: 0.5em;
  font-weight: var(--nsw-font-bold);
  font-size: var(--nsw-font-size-sm-desktop);
  color: var(--nsw-brand-dark);

  /* Future when upgraded */

  /* color: var(--nsw-link); */
}

.digital-nsw-kb__full_link_content > * {
  flex-grow: 1;
  text-align: right;
}

.digital-nsw-kb__full_link_content > * .digital-nsw-kb__full_link_content_text {
  text-decoration: underline;
}

.digital-nsw-kb__full_link_content:active {
  outline: solid 3px var(--nsw-focus);
  outline-offset: 3px;
}

.digital-nsw-kb__full_link_content_icon {
  flex-grow: 0;
  display: flex;
  align-items: center;
}

.digital-nsw-kb__collapser_state {
  display: none;
}

.digital-nsw-kb__collapser_state_label {
  cursor: pointer;
  position: absolute;
  inset: 0;

  /** Pull the label focus border outside of the brand red left border */
  margin-left: -3px;
}

.digital-nsw-kb__collapser_state_label:focus-within {
  outline: solid 3px var(--nsw-focus);
  border-radius: var(--nsw-border-radius);
  outline-offset: 3px;
}

.digital-nsw-kb__collapser {
  display: flex;
  flex-direction: row;
  align-content: center;
  column-gap: 0.5em;
  font-weight: var(--nsw-font-bold);
  font-size: var(--nsw-font-size-sm-desktop);
  color: var(--nsw-brand-dark);

  /* Future when upgraded */

  /* color: var(--nsw-link); */
  text-decoration-line: underline;
  margin-top: 1rem;
}

.digital-nsw-kb__collapser > * {
  flex-grow: 1;
  text-align: right;
}

.digital-nsw-kb__collapser .digital-nsw-kb__collapser_icon {
  flex-grow: 0;
}

/** This would be so much easier with Tailwind peers 🥱 */
.digital-nsw-kb__collapser_state:checked ~ .digital-nsw-kb__top {
  background: var(--nsw-off-white) !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom: 0 !important;
}

.digital-nsw-kb__collapser_state ~ .digital-nsw-kb__top .digital-nsw-kb__collapser .digital-nsw-kb__collapser_open {
  display: none;
}

.digital-nsw-kb__collapser_state:checked ~ .digital-nsw-kb__top .digital-nsw-kb__collapser .digital-nsw-kb__collapser_open {
  display: block;
}

.digital-nsw-kb__collapser_state ~ .digital-nsw-kb__top .digital-nsw-kb__collapser .digital-nsw-kb__collapser_close {
  display: block;
}

.digital-nsw-kb__collapser_state:checked ~ .digital-nsw-kb__top .digital-nsw-kb__collapser .digital-nsw-kb__collapser_close {
  display: none;
}

.digital-nsw-kb__collapser_state ~ .digital-nsw-kb__bottom {
  display: none;
}

.digital-nsw-kb__collapser_state:checked ~ .digital-nsw-kb__bottom {
  display: block;
}
