/* Alumni module (published to public/modules/alumni/ when the module is turned on) */
.alumni-avatar { border-radius: 50%; object-fit: cover; flex-shrink: 0; display: inline-block; vertical-align: middle; }
.alumni-avatar-initials { display: inline-flex; align-items: center; justify-content: center; color: #fff; font-weight: 600; letter-spacing: .02em; }
.alumni-post .alumni-body { white-space: normal; overflow-wrap: anywhere; }
.alumni-photo { max-width: 100%; max-height: 560px; object-fit: contain; display: block; background: var(--bs-tertiary-bg, #f3f4f6); }
.alumni-thumb { max-width: 160px; max-height: 120px; object-fit: cover; }
.alumni-comment-body { background: var(--bs-tertiary-bg, #f3f4f6); border-radius: .75rem; padding: .35rem .7rem; }
.alumni-comment-actions .btn-link { font-size: .75rem; color: var(--bs-secondary-color, #6b7280); text-decoration: none; }
.alumni-comment-actions .btn-link:hover { text-decoration: underline; }
.alumni-composer textarea { resize: vertical; min-height: 3rem; }
.alumni-preview { position: relative; display: inline-block; }
.alumni-preview img { max-height: 160px; border-radius: .5rem; }
.alumni-preview button { position: absolute; top: 4px; right: 4px; line-height: 1; }
.alumni-person { transition: box-shadow .15s, transform .15s; }
.alumni-person:hover { box-shadow: 0 .5rem 1.25rem rgba(0, 0, 0, .08); transform: translateY(-2px); }
.min-w-0 { min-width: 0; }

/* Private messages (alumni/messages): inbox + conversation; phones show one at a time */
.alumni-inbox .list-group-item { padding: .75rem 1rem; border-left: 3px solid transparent; }
.alumni-inbox .active-conversation { background: var(--bs-tertiary-bg, #f3f4f6); border-left-color: var(--bs-primary); }
.alumni-thread { display: flex; flex-direction: column; height: calc(100vh - 13rem); min-height: 26rem; }
.alumni-thread .card-header { border-bottom: 1px solid var(--bs-border-color, #e5e7eb); padding: .6rem .75rem; }
.alumni-thread-body { flex: 1 1 auto; overflow-y: auto; display: flex; flex-direction: column; gap: .35rem; background: var(--bs-tertiary-bg, #f6f8fb); }
.alumni-bubble-row { display: flex; }
.alumni-bubble-row.is-mine { justify-content: flex-end; }
.alumni-bubble { max-width: 80%; padding: .55rem .8rem; border-radius: 1rem 1rem 1rem .3rem; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); overflow-wrap: anywhere; line-height: 1.45; }
.alumni-bubble-row.is-mine .alumni-bubble { background: var(--bs-primary); color: #fff; border-radius: 1rem 1rem .3rem 1rem; }
.alumni-bubble-row.is-mine .alumni-bubble a { color: #fff; }
.alumni-bubble-time { display: block; font-size: .7rem; opacity: .65; margin-top: .15rem; text-align: right; }
.alumni-day { text-align: center; margin: .5rem 0; }
.alumni-day span { font-size: .72rem; color: var(--bs-secondary-color, #6b7280); background: rgba(0, 0, 0, .05); border-radius: 999px; padding: .15rem .6rem; }
.alumni-send textarea { resize: none; max-height: 9rem; overflow-y: hidden; }
@media (max-width: 991.98px) {
  .alumni-messages.has-open .alumni-inbox-col { display: none; }
  .alumni-messages:not(.has-open) .alumni-thread-col { display: none; }
  .alumni-thread { height: calc(100vh - 12rem - 4rem); min-height: 22rem; }   /* room for the phone tab bar */
}
