/* Public communications pages inherit the active theme; no brand palette. */
.sfm-public{box-sizing:border-box;max-width:760px;margin:40px auto;padding:0 16px;font:inherit;color:inherit;overflow-wrap:anywhere}
.sfm-public section{background:transparent;color:inherit;border:0;box-shadow:none;border-radius:14px;padding:clamp(22px,5vw,42px)}
.sfm-public h1,.sfm-account-preferences h2{color:inherit;font-size:clamp(24px,5vw,34px);line-height:1.25;margin:0 0 24px}
.sfm-public a{color:inherit;text-decoration:underline}
.sfm-public button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:7px;min-height:44px;max-width:100%;padding:12px 20px;font:inherit;cursor:pointer;white-space:normal;box-shadow:none}
.sfm-public input[type=checkbox]{width:20px;height:20px;vertical-align:middle;accent-color:auto}
.sfm-public label{display:block}.sfm-public p{margin:16px 0}
.sfm-public button:focus-visible,.sfm-public a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.sfm-account-link{margin:16px 0}
.sfm-account-link a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:40px;padding:9px 14px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;font:inherit;text-align:center;text-decoration:underline;white-space:normal;overflow-wrap:anywhere}
.sfm-account-link a:hover{background:transparent;color:inherit;text-decoration:underline}
.sfm-account-link a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* Unsubscribe/confirmation only: use the active theme's surrounding surface. */
.sfm-public.sfm-unsubscribe{font:inherit;color:inherit}
.sfm-unsubscribe section{background:transparent;color:inherit;border:0;box-shadow:none}
.sfm-unsubscribe h1{color:inherit}
.sfm-unsubscribe a{color:inherit;text-decoration:underline}
.sfm-unsubscribe button{background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none;font:inherit}
.sfm-unsubscribe button:focus-visible,.sfm-unsubscribe a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
/* Optional standalone signup: neutral surfaces and inherited theme colors. */
.sfm-signup{box-sizing:border-box;max-width:100%;margin:24px 0;padding:20px;border:1px var(--sfm-form-border-style,solid) var(--sfm-form-border,currentColor);border-radius:8px;color:var(--sfm-form-text,inherit);background:var(--sfm-form-background,transparent);font:inherit;overflow-wrap:anywhere}
.sfm-signup h2{color:inherit;font-size:1.35em;line-height:1.3}
.sfm-signup input[type=email]{box-sizing:border-box;width:100%;max-width:100%;padding:10px;background:transparent;color:inherit;border:1px solid currentColor;border-radius:4px;font:inherit}
.sfm-signup button{background:var(--sfm-form-primary,transparent);color:var(--sfm-form-button-text,inherit);border:1px solid var(--sfm-form-primary,currentColor);padding:10px 16px;border-radius:4px;font:inherit;cursor:pointer;white-space:normal;max-width:100%}
.sfm-signup input[type=checkbox]{accent-color:var(--sfm-form-primary,auto)}
.sfm-signup :focus-visible,.sfm-signup-close:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.sfm-signup-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.sfm-signup-dialog{box-sizing:border-box;width:min(560px,calc(100% - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px var(--sfm-form-border-style,solid) var(--sfm-form-border,currentColor);border-radius:8px;color:var(--sfm-form-text,CanvasText);background:var(--sfm-form-background,Canvas);font:inherit}
.sfm-signup-dialog::backdrop{background:rgb(0 0 0 / .45)}
.sfm-signup-dialog .sfm-signup{border:0;padding:0;background:transparent}
.sfm-signup-close{float:right;background:transparent;color:inherit;font:inherit;font-size:1.5em;border:1px solid currentColor;min-width:44px;min-height:44px;cursor:pointer}

/* Shared compact layout for narrow columns and automatic article footers. */
.sfm-signup--compact{min-width:0;margin:16px 0;padding:14px;line-height:1.45}
.sfm-signup--compact h2{font-size:1.1em;margin:0 0 12px}
.sfm-signup--compact p{margin:10px 0}
.sfm-signup--compact label{font-size:.9em}
.sfm-signup--compact button{width:100%;padding:9px 12px}
.sfm-signup--compact .sfm-signup-help{font-size:.85em;margin-bottom:0}
.sfm-signup-renew{font-size:.9em;margin:10px 0}
.sfm-signup-renew summary{cursor:pointer;text-decoration:underline;text-decoration-color:var(--sfm-form-primary,currentColor)}
.sfm-signup-renew summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* Neutral dual focus ring stays visible around filled buttons on light/dark surfaces. */
.sfm-signup button:focus-visible{outline-color:#000000;box-shadow:0 0 0 3px #ffffff}
/* Sidebar shortcode only: article/full/modal geometry stays unchanged. */
.sfm-signup--sidebar{padding:8px;line-height:1.3}
.sfm-signup--sidebar h2{font-size:1em;margin-bottom:5px}
.sfm-signup--sidebar p{margin:4px 0}
.sfm-signup--sidebar label{font-size:max(.9em,15px)}
.sfm-signup--sidebar input[type=email]{padding:7px 9px;min-height:44px}
.sfm-signup--sidebar button{padding:7px 10px;min-height:44px}
.sfm-signup--sidebar .sfm-signup-renew{margin:4px 0}
.sfm-signup--sidebar .sfm-signup-renew summary{min-height:28px}
.sfm-signup-trigger:focus-visible{outline:2px solid currentColor;outline-offset:3px}

.sfm-signup--sidebar .sfm-signup-help{font-size:max(.85em,14px);line-height:1.3}
.sfm-signup-dialog:not([open]){display:none}

/* Consent disclosure belongs only to the explicit compact shortcode. */
.sfm-signup--sidebar .sfm-signup-consent{font-size:max(.85em,15px);margin:4px 0;line-height:1.3}
.sfm-signup--sidebar .sfm-signup-consent summary{cursor:pointer;min-height:28px;text-decoration:underline;text-decoration-color:var(--sfm-form-primary,currentColor)}
.sfm-signup--sidebar .sfm-signup-consent summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
