/**
 * Secure Download Button Styles
 *
 * Styles for the [secure_download] shortcode buttons.
 */

/* Container */
.psm-secure-download {
    display: inline-block;
    margin: 10px 0;
}

/* Base button style */
.psm-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
    font-family: inherit;
}

/* Downloadable button (enrolled users) */
.psm-download-trigger {
    background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
    color: white;
}

.psm-download-trigger:hover {
    background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

.psm-download-trigger:active {
    transform: translateY(0);
}

.psm-download-trigger:disabled {
    cursor: wait;
    opacity: 0.8;
}

/* Login required button */
.psm-login-required {
    background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);
    color: white;
}

.psm-login-required:hover {
    background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3);
}

/* Enrollment required button (disabled state) */
.psm-enrollment-required {
    background: linear-gradient(135deg, #9E9E9E 0%, #757575 100%);
    color: white;
    cursor: not-allowed;
}

/* Status text (Login required, Enrollment required) */
.psm-download-status {
    font-size: 13px;
    opacity: 0.9;
}

/* Download icon */
.psm-download-icon {
    font-size: 18px;
}

/* Loading spinner */
.psm-download-spinner {
    animation: psm-spin 1s linear infinite;
}

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

/* Loading state */
.psm-download-btn.psm-loading {
    background: linear-gradient(135deg, #607D8B 0%, #546E7A 100%);
}

/* Error message */
.psm-download-error {
    margin-top: 8px;
    padding: 10px 16px;
    background-color: #FFEBEE;
    color: #C62828;
    border-radius: 6px;
    font-size: 14px;
    border-left: 4px solid #C62828;
    animation: psm-fade-in 0.3s ease;
}

@keyframes psm-fade-in {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .psm-download-error {
        background-color: #4A1515;
        color: #FFCDD2;
        border-left-color: #EF5350;
    }
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .psm-download-btn {
        padding: 10px 18px;
        font-size: 14px;
    }

    .psm-download-status {
        font-size: 12px;
    }
}

/* Multiple download buttons in a row */
.psm-secure-download + .psm-secure-download {
    margin-left: 10px;
}

/* Within lesson content */
.tutor-lesson-content .psm-secure-download,
.entry-content .psm-secure-download {
    display: block;
    margin: 15px 0;
}

.tutor-lesson-content .psm-secure-download + .psm-secure-download,
.entry-content .psm-secure-download + .psm-secure-download {
    margin-left: 0;
}
