/*
  Expand/Collapse (Summary/Details) — Restyled
  Deque University ARIA Component
*/

.deque-expander {
  --dqu-bg-primary: #fcfaf8;
  --dqu-border-secondary: #8c827d;
  --dqu-interactive: #2e5f7a;
  --dqu-interactive-hover: #3a7a9a;
  --dqu-font-family: "Noto Sans", sans-serif;
  --dqu-radius: 8px;

  margin: 0;
  padding: 0;
  border: 1px solid var(--dqu-border-secondary);
  border-radius: var(--dqu-radius);
  font-family: var(--dqu-font-family);
  overflow: hidden;
}

.deque-expander:focus-within {
  border-color: var(--dqu-interactive);
  box-shadow: 0 0 0 1px var(--dqu-interactive);
}

/* Base specificity raised to 0,2,0 to beat deque-patterns.min.css rules
   (.deque-expander .deque-expander-summary) which load before this file */
.deque-expander .deque-expander-summary {
  display: block;
  border: 0;
  padding: 12px 16px 12px 40px !important;
  color: #ffffff !important;
  text-align: left;
  background: var(--dqu-interactive) !important;
  position: relative;
  cursor: pointer;
  list-style: none;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  transition: background-color 0.15s ease;
  border-radius: 7px 7px 0 0 !important;
}

/* Hide native marker/disclosure triangle */
.deque-expander .deque-expander-summary::-webkit-details-marker {
  display: none;
}

.deque-expander .deque-expander-summary::marker {
  display: none;
  content: "";
}

.deque-expander .deque-expander-summary:hover {
  cursor: pointer;
  background: var(--dqu-interactive-hover) !important;
  outline: none !important;
}

.deque-expander .deque-expander-summary:active {
  cursor: pointer;
  background: #254c62 !important;
}

.deque-expander .deque-expander-summary:focus-visible {
  outline: none !important;
  box-shadow: inset 0 0 0 3px #ffffff;
  background: var(--dqu-interactive-hover) !important;
}

.deque-expander .deque-expander-summary:focus:not(:focus-visible) {
  outline: none !important;
}

/* Closed state: all four corners rounded */
.deque-expander:not([open]) > .deque-expander-summary {
  border-radius: 7px !important;
}

/* CSS chevron icon */
.deque-expander-summary .expander-icon {
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  height: 0.5rem;
  width: 0.5rem;
  pointer-events: none;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-60%) rotate(-45deg);
  transition: transform 0.2s ease;
}

/* Rotate chevron when open */
details[open] > .deque-expander-summary .expander-icon {
  transform: translateY(-60%) rotate(45deg);
}


.deque-expander-content {
  clear: both;
  padding: 16px;
  background: var(--dqu-bg-primary);
  color: #21201e;
  font-size: 0.9375rem;
  line-height: 1.7;
}
