/* Frontend CSS for Firebase Google, Facebook & 2-Step 2FA Auth Plugin */

/* 1. SEPARATORS */
.fgaw-login-separator,
.fgaw-wc-separator,
body.login #loginform .fgaw-login-separator,
.login form .fgaw-login-separator {
    position: relative !important;
    text-align: center !important;
    margin: 24px 0 16px 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    display: block !important;
    float: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    height: auto !important;
    line-height: 1 !important;
}

.fgaw-login-separator::before,
.fgaw-wc-separator::before,
body.login #loginform .fgaw-login-separator::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background-color: #e2e8f0 !important;
    z-index: 1 !important;
    border: none !important;
    margin: 0 !important;
}

.fgaw-login-separator span,
.fgaw-wc-separator span,
body.login #loginform .fgaw-login-separator span {
    position: relative !important;
    z-index: 2 !important;
    background-color: #ffffff !important;
    padding: 0 12px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-block !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* 2. BUTTON WRAPPER */
.fgaw-btn-wrapper,
body.login #loginform .fgaw-btn-wrapper,
.login form .fgaw-btn-wrapper,
.woocommerce-form-login .fgaw-btn-wrapper {
    margin: 16px 0 24px 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    clear: both !important;
    float: none !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 3. BASE SOCIAL BUTTONS */
.fgaw-btn-wrapper button,
.fgaw-btn-wrapper button.fgaw-google-btn,
.fgaw-btn-wrapper button.fgaw-facebook-btn,
body.login #loginform .fgaw-btn-wrapper button,
body.login #loginform button.fgaw-google-btn,
body.login #loginform button.fgaw-facebook-btn,
.login form button.fgaw-google-btn,
.login form button.fgaw-facebook-btn,
.fgaw-google-btn,
.fgaw-facebook-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-family: 'Cairo', system-ui, -apple-system, sans-serif !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    outline: none !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
    line-height: 1 !important;
    margin: 0 !important;
    float: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: none !important;
    direction: rtl !important;
    text-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    backdrop-filter: none !important;
    clip: auto !important;
    clip-path: none !important;
    text-indent: 0 !important;
    overflow: visible !important;
}

/* 4. FIX SVG SIZE IN ALL CONTEXTS */
.fgaw-btn-wrapper svg,
.fgaw-btn-wrapper svg.fgaw-google-icon,
.fgaw-btn-wrapper svg.fgaw-facebook-icon,
body.login #loginform svg,
body.login #loginform .fgaw-btn-wrapper svg,
.login form svg,
svg.fgaw-google-icon,
svg.fgaw-facebook-icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    float: none !important;
}

/* 5. GOOGLE BUTTON COLOR & HOVER (ULTRA HIGH SPECIFICITY FOR ALL THEMES) */
.fgaw-btn-wrapper .fgaw-google-btn,
.fgaw-btn-wrapper button.fgaw-google-btn,
.woocommerce .fgaw-btn-wrapper .fgaw-google-btn,
.woocommerce form .fgaw-btn-wrapper .fgaw-google-btn,
.woocommerce-form-login .fgaw-google-btn,
.woocommerce-form-register .fgaw-google-btn,
body.login #loginform .fgaw-google-btn,
.login form .fgaw-google-btn,
.fgaw-google-btn,
.fgaw-btn-google-light {
    background-color: #ffffff !important;
    background-image: none !important;
    color: #1f2937 !important;
    border: 1.5px solid #cbd5e1 !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fgaw-btn-wrapper .fgaw-google-btn:hover,
.fgaw-btn-wrapper button.fgaw-google-btn:hover,
.woocommerce .fgaw-btn-wrapper .fgaw-google-btn:hover,
.woocommerce form .fgaw-btn-wrapper .fgaw-google-btn:hover,
body.login #loginform button.fgaw-google-btn:hover,
.login form button.fgaw-google-btn:hover,
.fgaw-google-btn:hover,
.fgaw-btn-google-light:hover {
    background-color: #f8fafc !important;
    background-image: none !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
}

.fgaw-btn-wrapper button.fgaw-google-btn:active,
body.login #loginform button.fgaw-google-btn:active,
.fgaw-google-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

/* 6. FACEBOOK BUTTON COLOR & HOVER */
.fgaw-btn-wrapper .fgaw-facebook-btn,
.fgaw-btn-wrapper button.fgaw-facebook-btn,
.woocommerce .fgaw-btn-wrapper .fgaw-facebook-btn,
.woocommerce form .fgaw-btn-wrapper .fgaw-facebook-btn,
.woocommerce-form-login .fgaw-facebook-btn,
.woocommerce-form-register .fgaw-facebook-btn,
body.login #loginform .fgaw-facebook-btn,
.login form .fgaw-facebook-btn,
.fgaw-facebook-btn {
    background-color: #1877f2 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1.5px solid #1877f2 !important;
    box-shadow: 0 2px 6px rgba(24, 119, 242, 0.22) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fgaw-btn-wrapper .fgaw-facebook-btn:hover,
.fgaw-btn-wrapper button.fgaw-facebook-btn:hover,
.woocommerce .fgaw-btn-wrapper .fgaw-facebook-btn:hover,
.woocommerce form .fgaw-btn-wrapper .fgaw-facebook-btn:hover,
body.login #loginform button.fgaw-facebook-btn:hover,
.login form button.fgaw-facebook-btn:hover,
.fgaw-facebook-btn:hover {
    background-color: #166fe5 !important;
    background-image: none !important;
    border-color: #166fe5 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(24, 119, 242, 0.35) !important;
    transform: translateY(-1px) !important;
}

.fgaw-btn-wrapper button.fgaw-facebook-btn:active,
body.login #loginform button.fgaw-facebook-btn:active,
.fgaw-facebook-btn:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 4px rgba(24, 119, 242, 0.2) !important;
}

/* 7. BUTTON LABELS (EXPLICIT TEXT COLOR FOR EACH PROVIDER) */
.fgaw-btn-label,
body.login #loginform .fgaw-btn-label,
.login form .fgaw-btn-label,
.woocommerce .fgaw-btn-label,
.woocommerce form .fgaw-btn-label {
    font-size: 14px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
    border: none !important;
    background: transparent !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
}

.fgaw-google-btn .fgaw-btn-label,
.fgaw-google-btn span,
.woocommerce .fgaw-google-btn span,
.woocommerce form .fgaw-google-btn span,
body.login #loginform .fgaw-google-btn span {
    color: #1f2937 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.fgaw-facebook-btn .fgaw-btn-label,
.fgaw-facebook-btn span,
.woocommerce .fgaw-facebook-btn span,
.woocommerce form .fgaw-facebook-btn span,
body.login #loginform .fgaw-facebook-btn span {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 8. WP LOGIN FORM CLEARFIX FOR REMEMBER ME & SUBMIT */
body.login #loginform p.forgetmenot,
body.login #loginform p.submit {
    clear: both !important;
}

/* Dedicated Step 2 2FA Card Styling */
.fgaw-2fa-dedicated-card {
    background: #ffffff !important;
    border: 2px solid #2563eb !important;
    border-radius: 16px !important;
    padding: 28px 20px !important;
    text-align: center !important;
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.15) !important;
    margin: 20px 0 !important;
    clear: both !important;
    direction: rtl !important;
}

.fgaw-2fa-dedicated-icon {
    width: 58px !important;
    height: 58px !important;
    background: #eff6ff !important;
    color: #2563eb !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 14px auto !important;
    border: 2px solid #dbeafe !important;
}

.fgaw-2fa-dedicated-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 8px 0 !important;
}

.fgaw-2fa-dedicated-desc {
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 0 18px 0 !important;
}

.fgaw-2fa-dedicated-desc strong {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.fgaw-2fa-code-input-large {
    width: 100% !important;
    max-width: 280px !important;
    padding: 12px 16px !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: 8px !important;
    text-align: center !important;
    border: 2px solid #2563eb !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    outline: none !important;
    margin: 12px auto 18px auto !important;
    display: block !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12) !important;
    direction: ltr !important;
}

.fgaw-2fa-code-input-large:focus {
    box-shadow: 0 0 0 6px rgba(37, 99, 235, 0.22) !important;
}

.fgaw-2fa-submit-btn-large {
    width: 100% !important;
    padding: 12px 20px !important;
    background: #2563eb !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25) !important;
    transition: background 0.2s !important;
}

.fgaw-2fa-submit-btn-large:hover {
    background: #1d4ed8 !important;
}

.fgaw-2fa-cancel-link {
    display: inline-block !important;
    margin-top: 14px !important;
    color: #64748b !important;
    font-size: 13px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.fgaw-2fa-cancel-link:hover {
    color: #0f172a !important;
}

/* Spinner - Hidden by default, shown only when button is in .fgaw-loading state */
.fgaw-spinner {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: currentColor !important;
    border-radius: 50% !important;
    animation: fgaw-spin 0.8s linear infinite !important;
    display: none !important;
    vertical-align: middle !important;
}

.fgaw-google-btn .fgaw-spinner {
    border-color: rgba(0, 0, 0, 0.15) !important;
    border-top-color: #1f2937 !important;
}

.fgaw-loading .fgaw-spinner,
button.fgaw-loading .fgaw-spinner {
    display: inline-block !important;
}

@keyframes fgaw-spin {
    to { transform: rotate(360deg); }
}

.fgaw-msg-box {
    margin-top: 10px !important;
    padding: 10px 14px !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.fgaw-msg-box.fgaw-error {
    background-color: #fff5f5 !important;
    color: #c53030 !important;
    border: 1px solid #feb2b2 !important;
}

.fgaw-msg-box.fgaw-success {
    background-color: #f0fff4 !important;
    color: #276749 !important;
    border: 1px solid #9ae6b4 !important;
}
