/* TPR Press Club membership form — inherits the theme's type/colour so it reads
   as part of the site, not a bolted-on widget. */
.tpr-ms {
	max-width: 34rem;
	margin: 1.5rem 0;
	font-family: inherit;
}
.tpr-ms .req { color: #b3261e; }

.tpr-ms label,
.tpr-ms legend {
	display: block;
	font-weight: 600;
	margin: 1rem 0 .35rem;
	line-height: 1.35;
}
.tpr-ms input[type="text"],
.tpr-ms input[type="email"],
.tpr-ms input[type="number"] {
	width: 100%;
	padding: .6rem .7rem;
	border: 1px solid currentColor;
	border-color: rgba(128,128,128,.5);
	border-radius: 4px;
	font: inherit;
	background: transparent;
	color: inherit;
	box-sizing: border-box;
}
.tpr-ms input:focus-visible {
	outline: 2px solid #17499a;
	outline-offset: 1px;
}

.tpr-ms-tiers {
	border: 1px solid rgba(128,128,128,.35);
	border-radius: 6px;
	padding: .75rem 1rem 1rem;
	margin: 0 0 1rem;
}
.tpr-ms-tier {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	font-weight: 400;
	margin: .35rem 0;
	cursor: pointer;
}
.tpr-ms-tier input { margin: 0; flex: none; }
.tpr-ms-tier-label { font-weight: 600; }
.tpr-ms-tier-sub { opacity: .7; font-size: .9em; }
.tpr-ms-other { margin-top: .6rem; }

.tpr-ms-row {
	display: flex;
	gap: .75rem;
}
.tpr-ms-row > * { flex: 1 1 0; min-width: 0; }

.tpr-ms-check {
	display: flex;
	gap: .55rem;
	align-items: flex-start;
	font-weight: 400;
	line-height: 1.4;
	margin: 1rem 0;
}
.tpr-ms-check input { margin-top: .25rem; flex: none; }

.tpr-ms-address summary {
	cursor: pointer;
	font-weight: 600;
	margin: 1rem 0 .5rem;
}
.tpr-ms-address input { margin-bottom: .5rem; }

.tpr-ms-total {
	margin: 1.25rem 0 .75rem;
	font-size: 1.1rem;
}
#tpr-ms-payment { margin: 1rem 0; }

.tpr-ms-error:empty { display: none; }
.tpr-ms-error {
	color: #b3261e;
	margin: .75rem 0;
	font-weight: 600;
}

#tpr-ms-submit {
	width: 100%;
	padding: .8rem 1rem;
	font: inherit;
	font-weight: 700;
	color: #fff;
	background: #17499a;
	border: 0;
	border-radius: 4px;
	cursor: pointer;
}
#tpr-ms-submit:hover:not(:disabled) { background: #123a7c; }
#tpr-ms-submit:disabled { opacity: .6; cursor: default; }

.tpr-ms-fine {
	font-size: .85em;
	opacity: .7;
	margin-top: .6rem;
	text-align: center;
}

#tpr-ms-success {
	max-width: 34rem;
	padding: 1.25rem;
	border-left: 4px solid #17499a;
	background: rgba(23,73,154,.06);
}

@media (max-width: 480px) {
	.tpr-ms-row { flex-direction: column; gap: 0; }
}

/* CASL consent disclosure under the newsletter opt-in checkbox. */
.tpr-ms-consent {
	margin: -.4rem 0 1rem;
	font-size: .78em;
	line-height: 1.45;
	opacity: .75;
}
.tpr-ms-consent a { color: inherit; text-decoration: underline; }
