/* ==========================================================
   Custom two-column login / register teaser
   Enqueue this file from your child theme's functions.php
   ========================================================== */
:root {
    --black: #000000;
    --beige: #e8c1b5;
    --beige-hover: #CAA696;
    --white: #ffffff;
}

/* My account page */
h2.custom-login-heading {
    font-size: 16px !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
    margin-bottom: 30px;
}
.custom-login-columns {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    max-width: 1100px;
    margin: 40px auto;
}
.custom-login-columns input#username, input#password {
    border-color: var(--black);
    border-radius: 0px;
}
.custom-login-col {
    flex: 1;
}
.custom-login-columns button.woocommerce-button.button.woocommerce-form-login__submit.custom-login-submit {
    color: var(--black);
    text-transform: uppercase;
    padding: 10px 30px;
    border-radius: 0px;
}
.custom-login-columns input#custom-show-password-toggle, input#rememberme {
    margin-left: 0px;
    height: 18px;
    width: 18px;
    border-radius: 0px;
}
p.custom-login-forgot a {
    text-decoration: none;
}
div#customer_login label {
    font-size: 16px !important;
    font-weight: normal;
}
div#customer_login span.required {
    color: var(--black);
}
/* vertical divider between columns */
.custom-login-divider {
    width: 1px;
    align-self: stretch;
    background: var(--black);
}
button.show-password-input {
    display: none;
}
.custom-login-heading {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 20px;
}

/* Login form fields */
.custom-login-col--login label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 14px;
}

.custom-login-col--login .required {
    color: var(--black);
}

.custom-login-col--login input.input-text {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--black);
    border-radius: 3px;
    margin-bottom: 18px;
}

.custom-login-row-options {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 8px;
    font-size: 13px;
}

.custom-login-row-options label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 400;
    margin: 0;
}

.custom-login-col--login .custom-login-submit,
form.woocommerce-form-login button.custom-login-submit {
    background: #e6b8a2;
    border: none;
    color: #333;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
    padding: 14px 40px;
    border-radius: 2px;
    cursor: pointer;
    display: inline-block;
    width: auto;
    box-sizing: border-box;
    font-size: 16px;
    margin: 0;
}

.custom-login-col--login .custom-login-submit:hover,
form.woocommerce-form-login button.custom-login-submit:hover {
    background: #dba892;
}

.custom-login-submit-row {
    justify-content: center;
    width: 100%;
}
.custom-login-submit-row button {
    background-color: var(--beige);
}
.custom-login-forgot {
    text-align: left;
    margin: 0 0 20px 0;
}

.custom-login-forgot a {
    font-size: 13px;
    color: #999;
    text-decoration: underline;
}



/* Register / teaser column */
.custom-login-col--register {
    text-align: center;
}
.custom-login-col--register p.woocommerce-form-row.form-row {

}
.custom-login-register-text {
    color: var(--black);
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 20px;
}

.custom-login-register-btn {
    background-color: var(--beige);
    color: var(--black);
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: 0.5px;
    padding: 10px 30px;
    border-radius: none;
    text-decoration: none;
    margin-bottom: 24px;
    display: inline-block;
    width: auto;
    border: none;
    cursor: pointer;
    font-size: 16px;
    margin-top: 10px;
}
.custom-login-register-btn:hover {
    background: var(--beige-hover);
    color: var(--white);
    color: var(--black);
}

.custom-login-image img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
}

.custom-login-col--image-only {
    display: flex;
    align-items: flex-start;
}

/* Registration form fields (right column) */
.custom-register-form {
    text-align: left;
    margin-bottom: 24px;
}

.custom-register-form label {
    display: block;
    font-weight: normal;
    margin-bottom: 6px;
    font-size: 16px;
}

.custom-register-form .required {
    color: var(--black);
}

.custom-register-form input.input-text {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--black);
    border-radius: 0px;
    margin-bottom: 18px;
    box-sizing: border-box;
}

/* First name / Last name side by side */
.custom-form-row-half-group {
    display: flex;
    gap: 16px;
    margin: 0;
}

.custom-form-row-half {
    flex: 1;
    display: block;
}

/* Password strength meter */
.custom-password-strength-label {
    display: block;
    font-size: 11px;
    color: #999;
    margin-top: -12px;
    margin-bottom: 4px;
}

.custom-password-strength-meter {
    display: block;
    height: 6px;
    border-radius: 3px;
    background: #eee;
    margin-bottom: 18px;
    position: relative;
    overflow: hidden;
}

.custom-password-strength-meter::before {
    content: '';
    display: block;
    height: 100%;
    width: var(--strength-width, 0%);
    background: var(--strength-color, #eee);
    transition: width 0.2s ease, background 0.2s ease;
}

/* Checkbox rows (Show password / Newsletter / Terms) */
.custom-checkbox-row {
    margin-bottom: 10px;
}
#comment-input input, #comment-textarea textarea, .avada-select .select2-container .select2-choice, .avada-select .select2-container .select2-choice2, .chzn-container .chzn-drop, .chzn-container-single .chzn-single, .comment-form-comment textarea, .fusion-body .avada-select-parent select, .fusion-body .gift-cards-list button.ywgc-amount-buttons, .input-text, .main-nav-search-form input, .post-password-form label input[type=password], .search-page-search-form input, input.s, input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=time], select, textarea {
    border-color: var(--black) !important;
}
.custom-checkbox-row label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: normal;
    font-size: 16px;
    margin: 0;
}

.custom-checkbox-row input[type="checkbox"] {
    margin-top: auto;
    margin-bottom: auto;
}

.custom-register-disabled-notice {
    color: #999;
    font-size: 13px;
    font-style: italic;
}

.is-hidden {
    display: none;
}

/* Mobile: stack name fields too */
@media (max-width: 500px) {
    .custom-form-row-half-group {
        flex-direction: column;
        gap: 0;
    }
}

/* Mobile: stack columns */
@media (max-width: 768px) {
    .custom-login-columns {
        flex-direction: column;
        gap: 30px;
    }

    .custom-login-divider {
        display: none;
    }
}