/* Alcar messages — native BuddyBoss Platform 3.0.3 / Theme 2.20.1.
 * Visual overrides only. Native routing, unread state, panel visibility,
 * editor enablement, moderation and attachment controls remain untouched.
 */
body.alcar-community-polish {
  --alcar-message-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --alcar-message-page: var(--bb-body-background-color, #111113);
  --alcar-message-panel: var(--bb-content-background-color, #18181b);
  --alcar-message-raised: #27272a;
  --alcar-message-border: var(--bb-content-border-color, #2c2c30);
  --alcar-message-text: var(--bb-body-text-color, #e4e4e7);
  --alcar-message-heading: var(--bb-headings-color, #fafafa);
  --alcar-message-muted: var(--bb-alternate-text-color, #a1a1aa);
  --alcar-message-accent: var(--bb-primary-color, #1488fc);
}

/* Preserve native widths, flex, scroll containers and responsive panel gates. */
body.alcar-community-polish #buddypress .bp-messages-container {
  color: var(--alcar-message-text);
  font-family: var(--alcar-message-font);
  letter-spacing: 0;
}
body.alcar-community-polish #buddypress .bp-messages-nav-panel,
body.alcar-community-polish #buddypress .bp-messages-content-wrapper {
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}
body.alcar-community-polish #buddypress .bp-messages-nav-panel .bp-subnavs,
body.alcar-community-polish #buddypress .bp-messages-nav-panel .bp-messages-filters {
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
}
body.alcar-community-polish #buddypress .bp-messages-nav-panel .bp-subnavs a {
  color: var(--alcar-message-muted);
  font-family: var(--alcar-message-font);
  font-weight: 500;
}
body.alcar-community-polish #buddypress .bp-messages-nav-panel .bp-subnavs .selected a {
  color: var(--alcar-message-heading);
  border-color: var(--alcar-message-accent);
}

/* Search keeps the native absolute-positioned search/reset controls. */
body.alcar-community-polish #buddypress .bp-messages-search-form {
  background-color: var(--alcar-message-page);
  border-color: var(--alcar-message-border);
  border-radius: 9px;
}
body.alcar-community-polish #buddypress .bp-messages-search-form #user_messages_search {
  background-color: transparent;
  color: var(--alcar-message-text);
  border-color: transparent;
  font: 400 13px/1.5 var(--alcar-message-font);
  box-shadow: none;
}
body.alcar-community-polish #buddypress .bp-messages-search-form #user_messages_search::placeholder {
  color: var(--alcar-message-muted);
}
body.alcar-community-polish #buddypress .bp-messages-search-form #user_messages_search_submit,
body.alcar-community-polish #buddypress .bp-messages-search-form #user_messages_search_reset {
  color: var(--alcar-message-muted);
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
body.alcar-community-polish #buddypress .bp-messages-search-form #user_messages_search_submit > span:first-child,
body.alcar-community-polish #buddypress .bp-messages-search-form #user_messages_search_reset > span:first-child {
  font-size: 18px;
}
body.alcar-community-polish #buddypress .bp-messages-search-form:focus-within {
  border-color: var(--alcar-message-accent);
  box-shadow: 0 0 0 2px rgba(20, 136, 252, .1);
}

/* Thread states retain native classes and unread counts. */
body.alcar-community-polish #buddypress #message-threads > .thread-item {
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
  transition: background-color .15s ease;
}
body.alcar-community-polish #buddypress #message-threads > .thread-item > .bp-message-link {
  color: var(--alcar-message-text);
  background-color: transparent;
  background-image: none;
  border-color: var(--alcar-message-border);
  transition: background-color .15s ease;
}
body.alcar-community-polish #buddypress #message-threads > .thread-item:hover,
body.alcar-community-polish #buddypress #message-threads > .thread-item:hover > .bp-message-link {
  background-color: var(--alcar-message-raised);
}
body.alcar-community-polish #buddypress #message-threads > .thread-item.current,
body.alcar-community-polish #buddypress #message-threads > .thread-item.current > .bp-message-link,
body.alcar-community-polish #buddypress #message-threads > .thread-item > .bp-message-link.current {
  background-color: var(--alcar-message-raised);
  box-shadow: inset 2px 0 var(--alcar-message-accent);
}
body.alcar-community-polish #buddypress #message-threads .thread-to,
body.alcar-community-polish #buddypress #message-threads .thread-to .user-name {
  color: var(--alcar-message-heading);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
body.alcar-community-polish #buddypress #message-threads > .thread-item.unread .thread-to .user-name {
  font-weight: 600;
}
body.alcar-community-polish #buddypress #message-threads .thread-excerpt,
body.alcar-community-polish #buddypress #message-threads .thread-subject .last-message-sender,
body.alcar-community-polish #buddypress #message-threads .thread-to .num-name {
  color: var(--alcar-message-muted);
  font-size: 12px;
  line-height: 1.6;
}
body.alcar-community-polish #buddypress #message-threads .thread-date,
body.alcar-community-polish #buddypress #message-threads .thread-date time {
  color: var(--alcar-message-muted);
  font-size: 11px;
  line-height: 1.5;
}

/* Conversation heading and ordinary message rows; exclude date separators. */
body.alcar-community-polish #buddypress .single-message-thread-header {
  background-color: transparent;
  border-color: var(--alcar-message-border);
}
body.alcar-community-polish #buddypress .single-message-thread-header .participants-name,
body.alcar-community-polish #buddypress .single-message-thread-header .participants-name a {
  color: var(--alcar-message-heading);
  font: 600 14px/1.5 var(--alcar-message-font);
}
body.alcar-community-polish #buddypress .single-message-thread-header .thread-date {
  color: var(--alcar-message-muted);
  font-size: 11px;
  line-height: 1.5;
}
body.alcar-community-polish #buddypress #bp-message-thread-list {
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
}
body.alcar-community-polish #buddypress #bp-message-thread-list > li:not(.divider-date) {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
body.alcar-community-polish #buddypress #bp-message-thread-list .message-metadata .bp-user-link,
body.alcar-community-polish #buddypress #bp-message-thread-list .message-metadata .bp-user-link strong {
  color: var(--alcar-message-heading);
  font: 500 12px/1.5 var(--alcar-message-font);
}
body.alcar-community-polish #buddypress #bp-message-thread-list .message-metadata time {
  color: var(--alcar-message-muted);
  font-size: 11px;
  line-height: 1.5;
}
body.alcar-community-polish #buddypress #bp-message-thread-list > li:not(.divider-date) .bp-single-message-content > .bp-message-content-wrap:not(.bp-suspended-content) {
  color: var(--alcar-message-text);
  background-color: var(--alcar-message-raised);
  border-radius: 10px;
  padding: 11px 14px;
  font: 400 14px/1.65 var(--alcar-message-font);
  letter-spacing: 0;
}
body.alcar-community-polish #buddypress #bp-message-thread-list > .divider-date {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}
body.alcar-community-polish #buddypress #bp-message-thread-list > .divider-date .bp-message-content-wrap,
body.alcar-community-polish #buddypress #bp-message-thread-list .bb-messages-group-notices {
  color: var(--alcar-message-muted);
  font-family: var(--alcar-message-font);
  font-size: 11px;
  line-height: 1.6;
}
body.alcar-community-polish #buddypress #bp-message-thread-list .bp-message-content-wrap a {
  color: var(--alcar-message-accent);
  text-underline-offset: 3px;
}

/* Editor, recipients and toolbar: no content, placeholder or submit-state changes. */
body.alcar-community-polish #buddypress .bp-messages-content #bp-message-content {
  color: var(--alcar-message-text);
  background-color: var(--alcar-message-page);
  border-color: var(--alcar-message-border);
  border-radius: 10px;
  box-shadow: none;
}
body.alcar-community-polish #buddypress .bp-messages-content #message_content {
  color: var(--alcar-message-text);
  background-color: transparent;
  font: 400 14px/1.65 var(--alcar-message-font);
  letter-spacing: 0;
}
body.alcar-community-polish #buddypress .bp-messages-content #bp-message-content:focus-within {
  border-color: var(--alcar-message-accent);
  box-shadow: 0 0 0 2px rgba(20, 136, 252, .1);
}
body.alcar-community-polish #buddypress .bp-message-content_foot_note {
  color: var(--alcar-message-muted);
  font: 400 11px/1.5 var(--alcar-message-font);
}
body.alcar-community-polish #buddypress .bp-messages-form-header .bp-new-message-heading,
body.alcar-community-polish #buddypress .bp-messages-recipient > span {
  color: var(--alcar-message-heading);
  font-family: var(--alcar-message-font);
  font-weight: 500;
}
body.alcar-community-polish #buddypress .bp-messages-recipient .select2-selection--multiple {
  background-color: var(--alcar-message-page);
  border-color: var(--alcar-message-border);
  border-radius: 8px;
}
body.alcar-community-polish #buddypress .bp-messages-recipient .select2-selection__choice {
  background-color: var(--alcar-message-raised);
  color: var(--alcar-message-text);
  border-color: var(--alcar-message-border);
  border-radius: 6px;
  font-family: var(--alcar-message-font);
  font-size: 12px;
}
body.alcar-community-polish #buddypress .bp-messages-recipient .select2-search__field {
  color: var(--alcar-message-text);
  font-family: var(--alcar-message-font);
}
body.alcar-community-polish #buddypress .bp-messages-content :is(#whats-new-messages-toolbar, #whats-new-formatting-toolbar) .toolbar-button {
  display: inline-flex;
  vertical-align: middle;
  width: 34px;
  height: 34px;
  line-height: 34px;
  padding: 0;
  border-radius: 8px;
  color: var(--alcar-message-muted);
  background-color: transparent;
  box-shadow: none;
  align-items: center;
  justify-content: center;
  transition: color .15s ease, background-color .15s ease;
}
body.alcar-community-polish #buddypress .bp-messages-content :is(#whats-new-messages-toolbar, #whats-new-formatting-toolbar) .toolbar-button > :is(i, span) {
  color: inherit;
  font-size: 18px;
  line-height: 1;
}
body.alcar-community-polish #buddypress .bp-messages-content :is(#whats-new-messages-toolbar, #whats-new-formatting-toolbar) .toolbar-button:hover {
  color: var(--alcar-message-heading);
  background-color: var(--alcar-message-raised);
}
body.alcar-community-polish #buddypress .bp-messages-content .medium-editor-toolbar {
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
  box-shadow: none;
}
body.alcar-community-polish #buddypress .bp-messages-content .medium-editor-toolbar-actions button {
  color: var(--alcar-message-muted);
  border-color: transparent;
  border-radius: 6px;
  box-shadow: none;
}
body.alcar-community-polish #buddypress .bp-messages-content .medium-editor-toolbar-actions button.medium-editor-button-active {
  color: var(--alcar-message-accent);
}
/* Native transparent inputs still cover these containers; preserve enable gates. */
body.alcar-community-polish #buddypress :is(#message-new-submit, #message-reply-new-submit) {
  background-color: var(--alcar-message-accent);
  border-radius: 9px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .15);
}
body.alcar-community-polish #buddypress :is(#message-new-submit, #message-reply-new-submit):focus-within {
  outline: 2px solid var(--alcar-message-accent);
  outline-offset: 3px;
}

/* Native menus stay positioned, hidden, loading and responsive as shipped. */
body.alcar-community-polish #buddypress .bp-messages-container :is(.bb_more_options_action, .message_action__anchor, .bp-back-to-thread-list, .bp-close-compose-form) {
  color: var(--alcar-message-muted);
  background-color: transparent;
  border-radius: 8px;
  box-shadow: none;
}
body.alcar-community-polish #buddypress .bp-messages-container :is(.bb_more_options_action, .message_action__anchor, .bp-back-to-thread-list, .bp-close-compose-form):hover {
  color: var(--alcar-message-heading);
  background-color: var(--alcar-message-raised);
}
body.alcar-community-polish #buddypress .bp-messages-container :is(.bb_more_options_action, .message_action__anchor) > i {
  color: inherit;
  font-size: 19px;
}
body.alcar-community-polish #buddypress .bp-messages-container .message_action__list {
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .24);
}
body.alcar-community-polish #buddypress .bp-messages-container .message_action__list > li > a {
  color: var(--alcar-message-text);
  background-color: transparent;
  font: 400 13px/1.5 var(--alcar-message-font);
}
body.alcar-community-polish #buddypress .bp-messages-container .message_action__list > li > a:hover {
  background-color: var(--alcar-message-raised);
  color: var(--alcar-message-heading);
}
body.alcar-community-polish #buddypress .bp-messages-container :is(.toolbar-button, .bp-message-link, .bb_more_options_action, .message_action__anchor, .bp-back-to-thread-list, .bp-close-compose-form):focus-visible {
  outline: 2px solid var(--alcar-message-accent);
  outline-offset: -2px;
}

/* Classic theme header template verified on the installed theme. */
body.alcar-community-polish #header-messages-dropdown-elem .notification-link > span > i {
  font-size: 21px;
  color: var(--alcar-message-muted);
}
body.alcar-community-polish #header-messages-dropdown-elem .notification-dropdown {
  color: var(--alcar-message-text);
  background-color: var(--alcar-message-panel);
  border-color: var(--alcar-message-border);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, .24);
  font-family: var(--alcar-message-font);
}
body.alcar-community-polish #header-messages-dropdown-elem :is(.notification-header, .notification-footer) {
  background-color: transparent;
  border-color: var(--alcar-message-border);
}
body.alcar-community-polish #header-messages-dropdown-elem .notification-header .title {
  color: var(--alcar-message-heading);
  font: 600 15px/1.5 var(--alcar-message-font);
  letter-spacing: 0;
}
body.alcar-community-polish #header-messages-dropdown-elem .notification-list {
  background-color: transparent;
}
body.alcar-community-polish #header-messages-dropdown-elem .notification-footer .delete-all {
  color: var(--alcar-message-accent);
  font: 500 13px/1.5 var(--alcar-message-font);
}
body.alcar-community-polish #header-messages-dropdown-elem .notification-footer .delete-all:focus-visible {
  outline: 2px solid var(--alcar-message-accent);
  outline-offset: 3px;
  border-radius: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body.alcar-community-polish #buddypress #message-threads > .thread-item,
  body.alcar-community-polish #buddypress #message-threads > .thread-item > .bp-message-link,
  body.alcar-community-polish #buddypress .bp-messages-content :is(#whats-new-messages-toolbar, #whats-new-formatting-toolbar) .toolbar-button {
    transition: none;
  }
}

/* Theme v2 paints the selected link with a near-white gradient. A background-color
 * alone leaves that gradient in place. Correct the native row states, preserving layout. */
body.alcar-community-polish #buddypress #message-threads > .thread-item.optionsOpen > .bp-message-link,
body.alcar-community-polish #buddypress #message-threads > .thread-item > .message-thread-options:hover ~ .bp-message-link {
  background-color: var(--alcar-message-raised);
  background-image: none;
}
body.alcar-community-polish #buddypress #message-threads > .thread-item:is(:hover, .current, .optionsOpen) .thread-avatar .thread-multiple-avatar::before {
  background: var(--alcar-message-raised);
}
