/* Glanz Akademie — additions on top of tg.css (v2 design system). Tokens come from tg.css :root. */

/* course cards with cover image */
.ga-kurs{display:flex;flex-direction:column}
.ga-kurs__bild{margin:-1px -1px 1.25rem;border-radius:var(--r-md) var(--r-md) 0 0;overflow:hidden;aspect-ratio:16/9}
.ga-kurs__bild img{width:100%;height:100%;object-fit:cover;display:block}
.ga-kurs .tg-kurs__foot{margin-top:auto}
.ga-kurs__btn{align-self:flex-start;margin-top:1.25rem}

/* steps */
.ga-steps{list-style:none;counter-reset:ga;margin:2rem 0 0;padding:0;display:grid;gap:1.1rem}
.ga-steps li{counter-increment:ga;display:grid;grid-template-columns:2.6rem 1fr;column-gap:1rem;align-items:start}
.ga-steps li::before{content:counter(ga);grid-row:span 2;width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);font-family:var(--font-head,"Sora",sans-serif);font-weight:600}
.ga-steps strong{font-family:var(--font-head,"Sora",sans-serif);font-weight:600}
.ga-steps span{color:var(--ink-55)}

.ga-cta{text-align:center;max-width:46rem}
.ga-cta .tg-hero__cta{justify-content:center}

/* regular pages (legal texts) */
.ga-page{padding-bottom:5rem}
.ga-pagehead{padding-bottom:1rem}
.ga-content{max-width:48rem}
.ga-content h2{font-size:1.35rem;margin:2.2rem 0 .6rem}
.ga-content h3{font-size:1.1rem;margin:1.6rem 0 .4rem}
.ga-content p,.ga-content li{line-height:1.7}
.ga-content a{text-decoration:underline;text-underline-offset:3px}

/* MasterStudy pages: full width inside the site shell */
.ga-lms{padding-top:2rem;padding-bottom:4rem}
.ga-lms .ga-content{max-width:none}

/* course player: hide site shell, MasterStudy brings its own header */
body:has(.masterstudy-course-player-content) .tg-header,
body:has(.masterstudy-course-player-content) .tg-drawer,
body:has(.masterstudy-course-player-content) .tg-footer{display:none!important}
.ga-kurs .tg-kurs__num{display:none}
.ga-kurs h3{hyphens:manual;-webkit-hyphens:manual}
.ga-hero .tg-hero__badge strong{white-space:nowrap}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* tg-akademie-lms.php prints a global gold .tg-btn rule for its own pages; keep the v2 buttons on site pages */
.tg-hero__cta .tg-btn,.ga-kurs .tg-btn{background:var(--ink)!important;color:var(--on-ink)}
.tg-hero__cta .tg-btn--ghost{background:transparent!important;color:var(--ink)}
.tg-ink .tg-hero__cta .tg-btn--solid{background:var(--on-ink)!important;color:var(--ink)}
.tg-ink .tg-hero__cta .tg-btn--ghost{color:var(--on-ink)}

/* narrow phones: shorter logo line so the header fits */
@media (max-width:420px){
  .tg-logo__sub{letter-spacing:.12em}
  .tg-logo__name{font-size:.95rem}
}

/* § 356a BGB withdrawal function */
.ga-wr__step{margin-top:1.5rem}
.ga-wr__step>summary{list-style:none;cursor:pointer;display:inline-flex}
.ga-wr__step>summary::-webkit-details-marker{display:none}
.ga-wr__form{margin-top:1.5rem;max-width:34rem;display:grid;gap:1rem}
.ga-wr__form .tg-field{display:grid;gap:.35rem}
.ga-wr__form input,.ga-wr__form textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;background:var(--surface)}
.ga-wr__form .tg-btn{justify-self:start}
.ga-wr__err{color:#A3302A;font-weight:600}
.ga-wr--ok{border:1px solid var(--line);border-radius:var(--r-md);padding:1.5rem 1.75rem;background:var(--surface)}
.tg-footer a[href$="/vertrag-widerrufen/"]{font-weight:700;text-decoration:underline}
