/* education.css – Wspólne komponenty ścieżek edukacyjnych (edukacja-oze, -rachunki, -rynek-mocy).
   Teal-themed default; strona rynek-mocy nadpisuje kolory inline na blue. */

/* Progress bar */
.read-progress{position:fixed;top:var(--nav-h);left:0;height:3px;background:var(--accent);width:0;z-index:99;transition:width .1s linear}

/* Nagłówek ścieżki: .page-header--band.page-header--mid + .page-header__title--read (controls.css, U6).
   Dotąd .edu-hero – pasmo wyśrodkowane z etykietą mono i kreską. */

/* Module list */
.modules{max-width:var(--w-mid);margin:0 auto;padding:2.5rem var(--page-gutter) 4rem}
.modules-title{font-family:var(--f-mono);font-size:.63rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}

/* Mod card (akordeon) */
.mod-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);margin-bottom:var(--gap);overflow:hidden;transition:border-color var(--t-base)}
.mod-card.open{border-color:var(--a-teal-25)}
.mod-card.open .mod-header{border-bottom:1px solid var(--card-border)}
.mod-header{display:flex;align-items:center;gap:1.25rem;padding:1.4rem 1.6rem;cursor:pointer;transition:background var(--t-fast);background:var(--card-bg)}
.mod-header:hover{background:var(--bg-light)}
.mod-num{width:48px;height:48px;border-radius:var(--r-sm);background:transparent;border:1px solid var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:1.1rem;font-weight:600;color:var(--accent);flex-shrink:0}
.mod-info{flex:1;min-width:0}
.mod-label{font-family:var(--f-mono);font-size:.58rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem}
.mod-title{font-family:var(--f-head);font-size:1.05rem;font-weight:600;color:var(--fg);line-height:1.25}
.mod-desc{font-size:.78rem;color:var(--fg-muted);font-weight:300;margin-top:.25rem;line-height:1.5}
.mod-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}
.mod-time{font-size:.68rem;color:var(--fg-muted);white-space:nowrap}
.mod-arrow{font-size:.85rem;color:var(--fg-muted);transition:transform .3s}
.mod-card.open .mod-arrow{transform:rotate(180deg);color:var(--teal-bright)}
.mod-status{font-size:.6rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--r-sm);white-space:nowrap}
.mod-status.ready{color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 90%);border:1px solid color-mix(in srgb,var(--accent),transparent 80%)}
.mod-status.soon{color:var(--fg-muted);background:rgba(148,163,184,.06);border:1px solid rgba(148,163,184,.12)}
.mod-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}
.mod-card.open .mod-body{max-height:30000px}

/* Treść modułu.
   Skala lektury WSPÓLNA z artykułem (article.css) – te same stopnie, ta sama interlinia,
   te same clampy. Moduł i artykuł to ta sama czynność czytania w tej samej szerokości
   kolumny; rozjazd z 2026-09-14 (moduł 14 px / 95 znaków w wierszu przy artykule
   18 px / 73) brał się stąd, że przeliczenie objęło tylko article.css.
   Przy kolumnie 669 px daje to 76 znaków w wierszu. Stopnie zmieniać RAZEM z article.css. */
.mod-content{padding:2rem 1.6rem 2.5rem;max-width:720px}
.mod-content h2{font-family:var(--f-read);font-size:clamp(1.5rem,1.2rem + 1.2vw,1.8rem);font-weight:800;line-height:1.25;margin-bottom:.75rem}
.mod-content .art-lead{font-size:1.2rem;color:var(--fg-muted);font-style:italic;font-weight:300;line-height:1.65;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.mod-content h3{font-family:var(--f-read);font-size:clamp(1.25rem,1.05rem + .7vw,1.4rem);font-weight:800;margin:2rem 0 .7rem;color:var(--fg)}
.mod-content p{font-size:clamp(1.0625rem,.95rem + .45vw,1.125rem);color:var(--fg);margin-bottom:1.35rem;line-height:1.6}
.mod-content ul{margin:0 0 1.4rem 1.3rem;color:var(--fg)}
.mod-content li{font-size:clamp(1.0625rem,.95rem + .45vw,1.125rem);margin-bottom:.5rem;line-height:1.55}

/* Callout */
/* D3: treść zostaje ostra – callout i tabela bez promienia. */
/* Callout jest prozą w ramce i niesie ostrzeżenia – stoi w stopniu tekstu, nie pod nim.
   Przed przeliczeniem skali też tak było (.85rem przy akapicie .88rem). */
.callout{background:color-mix(in srgb,var(--accent),transparent 94%);border-left:3px solid var(--accent);border-radius:0;padding:1.1rem 1.4rem;margin:1.5rem 0;font-size:clamp(1.0625rem,.95rem + .45vw,1.125rem);color:var(--fg-muted);line-height:1.6}
.callout strong{color:var(--fg);font-weight:600}
.callout.tip{border-left-color:var(--accent)}
.callout.warn{border-left-color:#b9842f;background:rgba(185,132,47,.06)}

/* Tabele */
/* Dane znoszą mniejszy stopień inaczej niż zdania: tabela o stopień pod tekstem. */
.art-table{width:100%;border-collapse:collapse;margin:1.25rem 0 1.5rem;font-size:.95rem}
.art-table th{text-align:left;font-family:var(--f-mono);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);padding:.6rem .8rem;border-bottom:2px solid var(--border);background:color-mix(in srgb,var(--accent),transparent 95%)}
.art-table td{padding:.65rem .8rem;border-bottom:1px solid var(--border);color:var(--fg-muted);line-height:1.5;vertical-align:top}

/* Light theme overrides */
[data-theme=light] .art-table th{background:color-mix(in srgb,var(--accent),transparent 95%)}

/* Responsive */
@media(max-width:600px){
  .mod-header{padding:1rem 1.1rem;gap:.9rem}
  .mod-num{width:40px;height:40px;font-size:.95rem}
  .mod-desc,.mod-time{display:none}
  .mod-content{padding:1.5rem 1.1rem 2rem}
}
