/* ILP Newsletter. Loaded only on the newsletter page, on issue pages, and on any page that carries
   one of the newsletter shortcodes. Brand: purple #932f93, navy #183271, lilac #e4d4e4 and #f6eff6.

   Selectors start with `body` and name the element where Salient styles the same element, because
   Salient outranks a plain class in places (the gallery fix of 2026-09-25 is the example). */

.ilp-nl-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ---------- sign-up ---------- */

body .ilp-nl-signup {
	max-width: 620px;
	margin: 18px 0 30px;
	padding: 26px 28px 28px;
	background: #f6eff6;
	border: 1px solid #e4d4e4;
	border-radius: 12px;
	scroll-margin-top: 140px;
}
body .ilp-nl-signup .ilp-nl-form {
	margin: 0;
}
body .ilp-nl-signup .ilp-nl-field {
	margin: 0 0 20px;
	padding: 0;
}
body .ilp-nl-signup .ilp-nl-field--error {
	padding-left: 14px;
	border-left: 4px solid #8a2f28;
}
body .ilp-nl-signup label.ilp-nl-label {
	display: block;
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: #183271;
}
body .ilp-nl-signup input.ilp-nl-input[type="email"],
body .ilp-nl-signup input.ilp-nl-input[type="text"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 18px;
	line-height: 1.4;
	color: #1d2433;
	background: #ffffff;
	border: 2px solid #183271;
	border-radius: 6px;
	box-shadow: none;
}
body .ilp-nl-signup .ilp-nl-field--error input.ilp-nl-input[type="email"],
body .ilp-nl-signup .ilp-nl-field--error input.ilp-nl-input[type="text"] {
	border-color: #8a2f28;
}
body .ilp-nl-signup p.ilp-nl-error {
	margin: 0 0 8px;
	padding: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.45;
	color: #8a2f28;
}

/* The trap field: out of sight and out of the tab order, but not display:none, which the simplest
   programs know to skip. */
body .ilp-nl-signup .ilp-nl-trap {
	position: absolute !important;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

body .ilp-nl-signup .ilp-nl-tick {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
body .ilp-nl-signup .ilp-nl-tick input[type="checkbox"] {
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	margin: 1px 0 0;
	accent-color: #932f93;
	cursor: pointer;
}
body .ilp-nl-signup .ilp-nl-tick label {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.55;
	color: #1d2433;
	cursor: pointer;
}
body .ilp-nl-signup p.ilp-nl-privacy,
body .ilp-nl-signup p.ilp-nl-noscript {
	margin: 0 0 20px;
	padding: 0;
	font-size: 17px;
	line-height: 1.55;
	color: #3b4454;
}
body .ilp-nl-signup p.ilp-nl-testmode {
	margin: 0 0 20px;
	padding: 10px 14px;
	font-size: 15px;
	line-height: 1.5;
	color: #1d2433;
	background: #fff7d6;
	border: 2px dashed #8a6d00;
	border-radius: 6px;
}
body .ilp-nl-signup a {
	color: #5e1e5e;
	text-decoration: underline;
}
body .ilp-nl-signup a:hover {
	color: #932f93;
}
body .ilp-nl-signup button.ilp-nl-submit {
	display: inline-block;
	min-height: 48px;
	margin: 0;
	padding: 12px 28px;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #ffffff;
	background: #932f93;
	border: 2px solid #932f93;
	border-radius: 8px;
	cursor: pointer;
}
body .ilp-nl-signup button.ilp-nl-submit:hover {
	background: #7a277a;
	border-color: #7a277a;
}
body .ilp-nl-signup button.ilp-nl-submit[disabled] {
	opacity: 0.7;
	cursor: progress;
}
body .ilp-nl-signup input:focus-visible,
body .ilp-nl-signup button:focus-visible,
body .ilp-nl-signup a:focus-visible,
body .ilp-nl-signup .ilp-nl-panel:focus-visible,
body .ilp-nl-signup .ilp-nl-field--check:focus-visible,
body a.ilp-nl-file:focus-visible,
body .ilp-nl-card a:focus-visible,
body .ilp-nl-archive a:focus-visible {
	outline: 3px solid #183271;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px #ffffff;
}

/* ---------- state panels ---------- */

body .ilp-nl-signup .ilp-nl-panel {
	margin: 0 0 22px;
	padding: 18px 20px;
	background: #ffffff;
	border: 3px solid #183271;
	border-radius: 8px;
}
body .ilp-nl-signup .ilp-nl-panel:last-child {
	margin-bottom: 0;
}
body .ilp-nl-signup .ilp-nl-panel--problem {
	border-color: #8a2f28;
}
body .ilp-nl-signup .ilp-nl-panel--check,
body .ilp-nl-signup .ilp-nl-panel--confirmed {
	border-color: #068540;
}
body.ilp-service-page .row .col .ilp-nl-signup .ilp-nl-panel-title,
body .ilp-nl-signup .ilp-nl-panel-title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 21px;
	line-height: 1.35;
	color: #183271;
}
body.ilp-service-page .ilp-nl-signup h2.ilp-nl-panel-title::after {
	display: none;
}
body .ilp-nl-signup .ilp-nl-panel p {
	margin: 0 0 8px;
	padding: 0;
	font-size: 18px;
	line-height: 1.6;
	color: #1d2433;
}
body .ilp-nl-signup .ilp-nl-panel p:last-child {
	margin-bottom: 0;
}
body .ilp-nl-signup .ilp-nl-address {
	overflow-wrap: anywhere;
}
body .ilp-nl-signup .ilp-nl-summary ul,
body.ilp-service-page .main-content .ilp-nl-signup .ilp-nl-summary ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
body .ilp-nl-signup .ilp-nl-summary li,
body.ilp-service-page .main-content .ilp-nl-signup .ilp-nl-summary li + li {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
	font-size: 18px;
	line-height: 1.5;
}
body .ilp-nl-signup .ilp-nl-summary a {
	color: #8a2f28;
	font-weight: 700;
}

/* ---------- issue cards, archive, formats ---------- */

body .ilp-nl-card {
	display: flex;
	flex-wrap: wrap;
	margin: 18px 0 30px;
	background: #ffffff;
	border: 1px solid #e4d4e4;
	border-radius: 12px;
	overflow: hidden;
}
body .ilp-nl-card-media {
	flex: 1 1 260px;
	max-width: 360px;
	background: #f6eff6;
}
body .row .col .ilp-nl-card-media img,
body .ilp-nl-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
}
body .ilp-nl-card-body {
	flex: 2 1 320px;
	min-width: 0;
	padding: 22px 26px 24px;
}
body .ilp-nl-date,
body.ilp-service-page p.ilp-nl-date {
	margin: 0 0 4px;
	padding: 0;
	font-size: 16px;
	line-height: 1.4;
	color: #48525e;
}
body .ilp-nl-card-title,
body.ilp-service-page .row .col .ilp-nl-card-title,
body .ilp-nl-archive-title,
body.ilp-service-page .row .col .ilp-nl-archive-title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 22px;
	line-height: 1.35;
}
body .ilp-nl-card-title a,
body .ilp-nl-archive-title a {
	color: #183271;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
body .ilp-nl-card-title a:hover,
body .ilp-nl-archive-title a:hover {
	color: #932f93;
}
body .ilp-nl-card-summary,
body .ilp-nl-archive-summary {
	margin: 0 0 14px;
	padding: 0;
	font-size: 18px;
	line-height: 1.6;
	color: #1d2433;
}
body .ilp-nl-card-read {
	margin: 0 0 16px;
	padding: 0;
}
body .ilp-nl-files-intro,
body.ilp-service-page p.ilp-nl-files-intro {
	margin: 0 0 4px;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	color: #183271;
}
body .ilp-nl-files,
body.ilp-service-page .main-content .ilp-nl-files {
	margin: 0;
	padding: 0;
	list-style: none;
}
body .ilp-nl-files li,
body.ilp-service-page .main-content .ilp-nl-files li,
body.ilp-service-page .main-content .ilp-nl-files li + li {
	margin: 0;
	padding: 5px 0;
	list-style: none;
	font-size: 18px;
	line-height: 1.5;
}
body a.ilp-nl-file {
	color: #5e1e5e;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}
body a.ilp-nl-file:hover {
	color: #932f93;
}
body a.ilp-nl-file .ilp-nl-file-meta {
	font-weight: 400;
	color: #3b4454;
	white-space: nowrap;
}
body .ilp-nl-archive-list,
body.ilp-service-page .main-content .ilp-nl-archive-list {
	margin: 8px 0 28px;
	padding: 0;
	list-style: none;
}
body .ilp-nl-archive-item,
body.ilp-service-page .main-content .ilp-nl-archive-list li.ilp-nl-archive-item {
	margin: 0;
	padding: 20px 0 22px;
	list-style: none;
	border-bottom: 1px solid #e4d4e4;
}
body .ilp-nl-empty {
	margin: 12px 0 24px;
	padding: 14px 18px;
	font-size: 18px;
	line-height: 1.6;
	background: #f6eff6;
	border-radius: 8px;
}
body .ilp-nl-formats-list,
body.ilp-service-page .main-content .ilp-nl-formats-list {
	margin: 8px 0 16px 22px;
	padding: 0;
}
body .ilp-nl-formats-list li {
	font-size: 18px;
	line-height: 1.6;
}
body .ilp-nl-formats-free {
	font-weight: 700;
	color: #183271;
}

/* ---------- the three actions: Read online, then the downloads ---------- */

body .ilp-nl-actions,
body.ilp-service-page .main-content .ilp-nl-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
}
body .ilp-nl-actions li,
body.ilp-service-page .main-content .ilp-nl-actions li,
body.ilp-service-page .main-content .ilp-nl-actions li + li {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 1.3;
}
body a.ilp-nl-read,
body a.ilp-nl-actions-file {
	display: inline-block;
}
body a.ilp-nl-read {
	padding: 12px 24px;
	font-size: 17px;
	font-weight: 700;
	color: #ffffff !important;
	background: #932f93;
	border: 2px solid #932f93;
	border-radius: 8px;
	text-decoration: none !important;
}
body a.ilp-nl-read:hover {
	background: #7a277a;
	border-color: #7a277a;
}
body .ilp-nl-actions a.ilp-nl-file {
	display: inline-block;
	padding: 10px 18px;
	font-size: 16px;
	background: #ffffff;
	border: 2px solid #932f93;
	border-radius: 8px;
	text-decoration: none;
}
body .ilp-nl-actions a.ilp-nl-file:hover {
	background: #f6eff6;
}
body .ilp-nl-actions a.ilp-nl-file .ilp-nl-file-meta {
	font-size: 15px;
}
body .ilp-nl-landing-cover {
	margin: 0 0 22px;
}
body .row .col .ilp-nl-landing-cover img,
body .ilp-nl-landing-cover img {
	display: block;
	width: 100%;
	max-width: 720px;
	height: auto;
	margin: 0;
	border-radius: 12px;
}
body .ilp-nl-landing .ilp-nl-downloads {
	margin-top: 8px;
}

/* ---------- one issue ---------- */

body .ilp-nl-hero .ilp-nl-kicker {
	display: inline-block;
	padding: 5px 10px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: #ffffff;
	background: #932f93;
	border-radius: 999px;
}
body .ilp-nl-hero .ilp-news-single-meta,
body .ilp-nl-hero .ilp-news-date {
	color: #48525e;
}
body .ilp-nl-issue .ilp-nl-lead {
	margin: 0 0 22px;
	padding: 0;
	font-size: 20px;
	line-height: 1.6;
	color: #183271;
}
body .ilp-nl-issue .ilp-nl-downloads {
	margin: 0 0 30px;
	padding: 18px 22px 16px;
	background: #f6eff6;
	border: 1px solid #e4d4e4;
	border-radius: 12px;
}
body .ilp-nl-issue .row .col h2.ilp-nl-downloads-title,
body .ilp-nl-issue h2.ilp-nl-downloads-title,
body .ilp-nl-issue h2.ilp-nl-after-title {
	margin: 0 0 8px;
	padding: 0;
	font-size: 21px;
	line-height: 1.35;
	color: #183271;
}
body .ilp-nl-article h2 {
	margin: 1.5em 0 0.5em;
	font-size: clamp(22px, 1.2vw + 12px, 28px);
	line-height: 1.4;
	color: #183271;
}
body .ilp-nl-article h3 {
	margin: 1.3em 0 0.4em;
	font-size: clamp(18px, 0.8vw + 11px, 21px);
	line-height: 1.45;
	color: #183271;
}
body .ilp-nl-article p,
body .ilp-nl-article li {
	line-height: 1.75;
}
body .ilp-nl-article a {
	color: #5e1e5e;
	text-decoration: underline;
}
body .ilp-nl-article img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}
body .ilp-nl-issue .ilp-nl-after {
	clear: both;
	margin: 44px 0 10px;
	padding-top: 22px;
	border-top: 1px solid #d2dcec;
}

@media (max-width: 600px) {
	body .ilp-nl-signup {
		padding: 20px 16px 22px;
	}
	body .ilp-nl-card-media {
		max-width: none;
	}
	body .ilp-nl-card-body {
		padding: 18px 16px 20px;
	}
	body a.ilp-nl-file .ilp-nl-file-meta {
		white-space: normal;
	}
	body .ilp-nl-signup button.ilp-nl-submit {
		width: 100%;
	}
	body .ilp-nl-actions li,
	body .ilp-nl-actions a.ilp-nl-read,
	body .ilp-nl-actions a.ilp-nl-file {
		width: 100%;
		text-align: center;
	}
}

@media (prefers-reduced-motion: no-preference) {
	body .ilp-nl-signup button.ilp-nl-submit {
		transition: background-color 0.2s ease, border-color 0.2s ease;
	}
}
