/* SHARED BUTTON STYLES FOR ALL PAGES */
/* This file provides consistent button styling across the application */

/* Primary Action Button Style - Based on imagecompress design */
.qt-btn-primary,
button.qt-btn-primary,
input[type="submit"].qt-btn-primary {
    /* Reset all inherited properties */
    all: unset !important;
    
    /* Set our own properties */
    display: inline-block !important;
    width: auto !important;
    padding: 1rem 2rem !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    
    /* Colors and background */
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: #ffffff !important;
    
    /* Border and shape */
    border: none !important;
    border-radius: 12px !important;
    outline: none !important;
    
    /* Interaction */
    cursor: pointer !important;
    user-select: none !important;
    
    /* Effects */
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4) !important;
    transition: all 0.3s ease !important;
    
    /* Layout */
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

.qt-btn-primary:hover:not(:disabled),
button.qt-btn-primary:hover:not(:disabled),
input[type="submit"].qt-btn-primary:hover:not(:disabled) {
    background: linear-gradient(135deg, #5a67d8, #6b46c1) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6) !important;
}

.qt-btn-primary:active:not(:disabled),
button.qt-btn-primary:active:not(:disabled),
input[type="submit"].qt-btn-primary:active:not(:disabled) {
    background: linear-gradient(135deg, #4c51bf, #553c9a) !important;
    color: #ffffff !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4) !important;
}

.qt-btn-primary:disabled,
button.qt-btn-primary:disabled,
input[type="submit"].qt-btn-primary:disabled {
    background: linear-gradient(135deg, #9ca3af, #6b7280) !important;
    color: #ffffff !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    transform: none !important;
    box-shadow: 0 2px 8px rgba(156, 163, 175, 0.3) !important;
}

.qt-btn-primary:focus,
button.qt-btn-primary:focus,
input[type="submit"].qt-btn-primary:focus {
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.3), 0 4px 15px rgba(102, 126, 234, 0.4) !important;
}

/* Force all child elements to inherit white color */
.qt-btn-primary *,
button.qt-btn-primary *,
input[type="submit"].qt-btn-primary * {
    color: inherit !important;
}

.qt-btn-primary i,
button.qt-btn-primary i,
input[type="submit"].qt-btn-primary i {
    color: #ffffff !important;
    font-style: normal !important;
}

.qt-btn-primary span,
button.qt-btn-primary span,
input[type="submit"].qt-btn-primary span {
    color: #ffffff !important;
}

/* Full width variant */
.qt-btn-primary.qt-btn-full,
button.qt-btn-primary.qt-btn-full,
input[type="submit"].qt-btn-primary.qt-btn-full {
    width: 100% !important;
}

/* Small variant */
.qt-btn-primary.qt-btn-sm,
button.qt-btn-primary.qt-btn-sm,
input[type="submit"].qt-btn-primary.qt-btn-sm {
    padding: 0.75rem 1.5rem !important;
    font-size: 1rem !important;
}

/* Large variant */
.qt-btn-primary.qt-btn-lg,
button.qt-btn-primary.qt-btn-lg,
input[type="submit"].qt-btn-primary.qt-btn-lg {
    padding: 1.25rem 2.5rem !important;
    font-size: 1.2rem !important;
}

/* Secondary Button Style */
.qt-btn-secondary,
button.qt-btn-secondary {
    all: unset !important;
    display: inline-block !important;
    width: auto !important;
    padding: 1rem 2rem !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #6c757d, #495057) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    outline: none !important;
    cursor: pointer !important;
    user-select: none !important;
    box-shadow: 0 4px 15px rgba(108, 117, 125, 0.4) !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

.qt-btn-secondary:hover:not(:disabled),
button.qt-btn-secondary:hover:not(:disabled) {
    background: linear-gradient(135deg, #5a6268, #343a40) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(108, 117, 125, 0.6) !important;
}

/* Success/Download Button Style */
.qt-btn-success,
button.qt-btn-success {
    all: unset !important;
    display: inline-block !important;
    width: auto !important;
    padding: 1rem 2rem !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #28a745, #20c997) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    outline: none !important;
    cursor: pointer !important;
    user-select: none !important;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.4) !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

.qt-btn-success:hover:not(:disabled),
button.qt-btn-success:hover:not(:disabled) {
    background: linear-gradient(135deg, #1e7e34, #17a2b8) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.6) !important;
}

/* JavaScript Button Style Enforcement */
.qt-btn-enforce-style {
    /* This class is used by JavaScript to identify buttons that need style enforcement */
    position: relative;
}

/* Utility Classes */
.qt-btn-loading {
    position: relative !important;
}

.qt-btn-loading::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 16px !important;
    height: 16px !important;
    margin: -8px 0 0 -8px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 50% !important;
    border-top-color: white !important;
    animation: qt-btn-spin 1s ease-in-out infinite !important;
}

@keyframes qt-btn-spin {
    to { transform: rotate(360deg); }
}

/* Page-specific overrides for existing buttons */
/* These target specific button IDs to ensure consistency */

#compress-btn,
#generate-btn,
#generateBtn,
#compileBtn,
#downloadBtn,
#submitBtn,
#processBtn,
#uploadBtn,
#convertBtn,
#mergeBtn,
#protectBtn {
    /* Apply primary button styling to common button IDs */
    all: unset !important;
    display: inline-block !important;
    width: auto !important;
    padding: 1rem 2rem !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, #667eea, #764ba2) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 12px !important;
    outline: none !important;
    cursor: pointer !important;
    user-select: none !important;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4) !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}

#compress-btn:hover:not(:disabled),
#generate-btn:hover:not(:disabled),
#generateBtn:hover:not(:disabled),
#compileBtn:hover:not(:disabled),
#downloadBtn:hover:not(:disabled),
#submitBtn:hover:not(:disabled),
#processBtn:hover:not(:disabled),
#uploadBtn:hover:not(:disabled),
#convertBtn:hover:not(:disabled),
#mergeBtn:hover:not(:disabled),
#protectBtn:hover:not(:disabled) {
    background: linear-gradient(135deg, #5a67d8, #6b46c1) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.6) !important;
}