/* Retain shared jemdoc typography and native Bootstrap components. */
.join-page [id] { scroll-margin-top: 80px; }
.join-page p b, .join-page p strong { font-weight: normal; }
.join-page summary { cursor: pointer; }
.join-page summary .badge { font-weight: normal; white-space: normal; }
.join-disclosure-hint .when-open { display: none; }
details[open] > summary .when-open { display: inline; }
details[open] > summary .when-closed { display: none; }

/* Quiet cards for navigation and long sections; keep the site's fonts and colours. */
.join-page p { line-height: 1.6; }
.join-page h2 { margin-top: 1.8rem; }
.join-routes .card { background: #fafafa; }
.join-routes .card:hover { border-color: #aaa; }
.join-routes .card-body { padding: 1.1rem; }
.join-routes a { font-weight: normal; }
.join-routes small { display: block; margin-top: .75rem; color: #555; }
.join-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.join-resources > p { margin: 0; padding: 1.1rem; border: 1px solid #ddd; border-radius: .25rem; text-align: left !important; }
.join-resources > p:last-child { grid-column: 1 / -1; }
.join-resources i { display: inline-block; margin-bottom: .4rem; }
.join-page details { margin: 1rem 0; padding: 1.1rem; border: 1px solid #ddd; border-radius: .25rem; }
.join-page summary { line-height: 1.5; }
.join-page details[open] > summary { margin-bottom: 1rem; padding-bottom: .75rem; border-bottom: 1px solid #eee; }
.join-page details > p { text-align: left !important; }
.join-page details > p:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .join-page p { text-align: left !important; }
    .join-resources { grid-template-columns: 1fr; }
}
