/**
 * Theme Name:     Astra Child
 * Author:         Brainstorm Force
 * Template:       astra
 * Text Domain:	   astra-child
 * Description:    The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 5,700+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
 */

/* Modern Login Page Styles */
.login-container {
    max-width: 420px;
    margin: 60px auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.login-container h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
    text-align: center;
}

.login-container h2::after {
    content: '';
    display: block;
    width: 50px;
    height: 3px;
    background: linear-gradient(90deg, #ffc001, #ff8c00);
    margin: 15px auto 0;
    border-radius: 2px;
}

/* Success and Error Messages */
.login-container p[style*="green"],
.login-container p[style*="red"] {
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 500;
    animation: slideDown 0.3s ease;
}

.login-container p[style*="green"] {
    background: #d4edda;
    color: #155724 !important;
    border-left: 4px solid #28a745;
}

.login-container p[style*="red"] {
    background: #f8d7da;
    color: #721c24 !important;
    border-left: 4px solid #dc3545;
}

/* Form Styling */
.login-container form {
    margin-top: 30px;
}

.login-container label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
}

.login-container input[type="text"],
.login-container input[type="password"] {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    background: #f9f9f9;
    transition: all 0.3s ease;
    outline: none;
    box-sizing: border-box;
}

.login-container input[type="text"]:focus,
.login-container input[type="password"]:focus {
    border-color: #ffc001;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(255, 192, 1, 0.1);
}

/* Password Toggle Styling */
.login-container div[style*="position: relative"] {
    position: relative;
    margin-bottom: 12px;
}

#togglePassword {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 20px;
    user-select: none;
    transition: transform 0.2s ease;
}

#togglePassword:hover {
    transform: translateY(-50%) scale(1.1);
}

#togglePassword:active {
    transform: translateY(-50%) scale(0.95);
}

/* Forgot Password Link */
.login-container a[href*="lost-password"] {
    color: #ffc001;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: color 0.2s ease;
}

.login-container a[href*="lost-password"]:hover {
    color: #ff8c00;
    text-decoration: underline;
}

/* Submit Button */
.login-container button[type="submit"] {
    width: 100%;
    padding: 15px;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(135deg, #ffc001 0%, #ff8c00 100%);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 192, 1, 0.3);
    margin-top: 10px;
}

.login-container button[type="submit"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 192, 1, 0.4);
}

.login-container button[type="submit"]:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(255, 192, 1, 0.3);
}

/* Register Link */
.login-container > p:last-of-type {
    text-align: center;
    margin-top: 25px;
    font-size: 14px;
    color: #666;
}

.login-container a[href*="registeration"] {
    color: #ffc001;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s ease;
}

.login-container a[href*="registeration"]:hover {
    color: #ff8c00;
    text-decoration: underline;
}

/* Animation */
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Design */
@media (max-width: 768px) {
    .login-container {
        margin: 30px 20px;
        padding: 30px 20px;
    }
    
    .login-container h2 {
        font-size: 24px;
    }
}

/* Loading State for Button */
.login-container button[type="submit"].loading {
    pointer-events: none;
    opacity: 0.7;
    position: relative;
}

.login-container button[type="submit"].loading::after {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    top: 50%;
    left: 50%;
    margin-left: -8px;
    margin-top: -8px;
    border: 2px solid #ffffff;
    border-radius: 50%;
    border-top-color: transparent;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}