/* ============================================================
   lern-style.css — Inhalts-Styles für die Lern- & App-Seiten
   Baut auf den Design-Tokens aus BaseLayout (--bg, --acc …) auf
   und passt sich automatisch an Dark-/Light-Mode an.
   ============================================================ */

#main-content .wrap{max-width:1280px;margin:0 auto;padding:0 1.25rem}
#main-content .wrap.narrow{max-width:780px}
#main-content section{padding:2.6rem 0}
#main-content section + section{border-top:1px solid var(--brd2)}

/* reveal: immer sichtbar (kein JS nötig) */
#main-content .reveal{opacity:1}

/* --- Hero --- */
#main-content .hero{padding:3.2rem 0 1.6rem}
#main-content .hero h1{
  font-family:"Playfair Display",Georgia,serif;font-weight:700;
  font-size:clamp(2rem,5vw,3rem);line-height:1.08;color:var(--txt);margin:.4rem 0 .8rem}
#main-content .hero h1 em{color:var(--acc);font-style:italic}
#main-content .hero p{color:var(--mut);font-size:1.12rem;line-height:1.6;max-width:62ch}

/* --- Eyebrow / Lead --- */
#main-content .eyebrow{
  display:inline-block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--acc)}
#main-content .lead{color:var(--mut);font-size:1.08rem;line-height:1.6;margin-top:.4rem;max-width:64ch}

/* --- Überschriften in Sektionen --- */
#main-content h2{
  font-family:"Playfair Display",Georgia,serif;font-weight:700;color:var(--txt);
  font-size:clamp(1.5rem,3.2vw,2rem);line-height:1.15;margin:.5rem 0 .4rem}
#main-content h2 em{color:var(--acc);font-style:italic}

/* --- Prose / Copy --- */
#main-content .prose,#main-content .copy{max-width:72ch}
#main-content .prose p,#main-content .copy p{color:var(--mut);line-height:1.72;margin-top:.95rem}
#main-content .prose strong,#main-content .copy strong{color:var(--txt)}
#main-content .prose em,#main-content .copy em{color:var(--txt);font-style:italic}
#main-content .prose h3,#main-content .copy h3{
  font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--txt);
  font-size:1.25rem;margin-top:1.7rem}
#main-content .prose ul,#main-content .prose ol,
#main-content .copy ul,#main-content .copy ol{margin:.9rem 0 0 1.3rem;color:var(--mut);line-height:1.65}
#main-content .prose li,#main-content .copy li{margin:.45rem 0}
#main-content .prose a,#main-content .copy a{color:var(--acc);text-decoration:underline;text-underline-offset:2px}

#main-content .note{
  margin-top:1.2rem;font-size:.95rem;color:var(--acc2);font-weight:500}

/* --- Buttons --- */
#main-content .cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
#main-content .btn{
  display:inline-block;padding:.72rem 1.25rem;border-radius:var(--r);font-weight:600;
  font-size:.98rem;text-decoration:none;transition:.2s;border:1px solid transparent;cursor:pointer}
#main-content .btn-primary{background:var(--acc);color:#0a0a0f}
#main-content .btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
#main-content .btn-ghost{background:transparent;color:var(--txt);border-color:var(--brd)}
#main-content .btn-ghost:hover{border-color:var(--acc);color:var(--acc)}

/* --- Karten-Grid (Was du lernst) --- */
#main-content .grid{
  display:grid;gap:1rem;margin-top:1.6rem;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
#main-content .card{
  background:var(--bg2);border:1px solid var(--brd);border-radius:var(--rl);padding:1.3rem}
#main-content .card h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--txt);
  font-size:1.2rem;margin:.5rem 0 .35rem}
#main-content .card p{color:var(--mut);line-height:1.6;font-size:.96rem}
#main-content .card .ic{font-size:1.7rem;line-height:1}
#main-content .card .age{
  display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:700;color:var(--acc2);margin-bottom:.2rem}
#main-content .card .more{display:inline-block;margin-top:.7rem;color:var(--acc);font-weight:600;
  text-decoration:none;font-size:.95rem}
#main-content .card .more:hover{text-decoration:underline}

/* --- Panels / Two-Column --- */
#main-content .two{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.4rem}
#main-content .panel{
  background:var(--bg2);border:1px solid var(--brd);border-radius:var(--rl);padding:1.5rem}
#main-content .panel h3{font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--txt);
  font-size:1.25rem}
#main-content .panel .body{color:var(--mut);line-height:1.6}
#main-content .ticks{list-style:none;margin:.9rem 0 0;padding:0}
#main-content .ticks li{position:relative;padding-left:1.6rem;margin:.5rem 0;color:var(--mut);line-height:1.5}
#main-content .ticks li::before{content:"✓";position:absolute;left:0;color:var(--acc2);font-weight:700}

/* --- Ideen-Grid --- */
#main-content .ideas{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.5rem}
#main-content .idea{background:var(--bg2);border:1px solid var(--brd);border-radius:var(--rl);padding:1.2rem}
#main-content .idea h4{color:var(--txt);font-size:1.05rem;margin-bottom:.35rem}
#main-content .idea p{color:var(--mut);line-height:1.55;font-size:.95rem}

/* --- Badges --- */
#main-content .badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
#main-content .badge{
  font-size:.8rem;font-weight:600;padding:.32rem .7rem;border-radius:999px;
  background:var(--bg3);border:1px solid var(--brd);color:var(--mut)}

/* --- Callout --- */
#main-content .callout{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  background:rgba(200,169,110,.08);border:1px solid var(--brd);border-radius:var(--rl);
  padding:1.2rem 1.4rem;margin-top:1.7rem}
#main-content .callout span{color:var(--txt);font-weight:500}

/* --- Tip-Box --- */
#main-content .tip{
  background:var(--bg2);border:1px solid var(--brd);border-left:3px solid var(--acc);
  border-radius:var(--r);padding:1rem 1.15rem;margin-top:1.3rem;max-width:72ch;color:var(--mut);line-height:1.6}
#main-content .tip strong{color:var(--acc)}

/* --- FAQ (details/summary) --- */
#main-content .faq{margin-top:1.1rem;max-width:72ch}
#main-content .faq details{
  border:1px solid var(--brd);border-radius:var(--r);background:var(--bg2);margin-top:.6rem;overflow:hidden}
#main-content .faq summary{
  cursor:pointer;padding:.9rem 1.05rem;font-weight:600;color:var(--txt);list-style:none}
#main-content .faq summary::-webkit-details-marker{display:none}
#main-content .faq summary::after{content:"+";float:right;color:var(--acc);font-weight:700;margin-left:1rem}
#main-content .faq details[open] summary::after{content:"\2013"}
#main-content .faq .a{padding:0 1.05rem 1rem;color:var(--mut);line-height:1.65}
#main-content .faq .a p{margin-top:.5rem}
#main-content .faq .a strong{color:var(--txt)}

/* --- Werte-Tabelle (Notenwerte / Tempo) --- */
#main-content .values{
  width:100%;border-collapse:collapse;margin-top:1.2rem;border:1px solid var(--brd);
  border-radius:var(--r);overflow:hidden;font-size:.97rem}
#main-content .values th,#main-content .values td{
  text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--brd2);color:var(--mut)}
#main-content .values th{background:var(--bg3);color:var(--txt);font-weight:600}
#main-content .values tr:last-child td{border-bottom:0}
#main-content .values td:first-child{color:var(--txt);font-size:1.2rem}

/* --- Anchors (Intervall-Ankerlieder) --- */
#main-content .anchors{list-style:none;margin-top:1.2rem;padding:0;display:grid;gap:.6rem}
#main-content .anchors li{
  background:var(--bg2);border:1px solid var(--brd);border-radius:var(--r);
  padding:.75rem 1rem;color:var(--mut)}
#main-content .anchors strong{color:var(--acc)}

/* --- Stufenakkorde --- */
#main-content .stufen{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.3rem}
#main-content .stufen > div{
  background:var(--bg2);border:1px solid var(--brd);border-radius:var(--r);
  padding:.7rem 1rem;text-align:center;min-width:74px}
#main-content .stufen .s{display:block;font-size:.8rem;color:var(--acc);font-weight:700}
#main-content .stufen .n{display:block;font-size:1.15rem;color:var(--txt);font-weight:600;margin-top:.15rem}

/* --- Weiterlernen (related cards) --- */
#main-content .related{
  display:grid;gap:1rem;margin-top:1.6rem;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
#main-content .rcard{
  display:block;background:var(--bg2);border:1px solid var(--brd);border-radius:var(--rl);
  padding:1.2rem;text-decoration:none;transition:.2s}
#main-content .rcard:hover{border-color:var(--acc);transform:translateY(-2px)}
#main-content .rcard h3{font-family:"Playfair Display",Georgia,serif;color:var(--txt);
  font-size:1.12rem;margin-bottom:.3rem}
#main-content .rcard span{color:var(--mut);font-size:.93rem;line-height:1.5}

@media (max-width:560px){
  #main-content section{padding:2rem 0}
  #main-content .hero{padding:2.2rem 0 1.2rem}
}
