/* All selectors are prefixed with "acctgglnbe-" to avoid conflicts. */

.acctgglnbe-wrap {
  /* Icon paths are relative to THIS css file. Change them here if you move the images. */
  --acctgglnbe-icon-closed: url("/wp-content/themes/oceanwp-child/images/chevron-down.svg");
  --acctgglnbe-icon-open: url("/wp-content/themes/oceanwp-child/images/chevron-up.svg");
  --acctgglnbe-icon-size: 20px;
  --acctgglnbe-line: #dcdcdc;
  --acctgglnbe-text: #111;
  --acctgglnbe-hover-bg: #f6f7f8;
  --acctgglnbe-focus: #2a6ebb;
  --acctgglnbe-speed: 0.3s;
}

.acctgglnbe-item {
  border-bottom: 1px solid var(--acctgglnbe-line);
}
.acctgglnbe-heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Header button */
.acctgglnbe-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0.9rem 0.25rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s;
}
.acctgglnbe-header:hover {
  background: var(--acctgglnbe-hover-bg);
}
.acctgglnbe-header:focus-visible {
  outline: 2px solid var(--acctgglnbe-focus);
  outline-offset: -2px;
}

/* SVG icon (swapped by state) */
.acctgglnbe-icon {
  flex: 0 0 auto;
  width: var(--acctgglnbe-icon-size);
  height: var(--acctgglnbe-icon-size);
  background: var(--acctgglnbe-icon-closed) center / contain no-repeat;
}
.acctgglnbe-item.acctgglnbe-is-open .acctgglnbe-icon {
  background-image: var(--acctgglnbe-icon-open);
}

/* Animated panel (grid rows trick: no fixed heights needed) */
.acctgglnbe-panel {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows var(--acctgglnbe-speed) ease,
              visibility 0s linear var(--acctgglnbe-speed);
}
.acctgglnbe-item.acctgglnbe-is-open .acctgglnbe-panel {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows var(--acctgglnbe-speed) ease,
              visibility 0s;
}
.acctgglnbe-panel-inner {
  overflow: hidden;
  min-height: 0;
}
.acctgglnbe-content {
  padding: 0.25rem 0.25rem 1.1rem 3.25rem;
  color: #333;
  line-height: 1.6;
}
.acctgglnbe-content > :first-child { margin-top: 0; }
.acctgglnbe-content > :last-child  { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  .acctgglnbe-panel {
    transition: none !important;
  }
}
