/* Living in Control™ course page and lessons. Built on the shop's own tokens
   (theme.css) so the course reads as part of the site. */
.lic { padding-bottom:40px }
.lic-hero { background:var(--sky); border-bottom:1px solid var(--sky-line); padding:56px 0 44px; margin-bottom:12px }
.lic-hero h1 { font-size:clamp(2rem, 4vw, 3rem); margin:8px 0 12px; max-width:22ch }
.lic-lede { font-size:1.15rem; max-width:60ch; margin:0 }
.lic-by { color:var(--muted); font-size:.92rem; margin:16px 0 0 }
.lic-back { margin-top:18px; background:#fff; border:1px solid var(--sky-line); border-radius:12px; padding:12px 16px; display:inline-block }
.lic-sec { padding-top:36px; padding-bottom:8px }
.lic-sec h2 { font-size:clamp(1.5rem, 2.4vw, 2.1rem); margin:6px 0 12px }
.lic-sec p { max-width:70ch; line-height:1.6 }
.lic-note { background:var(--mist); border-radius:12px; padding:12px 16px }
.lic-small { color:var(--muted); font-size:.92rem }
.lic-steps, .lic-six { list-style:none; padding:0; margin:18px 0; display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); counter-reset:lic }
.lic-steps li, .lic-six li { counter-increment:lic; border:1px solid var(--hair); border-radius:14px; padding:16px; background:#fff }
.lic-steps li::before, .lic-six li::before { content:counter(lic); display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--blue); color:#fff; font-weight:800; margin-bottom:8px }
.lic-steps b, .lic-six b, .lic-grid b, .lic-three b { display:block; color:var(--navy); margin-bottom:4px }
.lic-ticks { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px 18px }
.lic-ticks li::before { content:''; display:inline-block; width:10px; height:5px; border:solid var(--mint-ok); border-width:0 0 2px 2px; transform:rotate(-45deg); margin:0 8px 3px 2px }
.lic-mods { display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); margin:18px 0 }
.lic-mod { border:1px solid var(--hair); border-radius:14px; padding:16px; background:#fff; display:flex; flex-direction:column; gap:6px; align-items:flex-start }
.lic-mod p { margin:0; color:var(--muted) }
.lic-mod--soon { background:var(--mist) }
.lic-mod__n { font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--blue) }
.lic-pill { font-size:.78rem; font-weight:700; border-radius:99px; padding:3px 10px; background:var(--mist); color:var(--muted); border:1px solid var(--hair) }
.lic-pill--on { background:var(--sky); color:var(--blue-dark); border-color:var(--sky-line) }
.lic-three, .lic-grid { display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); margin:16px 0 }
.lic-three > div, .lic-grid > div { border:1px solid var(--hair); border-radius:14px; padding:16px; background:#fff; line-height:1.5 }
.lic-three span { font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--blue) }
.lic-recipe { background:var(--sky); border-radius:14px; padding:18px; margin:16px 0 }
.lic-recipe__r { font-family:var(--fd); font-size:1.25rem; margin:6px 0 }
.lic-more { border:1px solid var(--hair); border-radius:12px; padding:12px 16px; margin:12px 0; background:#fff }
.lic-more summary { cursor:pointer; font-weight:700; color:var(--blue) }
.lic-tracks { padding-left:20px }
.lic-tracks li { margin:8px 0 }
.lic-tracks .lic-pill { margin-left:10px }
.lic-quote { font-family:var(--fd); font-size:1.3rem; border-left:4px solid var(--blue); margin:12px 0; padding:4px 0 4px 18px; max-width:60ch }
.lic-quote cite { display:block; font-family:var(--fb); font-style:normal; font-size:.9rem; color:var(--muted); margin-top:8px }
.lic-before { padding-left:20px; line-height:1.6 }
.lic-before li { margin-bottom:8px }
.lic-end { background:var(--navy-deep); color:#fff; padding:44px 0; margin-top:36px; text-align:center }
.lic-end h2 { color:#fff; margin:6px 0 }
.lic-end .btn { margin-top:14px }
.lic-foot { margin-top:22px }
@media (max-width:600px) { .lic-hero { padding:32px 0 28px } }
/* Free sign up, on the Core 5 section for somebody not signed in. */
.lic-join { border:1px solid var(--hair); border-radius:14px; padding:18px; background:#fff; max-width:560px; margin:16px 0 }
.lic-join h3 { color:var(--navy); margin:0 0 6px }
.lic-join__form { margin-top:12px }
.lic-join__form em { font-style:normal; color:var(--muted); font-size:.85rem }
.lic-callout { background:var(--mist); border-radius:12px; padding:12px 16px; margin:12px 0 }
.lic-callout p { margin:4px 0 0 }
.lic-callout--ok { background:#e8f6ee; color:#1f6a36 }
