/* Existing PMPro markup only: no fields, requirements or actions are replaced. */
body.ll-theme-membership-page { background: #fff7ed; }
.ll-theme-membership-page .content-container { max-width: 800px; padding: clamp(20px, 4vw, 48px) 20px 64px; }
.ll-theme-membership-page .entry-header { margin-bottom: 28px; }
.ll-theme-membership-page .entry-title,
.ll-theme-membership-page .pmpro h1,
.ll-theme-membership-page .pmpro h2,
.ll-theme-membership-page .pmpro h3,
.ll-theme-membership-page #pmpro_form h2,
.ll-theme-membership-page #pmpro_form h3 { font-family: 'Comic Neue', cursive; color: #1a202c; line-height: 1.25; }
.ll-theme-membership-page .entry-title { font-size: clamp(28px, 4vw, 34px); }
.ll-theme-membership-page .pmpro,
.ll-theme-membership-page #pmpro_form,
.ll-theme-membership-page #loginform { color: #2d3748; font: 16px/1.6 system-ui, sans-serif; min-width: 0; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) *,
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) { box-sizing: border-box; }
.ll-theme-membership-page .pmpro_card,
.ll-theme-membership-page #loginform { background: #fff; border: 1px solid #eee0d0; border-radius: 16px; box-shadow: 0 4px 10px rgb(0 0 0 / 3%); margin-bottom: 20px; overflow-wrap: anywhere; }
.ll-theme-membership-page .pmpro_card_content,
.ll-theme-membership-page .pmpro_card_actions,
.ll-theme-membership-page #loginform { padding: clamp(16px, 3vw, 28px); }
.ll-theme-membership-page .pmpro_card_title { padding: 20px 24px 0; margin: 0; font-size: 25px; }
.ll-theme-membership-page .pmpro_form_fieldset { min-width: 0; border: 0; padding: 0; margin: 0 0 24px; }
.ll-theme-membership-page .pmpro_form_field { margin-bottom: 20px; min-width: 0; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) label { font-weight: 700; font-size: 14px; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]):not([type=button]), select, textarea) {
 width: 100%; max-width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #91a4bd; border-radius: 8px; background: #fff; color: #1a202c; font: inherit;
}
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(input[type=checkbox], input[type=radio]) { width: 20px; height: 20px; margin: 4px 8px 4px 0; vertical-align: middle; flex-shrink: 0; }
.ll-theme-membership-page .pmpro_form_hint { color: #586a83; font-size: 13px; margin-top: 6px; }
.ll-theme-membership-page :where(.pmpro, #pmpro_form, #loginform) a { color: #215387; text-underline-offset: 3px; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(input, select, textarea, button, a):focus-visible { outline: 3px solid #215387; outline-offset: 3px; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, input[type=submit], button[type=submit]) {
 display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 12px 20px; border: 1px solid #c63e00; border-radius: 8px; background: #c63e00; color: #fff; font: 700 16px/1.3 system-ui, sans-serif; text-decoration: none; text-align: center; white-space: normal; cursor: pointer;
}
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, input[type=submit], button[type=submit]):hover { background: #a93000; border-color: #a93000; color: #fff; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(button:disabled, input:disabled) { opacity: .65; cursor: not-allowed; }
.ll-theme-membership-page .pmpro_btn.pmpro_btn-cancel { background: #fff; border-color: #91a4bd; color: #215387; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, input[type=submit], button[type=submit]) { min-height: var(--ll-button-height); padding: var(--ll-button-padding); font-size: var(--ll-button-font-size); line-height: var(--ll-button-line-height); }
/* PMPro action areas (return/account/etc.), not legal or editorial links. */
.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; padding: 12px 20px; border: 1px solid #c63e00; border-radius: 8px; background: #c63e00; color: #fff; font: 700 16px/1.3 system-ui, sans-serif; text-align: center; text-decoration: none; white-space: normal; transition: background .16s, border-color .16s; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, input[type=submit], button[type=submit]):is(:hover, :focus-visible),
.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a:is(:hover, :focus-visible) { background: #FFA126; border-color: #FFA126; color: #fff; text-decoration: none; }
.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a { min-height: var(--ll-button-height); padding: var(--ll-button-padding); font-size: var(--ll-button-font-size); line-height: var(--ll-button-line-height); }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_actions_nav, .pmpro_card_actions) a + a,
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_actions_nav, .pmpro_card_actions) a + a:is(:hover, :focus-visible) { background: #fff; border: 1px solid #c63e00; color: #c63e00; text-decoration: none; }
.ll-theme-membership-page .pmpro_message { padding: 16px; border-radius: 10px; margin-block: 16px; overflow-wrap: anywhere; }
.ll-theme-membership-page .pmpro_message:empty { display: none; }
.ll-theme-membership-page :is(.pmpro_error, .pmpro_message.pmpro_error) { border: 1px solid #bd2222; background: #fff4f4; color: #9e1717; }
.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) [aria-invalid=true] { border-color: #bd2222 !important; }
.ll-theme-membership-page .pmpro_table { width: 100%; table-layout: fixed; border-collapse: collapse; }
.ll-theme-membership-page .pmpro_table :is(th, td) { padding: 10px 6px; overflow-wrap: anywhere; border-bottom: 1px solid #e2e8f0; }
@media (max-width: 600px) {
 .ll-theme-membership-page :is(.pmpro_form_fields, .pmpro_cols-2, .pmpro_cols-3) { grid-template-columns: minmax(0, 1fr); }
 .ll-theme-membership-page .pmpro_form_submit :is(.pmpro_btn, input[type=submit]) { width: 100%; }
}
/* Explicit presentation overrides for native login/PMPro button rules. */
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]):not([type=button]), select, textarea) { background: #fff7ed; }
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px #fff7ed inset; -webkit-text-fill-color: #1a202c; }
/* Native login input backgrounds/autofill can override the generic form skin.
   Keep these exceptions confined to login fields, never checkboxes or errors. */
body.ll-theme-membership-page #loginform :is(#user_login, #user_pass) { background-color: #fff7ed !important; box-shadow: inset 0 0 0 1000px #fff7ed; color: #1a202c; }
body.ll-theme-membership-page #loginform input:is(:autofill, :-webkit-autofill) { box-shadow: inset 0 0 0 1000px #fff7ed !important; -webkit-box-shadow: inset 0 0 0 1000px #fff7ed !important; -webkit-text-fill-color: #1a202c; }
/* PMPro draws the eye with an explicit SVG stroke; color alone has no effect. */
body.ll-theme-membership-page .pmpro_form_field-password-toggle .pmpro_icon svg { stroke: #fff; }
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, input[type=submit], button[type=submit]),
body.ll-theme-membership-page #loginform :is(#wp-submit, button[type=button]),
body.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a { display: inline-flex; align-items: center; justify-content: center; min-height: var(--ll-button-height, 40px); padding: var(--ll-button-padding, 6px 16px); border: 1px solid #c63e00; border-radius: 8px; background: #c63e00; color: #fff; font: 700 var(--ll-button-font-size, 14px)/1.25 system-ui, sans-serif; text-decoration: none; }
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, input[type=submit], button[type=submit]):is(:hover, :focus-visible),
body.ll-theme-membership-page #loginform :is(#wp-submit, button[type=button]):is(:hover, :focus-visible),
body.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a:is(:hover, :focus-visible) { background: #a93000; border-color: #a93000; color: #fff; text-decoration: none; }
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_btn, button[type=button]) :is(.dashicons, svg) { color: #fff; }
body.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a + a,
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_actions_nav, .pmpro_card_actions) a + a { background: #fff; border-color: #c63e00; color: #c63e00; }
body.ll-theme-membership-page :is(.pmpro_actions_nav, .pmpro_card_actions) a + a:is(:hover, :focus-visible),
body.ll-theme-membership-page :is(.pmpro, #pmpro_form, #loginform) :is(.pmpro_actions_nav, .pmpro_card_actions) a + a:is(:hover, :focus-visible) { background: #fff7ed; border-color: #a93000; color: #a93000; }
