/* Upcoming cohorts list (partials/upcoming-cohorts.html), on /training and course pages. */
/* COHORTS */
.cohorts { list-style: none; margin: 32px 0 0; padding: 0; border-top: 1px solid rgba(255,255,255,0.14); }
.cohort { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 26px 0; border-bottom: 1px solid rgba(255,255,255,0.14); align-items: center; }
@media (min-width: 900px) { .cohort { grid-template-columns: 1.1fr 1.4fr 0.6fr auto; gap: 28px; } }
.cohort strong { display: block; font-family: var(--rl-font-display); font-weight: 400; font-size: 24px; color: #fff; line-height: 1.15; }
.cohort span { display: block; font-size: 13px; color: rgba(255,255,255,0.6); margin-top: 4px; }
.cohort .btn { white-space: nowrap; }
.cohorts-policy { margin-top: 20px; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.7); max-width: 72ch; }
.cohorts-policy + .cohorts-policy { margin-top: 6px; }
.cohorts-policy a { color: #fff; text-decoration-color: var(--rl-emerson); text-underline-offset: 4px; }
.cohorts-empty { margin-top: 28px; font-size: 16px; color: rgba(255,255,255,0.75); }
.cohorts-empty a { color: #fff; text-decoration-color: var(--rl-emerson); text-underline-offset: 5px; }

.cohorts-notify { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; }
/* Long label: let it wrap inside the gutter on phones instead of running off-screen. */
.cohorts-notify .btn { white-space: normal; max-width: 100%; text-align: center; }
.cohorts-notify p { margin: 0; font-size: 15px; color: rgba(255,255,255,0.72); max-width: 52ch; }
