/* Blocknews aMember signup polish v1.0.3.
   Signup styling is scoped below .bn-signup. The account-tab height repair
   is confined to #bn-account-content. Header/footer CSS is untouched.
   Native hidden fields, product filtering and payment widgets stay in control. */
body.bn-signup-page #main {
    background: #f5f5f4;
    padding: 32px 24px 48px;
}
#bn-account-content.bn-signup-scope {
    --bn-ink: #25282c;
    --bn-muted: #65696f;
    --bn-line: #dedfdf;
    --bn-orange: #ee7c22;
    --bn-orange-dark: #9a420b;
    --bn-pale: #fff6ec;
    max-width: 940px !important;
    width: 100%;
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
    text-align: left;
}
/* Do not let signup typography/box sizing alter the logged-in menu above it. */
#bn-account-content .bn-signup {
    color: var(--bn-ink);
    font-family: Heebo, Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
}
#bn-account-content .bn-signup,
#bn-account-content .bn-signup *,
#bn-account-content .bn-signup *::before,
#bn-account-content .bn-signup *::after { box-sizing: border-box; }
#bn-account-content.bn-signup-scope .am-body-content,
#bn-account-content.bn-signup-scope .am-body-content-content { margin: 0; padding: 0; }
#bn-account-content.bn-signup-scope .am-body-content-top:empty { display: none; }
#bn-account-content.bn-signup-scope .am-body-content-top h1 { font-size: 25px; line-height: 1.25; margin: 0 0 20px; }
#bn-account-content .bn-signup > .am-form { border: 0; box-shadow: none; background: none; padding: 0; margin: 0; }
#bn-account-content .bn-signup .am-login-text {
    background: #fff;
    border: 1px solid var(--bn-line);
    border-left: 3px solid var(--bn-orange);
    border-radius: 6px;
    color: #51555b;
    padding: 13px 18px;
    margin: 0 0 18px;
    font-size: 14px;
    box-shadow: none;
    text-align: center;
}
#bn-account-content .bn-signup a { color: var(--bn-orange-dark); text-underline-offset: 3px; }
#bn-account-content .bn-signup a:hover { color: #713108; }
#bn-account-content .bn-form {
    display: block;
    background: #fff;
    border: 1px solid var(--bn-line);
    border-radius: 10px;
    padding: 24px 28px 26px;
    margin: 0;
    box-shadow: 0 4px 20px rgba(29, 31, 33, .035);
    font-size: 15px;
    line-height: 1.5;
    color: var(--bn-ink);
    min-width: 0;
}
/* Neutralize the old left/right floats inside native aMember rows only. */
#bn-account-content .bn-form .am-row {
    border: 0;
    background: transparent;
    margin: 0;
    padding: 12px 0;
    min-width: 0;
    clear: both;
    box-shadow: none;
}
#bn-account-content .bn-form .am-row::before,
#bn-account-content .bn-form .am-row::after { content: none; }
#bn-account-content .bn-form .am-row > .am-element-title,
#bn-account-content .bn-form .am-row > .am-element {
    float: none;
    clear: none;
    width: auto;
    max-width: 100%;
    padding: 0;
    margin: 0;
    min-width: 0;
    text-align: left;
}
#bn-account-content .bn-form .am-element-title > label,
#bn-account-content .bn-form .am-element-title > label span:not(.required) {
    font-weight: 600;
    font-size: 14px;
    color: var(--bn-ink);
}
#bn-account-content .bn-form .required { color: var(--bn-orange-dark); }
#bn-account-content .bn-form .comment {
    color: var(--bn-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    margin-top: 4px;
}
#bn-account-content .bn-form .bn-wide-row { padding: 0 0 24px; }
#bn-account-content .bn-form .bn-wide-row > .am-element-title {
    padding: 0 0 12px;
}
#bn-account-content .bn-form .bn-wide-row > .am-element-title label {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.15px;
}
#bn-account-content .bn-form .bn-products > .am-element,
#bn-account-content .bn-form .bn-payments > .am-element {
    border: 1px solid var(--bn-line);
    border-radius: 7px;
    background: #fff;
    /* No overflow:hidden: radio focus rings and native errors must stay visible. */
}
#bn-account-content .bn-form .bn-products > .am-element > br,
#bn-account-content .bn-form .bn-payments > .am-element > br { display: none; }
/* Compact product rows: existing nodes only, no hard-coded product catalogue. */
#bn-account-content .bn-form .bn-product {
    display: grid;
    grid-template-columns: 21px minmax(0, 1fr) minmax(80px, 115px) minmax(115px, 150px);
    grid-template-areas: 'choice name details price';
    column-gap: 12px;
    row-gap: 3px;
    align-items: center;
    min-width: 0;
    margin: 0;
    padding: 10px 16px;
    min-height: 58px;
    border: 0;
    border-bottom: 1px solid #e8e8e7;
    border-radius: 0;
    color: var(--bn-ink);
    background: transparent;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .12s ease, box-shadow .12s ease;
}
#bn-account-content .bn-form .bn-product:first-child { border-radius: 6px 6px 0 0; }
#bn-account-content .bn-form .bn-product:last-of-type { border-bottom: 0; border-radius: 0 0 6px 6px; }
#bn-account-content .bn-form .bn-product:only-of-type { border-radius: 6px; }
#bn-account-content .bn-form .bn-product:hover { background: #faf8f5; }
#bn-account-content .bn-form .bn-product.bn-selected {
    background: var(--bn-pale);
    box-shadow: inset 3px 0 0 var(--bn-orange);
}
#bn-account-content .bn-form .bn-product.bn-product-static {
    grid-template-columns: minmax(0, 1fr) minmax(80px, 115px) minmax(115px, 150px);
    grid-template-areas: 'name details price';
    border: 0;
    border-radius: 6px;
    cursor: default;
    background: var(--bn-pale);
    box-shadow: inset 3px 0 0 var(--bn-orange);
}
#bn-account-content .bn-form .bn-product input[type=radio],
#bn-account-content .bn-form .bn-product input[type=checkbox],
#bn-account-content .bn-form .bn-payment input[type=radio],
#bn-account-content .bn-form .bn-payment input[type=checkbox] {
    grid-area: choice;
    float: none;
    position: static;
    display: inline-block;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    accent-color: #b8510b;
    cursor: inherit;
    box-shadow: none;
    transform: none;
}
#bn-account-content .bn-form .bn-product .am-product-title {
    grid-area: name;
    display: block;
    margin: 0;
    color: var(--bn-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
#bn-account-content .bn-form .bn-product .am-product-desc {
    grid-area: details;
    display: block;
    margin: 0;
    font-size: 12px;
    font-weight: 400;
    color: var(--bn-muted);
    line-height: 1.5;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
#bn-account-content .bn-form .bn-product .am-product-terms {
    grid-area: price;
    display: block;
    margin: 0;
    color: var(--bn-ink);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: right;
    font-variant-numeric: tabular-nums;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
#bn-account-content .bn-form .bn-product.bn-selected .am-product-terms,
#bn-account-content .bn-form .bn-product-static .am-product-terms { color: var(--bn-orange-dark); }
#bn-account-content .bn-form .bn-product .bn-money {
    display: block;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 700;
    white-space: normal;
}
#bn-account-content .bn-form .bn-product .bn-term-note {
    display: block;
    color: var(--bn-muted);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 400;
    margin-top: 2px;
}
#bn-account-content .bn-form .bn-product .am-product-terms b,
#bn-account-content .bn-form .bn-product .am-product-terms strong { color: inherit; font-weight: inherit; }
#bn-account-content .bn-form .bn-product .am-product-desc p { margin: 0 0 4px; }
#bn-account-content .bn-form .bn-product.bn-long-description {
    grid-template-areas: 'choice name name price' 'choice details details price';
}
#bn-account-content .bn-form .bn-product.bn-product-static.bn-long-description {
    grid-template-areas: 'name name price' 'details details price';
}
#bn-account-content .bn-form .bn-product.bn-no-description {
    grid-template-areas: 'choice name name price';
}
#bn-account-content .bn-form .bn-product.bn-product-static.bn-no-description {
    grid-template-areas: 'name name price';
}
/* Payment choices stay compact; their original descriptions and links remain. */
#bn-account-content .bn-form .bn-payment {
    display: grid;
    grid-template-columns: 21px minmax(0, 1fr);
    grid-template-areas: 'choice name' 'choice description';
    column-gap: 12px;
    row-gap: 2px;
    align-items: start;
    border: 0;
    border-bottom: 1px solid #e8e8e7;
    padding: 12px 16px;
    margin: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bn-ink);
    cursor: pointer;
    line-height: 1.5;
    box-shadow: none;
    min-width: 0;
}
#bn-account-content .bn-form .bn-payment:first-child { border-radius: 6px 6px 0 0; }
#bn-account-content .bn-form .bn-payment:last-of-type { border-bottom: 0; border-radius: 0 0 6px 6px; }
#bn-account-content .bn-form .bn-payment:only-of-type { border-radius: 6px; }
#bn-account-content .bn-form .bn-payment:hover { background: #faf8f5; }
#bn-account-content .bn-form .bn-payment.bn-selected {
    background: var(--bn-pale);
    box-shadow: inset 3px 0 0 var(--bn-orange);
}
#bn-account-content .bn-form .bn-payment input[type=radio],
#bn-account-content .bn-form .bn-payment input[type=checkbox] { margin-top: 2px; }
#bn-account-content .bn-form .bn-payment .am-paysystem-title {
    grid-area: name;
    color: var(--bn-ink);
    font-size: 14px;
    font-weight: 650;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}
#bn-account-content .bn-form .bn-payment .am-paysystem-desc {
    grid-area: description;
    display: block;
    color: var(--bn-muted);
    font-size: 12px;
    font-weight: 400;
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}
#bn-account-content .bn-form .bn-payment .am-paysystem-desc p { margin: 3px 0 0; }
#bn-account-content .bn-form .bn-product.bn-disabled,
#bn-account-content .bn-form .bn-payment.bn-disabled { opacity: .58; cursor: not-allowed; }
/* Display:none set by aMember wins over our grid; never reveal hidden choices. */
#bn-account-content .bn-form .bn-product[hidden],
#bn-account-content .bn-form .bn-payment[hidden],
#bn-account-content .bn-form .am-row[hidden] { display: none !important; }
/* Account fields: compact horizontal layout on desktop, stacked on phones. */
#bn-account-content .bn-form .bn-field-row {
    display: grid;
    grid-template-columns: minmax(180px, 29%) minmax(0, 1fr);
    column-gap: 26px;
    align-items: start;
    border-top: 1px solid #efefee;
    padding: 17px 0;
}
#bn-account-content .bn-form .bn-field-row > .am-element-title { padding-top: 10px; }
#bn-account-content .bn-form input[type=text],
#bn-account-content .bn-form input[type=email],
#bn-account-content .bn-form input[type=password],
#bn-account-content .bn-form input[type=tel],
#bn-account-content .bn-form input[type=number],
#bn-account-content .bn-form input[type=url],
#bn-account-content .bn-form select,
#bn-account-content .bn-form textarea {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    min-height: 45px;
    border: 1px solid #c9cccf;
    border-radius: 5px;
    background: #fff;
    color: var(--bn-ink);
    padding: 10px 12px;
    margin: 0;
    box-shadow: inset 0 1px 2px rgba(20, 25, 30, .025);
    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    vertical-align: middle;
}
#bn-account-content .bn-form input::placeholder,
#bn-account-content .bn-form textarea::placeholder { color: #85898f; opacity: 1; }
#bn-account-content .bn-form .bn-name-fields { display: flex; flex-wrap: wrap; gap: 10px; }
#bn-account-content .bn-form .bn-name-fields input[name=name_f],
#bn-account-content .bn-form .bn-name-fields input[name=name_l] { flex: 1 1 40%; width: calc(50% - 5px) !important; }
#bn-account-content .bn-form .bn-name-fields label.am-error,
#bn-account-content .bn-form .bn-name-fields label.error { flex-basis: 100%; }
#bn-account-content .bn-form input[type=checkbox] { accent-color: #b8510b; }
#bn-account-content .bn-form input:focus-visible,
#bn-account-content .bn-form select:focus-visible,
#bn-account-content .bn-form textarea:focus-visible,
#bn-account-content .bn-form button:focus-visible,
#bn-account-content .bn-form a:focus-visible,
#bn-account-content .bn-form .agreement:focus-visible {
    outline: 2px solid #a84c0d !important;
    outline-offset: 3px;
}
#bn-account-content .bn-form .bn-product:focus-within,
#bn-account-content .bn-form .bn-payment:focus-within { box-shadow: inset 3px 0 0 var(--bn-orange); }
#bn-account-content .bn-form input.am-error,
#bn-account-content .bn-form textarea.am-error,
#bn-account-content .bn-form select.am-error,
#bn-account-content .bn-form input.error,
#bn-account-content .bn-form input[aria-invalid=true] {
    color: #742727;
    border-color: #b64242;
    background: #fff4f4 !important;
}
#bn-account-content .bn-form label.am-error,
#bn-account-content .bn-form label.error,
#bn-account-content .bn-form span.am-error {
    display: block;
    color: #a12424;
    background: none;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    margin: 6px 0 0;
    white-space: normal;
}
/* Preserve every word of the agreement, without a pages-long form. */
#bn-account-content .bn-form fieldset {
    border: 0;
    border-top: 1px solid var(--bn-line);
    border-radius: 0;
    background: none;
    box-shadow: none;
    min-width: 0;
    padding: 16px 0 0;
    margin: 14px 0 0;
}
#bn-account-content .bn-form fieldset legend {
    float: none;
    width: auto;
    padding: 0 12px 0 0;
    color: var(--bn-ink);
    background: #fff;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.4;
    border: 0;
}
#bn-account-content .bn-form .agreement {
    max-height: 190px;
    overflow: auto;
    overscroll-behavior: contain;
    white-space: pre-line;
    color: #555b62;
    background: #f7f7f6;
    border: 1px solid var(--bn-line);
    border-radius: 5px;
    padding: 14px 16px;
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
    font-weight: 400;
    scrollbar-width: thin;
}
#bn-account-content .bn-form .bn-agreement-check {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    column-gap: 10px;
    align-items: start;
    padding: 12px 0 6px;
}
#bn-account-content .bn-form .bn-agreement-check > .am-element-title {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 1;
}
#bn-account-content .bn-form .bn-agreement-check > .am-element-title label { cursor: pointer; font-size: 13px; font-weight: 500; }
#bn-account-content .bn-form .bn-agreement-check > .am-element {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 6px 10px;
    align-items: start;
}
#bn-account-content .bn-form .bn-agreement-check input[type=checkbox] {
    grid-column: 1;
    grid-row: 1;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
}
#bn-account-content .bn-form .bn-agreement-check .am-element > label,
#bn-account-content .bn-form .bn-agreement-check .am-element > .am-error {
    grid-column: 1 / -1;
    grid-row: 2;
}
#bn-account-content .bn-form .bn-captcha-row { max-width: 100%; overflow-x: auto; }
#bn-account-content .bn-form .bn-submit-row { border-top: 1px solid #efefee; padding: 22px 0 0; margin-top: 12px; }
#bn-account-content .bn-form .bn-submit-row > .am-element { text-align: center; }
#bn-account-content .bn-form input[type=submit],
#bn-account-content .bn-form button[type=submit],
#bn-account-content .bn-form .am-cta-signup {
    appearance: none;
    display: inline-block;
    min-width: 240px;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 32px;
    margin: 0;
    border: 1px solid #db6b17;
    border-radius: 5px !important;
    background: #ee7c22 !important;
    background-image: none !important;
    color: #201c18 !important;
    font-family: inherit;
    font-size: 16px !important;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    text-shadow: none;
    white-space: normal;
    box-shadow: 0 2px 0 #c45d13;
    cursor: pointer;
}
#bn-account-content .bn-form input[type=submit]:hover,
#bn-account-content .bn-form button[type=submit]:hover { background: #f38b38 !important; }
#bn-account-content .bn-form input[type=submit]:disabled,
#bn-account-content .bn-form button[type=submit]:disabled { opacity: .6; cursor: not-allowed; }
/* Existing introductory HTML is retained; payment logos become one neat strip. */
#bn-account-content .bn-form .bn-info-row { padding: 0 0 24px; }
#bn-account-content .bn-form .bn-info-block {
    color: #62666b;
    font-size: 12px;
    line-height: 1.6;
    text-align: center;
    overflow-wrap: anywhere;
}
#bn-account-content .bn-form .bn-info-block p { margin: 0 0 12px; }
#bn-account-content .bn-form .bn-info-block b,
#bn-account-content .bn-form .bn-info-block strong { color: inherit; font-weight: 500; }
#bn-account-content .bn-form .bn-info-block img { max-width: 100%; height: auto; }
#bn-account-content .bn-form .bn-info-block table {
    width: 100%;
    border: 1px solid #edddcd;
    border-left: 3px solid var(--bn-orange);
    border-radius: 4px;
    border-collapse: separate;
    margin: 10px 0 14px;
    background: #fffbf6;
}
#bn-account-content .bn-form .bn-info-block th,
#bn-account-content .bn-form .bn-info-block td {
    background: transparent;
    border: 0;
    color: #606368;
    padding: 9px 12px;
    font-size: 12px;
    font-weight: 400;
}
#bn-account-content .bn-form .bn-info-block td p,
#bn-account-content .bn-form .bn-info-block th p { margin: 0; }
#bn-account-content .bn-form .bn-logo-strip {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
    padding: 1px 0 12px;
}
#bn-account-content .bn-form .bn-logo-strip p { display: flex; align-items: center; margin: 0; max-width: 100%; }
#bn-account-content .bn-form .bn-logo-strip img { max-height: 36px; width: auto; max-width: 190px; object-fit: contain; }
@media (max-width: 700px) {
    body.bn-signup-page #main { padding: 22px 16px 32px; }
    #bn-account-content .bn-form { padding: 20px; }
    #bn-account-content .bn-form .bn-field-row { grid-template-columns: minmax(0, 1fr); gap: 7px; padding: 13px 0; }
    #bn-account-content .bn-form .bn-field-row > .am-element-title { padding: 0; }
    #bn-account-content .bn-form .bn-product { grid-template-columns: 20px minmax(0, 1fr) 125px; grid-template-areas: 'choice name price' 'choice details price'; gap: 2px 10px; padding: 11px 13px; }
    #bn-account-content .bn-form .bn-product.bn-long-description,
    #bn-account-content .bn-form .bn-product.bn-no-description { grid-template-areas: 'choice name price' 'choice details price'; }
    #bn-account-content .bn-form .bn-product.bn-product-static,
    #bn-account-content .bn-form .bn-product.bn-product-static.bn-long-description,
    #bn-account-content .bn-form .bn-product.bn-product-static.bn-no-description { grid-template-columns: minmax(0, 1fr) 125px; grid-template-areas: 'name price' 'details price'; }
    #bn-account-content .bn-form .bn-product.bn-long-terms { grid-template-areas: 'choice name name' 'choice details details' '. price price'; }
    #bn-account-content .bn-form .bn-product.bn-product-static.bn-long-terms { grid-template-areas: 'name name' 'details details' 'price price'; }
    #bn-account-content .bn-form .bn-product.bn-long-terms .am-product-terms { text-align: left; margin-top: 6px; padding-top: 6px; border-top: 1px solid #e9dfd3; font-size: 13px; }
}
@media (max-width: 460px) {
    body.bn-signup-page #main { padding: 18px 10px 28px; }
    #bn-account-content .bn-form { padding: 16px 12px 20px; border-radius: 7px; }
    #bn-account-content .bn-signup .am-login-text { padding: 11px 12px; font-size: 13px; margin-bottom: 12px; }
    #bn-account-content .bn-form .bn-product { grid-template-columns: 18px minmax(0, 1fr) 90px; column-gap: 8px; padding: 10px; }
    #bn-account-content .bn-form .bn-product.bn-product-static { grid-template-columns: minmax(0, 1fr) 90px; }
    #bn-account-content .bn-form .bn-product .am-product-title { font-size: 14px; }
    #bn-account-content .bn-form .bn-product .am-product-desc { font-size: 11px; }
    #bn-account-content .bn-form .bn-product .bn-money { font-size: 18px; }
    #bn-account-content .bn-form .bn-product .bn-term-note { font-size: 10px; }
    #bn-account-content .bn-form .bn-payment { padding: 11px 10px; column-gap: 8px; grid-template-columns: 18px minmax(0, 1fr); }
    #bn-account-content .bn-form .bn-payment .am-paysystem-title { font-size: 13px; }
    #bn-account-content .bn-form .bn-payment .am-paysystem-desc { font-size: 11px; }
    #bn-account-content .bn-form .bn-logo-strip { gap: 10px 15px; }
    #bn-account-content .bn-form .bn-logo-strip img { max-height: 28px; max-width: 145px; }
    #bn-account-content .bn-form .bn-wide-row > .am-element-title label { font-size: 16px; }
    #bn-account-content .bn-form input[type=submit],
    #bn-account-content .bn-form button[type=submit] { min-width: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    #bn-account-content .bn-form .bn-product { transition: none; }
}

/* v1.0.1: logged-in member navigation.
   Let the bar grow to contain its links (including wrapped rows). An old
   fixed height or a previously measured inline height must not crop text.
   Do not use overflow:hidden/auto here: affiliate dropdowns need to extend
   outside the bar. Keep the native tab colors, padding, selected state,
   display:none rules, links and aMember's own menu JavaScript unchanged. */
#bn-account-content .am-tabs-wrapper,
#bn-account-content ul.am-tabs {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}
#bn-account-content ul.am-tabs {
    white-space: normal;
}
/* Contain the native floated tabs without clipping dropdown menus. */
#bn-account-content ul.am-tabs::after {
    content: "";
    display: table;
    clear: both;
}
#bn-account-content ul.am-tabs > li {
    height: auto !important;
    max-height: none !important;
    max-width: 100%;
    overflow: visible;
}
#bn-account-content ul.am-tabs > li > a {
    height: auto !important;
    max-height: none !important;
    white-space: normal;
    overflow-wrap: break-word;
}

/* v1.0.2: Keep the aMember LOGIN and lost-password panels within their
   actual mobile parent width. The existing aMember theme/core login form may
   have an intrinsic width plus padding; its default content-box sizing can
   make the inner card run off the right edge. No changes to the header,
   footer, captcha scripts, login processing, or signup selector. */
@media (max-width: 700px) {
    #bn-account-content .am-login-form-wrapper,
    #bn-account-content .am-sendpass-form-wrapper {
        box-sizing: border-box !important;
        /* Do not force display here: aMember hides and shows these panels. */
        float: none !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #bn-account-content .am-login-form-wrapper > .am-form,
    #bn-account-content .am-sendpass-form-wrapper > .am-form {
        box-sizing: border-box !important;
        float: none !important;
        position: relative;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #bn-account-content .am-login-form-wrapper .am-form form,
    #bn-account-content .am-sendpass-form-wrapper .am-form form,
    #bn-account-content .am-login-form-wrapper .am-form fieldset,
    #bn-account-content .am-sendpass-form-wrapper .am-form fieldset {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    #bn-account-content .am-login-form-wrapper .am-form .row,
    #bn-account-content .am-sendpass-form-wrapper .am-form .row,
    #bn-account-content .am-login-form-wrapper .am-form .element,
    #bn-account-content .am-sendpass-form-wrapper .am-form .element,
    #bn-account-content .am-login-form-wrapper .am-form .am-row-recaptcha,
    #bn-account-content .am-sendpass-form-wrapper .am-form .am-row-recaptcha {
        box-sizing: border-box;
        min-width: 0 !important;
        max-width: 100%;
    }
    #bn-account-content .am-login-form-wrapper .am-form input,
    #bn-account-content .am-sendpass-form-wrapper .am-form input {
        box-sizing: border-box;
        max-width: 100%;
    }
}
/* Reclaim nested padding on phones. A Cloudflare Turnstile interactive widget
   needs its normal ~300px width; do not clip or resize the widget itself. */
@media (max-width: 480px) {
    #bn-account-content .am-body-content-content:has(.am-login-form-wrapper),
    #bn-account-content .am-body-content-content:has(.am-sendpass-form-wrapper) {
        box-sizing: border-box !important;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding-left: 7px !important;
        padding-right: 7px !important;
    }
    #bn-account-content .am-login-form-wrapper > .am-form,
    #bn-account-content .am-sendpass-form-wrapper > .am-form {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    #bn-account-content .am-login-form-wrapper .am-form fieldset,
    #bn-account-content .am-sendpass-form-wrapper .am-form fieldset {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
/* Small phones: avoid inherited desktop-width outer columns; retain the
   natural-sized (and interactive) Turnstile widget without horizontal scroll. */
@media (max-width: 392px) {
    body:has(#bn-account-content .am-login-form-wrapper) #main,
    body:has(#bn-account-content .am-sendpass-form-wrapper) #main {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
    body:has(#bn-account-content .am-login-form-wrapper) #main > .fusion-row,
    body:has(#bn-account-content .am-sendpass-form-wrapper) #main > .fusion-row {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #bn-account-content .am-body-content-content:has(.am-login-form-wrapper),
    #bn-account-content .am-body-content-content:has(.am-sendpass-form-wrapper) {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
    #bn-account-content .am-login-form-wrapper > .am-form,
    #bn-account-content .am-sendpass-form-wrapper > .am-form {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
}
