/**
 * SPM Download Styles - Styles for download functionality and owned images
 * Dedicated CSS file for download-related styling
 */

/* Download button styles */
.spm-modal-actions .nectar-button.extra-color-2 {
    background: #21C55D !important;
    color: white !important;
    border: none !important;
    transition: all 0.2s ease !important;
}

.spm-modal-actions .nectar-button.extra-color-2:hover {
    background: #21C55D !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3) !important;
}

.spm-modal-actions .nectar-button.extra-color-2:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 6px rgba(23, 162, 184, 0.3) !important;
}

/* Owned image states */
.spm-modal-actions .nectar-button.owned {
    background: #6c757d !important;
    color: white !important;
    cursor: default !important;
}

.spm-modal-actions .nectar-button.owned:hover {
    background: #6c757d !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Download icon animation */
.spm-modal-actions .nectar-button.extra-color-2 .fas.fa-download {
    transition: transform 0.2s ease !important;
}

.spm-modal-actions .nectar-button.extra-color-2:hover .fas.fa-download {
    transform: translateY(-1px) !important;
}

/* Loading state for download button */
.spm-modal-actions .nectar-button.extra-color-2:disabled {
    background: #6c757d !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

.spm-modal-actions .nectar-button.extra-color-2:disabled .fas.fa-spinner {
    animation: spin 1s linear infinite !important;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Success state for download button */
.spm-modal-actions .nectar-button.extra-color-2.success {
    background: #28a745 !important;
}

.spm-modal-actions .nectar-button.extra-color-2.success:hover {
    background: #218838 !important;
}

/* Mobile optimizations for download button */
@media (max-width: 767px) {
    .spm-modal-actions .nectar-button.extra-color-2 {
        padding: 14px 20px !important;
        font-size: 14px !important;
        min-height: 44px !important;
    }
    
    .spm-modal-actions .nectar-button.extra-color-2 .fas.fa-download {
        font-size: 14px !important;
    }
}

/* Download notification styles */
.spm-download-notification {
    position: fixed !important;
    top: 20px !important;
    right: 20px !important;
    background: white !important;
    padding: 20px !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
    z-index: 1000001 !important;
    min-width: 300px !important;
    border-left: 4px solid #28a745 !important;
    animation: slideInRight 0.3s ease-out !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.spm-download-notification.success {
    border-left-color: #28a745 !important;
}

.spm-download-notification.error {
    border-left-color: #dc3545 !important;
}

.spm-download-notification.info {
    border-left-color: #17a2b8 !important;
}

.spm-download-notification .fas {
    font-size: 18px !important;
}

.spm-download-notification.success .fas {
    color: #28a745 !important;
}

.spm-download-notification.error .fas {
    color: #dc3545 !important;
}

.spm-download-notification.info .fas {
    color: #21C55D !important;
}

.spm-download-notification span {
    color: #333 !important;
    font-weight: 500 !important;
    flex: 1 !important;
}

.spm-download-notification button {
    background: none !important;
    border: none !important;
    color: #666 !important;
    cursor: pointer !important;
    font-size: 16px !important;
    margin-left: auto !important;
}

.spm-download-notification button:hover {
    color: #333 !important;
}

@keyframes slideInRight {
    from { 
        transform: translateX(100%); 
        opacity: 0; 
    }
    to { 
        transform: translateX(0); 
        opacity: 1; 
    }
}

/* Grid card owned state */
.spm-modern-photo-card.owned .spm-photo-overlay {
    position: relative !important;
}

.spm-modern-photo-card.owned .spm-photo-overlay::before {
    content: '✓' !important;
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    background: #28a745 !important;
    color: white !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    font-weight: bold !important;
    z-index: 10 !important;
}

/* Modal owned state indicator */
.spm-modal-wrapper.owned .mfp-title h3::after {
    content: ' ✓ Owned' !important;
    color: #28a745 !important;
    font-size: 14px !important;
    font-weight: normal !important;
    margin-left: 10px !important;
}

/* Download progress indicator */
.spm-download-progress {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    background: white !important;
    padding: 30px !important;
    border-radius: 12px !important;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3) !important;
    z-index: 1000002 !important;
    text-align: center !important;
    min-width: 300px !important;
    border: 3px solid #17a2b8 !important;
}

.spm-download-progress .fas.fa-spinner {
    font-size: 32px !important;
    color: #17a2b8 !important;
    margin-bottom: 15px !important;
    animation: spin 1s linear infinite !important;
}

.spm-download-progress h3 {
    margin: 0 0 10px 0 !important;
    color: #333 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
}

.spm-download-progress p {
    margin: 0 !important;
    color: #666 !important;
    font-size: 14px !important;
} 

.spm-buy-notification {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000002;
  background: #fff;
  color: #333;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  padding: 16px 28px;
  font-size: 16px;
  font-weight: 600;
  border-left: 5px solid #17a2b8;
  margin-bottom: 10px;
  min-width: 220px;
  max-width: 90vw;
  opacity: 0.97;
  pointer-events: none;
  transition: opacity 0.2s;
}
.spm-buy-notification.success { border-left-color: #28a745; color: #28a745; }
.spm-buy-notification.error { border-left-color: #dc3545; color: #dc3545; } 