/* Account views only. Joomla owns fields, validation, authentication and recovery. */
.wwm-site .wwm-main:has(.wwm-users-page) > #system-message-container { max-width: var(--wwm-users-width, 30rem); margin-inline: auto; }
.wwm-users-page { width: 100%; max-width: var(--wwm-users-width, 30rem); margin: 0 auto; font: 16px/1.5 var(--wwm-form-font, Arial, Helvetica, sans-serif); color: var(--wwm-text, #172033); }
.wwm-users-brand { display: flex; align-items: center; justify-content: center; width: 205px; max-width: 100%; min-height: 48px; margin: 0 auto clamp(1.5rem, 4vw, 2rem); text-decoration: none; }
.wwm-users-page .wwm-users-brand img { display: block; width: 205px; height: 48px; object-fit: contain; }
.wwm-users-card { padding: clamp(1.25rem, 3vw, 1.875rem); border: 1px solid var(--wwm-border, #dfe4ea); border-radius: var(--wwm-radius, .75rem); background: var(--wwm-surface, #fff); overflow-wrap: break-word; }
.wwm-users-card h1 { margin: 6px 0 1rem; font-family: inherit; font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); line-height: 1.25; font-weight: 700; }
.wwm-users-card p { margin: 0 0 1rem; }
.wwm-users-card fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.wwm-users-description, .wwm-users-image { margin-bottom: 1rem; }
.wwm-users-form .control-group { margin: 0 0 1rem; }
.wwm-users-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; }
.wwm-users-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), .wwm-users-form select, .wwm-users-form textarea { box-sizing: border-box; display: block; width: 100%; min-width: 0; min-height: 44px; padding: 10px 11px; border: 1px solid var(--wwm-form-input-border, #aeb8c8); border-radius: 7px; background: var(--wwm-surface, #fff); color: inherit; font: inherit; }
.wwm-users-form input:focus, .wwm-users-form select:focus, .wwm-users-form textarea:focus { outline: 2px solid var(--wwm-form-focus, #175cd3); outline-offset: 2px; }
.wwm-users-form .input-group, .wwm-users-form .input-prepend, .wwm-users-form .input-append { display: flex; align-items: stretch; gap: .375rem; }
.wwm-users-form .input-group > input, .wwm-users-form .input-prepend > input, .wwm-users-form .input-append > input { flex: 1 1 0; }
.wwm-users-form .input-group-append, .wwm-users-form .input-group-prepend, .wwm-users-form .add-on { display: flex; align-items: center; flex: 0 0 auto; }
.wwm-users-form .add-on { padding: .5rem; }
.wwm-users-form button { font: inherit; cursor: pointer; }
.wwm-users-form .input-group button, .wwm-users-form .input-append button { min-width: 44px; min-height: 44px; border: 1px solid var(--wwm-form-input-border, #aeb8c8); border-radius: 7px; background: var(--wwm-surface, #fff); color: inherit; }
.wwm-users-form .wwm-users-submit { min-height: 44px; padding: 10px 15px; border: 1px solid transparent; border-radius: 7px; color: #fff; background: var(--wwm-accent, #025b97); font-weight: 700; }
.wwm-users-submit:hover { text-decoration: underline; }
.wwm-users-links { display: flex; flex-direction: column; align-items: flex-start; gap: .375rem; margin-top: 1rem; }
.wwm-users-links a { text-decoration: underline; text-underline-offset: .15em; }
.wwm-users-form .invalid, .wwm-users-form [aria-invalid="true"] { border-color: #b42318; }
.wwm-users-form label.invalid { color: #b42318; }
@media (forced-colors: active) { .wwm-users-card { border-color: CanvasText; } .wwm-users-form .wwm-users-submit { background: ButtonFace; color: ButtonText; border-color: ButtonText; } }

/* Standalone Convert Forms view only. Field visibility and widget layout stay extension-owned. */
.wwm-form-page { width: 100%; max-width: var(--wwm-form-width, 48rem); min-width: 0; margin: 0 auto; color: var(--wwm-text, #172033); font-family: var(--wwm-form-font, Arial, Helvetica, sans-serif); font-size: 16px; line-height: 1.5; }
.wwm-form-page .wwm-form-card { box-sizing: border-box; min-width: 0; padding: clamp(1.25rem, 3vw, 1.875rem); border: 1px solid var(--wwm-border, #dfe4ea); border-radius: var(--wwm-radius, .75rem); background: var(--wwm-surface, #fff); }
.wwm-form-page .wwm-form-heading, .wwm-site .convertforms h1 { margin: 6px 0 8px; color: inherit; font-family: inherit; font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem); font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
/* Per-form ID rules are emitted later by Convert Forms; important is limited to design tokens. */
.wwm-site .convertforms[id] {
    --font: var(--wwm-form-font, Arial, Helvetica, sans-serif) !important;
    --label-color: var(--wwm-text, #172033) !important;
    --label-size: 14px !important;
    --label-weight: 700 !important;
    --input-color: var(--wwm-text, #172033) !important;
    --input-placeholder-color: var(--wwm-muted, #667085) !important;
    --input-border-color: var(--wwm-form-input-border, #aeb8c8) !important;
    --input-border-radius: 7px !important;
    --input-size: 16px !important;
    --input-padding: 10px 11px !important;
    --input-background-color: var(--wwm-surface, #fff) !important;
    --control-gap: 8px !important;
    padding: 0; border: 0; background: transparent; max-width: none; line-height: 1.5;
}
.wwm-site .convertforms .cf-form-wrap { padding: 0; }
.wwm-site .convertforms p { margin: 0 0 12px; line-height: 1.5; }
.wwm-site .convertforms p:last-child { margin-bottom: 0; }
.wwm-site .convertforms .cf-label { line-height: 1.5; margin-bottom: 6px; }
.wwm-site .convertforms .cf-control-input { line-height: 1.5; }
.wwm-site .convertforms h2, .wwm-site .convertforms h3 { font-family: inherit; line-height: 1.3; margin: 0 0 12px; }
.wwm-site .convertforms input.cf-input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]),
.wwm-site .convertforms select.cf-input, .wwm-site .convertforms .tf-phone-control { min-height: 44px; }
.wwm-site .convertforms .cf-input { line-height: 1.5; }
.wwm-site .convertforms .tf-phone-control.cf-input { padding: 0; }
.wwm-site .convertforms textarea.cf-input { min-height: 120px; resize: vertical; }
.wwm-site .convertforms .cf-input:focus,
.wwm-site .convertforms .tf-phone-control:focus-within { outline: 2px solid var(--wwm-form-focus, #175cd3); outline-offset: 2px; }
/* The enclosing phone control owns its border/focus ring; retain the extension's flag and number padding. */
.wwm-site .convertforms .tf-phone-control .tf-phone-control--number:focus { outline: 0; box-shadow: none; }
.wwm-site .convertforms .cf-control-group[data-type="submit"] {
    --button-border-radius: 7px !important;
    --button-padding: 10px 15px !important;
    --button-font-size: 16px !important;
    --button-background-color: var(--wwm-accent, #025b97) !important;
    --button-color: #fff !important;
}
.wwm-site .convertforms .cf-btn { font-weight: 700; min-height: 44px; }
.wwm-site .convertforms a { text-decoration: underline; text-underline-offset: .15em; }
@media (forced-colors: active) { .wwm-form-page .wwm-form-card { border-color: CanvasText; background: Canvas; color: CanvasText; } }

/* Shared layout refinements; do not force field visibility or extension column layouts. */
.wwm-users-page, .wwm-form-page { box-sizing: border-box; margin-inline: auto; min-width: 0; }
.wwm-users-page-wide { max-width: var(--wwm-form-width, 48rem); }
.wwm-form-page-login { max-width: var(--wwm-users-width, 30rem); }
.wwm-users-card { box-sizing: border-box; }
.wwm-users-card fieldset + fieldset { margin-top: 1.5rem; }
.wwm-users-card legend { width: 100%; margin: 0 0 1rem; padding: 0; font-size: 1.125rem; font-weight: 700; }
.wwm-users-form .control-label { float: none; width: auto; text-align: start; }
.wwm-users-form .controls { margin-inline-start: 0; min-width: 0; }
.wwm-users-form label { width: auto; }
.wwm-users-form label:has(input[type="checkbox"]), .wwm-users-form label:has(input[type="radio"]) { display: flex; align-items: center; gap: .5rem; min-height: 44px; }
.wwm-users-form input[type="checkbox"], .wwm-users-form input[type="radio"] { width: 1.125rem; height: 1.125rem; flex: 0 0 auto; }
.wwm-users-form .optional, .wwm-form-note { font-size: .875rem; }
.wwm-form-note { margin-block: 1rem; }
.wwm-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.wwm-form-actions a { min-height: 44px; display: inline-flex; align-items: center; }
.wwm-users-card dl { margin: 0; }
.wwm-users-card dt { float: none; width: auto; text-align: start; font-weight: 700; }
.wwm-users-card dd { margin: 0 0 1rem; overflow-wrap: anywhere; }
.wwm-site .convertforms .cf-btn:focus-visible, .wwm-users-card a:focus-visible, .wwm-users-form button:focus-visible { outline: 2px solid var(--wwm-form-focus, #175cd3); outline-offset: 3px; }
@media (max-width: 480px) { .wwm-users-card, .wwm-form-page .wwm-form-card { padding: 1rem; } }

/* Convert Forms login only: preserve the existing card width and submit button. */
.wwm-form-page-login .wwm-form-card { padding-bottom: clamp(.75rem, 2vw, 1.5rem); }
.wwm-form-page-login .wwm-login-recovery { box-sizing: border-box; clear: both; flex: 0 0 100%; margin: .5rem 0 0; padding: 0; width: 100%; text-align: start; }
.wwm-form-page-login .wwm-login-register { margin: 0; }
.wwm-form-page-login .wwm-login-links { margin-top: 1rem; }
.wwm-form-page-login :is(.wwm-login-links, .wwm-login-recovery, .wwm-form-note) :is(i, svg, .icon) { display: none; }
.wwm-form-page-login :is(.wwm-login-links, .wwm-login-recovery, .wwm-form-note) a::before,
.wwm-form-page-login :is(.wwm-login-links, .wwm-login-recovery, .wwm-form-note) a::after { content: none; }

/* Match the login card spacing on the initial password reset request. */
.wwm-users-card:has(.wwm-reset-request) { padding-bottom: clamp(.75rem, 2vw, 1.5rem); }
.wwm-reset-request .wwm-reset-instructions { margin: 0 0 1rem; }
