@import "components/_user-registration-errors.css";

/*
 * timestamp: Monday, June 16, 2025 8:07:28 AM - quyen modify
 * related files:
 * F:\Dropbox\localwp\tiengduc2fongcom\app\public\wp-content\themes\astra-child-deutschfuns\assets\css\fong-login.js
 * F:\Dropbox\localwp\tiengduc2fongcom\app\public\wp-content\themes\astra-child-deutschfuns\assets\css\fong-login.css
 * F:\Dropbox\localwp\tiengduc2fongcom\app\public\wp-content\themes\astra-child-deutschfuns\templates\page-login.php

*/

/* ==========================================================================
   SECTION: CSS VARIABLES
   Description: Biến CSS dùng chung cho toàn bộ trang đăng nhập
   ========================================================================== */
:root {
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--huge: 42px;
    --wp--preset--aspect-ratio--square: 1;
    --wp--preset--aspect-ratio--4-3: 4/3;
    --wp--preset--aspect-ratio--3-4: 3/4;
    --wp--preset--aspect-ratio--3-2: 3/2;
    --wp--preset--aspect-ratio--2-3: 2/3;
    --wp--preset--aspect-ratio--16-9: 16/9;
    --wp--preset--aspect-ratio--9-16: 9/16;
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--color--ast-global-color-0: var(--ast-global-color-0);
    --wp--preset--color--ast-global-color-1: var(--ast-global-color-1);
    --wp--preset--color--ast-global-color-2: var(--ast-global-color-2);
    --wp--preset--color--ast-global-color-3: var(--ast-global-color-3);
    --wp--preset--color--ast-global-color-4: var(--ast-global-color-4);
    --wp--preset--color--ast-global-color-5: var(--ast-global-color-5);
    --wp--preset--color--ast-global-color-6: var(--ast-global-color-6);
    --wp--preset--color--ast-global-color-7: var(--ast-global-color-7);
    --wp--preset--color--ast-global-color-8: var(--ast-global-color-8);
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(
        135deg,
        rgba(6, 147, 227, 1) 0%,
        rgb(155, 81, 224) 100%
    );
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(
        135deg,
        rgb(122, 220, 180) 0%,
        rgb(0, 208, 130) 100%
    );
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(
        135deg,
        rgba(252, 185, 0, 1) 0%,
        rgba(255, 105, 0, 1) 100%
    );
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(
        135deg,
        rgba(255, 105, 0, 1) 0%,
        rgb(207, 46, 46) 100%
    );
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(
        135deg,
        rgb(238, 238, 238) 0%,
        rgb(169, 184, 195) 100%
    );
    --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(
        135deg,
        rgb(74, 234, 220) 0%,
        rgb(151, 120, 209) 20%,
        rgb(207, 42, 186) 40%,
        rgb(238, 44, 130) 60%,
        rgb(251, 105, 98) 80%,
        rgb(254, 248, 76) 100%
    );
    --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --wp--preset--gradient--blush-bordeaux: linear-gradient(
        135deg,
        rgb(254, 205, 165) 0%,
        rgb(254, 45, 45) 50%,
        rgb(107, 0, 62) 100%
    );
    --wp--preset--gradient--luminous-dusk: linear-gradient(
        135deg,
        rgb(255, 203, 112) 0%,
        rgb(199, 81, 192) 50%,
        rgb(65, 88, 208) 100%
    );
    --wp--preset--gradient--pale-ocean: linear-gradient(
        135deg,
        rgb(255, 245, 203) 0%,
        rgb(182, 227, 212) 50%,
        rgb(51, 167, 181) 100%
    );
    --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
    --wp--preset--font-size--small: 13px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 36px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    --wp--preset--spacing--50: 1.5rem;
    --wp--preset--spacing--60: 2.25rem;
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
    --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
    --wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
    --wp--style--global--content-size: var(--wp--custom--ast-content-width-size);
    --wp--style--global--wide-size: var(--wp--custom--ast-wide-width-size);
    --wp--style--block-gap: 24px;
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
    --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
    --vh: 9.28px;
}

/* Reset Astra styles */
.fong-login-page #page {
    margin: 0;
    padding: 0;
}

/* Container for content - Remove max-width and padding constraints */
.fong-login-page .ast-container {
    max-width: none;
    padding: 0;
}

/* Background styles */
.bg_login {
    min-height: 100vh;
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
}

/* Cloud background image - Fixed position for parallax effect */
.bg_cloud {
    background-image: url("../images/background_login_2.png");
    width: 100%;
    /* height: 100%; */ /* Modified by Quyên - Sunday, June 15, 2025 10:33:00 PM */
    min-height: 100vh; /* Modified by Quyên - Sunday, June 15, 2025 10:33:00 PM */
    display: flex;
    justify-content: center;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
    /* position: fixed; */ /* Modified by Quyên - Sunday, June 15, 2025 10:32:31 PM */
}

/* Help button */
.help_center {
    position: absolute;
    top: 40px;
    right: 20px;
}

/* Layout */
.wrapper_layout {
    width: 90%;
    margin: auto;
    display: flex;
    height: 100%;
    justify-content: center;
    padding-top: 30px;
}

/* Content group container - Max width constraint with flex layout */
.group_content {
    width: 100%;
    max-width: 440px;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
}

/* Logo */
.header_login {
    margin: 40px 0px 150px 0px;
}

/* Logo container - Centered alignment */
.logo_deutschfuns {
    text-align: center;
}

/* Container Login */
.container_login {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

/* Form Elements */
.group_input {
    width: 100%;
    margin-bottom: 20px;
}

/* Input field container - Relative positioning for icon */
.input_child {
    margin-bottom: 16px;
    position: relative;
}

/* Input field base styles - Consistent sizing and appearance */
.input_child input {
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
    --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
    box-sizing: border-box;
    width: 100%;
    padding: 16px 40px 16px 20px;
    border: 1px solid #dfdfdf;
    border-radius: 30px;
    color: #6c7074;
    outline: none;
    margin-bottom: 30px;
    font-size: 14px;
    background: #ffffff;
    transition: all 0.2s linear;
}

/* Input focus state - Highlight with brand color */
.input_child input:focus {
    border-color: #21a7a8;
    box-shadow: 0 0 0 1px rgba(33, 167, 168, 0.2);
}

/* Position relative container - For absolute positioned elements */
.pos_relative {
    position: relative;
}

/* Password toggle icon - Absolute positioned in input field */
.icon_eye {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

/* Remember Me & Forgot Password */
.group_remember_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    width: 100%;
}

/* Remember me container - Flex layout with gap */
.group_remember {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Switch Toggle */
.switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
}

/* Hidden checkbox input */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* Toggle slider - Background and transition */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: 0.4s;
}

/* Toggle slider knob */
.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 2px;
    bottom: 2px;
    background-color: white;
    transition: 0.4s;
}

/* Rounded slider */
.slider.round {
    border-radius: 34px;
}

/* Rounded slider knob */
.slider.round:before {
    border-radius: 50%;
}

/* Checked state - Brand color background */
input:checked + .slider {
    background-color: #21a7a8;
}

/* Checked state - Move knob to right */
input:checked + .slider:before {
    transform: translateX(20px);
}

/* Remember me label - Text styling */
.group_remember label {
    color: #323334;
    font-size: 14px;
}

/* Forgot password link - Brand color with no underline */
.group_txt a {
    color: #21a7a8;
    text-decoration: none;
    font-size: 14px;
}

/* Button Group */
.group_button {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* margin-bottom: 24px; */
}

/* Button wrapper - Border and rounded corners */
.btn_child {
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
    --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
    font-family: "Montserrat", sans-serif;
    box-sizing: border-box;
    width: 100%;
    border: 4px solid rgba(0, 195, 197, 0.2);
    border-radius: 36px;
    /* margin-bottom: 20px; */
}

/* Submit button - Brand color with uppercase text */
.btn_child .user-registration-Button.button {
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
    --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
    box-sizing: border-box;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 15px;
    font-family: "montserrat-bold", "Montserrat", sans-serif;
    font-weight: 700;
    background-color: #21a7a8;
    padding: 17px 0;
    width: 100%;
    border: none;
    border-radius: 36px;
    cursor: pointer;
}

/* Button hover state - Darker shade of brand color */
.btn_child .user-registration-Button.button:hover {
    background-color: #1c9596;
    color: #ffffff;
}

/* Separator */
.separator {
    display: flex;
    align-items: center;
    text-align: center;
    width: 100%;
    margin: 24px 0;
}

/* Separator line - Full width with light color */
.line {
    flex: 1;
    height: 1px;
    background-color: #d9d9d9;
}

/* Separator text - Centered with specific color */
.text {
    margin: 0 10px;
    color: #323334;
    font-size: 14px;
}

/* Google Login Button */
.btn_google {
    width: 100%;
    position: relative;
    /* margin-bottom: 20px; */
}

/* Google button - Light background with brand text color */
.btn_google .wp_google_login__button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 17px 0;
    background: #e0f4f5;
    border-radius: 36px;
    color: #008690;
    font-size: 15px;
    text-decoration: none;
    font-family: "Montserrat", sans-serif;
    position: relative;
}

/* Google icon - Absolute positioned in button */
.btn_google .wp_google_login__google-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 40px;
    background-image: url("../images/logo_google.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Hover effect */
.btn_google .wp_google_login__button:hover {
    background: #cce9ea;
}

/* Register Link */
._register {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
}

/* Register text - Dark color */
._register span {
    color: #323334;
    font-size: 14px;
}

/* Register link - Brand color with underline */
._register a {
    color: #21a7a8;
    font-size: 14px;
    text-decoration: underline;
}

/* User Registration Form Overrides */
#user-registration.user-registration {
    font-family: "Montserrat", sans-serif !important;
    width: 100% !important;
}

/* Form grid - Remove default margins and borders */
#user-registration .ur-frontend-form {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

/* Form grid padding - Remove default padding */
#user-registration .ur-frontend-form .ur-form-grid {
    padding: 0 !important;
}

/* Form Input Styles */
#user-registration .ur-frontend-form input[type="text"],
#user-registration .ur-frontend-form input[type="password"],
#user-registration .ur-frontend-form .user-registration-Input {
    --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands" !important;
    --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free" !important;
    --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free" !important;
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 16px 40px 16px 20px !important;
    border: 1px solid #dfdfdf !important;
    border-radius: 30px !important;
    color: #6c7074 !important;
    outline: none !important;
    margin-bottom: 30px !important;
    font-size: 13px !important;
    background: #ffffff !important;
    transition: all 0.2s linear !important;
    height: auto !important;
    min-height: unset !important;
}

/* Input focus state - Highlight with brand color */
#user-registration .ur-frontend-form input[type="text"]:focus,
#user-registration .ur-frontend-form input[type="password"]:focus,
#user-registration .ur-frontend-form .user-registration-Input:focus {
    border-color: #21a7a8 !important;
    box-shadow: 0 0 0 1px rgba(33, 167, 168, 0.2) !important;
}

/* Password Input Group */
.password-input-group {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin-bottom: 30px !important;
}

/* Password Input */
.password-input-group input[type="password"],
.password-input-group input[type="text"] {
    width: 100% !important;
    padding: 16px 45px 16px 20px !important;
    border: 1px solid #dfdfdf !important;
    border-radius: 30px !important;
    color: #6c7074 !important;
    outline: none !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    background: #ffffff !important;
    transition: all 0.2s linear !important;
    height: auto !important;
    min-height: unset !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
}

/* Password Toggle Icon */
.password_preview {
    position: absolute !important;
    right: 15px !important;
    top: 0 !important;
    height: 100% !important;
    width: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
    cursor: pointer !important;
    text-decoration: none !important;
    z-index: 1 !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Thêm style cho dashicon */
.password_preview.dashicons {
    color: #6c7074 !important;
    /* Màu xám */
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Password toggle icon image - Consistent sizing */
.password_preview img {
    width: 20px !important;
    height: 20px !important;
    transition: opacity 0.2s ease !important;
}

/* Password toggle icon hover state - Full opacity */
.password_preview:hover img {
    opacity: 1 !important;
}

/* Fix input focus state */
.password-input-group input:focus {
    border-color: #21a7a8 !important;
    box-shadow: 0 0 0 1px rgba(33, 167, 168, 0.2) !important;
}

/* Responsive */
@media screen and (max-width: 1025px) and (min-width: 461px) {
    .bg_cloud {
        background-position: center;
    }

    .header_login {
        margin: 40px 0px 230px 0px;
    }
}

/* Mobile devices - Adjust spacing and widths */
@media screen and (max-width: 460px) {
    /* .bg_cloud {
        background-position: 100% 120px;
    } */

    .header_login {
        margin: 100px 0px 0px 0px;
    }

    .wrapper_layout {
        padding: 16px;
    }

    .group_remember_btn {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    #username {
        margin-top: 80px;
    }
}

p.user-registration-form-row {
    margin-top: 0;
    margin-bottom: 0;
}

/* Hide scrollbar but keep functionality */
html {
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE and Edge */
}

html::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari and Opera */
}

.ur-frontend-form .input-wrapper {
    width: 100%;
    display: block;
    margin-bottom: 20px;
}
