/* TLC Newsletter public-facing styles. Scoped with .tlc-nl- prefix and
   high enough specificity to survive most theme styles. */

.tlc-nl-form-wrap {
	max-width: 520px;
	margin: 0 0 1.5em;
	font-family: inherit;
}
.tlc-nl-form-wrap .tlc-nl-form-title {
	margin: 0 0 .75em;
	font-size: 1.25em;
	line-height: 1.3;
}
.tlc-nl-form-wrap .tlc-nl-field {
	margin-bottom: 1em;
}
.tlc-nl-form-wrap .tlc-nl-field > label {
	display: block;
	font-weight: 600;
	margin-bottom: .35em;
	font-size: .95em;
}
.tlc-nl-form-wrap .tlc-nl-required { color: #c0392b; }
.tlc-nl-form-wrap input[type="text"].tlc-nl-input,
.tlc-nl-form-wrap .tlc-nl-field input[type="text"],
.tlc-nl-form-wrap .tlc-nl-field input[type="email"] {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 1em;
	line-height: 1.4;
	box-sizing: border-box;
	background: #fff;
	color: #1f2d3d;
}
.tlc-nl-form-wrap .tlc-nl-field input[type="text"]:focus,
.tlc-nl-form-wrap .tlc-nl-field input[type="email"]:focus {
	outline: none;
	border-color: #17a2b8;
	box-shadow: 0 0 0 3px rgba(23,162,184,.15);
}

.tlc-nl-form-wrap .tlc-nl-consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	font-size: .85em;
	line-height: 1.5;
	color: #475569;
	cursor: pointer;
}
.tlc-nl-form-wrap .tlc-nl-consent input[type="checkbox"] {
	margin-top: 3px;
	flex: 0 0 auto;
}

/* Honeypot: visually hidden but present for bots. */
.tlc-nl-form-wrap .tlc-nl-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.tlc-nl-form-wrap .tlc-nl-actions { margin-top: .5em; }
.tlc-nl-form-wrap button.tlc-nl-button {
	display: inline-block;
	background: #17a2b8;
	color: #fff;
	border: none;
	padding: 12px 26px;
	border-radius: 6px;
	font-size: 1em;
	font-weight: 600;
	cursor: pointer;
	line-height: 1.4;
	transition: background .15s ease;
}
.tlc-nl-form-wrap button.tlc-nl-button:hover { background: #128295; }
.tlc-nl-form-wrap button.tlc-nl-button:disabled { opacity: .6; cursor: default; }

.tlc-nl-form-wrap .tlc-nl-message {
	margin-top: 1em;
	font-size: .95em;
	line-height: 1.5;
}
.tlc-nl-form-wrap .tlc-nl-message.is-success { color: #166534; }
.tlc-nl-form-wrap .tlc-nl-message.is-error { color: #b91c1c; }

/* Unsubscribe + notices */
.tlc-nl-unsub-wrap { max-width: 520px; }
.tlc-nl-unsub-wrap .tlc-nl-button {
	display: inline-block;
	background: #17a2b8;
	color: #fff;
	border: none;
	padding: 12px 26px;
	border-radius: 6px;
	font-size: 1em;
	font-weight: 600;
	cursor: pointer;
}
.tlc-nl-unsub-wrap .tlc-nl-button:hover { background: #128295; }

.tlc-nl-notice {
	padding: 14px 18px;
	border-radius: 8px;
	font-size: 1em;
	line-height: 1.5;
	border-left: 4px solid;
	margin: 0 0 1em;
}
.tlc-nl-notice-success { background: #f0fdf4; border-color: #16a34a; color: #166534; }
.tlc-nl-notice-error { background: #fef2f2; border-color: #dc2626; color: #991b1b; }
.tlc-nl-notice-info { background: #eff6ff; border-color: #3b82f6; color: #1e40af; }
