/* ============================================================
   Palena — Register / Login pages
   Styles the Ultimate Member register and login forms.
   ============================================================ */

/* ------------------------------------------------------------
   Ultimate Member sets an inline max-width (450px login /
   600px register) on its own wrapper and centres it. That
   collapses the two-column layout, so it has to be overridden.
   ------------------------------------------------------------ */

body.palena-auth-page .um,
body.palena-auth-page .um-form,
body.palena-auth-page .um-login,
body.palena-auth-page .um-register {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.palena-auth-page .um .um-form form {
    margin: 0;
    padding: 0;
}

/* The page wrapper itself should not add its own ceiling */
body.palena-auth-page .content,
body.palena-auth-page .col-12,
body.palena-auth-page .row {
    max-width: none;
}

.palena-auth {
    --pa-ink:       #1a1a18;
    --pa-cream:     #f7f4ee;
    --pa-cream-mid: #e0dbd1;
    --pa-muted:     #6b6560;
    --pa-white:     #fff;

    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    width: 100%;
    min-height: 620px;
    font-family: var(--palena-font-body, 'Jost', sans-serif);

    /* Cancel the page container padding so the panel runs edge to edge */
    margin-left: calc(var(--palena-gutter-x, 48px) * -1);
    margin-right: calc(var(--palena-gutter-x, 48px) * -1);
    margin-bottom: 0;
}

/* Hide the duplicate page title — the panel carries its own heading */
body.palena-auth-page .page_title_about {
    display: none;
}

body.palena-auth-page .container-fluid.mt-4 {
    margin-top: 0 !important;
}


/* ── LEFT: editorial panel ───────────────────────────────── */

.palena-auth__aside {
    background: #0a0a0a;
    color: #f5f3ef;
    padding: 72px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* Keeps the copy at a readable measure on wide and 4K screens
   instead of stretching across the whole half. */
.palena-auth__aside-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}

.palena-auth__aside::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px);
    background-size: 100% 36px;
    pointer-events: none;
}

.palena-auth__eyebrow {
    font-size: 9px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin: 0 0 18px;
}

.palena-auth__title {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 44px;
    font-weight: 300;
    line-height: 1.12;
    letter-spacing: 0.015em;
    color: #f5f3ef;
    margin: 0 0 20px;
}

.palena-auth__lede {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 16px;
    font-style: italic;
    font-weight: 300;
    line-height: 1.8;
    color: rgba(245, 243, 239, 0.66);
    max-width: none;
    margin: 0 0 44px;
}

.palena-auth__list {
    list-style: none;
    max-width: none;
    margin: 0;
    padding: 0;
}

.palena-auth__list li {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 17px 0;
    border-top: 0.5px solid rgba(255, 255, 255, 0.13);
    margin: 0;
}

.palena-auth__list li:last-child {
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.13);
}

.palena-auth__num {
    font-size: 9px;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.35);
    padding-top: 4px;
    flex-shrink: 0;
    min-width: 22px;
}

.palena-auth__copy strong {
    display: block;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #f5f3ef;
    margin-bottom: 4px;
}

.palena-auth__copy span {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 14px;
    font-style: italic;
    font-weight: 300;
    color: rgba(245, 243, 239, 0.55);
    line-height: 1.6;
}


/* ── RIGHT: the form column ──────────────────────────────── */

.palena-auth__main {
    background: var(--pa-white);
    padding: 72px 64px;
    display: flex;
    align-items: center;
}

.palena-auth__inner {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}


/* ── Ultimate Member field restyling ─────────────────────── */

.palena-auth .um-field {
    padding: 0 0 16px;
    margin: 0;
}

.palena-auth .um-field-label,
.palena-auth .um-field-label label {
    display: block;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--pa-muted);
    margin: 0 0 8px;
    padding: 0;
    border: none;
}

.palena-auth .um-field-label:after,
.palena-auth .um-field-label .um-field-label-icon {
    display: none;
}

.palena-auth .um-form input[type="text"],
.palena-auth .um-form input[type="email"],
.palena-auth .um-form input[type="password"],
.palena-auth .um-form input[type="tel"],
.palena-auth .um-form input[type="number"],
.palena-auth .um-form input[type="search"],
.palena-auth .um-form textarea,
.palena-auth .palena-auth-input,
.palena-auth .palena-auth-select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--pa-cream-mid);
    border-radius: 0;
    background: var(--pa-cream);
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 300;
    line-height: 1.5;
    color: var(--pa-ink);
    outline: none;
    box-shadow: none;
    transition: border-color 0.25s ease, background 0.25s ease;
    -webkit-appearance: none;
    appearance: none;
    height: auto;
}

.palena-auth .um-form input[type="text"]:focus,
.palena-auth .um-form input[type="email"]:focus,
.palena-auth .um-form input[type="password"]:focus,
.palena-auth .um-form input[type="tel"]:focus,
.palena-auth .um-form input[type="number"]:focus,
.palena-auth .um-form textarea:focus,
.palena-auth .palena-auth-input:focus,
.palena-auth .palena-auth-select:focus {
    border-color: var(--pa-ink);
    background: var(--pa-white);
}

.palena-auth .um-form input::placeholder,
.palena-auth .palena-auth-input::placeholder {
    color: #a8a39c;
    opacity: 1;
}

/* Country dropdown arrow */
.palena-auth .palena-auth-select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B6560' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 38px;
}


/* ── Buttons ─────────────────────────────────────────────── */

.palena-auth .um-form input[type="submit"].um-button,
.palena-auth .um-form a.um-button,
.palena-auth .um-button {
    display: block;
    width: 100%;
    padding: 15px 22px;
    margin: 8px 0 0;
    background: var(--pa-ink) !important;
    color: #fff !important;
    border: 1px solid var(--pa-ink);
    border-radius: 0 !important;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    box-shadow: none;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
    height: auto;
}

.palena-auth .um-form input[type="submit"].um-button:hover,
.palena-auth .um-button:hover {
    background: #000 !important;
    color: #fff !important;
}

/* Secondary ("Login" / "Register" alternate) button */
.palena-auth .um-form .um-alt,
.palena-auth .um-button.um-alt {
    background: transparent !important;
    color: var(--pa-ink) !important;
    border: 1px solid var(--pa-ink);
}

.palena-auth .um-form .um-alt:hover,
.palena-auth .um-button.um-alt:hover {
    background: var(--pa-ink) !important;
    color: #fff !important;
}

/* Button row */
.palena-auth .um-col-alt,
.palena-auth .um-center {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 0 0;
    margin: 0;
    text-align: left;
    float: none;
    clear: both;
}

.palena-auth .um-left,
.palena-auth .um-right {
    float: none;
    width: 100%;
    padding: 0;
    margin: 0;
}

.palena-auth .um-col-alt-b {
    padding-top: 14px;
    margin-top: 14px;
    border-top: 0.5px solid var(--pa-cream-mid);
    text-align: left;
}

.palena-auth .um-col-alt-b a {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 14px;
    font-style: italic;
    font-weight: 300;
    color: var(--pa-muted);
    text-decoration: none;
    border-bottom: 0.5px solid var(--pa-cream-mid);
}

.palena-auth .um-col-alt-b a:hover {
    color: var(--pa-ink);
    border-bottom-color: var(--pa-ink);
}


/* ── Extra fields block ──────────────────────────────────── */

.palena-auth-extra {
    margin: 0;
    padding: 0;
}

.palena-auth-extra__field {
    margin-bottom: 16px;
}

.palena-auth-extra__field label {
    display: block;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--pa-muted);
    margin-bottom: 8px;
}

.palena-auth-req {
    color: var(--pa-ink);
}


/* ── Designer toggle ─────────────────────────────────────── */

.palena-auth-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    margin-top: 4px;
    border-top: 1px solid var(--pa-cream-mid);
    cursor: pointer;
    user-select: none;
}

.palena-auth-switch {
    position: relative;
    width: 36px;
    height: 20px;
    flex-shrink: 0;
}

.palena-auth-switch input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.palena-auth-track {
    position: absolute;
    inset: 0;
    background: var(--pa-cream-mid);
    transition: background 0.25s ease;
}

.palena-auth-thumb {
    position: absolute;
    left: 3px;
    top: 3px;
    width: 14px;
    height: 14px;
    background: #fff;
    transition: transform 0.25s ease;
}

.palena-auth-toggle.is-open .palena-auth-track {
    background: var(--pa-ink);
}

.palena-auth-toggle.is-open .palena-auth-thumb {
    transform: translateX(16px);
}

.palena-auth-toggle__label {
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 300;
    color: var(--pa-ink);
}

.palena-auth-designer {
    display: none;
    padding-top: 4px;
}

.palena-auth-designer.is-open {
    display: block;
}


/* ── Newsletter checkbox + privacy line ──────────────────── */

.palena-auth-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 0 0;
    cursor: pointer;
}

.palena-auth-check input {
    width: 15px;
    height: 15px;
    margin: 2px 0 0;
    flex-shrink: 0;
    accent-color: var(--pa-ink);
}

.palena-auth-check span {
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;
    color: var(--pa-muted);
}

.palena-auth-privacy {
    margin: 12px 0 0;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 300;
    line-height: 1.65;
    color: var(--pa-muted);
}

.palena-auth-privacy a {
    color: var(--pa-ink);
    text-decoration: none;
    border-bottom: 0.5px solid var(--pa-ink);
}


/* ── Errors and notices ──────────────────────────────────── */

.palena-auth .um-field-error,
.palena-auth .um-notice.err {
    background: #fff5f5 !important;
    border: 1px solid #c62828 !important;
    border-radius: 0 !important;
    color: #c62828 !important;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 12px;
    font-weight: 300;
    line-height: 1.5;
    padding: 10px 14px;
    margin-top: 6px;
}

.palena-auth .um-field-error .um-field-arrow {
    display: none;
}

.palena-auth .um-notice.success {
    background: var(--pa-cream) !important;
    border: 1px solid var(--pa-ink) !important;
    border-radius: 0 !important;
    color: var(--pa-ink) !important;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 12px;
    font-weight: 300;
    padding: 12px 15px;
}


/* ── Responsive ──────────────────────────────────────────── */

@media screen and (max-width: 991px) {
    .palena-auth {
        grid-template-columns: 1fr;
    }

    .palena-auth__aside {
        padding: 52px 32px;
        order: 2;
    }

    .palena-auth__main {
        padding: 52px 32px;
        order: 1;
    }

    .palena-auth__title {
        font-size: 34px;
    }

    .palena-auth__lede {
        margin-bottom: 32px;
    }
}

@media screen and (max-width: 575px) {
    .palena-auth__aside,
    .palena-auth__main {
        padding: 40px 20px;
    }

    .palena-auth__title {
        font-size: 28px;
    }
}


/* ── Large / 4K screens ──────────────────────────────────── */

@media screen and (min-width: 1600px) {
    .palena-auth__aside,
    .palena-auth__main {
        padding: 96px 72px;
    }

    .palena-auth__aside-inner,
    .palena-auth__inner {
        max-width: 480px;
    }

    .palena-auth__title {
        font-size: 52px;
    }

    .palena-auth__lede {
        font-size: 17px;
    }
}


/* ============================================================
   SECONDARY ACTION LINK ("Register" under the Login button)
   UM renders this as a plain anchor, not a button, so it needs
   styling in its own right or it renders as tiny text.
   ============================================================ */

.palena-auth .um-col-alt a,
.palena-auth .um-col-alt input[type="submit"].um-alt,
.palena-auth .um-col-alt a.um-button.um-alt {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: 15px 22px !important;
    margin: 0 !important;
    background: transparent !important;
    color: var(--pa-ink) !important;
    border: 1px solid var(--pa-ink) !important;
    border-radius: 0 !important;
    font-family: var(--palena-font-body, 'Jost', sans-serif) !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    height: auto !important;
    transition: background 0.25s ease, color 0.25s ease;
}

.palena-auth .um-col-alt a:hover,
.palena-auth .um-col-alt a.um-button.um-alt:hover {
    background: var(--pa-ink) !important;
    color: #fff !important;
}

/* The primary submit keeps its solid treatment */
.palena-auth .um-col-alt input[type="submit"]:not(.um-alt),
.palena-auth .um-col-alt .um-button:not(.um-alt) {
    background: var(--pa-ink) !important;
    color: #fff !important;
}

/* "Forgot your password?" stays a quiet text link */
.palena-auth .um-col-alt-b a {
    display: inline !important;
    width: auto !important;
    padding: 0 !important;
    border: none !important;
    border-bottom: 0.5px solid var(--pa-cream-mid) !important;
    background: none !important;
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif) !important;
    font-size: 14px !important;
    font-style: italic !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--pa-muted) !important;
}

.palena-auth .um-col-alt-b a:hover {
    background: none !important;
    color: var(--pa-ink) !important;
    border-bottom-color: var(--pa-ink) !important;
}


/* ============================================================
   SHOW / HIDE PASSWORD
   ============================================================ */

.palena-pw-wrap {
    position: relative;
    display: block;
    width: 100%;
}

.palena-pw-wrap input {
    padding-right: 46px !important;
}

.palena-pw-toggle {
    position: absolute;
    top: 50%;
    right: 1px;
    transform: translateY(-50%);
    width: 42px;
    height: calc(100% - 2px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--pa-muted);
    transition: color 0.2s ease;
}

.palena-pw-toggle:hover,
.palena-pw-toggle.is-on {
    color: var(--pa-ink);
}

.palena-pw-toggle svg {
    display: block;
}


/* ============================================================
   REGISTRATION CONFIRMATION MODAL
   ============================================================ */

.palena-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.palena-auth-modal[hidden] {
    display: none;
}

.palena-auth-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 10, 10, 0.72);
    cursor: pointer;
}

.palena-auth-modal__panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    background: #fff;
    padding: 48px 44px 40px;
    text-align: center;
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.35);
    animation: palenaModalIn 0.35s ease both;
}

@keyframes palenaModalIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}

.palena-auth-modal__close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    font-size: 17px;
    line-height: 1;
    color: #a8a39c;
    cursor: pointer;
    padding: 6px;
    transition: color 0.2s ease;
}

.palena-auth-modal__close:hover {
    color: var(--pa-ink, #1a1a18);
}

.palena-auth-modal__eyebrow {
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 9px;
    letter-spacing: 0.26em;
    text-transform: uppercase;
    color: #a8a39c;
    margin: 0 0 14px;
}

.palena-auth-modal__title {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 34px;
    font-weight: 300;
    letter-spacing: 0.02em;
    color: #1a1a18;
    margin: 0 0 16px;
}

.palena-auth-modal__body {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 16px;
    font-style: italic;
    font-weight: 300;
    line-height: 1.75;
    color: #6b6560;
    margin: 0 0 32px;
}

.palena-auth-modal__btn {
    display: block;
    width: 100%;
    padding: 15px 22px;
    background: #1a1a18;
    color: #fff;
    border: 1px solid #1a1a18;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.25s ease;
}

.palena-auth-modal__btn:hover {
    background: #000;
}

@media screen and (max-width: 575px) {
    .palena-auth-modal__panel {
        padding: 38px 26px 32px;
    }
    .palena-auth-modal__title {
        font-size: 28px;
    }
    .palena-auth-modal__body {
        font-size: 15px;
    }
}


/* ============================================================
   RESPONSIVE — intermediate sizes
   ============================================================ */

@media screen and (max-width: 1400px) and (min-width: 992px) {
    .palena-auth__aside,
    .palena-auth__main {
        padding: 64px 44px;
    }

    .palena-auth__title {
        font-size: 38px;
    }
}

@media screen and (max-width: 991px) {
    .palena-auth {
        min-height: 0;
    }

    .palena-auth__aside-inner {
        max-width: 560px;
    }
}

@media screen and (max-width: 767px) {
    .palena-auth__aside,
    .palena-auth__main {
        padding: 44px 24px;
    }

    .palena-auth__lede {
        font-size: 15px;
        margin-bottom: 28px;
    }
}


/* ============================================================
   FIXES — v2
   ============================================================ */

/* 1. Stop the left panel shifting when the form grows.
      Centring the copy meant it moved every time the designer
      fields opened. Pinning it instead keeps it still, and it
      follows the reader down the long register form. */

.palena-auth__aside {
    justify-content: flex-start;
}

.palena-auth__aside-inner {
    position: sticky;
    top: 120px;
}

@media screen and (max-width: 991px) {
    .palena-auth__aside {
        justify-content: center;
    }
    .palena-auth__aside-inner {
        position: static;
        top: auto;
    }
}


/* 2 + 3 + 4. One label treatment for every field, Ultimate
      Member's own and ours alike. Lighter and smaller than
      UM's default, in the site typeface. */

.palena-auth .um-field-label label,
.palena-auth .um-field-label > label,
.palena-auth .um-field > label,
.palena-auth .palena-auth-extra__field label,
.palena-auth .palena-auth-extra label {
    display: block !important;
    font-family: var(--palena-font-body, 'Jost', sans-serif) !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    line-height: 1.5 !important;
    text-transform: uppercase !important;
    color: var(--pa-muted) !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: none !important;
}

/* The required star, identical in every field */
.palena-auth .palena-auth-req,
.palena-auth .um-field-label label .palena-auth-req {
    display: inline !important;
    margin-left: 4px !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    color: var(--pa-ink) !important;
    vertical-align: baseline !important;
}

/* UM's own asterisk markup, matched to ours */
.palena-auth .um-field-label .um-req,
.palena-auth .um-req {
    margin-left: 4px !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    color: var(--pa-ink) !important;
}

/* The designer toggle label sits with the body text, not the
   field labels, so it needs its own size */
.palena-auth .palena-auth-toggle__label {
    font-family: var(--palena-font-body, 'Jost', sans-serif) !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    color: var(--pa-ink) !important;
}

.palena-auth .palena-auth-check span {
    font-size: 12px !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

.palena-auth .palena-auth-privacy {
    font-size: 11px !important;
    letter-spacing: 0.01em !important;
    text-transform: none !important;
}


/* 6. Inline validation message for the Company field */

.palena-auth-inline-error {
    margin-top: 6px;
    padding: 9px 13px;
    background: #fff5f5;
    border: 1px solid #c62828;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 0.02em;
    color: #c62828;
}

.palena-auth input.palena-auth-invalid {
    border-color: #c62828 !important;
}


/* Error notices — keep links readable */
.palena-auth .um-field-error a,
.palena-auth .um-notice.err a {
    color: #c62828 !important;
    text-decoration: underline;
}


/* ============================================================
   FIXES — v3
   Label size: 9px read as too small. 11px with softer
   letterspacing sits between the original bulk and that.
   ============================================================ */

.palena-auth .um-field-label label,
.palena-auth .um-field-label > label,
.palena-auth .um-field > label,
.palena-auth .palena-auth-extra__field label,
.palena-auth .palena-auth-extra label {
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.13em !important;
    line-height: 1.5 !important;
    margin: 0 0 9px !important;
    color: #5f5a55 !important;
}

/* Keep the toggle and consent lines reading as sentences */
.palena-auth .palena-auth-toggle__label {
    font-size: 13px !important;
    letter-spacing: 0.01em !important;
}

.palena-auth .palena-auth-check span {
    font-size: 12.5px !important;
}

.palena-auth .palena-auth-privacy {
    font-size: 11.5px !important;
    line-height: 1.7 !important;
}

/* The inline error needs to clear the eye button on password rows
   and sit flush under whichever field it belongs to */
.palena-auth-inline-error {
    display: block;
    width: 100%;
    clear: both;
}


/* ============================================================
   FIXES — v4

   The width override was written for the split layout but was
   applying to every Ultimate Member page, so the password reset
   input stretched the full viewport. It is now scoped to
   register/login, and the simpler UM screens get a centred card.
   ============================================================ */

/* Undo the blanket override for non-split screens */
body.palena-auth-simple .um,
body.palena-auth-simple .um-form {
    max-width: 460px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Centred card for password reset and account */
body.palena-auth-simple .content,
body.palena-auth-simple .um {
    padding-top: 56px;
    padding-bottom: 72px;
}

body.palena-auth-simple .um-form input[type="text"],
body.palena-auth-simple .um-form input[type="email"],
body.palena-auth-simple .um-form input[type="password"],
body.palena-auth-simple .um-form input[type="tel"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #e0dbd1;
    border-radius: 0;
    background: #f7f4ee;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 13px;
    font-weight: 300;
    color: #1a1a18;
    outline: none;
    box-shadow: none;
    height: auto;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color 0.25s ease, background 0.25s ease;
}

body.palena-auth-simple .um-form input:focus {
    border-color: #1a1a18;
    background: #fff;
}

body.palena-auth-simple .um-field-label label,
body.palena-auth-simple .um-field > label {
    display: block;
    font-family: var(--palena-font-body, 'Jost', sans-serif);
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: #5f5a55;
    margin: 0 0 9px;
}

/* The explanatory line above the field */
body.palena-auth-simple .um-form .um-field-block,
body.palena-auth-simple .um-form p {
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 16px;
    font-style: italic;
    font-weight: 300;
    line-height: 1.7;
    color: #6b6560;
    text-align: left;
    margin: 0 0 24px;
}

body.palena-auth-simple .um-button,
body.palena-auth-simple .um-form input[type="submit"] {
    display: block !important;
    width: 100% !important;
    padding: 15px 22px !important;
    margin: 18px 0 0 !important;
    background: #1a1a18 !important;
    color: #fff !important;
    border: 1px solid #1a1a18 !important;
    border-radius: 0 !important;
    font-family: var(--palena-font-body, 'Jost', sans-serif) !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    height: auto !important;
    cursor: pointer;
}

body.palena-auth-simple .um-button:hover {
    background: #000 !important;
}

body.palena-auth-simple .um-center,
body.palena-auth-simple .um-col-alt {
    float: none;
    width: 100%;
    text-align: left;
}

/* Page title is useful on these screens, so leave it visible
   but bring it in line with the rest of the site */
body.palena-auth-simple .page_title_about {
    max-width: 460px;
    margin: 0 auto;
    padding: 0 0 4px !important;
    font-family: var(--palena-font-title, 'Cormorant Garamond', Georgia, serif);
    font-size: 30px;
    font-weight: 300;
    letter-spacing: 0.02em;
    color: #1a1a18;
}


/* "Forgot your password?" on the login page — nudged up so it
   is comfortably readable next to the buttons above it. */
.palena-auth .um-col-alt-b a {
    font-size: 15px !important;
}

.palena-auth .um-col-alt-b {
    padding-top: 16px;
    margin-top: 16px;
}
