E' proprio questo il fatto, per fare le cose bene sarebbe stato necessario impiegare un po' di tempo per una buona progettazione.
Se lo fai per lavoro, avrai sempre gli stessi problemi con tutti i clienti, perché loro non sanno cosa effettivamente c'è dietro una "semplice" modifica. Per questo, a livello professionale, va fatto un progetto facendo firmare e sottoscrivere un contratto, che prevede uno studio di fattibilità e quantifichi l'entità del lavoro in base a quanto si richiede inizialmente. Se poi il committente richiede ulteriori modifiche, il deterrente migliore, in questi casi, è quello di dirgli che va eseguito nuovamente un progetto per quantificare l'entità dei costi, in termini di fattibilità, lavoro, tempo, denaro.
Se lo fai per "favore", il discorso comunque non cambia molto, è opportuno pianificare il tutto prima di buttarsi a capofitto nello sviluppo.
Sia chiaro, i miei vogliono essere solo dei consigli
poi ognuno e libero di fare come meglio crede.
Non c'e' un modo per fargli considerare tutti i nested e non solo il primo? Ho provato ad inserire tutto il contenuto in un Div, ma poi smette di funzionare la funzione
Certo, come ti ho indicato, dovresti rivedere il CSS, quindi modificare i selettori per dirgli che il riferimento alla classe "active" (applicata ai ".nested") non è relativa solo ad elementi "ol".
Questa sarebbe la cosa più logica; ogni toggle gestisce un elemento (che sia div o ol o altro).
Quindi, usa un div contenitore, come indicato, applica a questo la classe "nested" e toglila a tutti gli ol che stanno dentro questo div.
Poi modifica questa parte di CSS:
codice:
ol:not(.active) + .baret,
ol:not(.active) + .baret + .bested {
display: none;
}
usando, ad esempio, un selettore generico, così:
codice:
*:not(.active) + .baret,
*:not(.active) + .baret + .bested {
display: none;
}
vedi se va.
Poi, è chiaro, si potrebbe anche intervenire sullo script, magari facendo un ciclo su tutti i "nested" fratelli del "toggle", per dirgli che quel toggle deve gestire più elementi.
Ma ripeto, la cosa a questo punto mi sembra molto aggrovigliata secondo il tuo approccio di sviluppo, mi è difficile seguirti.
Anche tutto il CSS ridondante per le liste con le lettere, si potrebbe semplificare con un unico blocco CSS definendo un attributo "data" e usando quello nel content CSS con la funzione attr() per costruire a dovere gli indicatori della lista; ma forse è inutile dirtelo ora 
Fai sapere