/* Hub-only composition. Cards and forms use the existing homepage styles. */
body.cosharing-page { max-width: none; }
.cosharing-page main { padding-bottom: 0; }
.cosharing-page .morning-heading { margin-bottom: 44px; }
.cosharing-page .morning-dek { max-width: 700px; }
.cosharing-page .cosharing-board { max-width: 1120px; margin: 0 auto 76px; padding: 28px 0 34px; border-top: 1px solid var(--gold-soft); border-bottom: 1px solid var(--graphite-15); scroll-margin-top: 90px; }
.cosharing-page .cosharing-board > h2 { margin: 0 0 24px; color: var(--olive); font: 500 11px/1.7 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.cosharing-page .swipe-track--notice { gap: 24px; padding: 0 0 24px; }
.cosharing-page .announcement-card { flex: 0 0 332px; min-width: 0; }
.cosharing-page .cosharing-board-empty { flex: 0 0 100%; padding: 40px 24px 24px; }
.cosharing-page .cosharing-board-empty p { max-width: 640px; margin: auto; text-align: center; color: var(--graphite-60); font: 400 15px/1.8 var(--sans); }
.cosharing-page .cosharing-board-empty strong { display: block; color: var(--graphite); font: 500 clamp(28px, 3vw, 38px)/1.15 var(--serif); margin-bottom: 18px; }
.cosharing-page .cosharing-board-empty a { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 3px; }
.cosharing-page .btn-post-notice { max-width: 440px; width: 100%; margin: 24px auto 0; padding: 20px; }
.cosharing-page .cosharing-nojs { margin-top: 24px; text-align: center; font-size: 13px; color: var(--olive); }
.cosharing-page .cosharing-editorial { padding-bottom: 24px; }
.cosharing-page .cosharing-editorial strong { font-weight: 700; }
.cosharing-page .cosharing-table { overflow-x: auto; margin: 0 0 1.5em; }
.cosharing-page .cosharing-table table { width: 100%; min-width: 540px; border-collapse: collapse; font: 400 15px/1.7 var(--sans); }
.cosharing-page .cosharing-table th, .cosharing-page .cosharing-table td { padding: 18px 16px 18px 0; vertical-align: top; border-bottom: 1px solid var(--graphite-15); text-align: left; }
.cosharing-page .cosharing-table th { color: var(--olive); font-weight: 500; }
.cosharing-page .cosharing-faq { scroll-margin-top: 90px; }
@media (max-width: 600px) {
  .cosharing-page .cosharing-board { margin-bottom: 48px; padding-top: 22px; }
  .cosharing-page .cosharing-board-empty { padding: 24px 0 12px; }
  .cosharing-page .swipe-track--notice { margin-right: -20px; padding-right: 20px; }
  .cosharing-page .announcement-card { flex-basis: min(332px, calc(100vw - 56px)); }
  .cosharing-page .cosharing-board-empty { flex-basis: calc(100% - 20px); }
}
