/* AltWire Newsletter: the signup form and the reader pages. Uses the AltWire
   theme's tokens when present, with plain fallbacks for other themes. */
.awnl-signup { margin: 2.5rem 0; padding: 1.25rem 1.25rem 1rem; border-top: 4px solid var(--aw-gold, #dbaf02); background: var(--aw-mist, #ecf3fa); border-radius: 0 0 var(--aw-radius, 4px) var(--aw-radius, 4px); }
.awnl-signup .awnl-title, .aw-content .awnl-signup .awnl-title { margin: 0 0 0.3rem; font: 600 1.35rem/1.2 var(--aw-head, inherit); text-transform: uppercase; letter-spacing: 0.02em; color: var(--aw-ink, inherit); }
.awnl-text { margin: 0 0 0.8rem; font: 0.95rem/1.5 var(--aw-ui, inherit); color: var(--aw-ink-2, inherit); }
.awnl-form { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: stretch; }
.awnl-email { flex: 1 1 14rem; min-width: 0; padding: 0.6rem 0.75rem; font: 1rem var(--aw-ui, inherit); color: var(--aw-ink, inherit); background: var(--aw-paper, #fff); border: 1px solid var(--aw-field-border, #c9c9d1); border-radius: var(--aw-radius, 4px); }
.awnl-button { padding: 0.6rem 1.1rem; border: 0; border-radius: var(--aw-radius, 4px); background: var(--aw-purple, #311451); color: #fff; font: 500 0.95rem/1 var(--aw-head, inherit); letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; }
.awnl-button:hover { background: var(--aw-purple-2, #4a2377); }
.awnl-button[disabled] { opacity: 0.6; cursor: wait; }
.awnl-msg { flex-basis: 100%; margin: 0; min-height: 1.3em; font: 600 0.9rem/1.4 var(--aw-ui, inherit); color: var(--aw-purple-ink, #311451); }
.awnl-msg.is-error { color: #b32d2e; }
.awnl-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.awnl-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.awnl-page { max-width: var(--aw-text, 720px); padding-block: 2rem 3rem; font-family: var(--aw-ui, inherit); }
.awnl-page-title { margin: 0 0 0.5rem; }
.awnl-for { color: var(--aw-ink-2, inherit); margin: 0 0 1.5rem; }
.awnl-notice { padding: 0.7rem 0.9rem; border-left: 3px solid var(--aw-gold, #dbaf02); background: var(--aw-mist, #ecf3fa); }
.awnl-error { padding: 0.7rem 0.9rem; border-left: 3px solid #b32d2e; background: var(--aw-mist, #fbeaea); }
.awnl-prefs fieldset { margin: 0 0 1.5rem; padding: 0; border: 0; }
.awnl-prefs legend { padding: 0; margin: 0 0 0.3rem; font: 600 1.15rem/1.2 var(--aw-head, inherit); text-transform: uppercase; letter-spacing: 0.02em; }
.awnl-help { margin: 0 0 0.5rem; font-size: 0.9rem; color: var(--aw-ink-2, inherit); }
.awnl-checks { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; }
.awnl-checks label { display: inline-flex; gap: 0.4rem; align-items: center; }
.awnl-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.45rem; border: 1px solid var(--aw-field-border, #c9c9d1); border-radius: var(--aw-radius, 4px); background: var(--aw-paper, #fff); }
.awnl-chip { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.2rem 0.3rem 0.2rem 0.6rem; border-radius: 999px; background: var(--aw-purple, #311451); color: #fff; font-size: 0.9rem; }
.awnl-chip-x { padding: 0 0.35rem; border: 0; background: transparent; color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; }
.awnl-chips .awnl-chip-input { box-shadow: none; flex: 1 1 10rem; min-width: 8rem; border: 0 !important; padding: 0.3rem; font: 1rem var(--aw-ui, inherit); background: transparent; color: var(--aw-ink, inherit); outline: none; }
.awnl-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }

/* Subscribers on this device, Follow, For you. */
.awnl-link { padding: 0; border: 0; background: none; color: var(--aw-ink-2, inherit); font: 0.85rem/1.4 var(--aw-ui, inherit); text-decoration: underline; cursor: pointer; }
.awnl-link:hover { color: var(--aw-purple-ink, inherit); }
.awnl-signin, .awnl-follow-signin { flex-basis: 100%; margin: 0; }
.awnl-subscribed { margin: 0; font: 0.95rem/1.5 var(--aw-ui, inherit); color: var(--aw-ink-2, inherit); }
.awnl-signup.awnl-is-subscriber { margin: 2rem 0; padding: 0.7rem 1rem; }
.awnl-follow { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 1rem 0; }
.awnl-follow-label { font: 600 0.9rem var(--aw-ui, inherit); color: var(--aw-ink-2, inherit); }
.awnl-follow-btn { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.8rem; border: 1.5px solid var(--aw-purple-ink, #311451); border-radius: 999px; background: transparent; color: var(--aw-purple-ink, #311451); font: 600 0.9rem/1.2 var(--aw-ui, inherit); cursor: pointer; }
.awnl-follow-btn:hover { background: var(--aw-purple, #311451); border-color: var(--aw-purple, #311451); color: #fff; }
.awnl-follow-btn[aria-pressed="true"] { background: var(--aw-purple, #311451); border-color: var(--aw-purple, #311451); color: #fff; }
.awnl-follow-icon { font-weight: 700; }
.awnl-follow-form { flex-basis: 100%; padding: 0.9rem 1rem; border-top: 4px solid var(--aw-gold, #dbaf02); background: var(--aw-mist, #ecf3fa); }
.awnl-follow-pitch { margin: 0 0 0.6rem; font: 0.95rem/1.45 var(--aw-ui, inherit); }
.awnl-follow-form.is-signin .awnl-follow-pitch { display: none; }
.awnl-why { margin: 0 0 0.35rem; font: 700 0.66rem/1.3 var(--aw-ui, inherit); letter-spacing: 0.07em; text-transform: uppercase; color: var(--aw-purple-ink, #311451); }
.aw-archive-head .awnl-follow { margin: 0.6rem 0 0; }
.awnl-device { margin-top: 2rem; font-size: 0.85rem; color: var(--aw-ink-2, inherit); }
.awnl-badge { display: inline-block; margin-left: 0.35rem; padding: 0.1rem 0.4rem; border-radius: 3px; background: var(--aw-gold, #dbaf02); color: #191919; font: 700 0.62rem/1.4 var(--aw-ui, sans-serif); letter-spacing: 0.06em; text-transform: uppercase; vertical-align: 0.15em; white-space: nowrap; }
/* wpDiscuz puts labels under the avatar: keep the badge small and centred there. */
/* wpDiscuz styles every span under #comments #wpdcom, hence the long selectors. */
#comments #wpdcom .awnl-badge, #wpdcom .wpd-comment .awnl-badge { display: inline-block; font-size: 0.62rem; line-height: 1.4; letter-spacing: 0.06em; text-transform: uppercase; }
#comments #wpdcom .wpd-comment-left .awnl-badge, #wpdcom .wpd-comment .wpd-comment-left .awnl-badge { display: block; width: max-content; margin: 6px auto 0; padding: 0.08rem 0.35rem; font-size: 0.55rem; }
button.awnl-link, .awnl-link { background: none !important; border: 0; padding: 0; text-transform: none; letter-spacing: normal; font-weight: 400; box-shadow: none; }

/* The subscriber menu in the header. */
.awnl-me, .awnl-in { position: relative; flex: none; }
.awnl-in[hidden], .awnl-me[hidden] { display: none; }
.awnl-me-btn { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--aw-ink, #191919); cursor: pointer; }
.awnl-me-btn:hover, .awnl-me-btn:focus-visible, .awnl-me-btn[aria-expanded="true"] { background: var(--aw-mist, #ecf3fa); color: var(--aw-purple-ink, #311451); }
.awnl-me-btn::after { content: ""; position: absolute; top: 9px; right: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--aw-gold, #dbaf02); }
.awnl-me-panel { position: absolute; right: 0; top: calc(100% + 10px); z-index: 60; width: min(360px, calc(100vw - 32px)); max-height: calc(100vh - 110px); overflow-y: auto; padding: 1rem 1.1rem 0.8rem; background: var(--aw-paper, #fff); color: var(--aw-ink, #191919); border: 1px solid var(--aw-line, #e3e3e8); border-top: 4px solid var(--aw-gold, #dbaf02); border-radius: 0 0 var(--aw-radius, 4px) var(--aw-radius, 4px); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18); font: 0.92rem/1.45 var(--aw-ui, sans-serif); }
.awnl-me-panel fieldset { margin: 0 0 0.9rem; padding: 0; border: 0; }
.awnl-me-panel legend { padding: 0; margin: 0 0 0.35rem; font: 600 0.95rem/1.2 var(--aw-head, inherit); text-transform: uppercase; letter-spacing: 0.03em; }
.awnl-me-title { margin: 0; font: 600 1.2rem/1.2 var(--aw-head, inherit); text-transform: uppercase; letter-spacing: 0.02em; }
.awnl-me-email { margin: 0.1rem 0 0.8rem; color: var(--aw-ink-2, #5b5b5b); font-size: 0.82rem; overflow-wrap: anywhere; }
.awnl-me-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.45rem; }
.awnl-me-none { color: var(--aw-ink-2, #5b5b5b); font-size: 0.85rem; }
.awnl-me-add, .awnl-me-panel select { width: 100%; padding: 0.45rem 0.6rem; font: 0.92rem var(--aw-ui, inherit); color: var(--aw-ink, inherit); background: var(--aw-paper, #fff); border: 1px solid var(--aw-field-border, #c9c9d1); border-radius: var(--aw-radius, 4px); }
.awnl-me-checks { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; }
.awnl-me-checks label, .awnl-me-badge { display: inline-flex; align-items: center; gap: 0.35rem; }
.awnl-me-status { min-height: 1.3em; margin: 0.5rem 0 0; font-weight: 600; color: var(--aw-purple-ink, #311451); font-size: 0.85rem; }
.awnl-me-foot { margin: 0.3rem 0 0; padding-top: 0.6rem; border-top: 1px solid var(--aw-line, #e3e3e8); font-size: 0.85rem; }
.awnl-me-foot a { color: var(--aw-ink-2, #5b5b5b); }
@media (max-width: 999px) {
	.awnl-me-panel { position: fixed; left: 16px; right: 16px; width: auto; }
}
[data-theme="dark"] .awnl-me-panel { background: #1c1c22; box-shadow: 0 14px 36px rgba(0, 0, 0, 0.65); }
a.awnl-badge, #wpdcom a.awnl-badge { color: #191919; text-decoration: none; }
a.awnl-badge:hover, a.awnl-badge:focus-visible, #wpdcom a.awnl-badge:hover { background: var(--aw-purple, #311451); color: #fff; }
.awnl-join-lead { font-size: 1.15rem; line-height: 1.55; max-width: 40em; }
.awnl-join-list { margin: 1.2rem 0 0; padding-left: 1.2rem; line-height: 1.6; }
.awnl-join-list li { margin-bottom: 0.4rem; }
.awnl-me-seg { display: inline-flex; border: 1px solid var(--aw-field-border, #c9c9d1); border-radius: 999px; overflow: hidden; }
.awnl-me-seg button { padding: 0.35rem 0.9rem; border: 0; background: transparent; color: var(--aw-ink, #191919); font: 600 0.85rem var(--aw-ui, sans-serif); text-transform: none; letter-spacing: normal; cursor: pointer; }
.awnl-me-seg button + button { border-left: 1px solid var(--aw-field-border, #c9c9d1); }
.awnl-me-seg button[aria-checked="true"] { background: var(--aw-purple, #311451); color: #fff; }
.awnl-me-hint { margin: 0.35rem 0 0; font-size: 0.78rem; color: var(--aw-ink-2, #5b5b5b); }

/* Sign in with Google: the button by the signup form, and the one question after signing in. */
.awnl-google { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 0.4rem 0.8rem; align-items: center; margin: 0.2rem 0 0; }
.awnl-google[hidden] { display: none; }
.awnl-or { flex-basis: 100%; font: 0.85rem/1.4 var(--aw-ui, inherit); color: var(--aw-ink-2, inherit); }
.awnl-gbtn { flex: 1 1 100%; min-width: 0; min-height: 44px; overflow: visible; }
.awnl-gbtn iframe { max-width: none; }
.awnl-subscribed .awnl-button { margin-left: 0.4rem; padding: 0.45rem 0.9rem; }
.awnl-ask { position: fixed; z-index: 1000; right: 16px; bottom: 16px; max-width: min(360px, calc(100vw - 32px)); margin: 0; padding: 1rem 1.1rem; border-top: 4px solid var(--aw-gold, #dbaf02); border-radius: var(--aw-radius, 4px); background: var(--aw-paper, #fff); color: var(--aw-ink, #1a1a1a); box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22); font: 0.95rem/1.45 var(--aw-ui, inherit); }
.awnl-ask p { margin: 0 0 0.6rem; }
.awnl-ask-title { font: 600 1.05rem/1.2 var(--aw-head, inherit); text-transform: uppercase; letter-spacing: 0.02em; }
.awnl-ask-actions { display: flex; gap: 1rem; align-items: center; margin: 0.2rem 0 0 !important; }

/* Sign in from the header (readers this device doesn't know). */
.awnl-in-btn::after { content: none; }
.awnl-in-text { margin: 0.35rem 0 0.8rem; color: var(--aw-ink-2, #5b5b5b); font-size: 0.88rem; }
.awnl-in-google { margin: 0 0 0.9rem; }
.awnl-in-email label { display: block; margin: 0 0 0.35rem; font-size: 0.85rem; color: var(--aw-ink-2, #5b5b5b); }
.awnl-in-row { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.awnl-in-row .awnl-email { flex: 1 1 11rem; }
.awnl-in-row .awnl-button { padding: 0.55rem 0.8rem; font-size: 0.85rem; }
.awnl-in-email .awnl-msg { margin-top: 0.4rem; font-size: 0.85rem; }

/* Cloudflare Turnstile: invisible unless Cloudflare asks the reader to tick a box. */
.awnl-turnstile { margin-top: 0.5rem; }
.awnl-turnstile:empty { margin: 0; }

/* Genres to start with, at signup (optional). After articles they appear once the reader is in the form. */
.awnl-genres { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.15rem 0 0; padding: 0; border: 0; }
.awnl-genres legend { float: left; margin: 0 0.35rem 0 0; padding: 0.3rem 0; font: 600 0.85rem/1.2 var(--aw-ui, inherit); color: var(--aw-ink-2, inherit); }
.awnl-genres label { position: relative; cursor: pointer; }
.awnl-genres input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.awnl-genres span { display: inline-block; padding: 0.3rem 0.7rem; border: 1px solid var(--aw-field-border, #c9c9d1); border-radius: 999px; font: 0.85rem/1.2 var(--aw-ui, inherit); }
.awnl-genres input:checked + span { background: var(--aw-purple, #311451); border-color: var(--aw-purple, #311451); color: #fff; }
.awnl-genres input:checked + span::before { content: "✓ "; }
.awnl-genres input:focus-visible + span { outline: 3px solid var(--aw-gold, #dbaf02); outline-offset: 2px; }
.awnl-form:not(:focus-within) .awnl-genres.is-on-focus:not(:has(:checked)) { display: none; }
.awnl-me-on { margin: 0 0 0.5rem; font-weight: 600; }
.awnl-me-label { display: block; margin: 0 0 0.2rem; font-size: 0.82rem; color: var(--aw-ink-2, #5b5b5b); }
.awnl-me-start { margin-top: 0.15rem; }
