/* === Accordion Page List – Spiralworking ===
   Enqueued via block.json ("style": "apl-style")
================================================*/

:root {
  --apl-accent: #111155;
  --apl-accent-soft: color-mix(in srgb, var(--apl-accent) 15%, transparent);
}

/* Reset overall structure */
.accordion-pages,
.accordion-pages ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Prevent block gap / flow spacing from Gutenberg layouts */
.accordion-pages,
.accordion-pages * {
  --wp--style--block-gap: 0px;
}

/* Each expandable node */
.accordion-pages .apl-node {
  margin: 0.25rem 0 0.4rem 0;
  display: block;
}

/* Clickable header of each node */
.accordion-pages .apl-summary {
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
  margin-bottom: 0.2rem;
}

/* Ensure summary and list spacing are tight */
.accordion-pages details > summary {
  display: list-item; /* keeps the default marker */
  margin-bottom: 0;
}
.accordion-pages details > summary + .apl-children {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
}
.accordion-pages details > * + * {
  margin-block-start: 0 !important;
}

/* Indentation for nested children */
.accordion-pages .apl-children {
  margin: 0.3rem 0 0.5rem 1.25rem;
  padding: 0;
}

/* General list items */
.accordion-pages .apl-item {
  margin: 0.15rem 0;
}

/* Links */
.accordion-pages a {
  text-decoration: none;
  color: inherit;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.accordion-pages a:hover {
  text-decoration: underline;
  opacity: 0.9;
}

/* When a node is open, give subtle color cue to the header text */
.accordion-pages details[open] > .apl-summary {
  color: var(--wp--preset--color--primary, #0055aa);
}

/* Tweak default <summary> marker spacing a bit */
.accordion-pages summary::-webkit-details-marker {
  margin-right: 0.25rem;
}

/* === Highlighting current page & ancestors === */

/* Current page link */
.accordion-pages .apl-link.is-current {
  font-weight: 700;
  color: var(--apl-accent);
  text-decoration: none;
  background-color: var(--apl-accent-soft);
  border-radius: 0.25rem;
  padding: 0.1rem 0.25rem;
}

/* Hover for current page – keeps tone but reinforces focus */
.accordion-pages .apl-link.is-current:hover {
  background-color: color-mix(in srgb, var(--apl-accent) 25%, transparent);
}

/* Ancestor pages – subtle left accent to trace lineage */
.accordion-pages .apl-link.is-ancestor {
  font-weight: 600;
  border-left: 2px solid var(--apl-accent);
  padding-left: 0.4rem;
  color: var(--wp--preset--color--foreground, #222);
}

.accordion-pages details[open] > .apl-summary {
  color: var(--apl-accent);
}

/* Rhythm between top-level nodes */
.accordion-pages details:not(:first-of-type) {
  border-top: 0.5px solid rgba(0, 0, 0, 0.08);
  padding-top: 0.3em;
}
