
    /* Font face declaration */
    @font-face {
        font-family: 'Poppins';
        src:url("/frontend/storefront/vendor/om/fonts/Poppins-Medium.ttf");
    }
    input::-webkit-outer-spin-button,
    input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    /* Firefox */
    input[type=number] {
        -moz-appearance: textfield;
    }
    #registerForm .iti {
        width: 100%;
        margin-top: 15px;
    }

    #registerForm .error-msg {
        align-self: flex-start;
        margin-top: 5px;
        font-size: 13px;
        font-family: var(--font-family);
        color: red;
        margin-bottom: 0px !important;
        text-align: left;
        position: relative;
        top: -15px;
    }

    .alert-success {
        background: rgb(126 255 186 / 25%);
        color: #34A881;
        display: flex;
        border-radius: 10px;
        align-items: center;
        padding: 14px;
        width: 80%;
    }

    .alert-danger {
        background: rgb(237 88 88 / 69%);
        color: #dcebe6;
        display: flex;
        border-radius: 10px;
        align-items: center;
        padding: 14px;
        width: 80%;
    }

    .alert-success p {
        margin: 0;
    }

    /* CSS Variables */
    :root {
        --white: #FFFFFF;
        --black: #000000;
        --primary-color: #007380;
        --text-color: #1E293B;
        --secondary-text-color: #475569;
        --tertiary-text-color: #64748B;
        --placeholder-color: #94A3B8;
        --border-color: #EBEFF6;
        --background-color: #FCFDFE;
        --font-family: "Poppins", sans-serif;
    }

    html,
    body {
        height: 100%;
        margin: 0;
        padding: 0;
    }

    body {
        display: flex;
        flex-direction: column;
    }

    .main-content {
        flex-grow: 1;
    }

    body {
        font-family: var(--font-family);
        color: var(--black);
        margin: 0;
        background-color: var(--background-color);
        background-image: url("/frontend/storefront/vendor/om/images/account/bg_login.png");
        background-blend-mode: multiply;
        background-size: cover;
        background-position: center;
    }

    /* Utility Classes */
    .d-flex {
        display: flex;
    }

    .justify-content-center {
        justify-content: center;
    }

    .align-items-center {
        align-items: center;
    }

    .justify-content-between {
        justify-content: space-between;
    }

    .w-100 {
        width: 100%;
    }

    .mt-0 {
        margin-top: 0 !important;
    }

    .mb-0 {
        margin-bottom: 0 !important;
    }

    .ml-5 {
        margin-left: 5px !important;
    }

    .mt-15 {
        margin-top: 15px;
    }

    .mt-30 {
        margin-top: 30px;
    }

    .position-relative {
        position: relative;
    }

    .input_checkbox_wrapper {
        margin-top: 20px;
    }

    .input_checkbox_wrapper p {
        color: #64748B;
        font-size: 13px;
        margin: 0;
        margin-left: 10px;
    }

    .color-black {
        color: black !important;
    }

    .input_checkbox_wrapper a {
        color: black;
        text-decoration: underline;
        cursor: pointer;
    }

    /* Layout Styles */
    .account_bg {
        display: flex;
        justify-content: center;
        min-height: 94%;
    }

    .account_container {
        background: var(--white);
        width: 35%;
        min-height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        flex-direction: column;
    }

    .text-right {
        text-align: right;
    }

    .text-center {
        text-align: center;
    }

    /* Footer Styles */
    footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        bottom: 0;
        width: 70%;
        background: var(--white);
        margin: auto;
    }

    footer p {
        color: var(--secondary-text-color);
        padding: 0 20px;
        font-size: 13px;
    }

    /* Typography */
    h1 {
        color: var(--text-color);
        margin: 30px 0;
        font-size: 22px;
    }

    /* Form Styles */
    form {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 70%;
    }

    form input,
    .submit_btn {
        width: 100%;
        box-sizing: border-box;
    }

    input {
        border: 1px solid var(--border-color);
        padding: 10px;
        border-radius: 6px;
        height: 42px;
    }

    input:focus-visible {
        outline: none;
    }

    input::placeholder {
        opacity: 0.8;
        color: var(--placeholder-color);
        font-family: var(--font-family);
    }

    .togglepassword {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        background: none;
        border: none;
        cursor: pointer;
    }
    [dir="rtl"] .togglepassword {
        left: 10px !important;
        right: auto !important;
    }

    .input_checkbox {
        height: 20px;
        width: 20px;
    }

    .togglepassword svg {
        color: #94A3B8;
    }

    .return_btn {
        border: 1px solid #EBEFF6;
        padding: 5px 10px;
        border-radius: 8px;
        margin-top: 30px;
    }

    .return_btn p {
        margin: 0;
        color: #334155;
        margin-left: 5px;
        font-size: 13px;
    }

    .cancel {
        margin-top: 30px;
        color: black;
        text-decoration: underline;
        cursor: pointer;
    }

    .submit_btn {
        background: var(--primary-color);
        color: var(--white);
        text-align: center;
        padding: 10px;
        border-radius: 6px;
        border: none;
        cursor: pointer;
        margin-top: 30px;
        font-family: var(--font-family);
        font-size: 15px;
        font-weight: 500;
    }

    .submit_btn:disabled {
        background: #d3d3d3;
        /* Light grey color for disabled state */
        color: #a9a9a9;
        /* Darker grey for text */
        cursor: not-allowed;
        /* Change cursor to indicate it's not clickable */
    }

    .modal {
        display: none;
        /* Hidden by default */
        position: fixed;
        /* Stay in place */
        z-index: 1;
        /* Sit on top */
        left: 0;
        top: 0;
        width: 100%;
        /* Full width */
        height: 100%;
        /* Full height */
        overflow: auto;
        /* Enable scroll if needed */
        background-color: rgb(0, 0, 0);
        /* Fallback color */
        background-color: rgba(0, 0, 0, 0.4);
        z-index: 10;
    }

    .condition_modal {
        display: none;
        /* Hidden by default */
        position: fixed;
        /* Stay in place */
        z-index: 1;
        /* Sit on top */
        left: 0;
        top: 0;
        width: 100%;
        /* Full width */
        height: 100%;
        /* Full height */
        overflow: auto;
        /* Enable scroll if needed */
        background-color: rgb(0, 0, 0);
        /* Fallback color */
        background-color: rgba(0, 0, 0, 0.4);
        z-index: 10;
    }

    .modal-content {
        background-color: #fefefe;
        margin: auto;
        /* 15% from the top and centered */
        padding: 20px;
        border: 1px solid #888;
        width: 40%;
        /* Could be more or less, depending on screen size */
    }

    .close {
        color: black;
        float: right;
        font-size: 39px;
        position: absolute;
        right: 17px;
        top: 3px;
    }

    .close:hover,
    .close:focus {
        color: black;
        text-decoration: none;
        cursor: pointer;
    }

    button:focus {
        outline: none;
    }

    /* Social Section Styles */
    .google-button {
        background: var(--white);
        color: var(--black);
        border: 1px solid var(--border-color);
        display: flex;
        align-items: center;
        padding: 10px 20px;
        border-radius: 10px;
        cursor: pointer;
        width: 130px;
        text-align: center;
        justify-content: center;
        margin: 0 5px;
    }
    .v-line {
        height: 1px;
        width: 100%;
        border-top: 1px solid var(--border-color);
    }

    .social {
        margin-top: 30px;
    }

    .social p {
        color: var(--tertiary-text-color);
        font-size: 13px;
        font-family: var(--font-family);
        padding: 0 10px;
        text-transform: uppercase;
        font-weight: 500;
    }

    .social button {
        background: var(--white);
        color: var(--black);
        border: 1px solid var(--border-color);
        display: flex;
        align-items: center;
        padding: 10px 20px;
        border-radius: 10px;
        cursor: pointer;
        width: 130px;
        text-align: center;
        justify-content: center;
        margin: 0 5px;
    }

    .social button .text {
        font-size: 15px;
        font-family: var(--font-family);
        margin-left: 3px;
        font-weight: 500;
    }

    .social_btns {
        margin-top: 30px;
    }

    .text_switch {
        color: #64748B;
        font-size: 13px;
        margin-bottom: 30px;
    }

    .code_otp_resend {
        color: #64748B;
        font-size: 15px;
        margin-top: 30px;
    }

    .code_otp_resend a {
        color: black;
        text-decoration: underline;
        cursor: pointer;
    }

    .otp-field {
        display: flex;
    }

    .otp-field input {
        width: 50px;
        font-size: 32px;
        padding: 10px;
        text-align: center;
        border-radius: 5px;
        margin: 2px;
        border: 2px solid #CBD5E1;
        background: white;
        font-weight: bold;
        color: black;
        outline: none;
        transition: all 0.1s;
    }

    .otp-field input:focus {
        border: 2px solid #c2eafc;
        box-shadow: 0 0 2px 2px #c2eafc;
    }

    .disabled {
        opacity: 0.5;
    }

    .space {
        margin-right: 1rem !important;
    }


    .text_switch a {
        color: black;
        text-decoration: underline;
        cursor: pointer;
    }

    .Optionnel {
        float: right;
        color: #64748B;
        font-size: 13px;
    }

    .flex-column {
        flex-direction: column;
    }

    .error {
        align-self: flex-start;
        margin-top: 5px;
        font-size: 13px;
        font-family: var(--font-family);
        color: red;
        margin-bottom: 0px !important;
    }

    #confirmpolicy {
        background: var(--primary-color);
        color: var(--white);
        text-align: center;
        padding: 10px;
        border-radius: 6px;
        border: none;
        cursor: pointer;
        margin-top: 30px;
        font-family: var(--font-family);
        font-size: 15px;
        font-weight: 500;
    }

    /* Responsive Styles */
    @media screen and (min-width: 994px) and (max-width: 1500px) {
        .account_container {
            width: 50%;
        }
    }

    @media screen and (max-width: 994px) {

        .modal-content {
            width: 90%;
        }

        form {
            width: 90%;
        }

        footer {
            margin-top: 15px;
        }

        .account_container {
            width: 100%;
        }

        .account_bg {
            height: 91%;
        }

        footer {
            width: 100%;
            transform: unset;
            background: #fafafa;
            text-align: center;
            display: flex;
            flex-direction: column;
            margin-bottom: -5px;
        }

        footer p {
            margin: 10px 0;
        }

        h1 {
            margin: 20px 0;
            font-size: 20px;
            margin-bottom: 20px !important;
        }


        .submit_btn,
        .social,
        .social_btns,
        .return_btn,
        .cancel,
        .input_checkbox_wrapper {
            margin-top: 20px;
        }

        .text_switch {
            margin-bottom: 20px;
        }

        .social_btns {
            flex-wrap: wrap;
            justify-content: center;
        }

        .social button {
            width: 130px;
            align-self: center;
            margin-top: 10px;
        }

        .social button .text {
            font-size: 13px;
        }
    }
    [dir="rtl"] .container-fluid  {
        text-align: right;
                 }
    [dir="rtl"] .iti--allow-dropdown .iti__flag-container, [dir="rtl"] .iti--separate-dial-code .iti__flag-container {
        right: auto !important;
        left: 0 !important;
    }
    [dir="rtl"] .Optionnel {
        float: left;
    }
    .iti--separate-dial-code .iti__selected-flag {
        direction: ltr !important;
    }
    [dir="rtl"] .select2-results__option{
        text-align: right !important;
    }
    [dir="rtl"] .iti__dial-code{
        direction: ltr !important;
    }
    [dir="rtl"] .iti__country {
        flex-direction: row-reverse !important;
    }

    /* Keep the shared storefront footer out of this focused auth view.
       The form itself can still grow and scroll on a short/mobile screen. */
    body[data-storefront-page="sign-in"] .pn-footer-newsletter,
    body[data-storefront-page="sign-in"] footer[data-site-footer] {
        display: none !important;
    }

    body[data-storefront-page="sign-in"] .main-content {
        display: flex;
        flex: 1 0 auto;
        min-height: 100vh;
        min-height: 100dvh;
    }

    body[data-storefront-page="sign-in"] .account_bg {
        flex: 1;
        height: auto;
        min-height: 100vh;
        min-height: 100dvh;
    }

    body[data-storefront-page="sign-in"] .account_container {
        box-sizing: border-box;
        min-height: 100vh;
        min-height: 100dvh;
        padding-block: 24px;
    }

    body[data-storefront-page="sign-in"] .pn-account-switch-group {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 3px 8px;
        margin-top: 18px;
        color: #475569;
        font-size: 13px;
    }

    body[data-storefront-page="sign-in"] .pn-account-switch {
        border: 0;
        background: transparent;
        padding: 4px 2px;
        color: #2d5927;
        font: inherit;
        font-weight: 700;
        text-decoration: underline;
        text-underline-offset: 3px;
        cursor: pointer;
    }

    body[data-storefront-page="sign-in"] .pn-account-switch:focus-visible {
        outline: 2px solid #2d5927;
        outline-offset: 3px;
        border-radius: 3px;
    }

    body[data-storefront-page="sign-in"] .return_btn {
        margin-top: 16px;
    }

    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields] {
        width: 100%;
        box-sizing: border-box;
    }

    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields].password-input-wrapper,
    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields].password-input-wrapper > div,
    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields].password-input-wrapper > div > div {
        width: 100%;
    }

    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields] .form__input {
        width: 100%;
        box-sizing: border-box;
    }

    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields] input[type="password"] {
        padding-right: 48px;
    }

    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields].edit-input:not(.password-input-wrapper) {
        flex-wrap: wrap;
        gap: 10px;
    }

    body[data-storefront-page="sign-in"] #accountForm [data-auth-fields].edit-input:not(.password-input-wrapper) > div {
        flex: 1 1 150px;
        min-width: 0;
        margin: 0 !important;
    }
