/* VeroSocial - chat grande per utenti e pagine. Caricato dopo style.css e channels.css. */

/* Layout e interazioni Messenger */
#wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-text:not(:empty) {display:block;width:fit-content;max-width:100%;margin:0;padding:10px 12px;border:1px solid #d2e4f3;border-radius:14px;line-height:1.35;}
#wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .incoming .message-model .message > .message-text:not(:empty) {align-self:flex-start;color:var(--messenger-incoming-text, #17212b)!important;background:var(--messenger-incoming-bubble, #fff)!important;}
#wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message {color:var(--messenger-outgoing-text, #17212b);background:transparent!important;}
#wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message > .message-text:not(:empty) {align-self:flex-end;color:var(--messenger-outgoing-text, #17212b)!important;border-color:#b8d8f5;background:var(--messenger-outgoing-bubble, #dceeff)!important;}
#wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message p,
#wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message a {color:var(--messenger-outgoing-text, #17212b)!important;}
body.dark-mode #wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message > .message-text:not(:empty),
body.night-mode #wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message > .message-text:not(:empty) {color:var(--messenger-outgoing-text, #f5f9ff);background:var(--messenger-outgoing-bubble, #183b63)!important;border-color:#315f8c;}
body.dark-mode #wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message p,
body.dark-mode #wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message a,
body.night-mode #wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message p,
body.night-mode #wo_nw_msg_page:not(.wo_channels_page) .text-sender-container .outgoing .message-model .message a {color:var(--messenger-outgoing-text, #f5f9ff)!important;}
#wo_nw_msg_page:not(.wo_channels_page) {
    --messenger-canvas: #eaf4fb;
    --messenger-pattern: rgba(50, 112, 160, .075);
    --messenger-outgoing-bubble: #dceeff;
    --messenger-outgoing-text: #17212b;
    --messenger-panel:#ffffff;
    --messenger-border:#d8e6f1;
    --messenger-text:#17212b;
    --messenger-muted:#6f8190;
    --messenger-header:rgba(255,255,255,.96);
    --messenger-bubble-incoming:#ffffff;
    --messenger-shadow:rgba(32,76,108,.10);
}
body.dark-mode #wo_nw_msg_page:not(.wo_channels_page),
body.night-mode #wo_nw_msg_page:not(.wo_channels_page) {
    --messenger-canvas: #17232d;
    --messenger-pattern: rgba(118, 174, 214, .08);
    --messenger-outgoing-bubble: #183b63;
    --messenger-outgoing-text: #f5f9ff;
    --messenger-panel:#202a34;
    --messenger-border:#344653;
    --messenger-text:#f2f7fb;
    --messenger-muted:#9db0bf;
    --messenger-header:rgba(31,42,52,.96);
    --messenger-bubble-incoming:#202a34;
    --messenger-shadow:rgba(0,0,0,.22);
}
#wo_nw_msg_page:not(.wo_channels_page) #wo_msg_right_prt,
#wo_nw_msg_page:not(.wo_channels_page) .messages-container {
    background-color: var(--messenger-canvas);
    background-image: radial-gradient(var(--messenger-pattern) 1px, transparent 1px);
    background-size: 22px 22px;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .channel-message-sender {
    display:block;margin:0 0 4px;color:var(--theme-primary);font-size:13px;font-weight:700;line-height:1.2;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .channel-message-meta {
    order:50;display:flex;align-items:center;align-self:flex-end;justify-content:flex-end;gap:10px;min-height:18px;margin:5px 4px 0 10px;color:var(--messenger-muted, #6f8190);font-size:13px;line-height:1;white-space:nowrap;
}
.wo_kb_msg_page:not(.wo_channels_page) .channel-message-meta .message-seen.message-details {
    position:static!important;display:inline-flex;align-items:center;margin:0!important;transform:none!important;line-height:1;
}
.wo_kb_msg_page:not(.wo_channels_page) .channel-message-meta .message-receipt {margin:0;letter-spacing:1px;font-size:18px;}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message:has(> .message-media:not(:empty)):not(:has(> .message-text:not(:empty))) {
    padding:0;
    border:0;
    background:transparent!important;
    box-shadow:none;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media:not(:empty) {
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-contnaier:has(.message > .message-media:not(:empty)) {
    margin-bottom:24px;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message {
    display:flex;
    min-width:0;
    flex-direction:column;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media:not(:empty) {
    order:30;
    overflow:hidden;
    max-width:100%;
    border-radius:12px;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media > span {
    display:block;
    max-width:100%;
    overflow:hidden;
    background:transparent!important;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media .image-file {
    display:block;
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
    margin:0;
    border:0!important;
    background:transparent!important;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media .wo-social-chat-video,
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media .video-js {
    width:100%!important;
    max-width:100%!important;
    overflow:hidden;
    border:0!important;
    border-radius:12px;
    background:transparent!important;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media .video-js video,
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media video.wo-social-video {
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    background:transparent!important;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .channel-message-meta {
    position:relative;
    z-index:2;
    order:50;
    flex:0 0 auto;
    align-self:flex-end;
    min-height:20px;
    margin:8px 4px 0 10px;
    padding:0 2px;
    background:transparent;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message:has(> .message-media > img):not(:has(> .message-text:not(:empty))),
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message:has(> .message-media > video):not(:has(> .message-text:not(:empty))) {
    overflow:visible;
    padding:0;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media:has(> img),
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media:has(> video) {
    overflow:visible;
    border-radius:0;
}
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media > img,
.wo_kb_msg_page:not(.wo_channels_page) .text-sender-container .message-model .message > .message-media > video {
    display:block;
    width:auto;
    max-width:min(100%,320px);
    height:auto;
    max-height:320px;
    margin:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    object-fit:contain;
}
.wo_kb_msg_page:not(.wo_channels_page) #wo_msg_right_prt .text-sender-container textarea {
    min-height: 50px !important;
    max-height: 164px !important;
    overflow-y: hidden;
    resize: none;
}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-color-picker {position: relative;}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-color-picker > .dropdown-toggle {
    color: var(--theme-primary);
}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-color-menu {
    min-width: 194px;
    padding: 11px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .16);
}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-color-grid {
    display: grid;
    grid-template-columns: repeat(5, 28px);
    gap: 8px;
    margin: 0;
    padding: 0;
}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-chat-color {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 3px solid #fff;
    border-radius: 50%;
    outline: 1px solid rgba(15, 23, 42, .12);
    background: var(--chat-swatch);
    box-shadow: 0 2px 7px rgba(15, 23, 42, .16);
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease;
}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-chat-color:hover {transform: scale(1.1);}
#wo_nw_msg_page:not(.wo_channels_page) .messenger-chat-color.is-active {
    transform: scale(1.08);
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--chat-swatch);
}
.wo_messenger_context_menu {
  position: fixed;
  display: none;
  width: min(300px, calc(100vw - 24px));
  padding: 8px;
  border: 1px solid rgba(31, 41, 55, 0.08);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(20, 31, 56, 0.24);
  z-index: 10050;
  user-select: none;
}
.wo_messenger_context_menu.is-open {display:block;}
.wo_messenger_context_reactions {
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 4px;
  margin-bottom: 6px;
  overflow-x: auto;
  border: 0;
}
.wo_messenger_context_reaction {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 1px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}
.wo_messenger_context_reaction:hover {background:transparent;transform:scale(1.1);}
.wo_messenger_context_reaction img,
.wo_messenger_context_reaction svg {max-width:36px;max-height:36px;}
.wo_messenger_context_action {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 11px 13px;
  border: 0;
  border-radius: 11px;
  color: #202633;
  background: transparent;
  font: 500 15px/1.2 Poppins, sans-serif;
  text-align: left;
  cursor: pointer;
}
.wo_messenger_context_action:hover {background:#f3f6fa;}
.wo_messenger_context_action svg {width:21px;height:21px;flex:0 0 21px;}
.wo_messenger_context_action.is-danger {color:#df3d4d;}
body.dark-mode .wo_messenger_context_menu,
body.night-mode .wo_messenger_context_menu {background:#20272e;border-color:#35414b;box-shadow:0 18px 48px rgba(0,0,0,.45);}
body.dark-mode .wo_messenger_context_reactions,
body.night-mode .wo_messenger_context_reactions {border-color:#35414b;}
body.dark-mode .wo_messenger_context_action,
body.night-mode .wo_messenger_context_action {color:#edf3f8;}
body.dark-mode .wo_messenger_context_action:hover,
body.night-mode .wo_messenger_context_action:hover {background:#2c353e;}
body.dark-mode .wo_messenger_context_action.is-danger,
body.night-mode .wo_messenger_context_action.is-danger {color:#ff7b88;}
#wo_nw_msg_page:not(.wo_channels_page) .message-contnaier .deleteMessage {
  display: none !important;
}

/* Media della chat grande */
/* Unified image and video sizing for full and floating Messenger. */

/* Shared Messenger media foundations. */
#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-contnaier {
    display: block;
    float: none !important;
    clear: both;
    width: 100%;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-contnaier > .cont_innr {
    min-width: 0;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-model {
    float: none !important;
    min-width: 0;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-model > .message {
    width: fit-content;
    max-width: 100%;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media,
.chat-messages-wrapper .messages-wrapper .message-media {
    position: relative;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media {
    margin: 0;
    padding: 0;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media:empty {
    display: none;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media.full-size {
    width: 100%;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media img,
.chat-messages-wrapper .message-media img {
    max-width: 100%;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media audio,
.chat-messages-wrapper .message-media audio {
    width: 80%;
    border-radius: 10px;
    background-color: #f1f3f4;
}

.chat-messages-wrapper .outgoing .message-media a {
    color: #fff;
}

.chat-messages-wrapper .messages-wrapper .message-media {
    display: flex;
    overflow: hidden;
    border-radius: 15px;
    line-height: 1;
}

.chat-messages-wrapper .messages-wrapper .message-media > a:not(.file-sharing-download-btn) {
    padding: 6px 10px;
    border-radius: 15px;
    font-size: 14.5px;
    line-height: 16px;
    text-decoration: none;
}

.chat-messages-wrapper .media-video-file {
    width: 100%;
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 1px;
}

.chat-messages-wrapper .file-sharing-download-btn {
    margin-top: 1px;
}

body .chat-messages-wrapper .message .green-audio-player {
    width: 100%;
    min-width: auto;
    margin: 0;
    border: 0;
    border-radius: 12px;
}
#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media:has(.wo-social-chat-video),
.chat-messages-wrapper .messages-wrapper .message-media:has(.image-file, .wo-social-chat-video) {
    position: relative;
    display: block !important;
    padding: 0;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    text-align: center;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media:has(.wo-social-chat-video) {
    width: min(480px, calc(100vw - 70px));
    max-width: 100%;
    height: auto;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media:has(.image-file) {
    position: relative;
    display: block !important;
    width: fit-content;
    max-width: min(100%, 480px);
    height: auto;
    padding: 0;
    overflow: hidden;
    border-radius: 12px;
    background: transparent;
    text-align: start;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .outgoing .message-media:has(.image-file) {
    align-self: flex-end;
    margin-right: 0;
    margin-left: auto;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .incoming .message-media:has(.image-file) {
    align-self: flex-start;
    margin-right: auto;
    margin-left: 0;
}

.chat-messages-wrapper .message:has(.message-media .image-file, .message-media .wo-social-chat-video) {
    width: auto;
    max-width: calc(100% - 48px);
}

.chat-messages-wrapper .messages-wrapper .message-media:has(.image-file, .wo-social-chat-video) {
    width: min(320px, calc(100vw - 90px));
    max-width: 100%;
    height: min(180px, calc((100vw - 90px) * 9 / 16));
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media .wo-social-chat-video,
.chat-messages-wrapper .message-media .image-file,
.chat-messages-wrapper .message-media .wo-social-chat-video {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    border: 0;
    border-radius: 10px;
    background: #000;
    object-fit: contain;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media .image-file {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    border: 0;
    border-radius: 12px;
    background: transparent;
    object-fit: contain;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media .wo-social-chat-video .video-js,
.chat-messages-wrapper .message-media .wo-social-chat-video .video-js {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    aspect-ratio: auto !important;
    border-radius: inherit;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media .wo-social-chat-video .vjs-tech,
#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media .wo-social-chat-video .vjs-poster img,
.chat-messages-wrapper .message-media .wo-social-chat-video .vjs-tech,
.chat-messages-wrapper .message-media .wo-social-chat-video .vjs-poster img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media > span,
.chat-messages-wrapper .message-media > span {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
}

#wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media > span:has(> .image-file) {
    width: fit-content;
    max-width: 100%;
    height: auto;
    overflow: hidden;
    border-radius: 12px;
}

.chat-messages-wrapper .message-media:has(.image-file, .wo-social-chat-video) .file-sharing-download-btn {
    top: 7px;
    right: 9px;
    z-index: 8;
    margin: 0;
}

.chat-messages-wrapper .message-media:has(.image-file, .wo-social-chat-video) .wo-file-size-block {
    position: absolute;
    top: 8px;
    right: 38px;
    z-index: 7;
    max-width: 180px;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, .9);
    font-size: 11px;
    text-overflow: ellipsis;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .75);
    white-space: nowrap;
}

@media (max-width: 767px) {
    #wo_nw_msg_page:not(.wo_channels_page) .messages-container .message-media:has(.wo-social-chat-video) {
        width: min(420px, calc(100vw - 48px));
        max-width: 100%;
        height: min(236.25px, calc((100vw - 48px) * 9 / 16));
    }
}
