/* ============================================================
   Publications subscription block  (added)
   Self-contained styles, scoped under .m-subscribe / .m-subscribe-box.
   Colour #073871 = SNB brand blue (matches theme-color in <head>).
   ============================================================ */

.m-subscribe {
	max-width: 34rem;
}

.m-subscribe__field {
	margin-bottom: 1.25rem;
}

.m-subscribe__label {
	display: block;
	margin-bottom: .4rem;
	color: #073871;
}

.m-subscribe__input {
	width: 100%;
	box-sizing: border-box;
	padding: .7rem .9rem;
	border: 1px solid #b8c2cc;
	border-radius: 0;
	background: #fff;
	color: #1a1a1a;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.m-subscribe__input::placeholder {
	color: #9aa7b2;
}

.m-subscribe__input:hover {
	border-color: #7d8b98;
}

.m-subscribe__input:focus,
.m-subscribe__input:focus-visible {
	outline: none;
	border-color: #073871;
	box-shadow: 0 0 0 2px rgba(7, 56, 113, .18);
}

.m-subscribe__input.is-invalid {
	border-color: #c0261f;
	box-shadow: 0 0 0 2px rgba(192, 38, 31, .14);
}

/* inline field-level error messages */
.m-subscribe__error {
	display: none;
	margin-top: .35rem;
	color: #c0261f;
	font-size: .85em;
	line-height: 1.35;
}

.m-subscribe__error.is-visible {
	display: block;
}

/* consent row — native checkbox, styled to match the brand */
.m-subscribe__consent {
	display: flex;
	gap: .6rem;
	align-items: flex-start;
	cursor: pointer;
}

.m-subscribe__checkbox {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: .15rem;
	accent-color: #073871;
	cursor: pointer;
}

/* message shown under the form after a valid submit */
.m-subscribe__after {
	display: none;
	max-width: 34rem;
}

.m-subscribe__after.is-visible {
	display: block;
}

.m-subscribe__secure {
	color: #c0261f;
	font-weight: 700;
}

.m-subscribe__secure a {
	color: inherit;
	font-weight: inherit;
	text-decoration: underline;
}
