/* ==========================
   Gofile Download Button Style (Glow Effect and Shadow, No Glassmorphism)
   Applies to all buttons in plugin
   ========================== */

/* Base styles for all buttons */
.gofile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 2.5rem;                     /* Spacious padding */
    font-size: clamp(0.9rem, 2.2vw, 1.1rem);  /* Responsive font */
    font-weight: 700;                         /* Bold text */
    color: #ffffff !important;                /* White text */
    border-radius: 1rem;                      /* Smooth corners (16px) */
    border: none;                             /* No borders */
    text-decoration: none;
    cursor: pointer;
    transition: all 0.4s ease;                /* Smooth transitions */
    background: #000000;                      /* Placeholder background (overridden by JS) */
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.3),       /* Drop shadow for depth */
        0 0 15px rgba(255, 255, 255, 0.5);   /* Subtle white glow as base */
}

/* Download Now and Generating link (glow for blue states) */
.gofile-download-link,
.gofile-download-link.loading {
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.3),       /* Drop shadow */
        0 0 20px rgba(0, 123, 255, 0.6);     /* Blue glow (#007bff) */
}

/* Hover effect for Download Now and Generating link */
.gofile-download-link:hover,
.gofile-download-link.loading:hover {
    transform: scale(1.05);                   /* Subtle scale-up */
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.4),       /* Stronger drop shadow */
        0 0 30px rgba(0, 123, 255, 0.8);     /* Enhanced blue glow */
}

/* Other states: Login to Access, Upgrade, Limit Reached (glow for red states) */
.gofile-login-link,
.gofile-upgrade,
.gofile-limit-reached {
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.3),       /* Drop shadow */
        0 0 20px rgba(220, 53, 69, 0.6);     /* Red glow (#dc3545) */
}

/* Hover effect for other states */
.gofile-login-link:hover,
.gofile-upgrade:hover,
.gofile-limit-reached:hover {
    transform: scale(1.05);
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.4),       /* Stronger drop shadow */
        0 0 30px rgba(220, 53, 69, 0.8);     /* Enhanced red glow */
}

/* Secure External Link (glow for blue, aligned with Download Now) */
.secure-external-link {
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.3),       /* Drop shadow */
        0 0 20px rgba(0, 123, 255, 0.6);     /* Blue glow (#007bff) */
}

.secure-external-link:hover {
    transform: scale(1.05);
    box-shadow: 
        0 8px 25px rgba(0, 0, 0, 0.4),       /* Stronger drop shadow */
        0 0 30px rgba(0, 123, 255, 0.8);     /* Enhanced blue glow */
}

/* Active / Click effect for all buttons */
.gofile-btn:active {
    transform: scale(0.98);                   /* Press effect */
    box-shadow: 
        0 4px 15px rgba(0, 0, 0, 0.3),       /* Reduced drop shadow */
        0 0 15px rgba(200, 35, 51, 0.6);     /* Darker red glow (#c82333) */
}

/* Disabled state for all buttons */
.gofile-btn:disabled,
.gofile-btn.disabled {
    color: #ffffff !important;
    opacity: 0.4;                             /* Faded */
    cursor: not-allowed;
    box-shadow: 
        0 4px 15px rgba(0, 0, 0, 0.2),       /* Minimal drop shadow */
        0 0 10px rgba(220, 53, 69, 0.3);     /* Faint red glow (#dc3545) */
    transform: none;                           /* No scale */
}

/* Icon spacing */
.gofile-btn i {
    margin-right: 0.625rem;                   /* Responsive margin (10px) */
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .gofile-btn {
        padding: 0.75rem 2rem;
        font-size: clamp(0.8rem, 2vw, 0.95rem);
        border-radius: 0.875rem;
        box-shadow: 
            0 4px 15px rgba(0, 0, 0, 0.25),
            0 0 12px rgba(255, 255, 255, 0.4);
    }

    .gofile-download-link,
    .gofile-download-link.loading,
    .secure-external-link {
        box-shadow: 
            0 4px 15px rgba(0, 0, 0, 0.25),
            0 0 15px rgba(0, 123, 255, 0.5);
    }

    .gofile-login-link,
    .gofile-upgrade,
    .gofile-limit-reached {
        box-shadow: 
            0 4px 15px rgba(0, 0, 0, 0.25),
            0 0 15px rgba(220, 53, 69, 0.5);
    }

    .gofile-btn:hover,
    .gofile-download-link:hover,
    .gofile-download-link.loading:hover,
    .secure-external-link:hover,
    .gofile-login-link:hover,
    .gofile-upgrade:hover,
    .gofile-limit-reached:hover {
        box-shadow: 
            0 6px 20px rgba(0, 0, 0, 0.35),
            0 0 20px rgba(0, 123, 255, 0.7);
    }

    .gofile-btn:active {
        box-shadow: 
            0 3px 12px rgba(0, 0, 0, 0.25),
            0 0 12px rgba(200, 35, 51, 0.5);
    }
}

@media screen and (max-width: 480px) {
    .gofile-btn {
        padding: 0.625rem 1.5rem;
        font-size: clamp(0.7rem, 1.8vw, 0.85rem);
        border-radius: 0.625rem;
        box-shadow: 
            0 3px 12px rgba(0, 0, 0, 0.2),
            0 0 10px rgba(255, 255, 255, 0.3);
    }

    .gofile-download-link,
    .gofile-download-link.loading,
    .secure-external-link {
        box-shadow: 
            0 3px 12px rgba(0, 0, 0, 0.2),
            0 0 12px rgba(0, 123, 255, 0.4);
    }

    .gofile-login-link,
    .gofile-upgrade,
    .gofile-limit-reached {
        box-shadow: 
            0 3px 12px rgba(0, 0, 0, 0.2),
            0 0 12px rgba(220, 53, 69, 0.4);
    }

    .gofile-btn:hover,
    .gofile-download-link:hover,
    .gofile-download-link.loading:hover,
    .secure-external-link:hover,
    .gofile-login-link:hover,
    .gofile-upgrade:hover,
    .gofile-limit-reached:hover {
        box-shadow: 
            0 4px 15px rgba(0, 0, 0, 0.3),
            0 0 15px rgba(0, 123, 255, 0.6);
        transform: none;                      /* No scale on mobile */
    }

    .gofile-btn:active {
        box-shadow: 
            0 2px 10px rgba(0, 0, 0, 0.2),
            0 0 10px rgba(200, 35, 51, 0.4);
        transform: none;
    }
}