/*
 * Bootlegger authentication presentation, 2026-10-15.
 * No authentication templates or behavior are replaced.
 * Guest My Account and wp-login.php only; signed-in account styling stays separate.
 */
body.bl-auth-ui,
body.login {
    --bl-auth-ink: #201a16;
    --bl-auth-muted: #625a53;
    --bl-auth-orange: #ff8a00;
    --bl-auth-cream: #fffaf3;
    --bl-auth-line: #e6ded5;
    --bl-auth-field: #8b7868;
    --bl-auth-focus: #005fcc;
}

/* Customer sign-in and registration keep the storefront header and native forms. */
body.bl-auth-ui #main { background: var(--bl-auth-cream); }
body.bl-auth-ui .woocommerce {
    color: var(--bl-auth-ink);
    font-size: 15px;
    line-height: 1.65;
}
body.bl-auth-ui .bl-auth-intro { margin: 0 0 28px; max-width: 64ch; }
body.bl-auth-ui .bl-auth-intro .bl-auth-eyebrow {
    margin: 0 0 8px;
    color: #804000;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.5;
    letter-spacing: .12em;
    text-transform: uppercase;
}
body.bl-auth-ui .bl-auth-intro h2 {
    margin: 0 0 10px;
    color: var(--bl-auth-ink);
    font-family: inherit;
    font-size: clamp(28px, 3vw, 38px);
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -.03em;
}
body.bl-auth-ui .bl-auth-intro p:last-child { margin: 0; color: var(--bl-auth-muted); }
body.bl-auth-ui .woocommerce #customer_login {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 26px;
    align-items: start;
}
body.bl-auth-ui .woocommerce #customer_login::before,
body.bl-auth-ui .woocommerce #customer_login::after { content: none; }
body.bl-auth-ui .woocommerce #customer_login > :is(.u-column1, .u-column2) {
    float: none;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 28px;
    border: 1px solid var(--bl-auth-line);
    border-top: 4px solid var(--bl-auth-orange);
    border-radius: 14px;
    background: #fff;
}
body.bl-auth-ui .woocommerce #customer_login h2 {
    margin: 0 0 22px;
    color: var(--bl-auth-ink);
    font-family: inherit;
    font-size: 24px;
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: -.02em;
}
body.bl-auth-ui .woocommerce :is(form.login, form.register) {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
body.bl-auth-ui .woocommerce > form.login,
body.bl-auth-ui .woocommerce form.woocommerce-ResetPassword {
    box-sizing: border-box;
    max-width: 600px;
    margin: 0 0 28px;
    padding: 28px;
    border: 1px solid var(--bl-auth-line);
    border-top: 4px solid var(--bl-auth-orange);
    border-radius: 14px;
    background: #fff;
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) p {
    margin: 0 0 18px;
    color: var(--bl-auth-muted);
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) .form-row {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
    float: none;
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) label {
    display: block;
    margin: 0 0 7px;
    color: var(--bl-auth-ink);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
}
/* Remove only Elementor's layout line breaks; keep all labels and controls. */
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) .form-row > br,
body.bl-auth-ui .woocommerce form.login .woocommerce-form-login__rememberme > br { display: none; }
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) :is(input[type="text"], input[type="email"], input[type="password"]) {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 11px 12px;
    border: 1px solid var(--bl-auth-field);
    border-radius: 7px;
    background: #fff;
    color: var(--bl-auth-ink);
    font: inherit;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: none;
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) .password-input { width: 100%; }
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) .password-input input { padding-inline-end: 48px; }
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) .show-password-input {
    inset-inline-end: 4px;
    top: 2px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    color: var(--bl-auth-ink);
}
body.bl-auth-ui .woocommerce form.login label.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 400;
}
body.bl-auth-ui .woocommerce form.login input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #9a4e00;
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) button.button {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 11px 20px;
    border: 1px solid #b86500;
    border-radius: 8px;
    background: var(--bl-auth-orange);
    color: var(--bl-auth-ink);
    font-family: inherit;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    box-shadow: none;
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) button.button:hover {
    background: #f6a12a;
    color: var(--bl-auth-ink);
}
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) button.button:disabled { opacity: .55; cursor: not-allowed; }
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) a {
    color: #713800;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.bl-auth-ui .woocommerce .woocommerce-privacy-policy-text { font-size: 13px; line-height: 1.65; }
body.bl-auth-ui .woocommerce .lost_password { margin-bottom: 0; }
body.bl-auth-ui .woocommerce .required { color: #a02520; }
body.bl-auth-ui .woocommerce :is(form.login, form.register, form.woocommerce-ResetPassword) .woocommerce-invalid :is(input[type="text"], input[type="email"], input[type="password"]) { border-color: #b32720; }
body.bl-auth-ui .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
    margin: 0 0 24px;
    padding: 18px 20px 18px 48px;
    border: 1px solid var(--bl-auth-line);
    border-left: 4px solid #986020;
    border-radius: 9px;
    background: #fff;
    color: var(--bl-auth-ink);
    box-shadow: none;
}
body.bl-auth-ui .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { top: 19px; left: 19px; color: inherit; }
body.bl-auth-ui .woocommerce .woocommerce-error { border-left-color: #b32720; background: #fff7f5; }
body.bl-auth-ui .woocommerce .woocommerce-message { border-left-color: #3f6a47; }
body.bl-auth-ui .woocommerce :is(a, button, input, select):focus-visible {
    outline: 3px solid var(--bl-auth-focus);
    outline-offset: 3px;
}

/* WordPress sign-in, reset and security challenges retain native core markup. */
body.login {
    background: var(--bl-auth-cream);
    color: var(--bl-auth-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.6;
}
body.login #login {
    box-sizing: border-box;
    width: min(440px, 100%);
    margin: 0 auto;
    padding: 36px 20px 28px;
}
body.login #login h1 a {
    width: 170px;
    height: 132px;
    margin: 0 auto 24px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
body.login #login > form {
    box-sizing: border-box;
    margin: 0;
    padding: 28px;
    overflow: visible;
    border: 1px solid var(--bl-auth-line);
    border-top: 4px solid var(--bl-auth-orange);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(32, 26, 22, .05);
}
body.login #login label {
    margin-bottom: 7px;
    color: var(--bl-auth-ink);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
}
body.login #login :is(input[type="text"], input[type="email"], input[type="password"], input[type="number"]) {
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    margin: 0 0 20px;
    padding: 11px 12px;
    border: 1px solid var(--bl-auth-field);
    border-radius: 7px;
    background: #fff;
    color: var(--bl-auth-ink);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.5;
    box-shadow: none;
}
body.login #login .wp-pwd input { padding-inline-end: 48px; }
body.login #login .wp-pwd .wp-hide-pw {
    top: 2px;
    inset-inline-end: 2px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    border: 0;
    border-radius: 6px;
    color: var(--bl-auth-ink);
    background: transparent;
}
body.login #login .wp-pwd .wp-hide-pw .dashicons { top: 11px; }
body.login #login .forgetmenot {
    float: none;
    margin: 0 0 16px;
    min-height: 36px;
}
body.login #login .forgetmenot label { font-size: 14px; font-weight: 400; }
body.login #login input[type="checkbox"] { border-color: var(--bl-auth-field); accent-color: #9a4e00; }
body.login #login .submit { clear: both; margin: 0; padding: 0; }
body.login #login .submit .button-primary {
    float: none;
    box-sizing: border-box;
    width: 100%;
    min-height: 48px;
    padding: 11px 20px;
    border: 1px solid #b86500;
    border-radius: 8px;
    background: var(--bl-auth-orange);
    color: var(--bl-auth-ink);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.45;
    text-shadow: none;
    box-shadow: none;
}
body.login #login .submit .button-primary:hover { background: #f6a12a; color: var(--bl-auth-ink); }
body.login #login .submit .button-primary:disabled { opacity: .55; cursor: not-allowed; }
body.login #login :is(a, button, input, select):focus-visible,
body.login .language-switcher :is(button, input, select):focus-visible {
    outline: 3px solid var(--bl-auth-focus);
    outline-offset: 3px;
}
body.login #login :is(#nav, #backtoblog) { padding: 0; margin: 18px 0 0; }
body.login #login :is(#nav, #backtoblog, .privacy-policy-page-link) a {
    color: #713800;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.login #login :is(.message, .notice),
body.login #login #login_error {
    box-sizing: border-box;
    margin: 0 0 22px;
    padding: 16px 18px;
    border: 1px solid var(--bl-auth-line);
    border-left: 4px solid #986020;
    border-radius: 9px;
    background: #fff;
    color: var(--bl-auth-ink);
    font-size: 14px;
    box-shadow: none;
}
body.login #login :is(.notice-error, #login_error) { border-left-color: #b32720; background: #fff7f5; }
body.login #login .notice-success { border-left-color: #3f6a47; }
body.login #login .privacy-policy-page-link { margin: 26px 0 0; }
body.login .language-switcher { padding: 0 20px 24px; }
body.login .language-switcher form { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
body.login .language-switcher select { max-width: 100%; min-height: 40px; }

/* Native password strength, validation, notices and challenge visibility are untouched. */
@media (max-width: 767px) {
    body.bl-auth-ui .woocommerce #customer_login { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    body.bl-auth-ui .woocommerce #customer_login > :is(.u-column1, .u-column2),
    body.bl-auth-ui .woocommerce form.woocommerce-ResetPassword { padding: 22px; }
    body.bl-auth-ui .bl-auth-intro { margin-bottom: 24px; }
}
@media (max-width: 380px) {
    body.login #login { padding: 24px 14px; }
    body.login #login > form { padding: 22px 18px; }
    body.bl-auth-ui .woocommerce #customer_login > :is(.u-column1, .u-column2),
    body.bl-auth-ui .woocommerce form.woocommerce-ResetPassword { padding: 20px 16px; }
}
@media (prefers-reduced-motion: reduce) {
    body.bl-auth-ui .woocommerce *,
    body.login * { scroll-behavior: auto; }
}
