/**
 * RM Quiz Builder - Sequence Question Styles (Button Style)
 */

/* Base item styles - button appearance */
.rmqb-sequence-item {
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
    user-select: none;
    -webkit-user-select: none;
}

/* Hover state - button press effect */
.rmqb-sequence-item:hover:not(.dragging):not(.correct):not(.incorrect) {
    background: linear-gradient(to bottom, #f8f9fa, #f1f3f5) !important;
    border-color: #9ca3af !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px);
}

/* Active/pressed state */
.rmqb-sequence-item:active:not(.correct):not(.incorrect) {
    cursor: grabbing !important;
    background: linear-gradient(to bottom, #f1f3f5, #e9ecef) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(1px);
}

/* Dragging state - green theme */
.rmqb-sequence-item.dragging {
    background: linear-gradient(to bottom, #22c55e, #16a34a) !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4) !important;
    opacity: 0.9;
}

/* Keyboard grabbed state */
.rmqb-sequence-item.keyboard-grabbed {
    outline: 3px solid #3b82f6;
    outline-offset: 2px;
    box-shadow: 0 0 0 6px rgba(59, 130, 246, 0.2), 0 4px 8px rgba(0, 0, 0, 0.1) !important;
}

/* Drag over state */
.rmqb-sequence-item.drag-over {
    border-color: #3b82f6 !important;
    background: linear-gradient(to bottom, #eff6ff, #dbeafe) !important;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2) !important;
}

/* Touch dragging - green theme */
.rmqb-sequence-item.touch-dragging {
    background: linear-gradient(to bottom, #22c55e, #16a34a) !important;
    border: 2px solid #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.4) !important;
}

/* Correct feedback - green button */
.rmqb-sequence-item.correct {
    border-color: #22c55e !important;
    background: linear-gradient(to bottom, #f0fdf4, #dcfce7) !important;
    color: #166534 !important;
    box-shadow: 0 2px 4px rgba(34, 197, 94, 0.15) !important;
}

/* Incorrect feedback - red button */
.rmqb-sequence-item.incorrect {
    border-color: #ef4444 !important;
    background: linear-gradient(to bottom, #fef2f2, #fee2e2) !important;
    color: #991b1b !important;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.15) !important;
}

/* Feedback icons */
.rmqb-sequence-feedback-icon {
    font-weight: bold;
    flex-shrink: 0;
    margin-left: 10px;
}

/* Focus styles for accessibility */
.rmqb-sequence-item:focus {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

.rmqb-sequence-item:focus:not(:focus-visible) {
    outline: none;
}

.rmqb-sequence-item:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Instructions styling */
.rmqb-sequence-instructions {
    font-size: 14px;
}

/* Horizontal layout specific styles */
.rmqb-sequence-horizontal .rmqb-sequence-item {
    flex-shrink: 0;
}

/* Image sequence items */
.rmqb-sequence-images .rmqb-sequence-item {
    padding: 8px !important;
}

.rmqb-sequence-images .rmqb-sequence-item img {
    display: block;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
}

.rmqb-sequence-images .rmqb-sequence-item.dragging img,
.rmqb-sequence-images .rmqb-sequence-item.touch-dragging img {
    opacity: 0.9;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    /* Vertical layout on mobile */
    .rmqb-sequence-vertical .rmqb-sequence-item {
        padding: 12px 18px !important;
        font-size: 14px !important;
        border-radius: 20px !important;
    }

    /* Horizontal layout on mobile - smaller items */
    .rmqb-sequence-horizontal .rmqb-sequence-item {
        padding: 8px 14px !important;
        font-size: 13px !important;
        border-radius: 16px !important;
    }
}

/* Animation for position change */
@keyframes rmqb-sequence-flash {
    0% { background: linear-gradient(to bottom, #dbeafe, #bfdbfe); }
    100% { background: linear-gradient(to bottom, #ffffff, #f8f9fa); }
}

.rmqb-sequence-item.just-moved {
    animation: rmqb-sequence-flash 0.3s ease;
}
