/* Scrollbar styling for message hoverable body */
.hoverable-message-content::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}
.hoverable-message-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}
.hoverable-message-content::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}
.hoverable-message-content::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Popup layout: inner stretches to fill vertical space so the footer stays anchored
   at the bottom. Prevents gap between body and footer when body content is short. */
.js-hoverable-component-partial {
    display: flex;
    flex-direction: column;
}
.js-hoverable-inner {
    flex: 1 1 auto;
    min-height: 0;
}

/* Header band + internal badge - the same colors the markup used to inline,
   moved here so themed pages can restyle them */
.hoverable-header { background-color: #DEE2E6; }
.hoverable-internal-badge {
    background-color: #9FA8B2;
    color: #000;
}

/* Navigation footer (message hoverable) */
.js-hoverable-footer {
    border-top: 1px solid #DEE2E6;
    background-color: #F8F9FA;
}
.js-hoverable-footer .btn-link {
    color: #495057;
    padding: 0.25rem 0.75rem;
}
.js-hoverable-footer .btn-link:disabled {
    color: #ADB5BD;
    opacity: 1;
}
.js-hoverable-counter {
    font-size: 0.85rem;
    color: #495057;
    min-width: 3rem;
    text-align: center;
}

/* Task list (tasks hoverable) */
.hoverable-task-list {
    max-height: 16rem;
    overflow-y: auto;
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.hoverable-task {
    display: flex;
    align-items: baseline;
    gap: 0.55rem;
    font-size: 0.9rem;
}
.hoverable-task i { color: #ADB5BD; }
.hoverable-task.is-complete i { color: #198754; }
.hoverable-task.is-complete .hoverable-task-desc {
    color: #6C757D;
    text-decoration: line-through;
}

/* Skeleton bars (shared across all hoverable types) */
.hoverable-skeleton-bar {
    background: #E9ECEF;
    border-radius: 0.25rem;
    animation: hoverable-skeleton-pulse 1.5s ease-in-out infinite;
}
@keyframes hoverable-skeleton-pulse {
    0%, 100% { opacity: 0.6; }
    50%      { opacity: 1; }
}

/* Responsive widths */
@media (max-width: 1100px) {
    .js-hoverable-component-partial {
        min-width: 340px !important;
        width: 40vw !important;
    }
}
@media (max-width: 792px) {
    .js-hoverable-component-partial {
        min-width: 340px !important;
        width: 40vw !important;
        margin-left: -10rem;
    }
}
