/* Pages publiques (lecons/, verbes/, glossaire/) generees par build-pages.js */
.pub-head { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding: .7rem 24px; background: var(--paper); border-bottom: 1px solid var(--line); }
.pub-brand { display: flex; align-items: center; gap: .6rem; font-family: var(--serif); font-weight: 800; font-size: 1.25rem; color: var(--accent); text-decoration: none; }
.pub-brand img { width: 40px; height: 40px; object-fit: contain; }
.pub-nav { margin-left: auto; display: flex; align-items: center; gap: .3rem 1rem; flex-wrap: wrap; }
.pub-nav > a:not(.btn) { font-weight: 700; color: var(--ink); text-decoration: none; padding: .4rem 0; } .pub-nav > a:not(.btn):hover { color: var(--red); }
.pub-nav .btn { white-space: nowrap; }
.pub-main { max-width: 900px; margin: 0 auto; padding: 1.5rem 24px 2rem; }
.crumbs { font-size: .88rem; color: var(--muted); margin-bottom: 1rem; } .crumbs a { color: var(--muted); }
.pub-main h1 { font-family: var(--serif); font-size: clamp(1.9rem, 4vw, 2.7rem); line-height: 1.1; color: var(--accent); margin: .3rem 0 .6rem; }
.pub-main h2 { font-family: var(--serif); font-size: 1.45rem; color: var(--accent); margin: 2rem 0 .6rem; }
.pub-lesson .lesson-body { max-width: none; }
.pub-ex { margin-top: 2rem; padding: 1.4rem 1.6rem; border-radius: 20px; background: var(--rule); } .pub-ex h2 { margin-top: 0; }
.pub-try { margin: 1rem 0 0; }
.pub-prevnext { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; font-weight: 700; }
.pub-level { margin-top: 1.5rem; } .pub-level h2 { display: flex; align-items: center; gap: .6rem; margin-top: 0; }
.pub-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem; }
.pub-list li { display: flex; flex-direction: column; padding: .8rem 1rem; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); } .pub-list a { font-weight: 700; }
.pub-tenses { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .8rem; }
.pub-tenses .cj-tense { padding: .8rem 1rem; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); } .pub-tenses h3 { margin: 0 0 .4rem; font-size: 1rem; color: var(--red); }
.pub-tenses ul { list-style: none; margin: 0; padding: 0; } .pub-tenses li { padding: .15rem 0; border-top: 1px solid var(--line); } .pub-tenses li:first-child { border-top: 0; }
.pub-letter h2 { margin-top: 1.4rem; } .pub-verbs { line-height: 2.2; } .pub-verbs a { margin-right: .6rem; }
.pub-example { padding: .8rem 1rem; border-radius: 12px; background: var(--good-bg); }
.pub-cta { max-width: 900px; margin: 0 auto 2rem; padding: 0 24px; display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.pub-cta > div { flex: 1 1 320px; display: flex; flex-direction: column; gap: .2rem; padding: 1.4rem 1.8rem; border-radius: 22px; background: var(--navy); color: #fff; }
.pub-cta b { font-family: var(--serif); font-size: 1.3rem; } .pub-cta > div > span { color: #cbd5e1; }
.pub-foot { max-width: 900px; margin: 0 auto; }
@media (max-width: 640px) { .pub-head { padding: .6rem 16px; } .pub-brand span { display: none; } .pub-main, .pub-cta { padding-left: 16px; padding-right: 16px; } }
