/*
 * Public forms (DMCA notice, counter-notice, contact) and the agent block.
 * Structure and legibility only; every colour is a token for the design refresh.
 */
.tfh-notice-form, .tfh-dmca-agent {
	--tfhn-ink: #1e2a2e;
	--tfhn-muted: #6f7a80;
	--tfhn-line: #cfd4d6;
	--tfhn-surface: #ffffff;
	--tfhn-accent: #ba2e29;
	--tfhn-ok: #2f6b3a;
	--tfhn-radius: 6px;
}

/* px, not rem: the theme sets html to 10px, so 44rem was only 440px. */
.tfh-notice-form { max-width: 720px; margin: 1.5em 0 2.5em; color: var(--tfhn-ink); scroll-margin-top: 120px; /* clear the sticky header when jumping back to the form */ }
.tfh-notice-form .tfh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.tfh-field { margin: 0 0 1.1em; }
.tfh-field > label { display: block; margin: 0 0 .3em; font-weight: 600; }
.tfh-req { color: var(--tfhn-accent); }
.tfh-field__help { margin: 0 0 .4em; font-size: .9em; color: var(--tfhn-muted); }

.tfh-field input[type="text"], .tfh-field input[type="email"], .tfh-field input[type="tel"],
.tfh-field textarea, .tfh-field select {
	box-sizing: border-box;
	width: 100%;
	max-width: none; /* the theme caps inputs at 420px */
	padding: .6em .7em;
	font: inherit;
	color: var(--tfhn-ink);
	background: var(--tfhn-surface);
	border: 1px solid var(--tfhn-line);
	border-radius: var(--tfhn-radius);
}
.tfh-field input:focus, .tfh-field textarea:focus, .tfh-field select:focus { outline: 2px solid var(--tfhn-accent); outline-offset: 1px; border-color: var(--tfhn-accent); }

/* Sworn statements read as statements, not fine print. */
.tfh-field--check label { display: grid; grid-template-columns: auto 1fr; gap: .6em; align-items: start; font-weight: 400; line-height: 1.5; padding: .7em .8em; background: #f6f5f1; border-radius: var(--tfhn-radius); }
.tfh-field--check input { margin-top: .3em; width: 1.1em; height: 1.1em; }

.tfh-field.has-error input, .tfh-field.has-error textarea, .tfh-field.has-error select,
.tfh-field.has-error.tfh-field--check label { border-color: var(--tfhn-accent); box-shadow: 0 0 0 1px var(--tfhn-accent); }
.tfh-field__error { margin: .3em 0 0; font-size: .9em; color: var(--tfhn-accent); font-weight: 600; }

.tfh-notice-form__error, .tfh-notice-form__done { padding: .8em 1em; margin: 0 0 1.2em; border-radius: var(--tfhn-radius); }
.tfh-notice-form__error { color: #fff; background: var(--tfhn-accent); }
.tfh-notice-form__done { color: #fff; background: var(--tfhn-ok); }

.tfh-notice-form .tfh-button {
	padding: .7em 1.4em;
	font: inherit;
	font-weight: 700;
	color: #fff;
	background: var(--tfhn-accent);
	border: 0;
	border-radius: var(--tfhn-radius);
	cursor: pointer;
}
.tfh-notice-form .tfh-button:hover, .tfh-notice-form .tfh-button:focus { background: #8f221e; }

.tfh-dmca-agent { display: block; padding: 1em 1.2em; margin: 1em 0 1.5em; font-style: normal; line-height: 1.6; background: #f6f5f1; border-left: 3px solid var(--tfhn-accent); }
