.pointer {
    cursor:pointer;
}
.feedback-title {
    min-height: 48px;
    max-height: 72px;
    overflow: hidden;
}
.hidden {
    visibility: hidden !important;
    opacity: 0;
    transition: visibility 0s 0.3s, opacity 0.3s linear; /* Delay visibility */
}
.padding-0 {
    padding: 0;
}
.margin-none {
    margin: 0;
}
.mt-5 {
    margin-top: 5px !important;
}
.mt-48 {
    margin-top: 48px !important;
}
.mb-100 {
    margin-bottom: 100px !important;
}
/* Стили для мобильных устройств */
@media (min-width: 767px) {
    .right-popup {
        position: fixed !important;
        top: 0px !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        margin: 0 !important;
        border-left: 1px solid #ccc;
        max-height: 100vh !important;
    }
    .popup-desktop-30 {
        width: 30%;
    }
    .popup-desktop-40 {
        width: 40%;
    }
    .popup-desktop-50 {
        width: 50%;
    }
    .popup-desktop-60 {
        width: 60%;
    }
    .popup-desktop-70 {
        width: 70%;
    }
    .popup-desktop-80 {
        width: 80%;
    }
}

.width-95-percent {
    width: 95% !important;
}

.hide, .hidden {
    display: none !important;
}
.padding-vertical-4 {
    padding-top: 4px;
    padding-bottom: 4px;
}

/* ===== Перетаскивание (F7 sortable): запрет выделения текста и нативного меню выделения ===== */
/* Везде, где есть drag (справочники, модератор, жеребьёвка): при тащении не выделяется текст */
.sortable li,
.sortable-handler,
.sortable .item-content,
.sortable .item-inner,
.sortable .item-title,
.sortable .item-text {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}
/* во время самого перетаскивания глушим выделение на всей странице (на всякий случай) */
.sortable-sorting,
.sortable-sorting * {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* --- Обратная связь (feedback) — только примитивы без Nectar-аналога --- */
.sd-fb-card { cursor: pointer; }
.sd-fb-card .item-title { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
.sd-fb-excerpt, .sd-fb-pre { white-space: pre-wrap; word-break: break-word; }
.sd-fb-meta { gap: 14px; flex-wrap: wrap; }
.sd-fb-meta span { display:inline-flex; align-items:center; }
.sd-fb-vote { cursor: pointer; }
.sd-fb-att-img { max-width: 180px; max-height: 180px; border-radius: 8px; object-fit:cover; }
.sd-fb-att-video { max-width: 320px; border-radius: 8px; }
.sd-fb-textarea { min-height: 120px; }
.sd-fb-reply-textarea { min-height: 110px; }
.sd-fb-inline-host .sd-fb-shell { max-width: 1040px; margin: 0 auto; padding: 16px 0 28px; }
.sd-fb-board-head { gap:16px; flex-wrap:wrap; }
.sd-fb-ticket-head .chip { vertical-align:middle; }
.sd-fb-thread-box { min-height: 0; }
.sd-fb-reply-box .block { margin-left:0; margin-right:0; padding-left:0; padding-right:0; }

/* Обратная связь: спокойные пузыри ветки вместо громкого синего F7-дефолта.
   Автор (sent) — нейтральный серый; модератор (received) — лёгкий голубой акцент. */
.sd-fb-content .message-sent .message-bubble { background: var(--color-blue-100, #e3f2fd); color: #1c1c1c; }
.sd-fb-content .message-received .message-bubble { background: #eceff1; color: #1c1c1c; }
.sd-fb-content .messages { padding: 0; background: transparent; }
.sd-fb-content .message { margin-top: 8px; }
.sd-fb-content .message-bubble { max-width: 520px; border-radius: 8px; }
.sd-fb-content .message-header { color: #6b6b6b; opacity: 1; }
.sd-fb-content .sd-fb-msgdel { float: right; margin-left: 8px; color: #c0392b; line-height: 1; }
.sd-fb-content .sd-fb-msgdel .icon { font-size: 16px; vertical-align: middle; }
@media (max-width: 768px) {
    .sd-fb-inline-host .sd-fb-shell { padding-top: 8px; }
    .sd-fb-board-head .sd-fb-new { width:100%; }
    .sd-fb-content .message-bubble { max-width: 86vw; }
}
