/* Shared accordion: Curriculum levels, Programs cards, FAQ */

.accordion-row{border-top:1px solid rgba(21,18,15,.14)}

/* Curriculum level toggle */
.level-toggle{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;grid-template-areas:"age age" "title sign";row-gap:6px;column-gap:12px;padding:24px 0;text-align:left;min-height:44px;background:none;border:0}
.level-toggle:hover{color:var(--dd-signal-4)}
@media (min-width:901px){
  .level-toggle{grid-template-columns:120px 1fr 40px;grid-template-areas:"age title sign";row-gap:0;column-gap:32px;padding:32px 0;align-items:center}
}
.level-age{grid-area:age;font-family:var(--dd-font-ui);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(21,18,15,.42)}
.level-title{grid-area:title;font-family:var(--dd-font-display);font-weight:600;font-size:24px;letter-spacing:-.028em}
@media (min-width:901px){ .level-title{font-size:34px} }
.level-sign{grid-area:sign;align-self:center;font-family:var(--dd-font-ui);font-size:22px;color:rgba(21,18,15,.4);justify-self:end}

/* display is intentionally NOT set unconditionally here — see the .lightbox-scrim
   comment in gallery.css for why: page-curriculum.php toggles this panel via the
   native `hidden` attribute (all levels but the first start hidden), and an author
   rule setting `display` on the plain class would defeat that. */
.level-panel{grid-template-columns:1fr;gap:32px;padding:0 0 44px}
.level-panel:not([hidden]){display:grid}
@media (min-width:901px){ .level-panel:not([hidden]){grid-template-columns:repeat(4,1fr)} }
.level-panel-col-heading{font-family:var(--dd-font-ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dd-signal-4);margin-bottom:16px}
.level-panel-item{font-family:var(--dd-font-body);font-size:14.5px;line-height:1.5;color:var(--dd-ink-soft);padding:8px 0;border-bottom:1px solid rgba(21,18,15,.08)}

/* Programs accordion card */
.program-card{background:#fff;border:1px solid var(--dd-border);border-radius:22px;padding:6px 28px;transition:transform .35s,box-shadow .35s}
.program-card:hover{transform:translateY(-3px);box-shadow:var(--dd-shadow-card-hover)}
.program-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;text-align:left;min-height:44px;background:none;border:0}
.program-toggle h3{font-family:var(--dd-font-display);font-weight:600;font-size:21px;letter-spacing:-.02em;margin:0}
.program-toggle .sign{font-family:var(--dd-font-ui);font-size:20px;color:rgba(21,18,15,.4);flex:none}
.program-panel{padding:0 0 26px}
.program-module{font-family:var(--dd-font-body);font-size:14.5px;line-height:1.5;color:var(--dd-ink-soft);padding:9px 0;border-top:1px solid rgba(21,18,15,.08)}

/* FAQ */
.faq-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;text-align:left;font-family:var(--dd-font-grotesk);font-size:18.5px;letter-spacing:-.01em;min-height:44px;background:none;border:0}
.faq-toggle:hover{color:var(--dd-signal-4)}
.faq-toggle .sign{font-family:var(--dd-font-ui);font-size:20px;color:rgba(21,18,15,.4);flex:none}
.faq-panel{font-family:var(--dd-font-body);font-size:15px;line-height:1.65;color:var(--dd-ink-soft);margin:0 0 26px;max-width:60ch}
