/* Merge Mode Styles - Conflict Resolution UI */

/* Merge buttons on diff lines */
.merge-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--color-fox-orange);
    color: white;
    border: none;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 0.75rem;
    cursor: pointer;
    opacity: 0;
    transition: all 0.2s ease;
    z-index: 10;
}

/* Left pane buttons (arrow right) - position on right side */
.merge-btn[data-direction="right"] {
    right: 8px;
}

/* Right pane buttons (arrow left) - position on left side, after line number (60px width) */
.merge-btn[data-direction="left"] {
    left: 68px; /* 60px line number width + 8px padding */
}

.code-line:hover .merge-btn {
    opacity: 0.8;
}

.merge-btn:hover {
    opacity: 1 !important;
    background-color: #ff8555;
    transform: translateY(-50%) scale(1.1);
}

.merge-btn:active {
    transform: translateY(-50%) scale(0.95);
}

.merge-btn i {
    font-size: 0.875rem;
}

/* Line gutter positioning for merge buttons */
.line-gutter {
    position: relative;
}

/* Merge toast notification */
.merge-toast {
    position: fixed;
    bottom: 100px;
    right: 20px;
    background: linear-gradient(135deg, var(--color-fox-orange), #ff8555);
    color: white;
    padding: 12px 20px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.875rem;
    font-weight: 600;
    opacity: 0;
    transform: translateX(400px);
    transition: all 0.3s ease;
    z-index: 10001;
}

.merge-toast.show {
    opacity: 1;
    transform: translateX(0);
}

.merge-toast i {
    font-size: 1.125rem;
}

/* Merge mode active indicator on toggle button */
#merge-mode-toggle.btn-primary {
    background: linear-gradient(135deg, var(--color-fox-orange), #ff8555);
    border-color: var(--color-fox-orange);
}

#merge-mode-toggle.btn-primary:hover {
    background: linear-gradient(135deg, #ff8555, var(--color-fox-orange));
}

/* Highlight changed lines in merge mode */
.line-changed .merge-btn,
.line-added .merge-btn,
.line-removed .merge-btn {
    opacity: 0.6;
}

/* Mobile: smaller merge buttons */
@media (max-width: 768px) {
    .merge-btn {
        padding: 3px 6px;
        font-size: 0.625rem;
        right: 4px;
    }

    .merge-toast {
        bottom: 80px;
        right: 10px;
        font-size: 0.75rem;
        padding: 10px 16px;
    }
}
