/**
 * FoxList front-end form styles.
 * Deliberately minimal so the form inherits the active theme where possible.
 */

.foxlist-form-wrap {
	max-width: 460px;
	margin: 1.5em 0;
}

.foxlist-form {
	padding: 1.25em;
	border: 1px solid rgba( 0, 0, 0, 0.1 );
	border-radius: 8px;
	background: rgba( 0, 0, 0, 0.015 );
}

.foxlist-form-title {
	margin: 0 0 0.75em;
	font-size: 1.2em;
}

.foxlist-field {
	margin: 0 0 0.85em;
}

.foxlist-field label {
	display: block;
	margin-bottom: 0.3em;
	font-weight: 600;
}

.foxlist-optional {
	font-weight: 400;
	opacity: 0.6;
	font-size: 0.85em;
}

.foxlist-field input[type="text"],
.foxlist-field input[type="email"] {
	width: 100%;
	padding: 0.6em 0.7em;
	border: 1px solid rgba( 0, 0, 0, 0.2 );
	border-radius: 6px;
	font-size: 1em;
	box-sizing: border-box;
}

.foxlist-submit button {
	display: inline-block;
	padding: 0.65em 1.4em;
	border: 0;
	border-radius: 6px;
	background: #1f2937;
	color: #fff;
	font-size: 1em;
	cursor: pointer;
}

.foxlist-submit button:hover {
	opacity: 0.9;
}

/* Honeypot: hide from people, keep reachable for bots. */
.foxlist-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.foxlist-notice {
	padding: 0.75em 1em;
	border-radius: 6px;
	margin-bottom: 1em;
	font-size: 0.95em;
}

.foxlist-notice-success {
	background: #e7f6ec;
	border: 1px solid #b3e6c4;
	color: #14532d;
}

.foxlist-notice-info {
	background: #eaf2fb;
	border: 1px solid #c3d9f2;
	color: #1e3a5f;
}

.foxlist-notice-error {
	background: #fdeaea;
	border: 1px solid #f2c3c3;
	color: #5f1e1e;
}

/* Submit button — class hook shared with the Elementor style controls. */
.foxlist-button {
	display: inline-block;
	padding: 0.65em 1.4em;
	border: 0;
	border-radius: 6px;
	background: #1f2937;
	color: #fff;
	font-size: 1em;
	cursor: pointer;
}

.foxlist-button:hover,
.foxlist-button:focus {
	opacity: 0.9;
}

.foxlist-button[disabled],
.foxlist-button:disabled {
	opacity: 0.6;
	cursor: default;
}

/* In-place thank-you message, revealed by JS after a successful sign-up. */
.foxlist-message {
	padding: 1em 1.15em;
	border: 1px solid #b3e6c4;
	border-radius: 8px;
	background: #e7f6ec;
	color: #14532d;
	font-size: 1em;
}

.foxlist-message[hidden] {
	display: none;
}

/* Form alignment: centre the whole block within its container. */
.foxlist-form-wrap.foxlist-align-center {
	margin-left: auto;
	margin-right: auto;
}

.foxlist-align-center .foxlist-form {
	text-align: center;
}

.foxlist-align-center .foxlist-field label {
	text-align: center;
}

/* Keep typed text left-aligned inside inputs even when the form is centred. */
.foxlist-align-center .foxlist-field input[type="text"],
.foxlist-align-center .foxlist-field input[type="email"] {
	text-align: left;
}

/* Intro line on the unsubscribe form. */
.foxlist-intro {
	margin: 0 0 0.85em;
}

/* List checkboxes on the manage / resubscribe page. */
.foxlist-lists {
	display: block;
	margin: 0 0 0.85em;
}

.foxlist-lists .foxlist-checkbox {
	display: flex;
	align-items: center;
	gap: 0.5em;
	margin: 0 0 0.5em;
	font-weight: 400;
	cursor: pointer;
}

.foxlist-lists .foxlist-checkbox input[type="checkbox"] {
	width: auto;
	margin: 0;
	flex: 0 0 auto;
}

.foxlist-align-center .foxlist-lists .foxlist-checkbox {
	justify-content: center;
}
