/* Sessions booking page (class_sessions.py) */
.cl-list { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px; }
.cl-s { display:grid; gap:2px; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:10px; color:var(--ink); text-decoration:none; }
a.cl-s:hover { border-color:var(--brand); }
.cl-s b { font-size:17px; font-weight:600; }
.cl-s span { color:var(--mute); font-size:14px; }
.cl-s em { font-style:normal; font-size:14px; margin-top:4px; }
.cl-full { opacity:.6; }
.cl-filter { display:flex; flex-wrap:wrap; gap:8px; }
.cl-filter a { padding:7px 12px; border:1px solid var(--line); border-radius:99px; font-size:14px; color:var(--ink); text-decoration:none; background:#fff; }
.cl-filter a[aria-current] { background:var(--brand); color:var(--brand-ink); border-color:var(--brand); }
.cl-form label { display:block; margin:14px 0 4px; font-weight:600; font-size:14px; }
.cl-form input:not([type=checkbox]), .cl-form select, .cl-form textarea { width:100%; box-sizing:border-box; padding:11px 12px; font:inherit; border:1px solid var(--line); border-radius:8px; background:#fff; }
.cl-form .cl-agree { display:flex; gap:10px; align-items:flex-start; font-weight:400; margin:18px 0; }
.cl-form .primary { width:100%; }
.cl-hide { position:absolute; left:-9999px; }
.cl-cancel { padding:11px 16px; font:inherit; background:#fff; border:1px solid var(--line); border-radius:8px; cursor:pointer; }
.err { color:#8a1c1c; font-weight:600; }
#app > header { padding-top:20px; margin-bottom:6px; }
