/**
 * Newsletter band — Forminator form (boarding-pass ticket styling).
 * Scoped to .cfd-newsletter-band .cfd-forminator-newsletter
 * Uses !important where Forminator injects inline defaults.
 *
 * @package Cleared_For_Departure_Kadence
 */

/* ─── Form column (grid third cell — matches .newsletter-band__inner) ─── */

.cfd-newsletter-band .cfd-forminator-newsletter,
.cfd-newsletter-band .newsletter-band__form.cfd-forminator-newsletter {
	min-width: 0;
	width: 100%;
	max-width: none;
	justify-self: stretch;
	align-self: center;
}

.cfd-newsletter-band .cfd-forminator-newsletter--unavailable {
	border: 1px dashed color-mix(in srgb, var(--cfd-accent, #a8322d) 55%, transparent);
	padding: 16px;
	background: #121212;
}

.cfd-newsletter-band .cfd-forminator-newsletter__notice {
	margin: 0;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif);
	font-size: 13px;
	line-height: 1.5;
	color: var(--cfd-newsletter-muted, #b8b2a6);
}

/* ─── Hide "Edit form" on front end for visitors ─── */

body:not(.logged-in) .cfd-newsletter-band .cfd-forminator-newsletter .forminator-edit-link {
	display: none !important;
}

body.logged-in .cfd-newsletter-band .cfd-forminator-newsletter .forminator-edit-link {
	display: block;
	margin: 8px 0 0;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif);
	font-size: 11px;
	font-weight: 500;
	text-decoration: none;
	color: var(--cfd-newsletter-muted, #b8b2a6);
	opacity: 0.75;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {

body.logged-in .cfd-newsletter-band .cfd-forminator-newsletter .forminator-edit-link:hover {
	color: var(--cfd-accent, #a8322d);
	opacity: 1;
}
}

/* ─── Forminator UI shell (no white cards / shadows) ─── */

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-ui,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-custom-form,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-poll,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-pagination-steps {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-col {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* ─── Ticket kicker label (above field in email column) ─── */

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-label {
	display: block !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: 1.3 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--cfd-accent, #a8322d) !important;
	background: transparent !important;
	border: none !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-label .forminator-required {
	color: var(--cfd-newsletter-muted, #b8b2a6) !important;
	font-weight: 600 !important;
}

/* Visually hide label when Forminator duplicates placeholder (opt-in class on wrapper) */
.cfd-newsletter-band .cfd-forminator-newsletter--label-hidden .forminator-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-description {
	grid-column: 1 / -1 !important;
	padding: 0 12px 4px !important;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-error-message {
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field .forminator-error-message:not([style*="display: none"]) {
	color: var(--cfd-accent, #a8322d) !important;
}

/* ─── Ticket row: email + submit share one visual shell ─── */

.cfd-newsletter-band .cfd-forminator-newsletter {
	--cfd-form-input-min-height: 52px;
}

.cfd-newsletter-band .cfd-forminator-newsletter form.forminator-custom-form,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-custom-form--default,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-custom-form--load {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: stretch !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	position: relative !important;
	/* Shell border lives on the field rows, not the form — keeps success message outside */
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.cfd-ticket-notches-on .cfd-newsletter-band .cfd-forminator-newsletter form.forminator-custom-form {
	position: relative;
}

.cfd-ticket-notches-on .cfd-newsletter-band .cfd-forminator-newsletter form.forminator-custom-form::before,
.cfd-ticket-notches-on .cfd-newsletter-band .cfd-forminator-newsletter form.forminator-custom-form::after {
	content: none;
}

/* Hide empty response slot so it does not affect the flex row */
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message[aria-hidden="true"] {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Email column grows; submit column is solid accent and always matches email height */
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row:not(.forminator-row-last) {
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: stretch !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	min-height: var(--cfd-form-input-min-height) !important;
	border: 1px solid color-mix(in srgb, #fff 38%, transparent) !important;
	border-right: none !important;
	background: color-mix(in srgb, #fff 12%, #0a0908) !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last {
	flex: 0 0 auto !important;
	display: flex !important;
	align-items: stretch !important;
	align-self: stretch !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	min-height: var(--cfd-form-input-min-height) !important;
	border: 1px solid color-mix(in srgb, #fff 38%, transparent) !important;
	border-left: none !important;
	background: var(--cfd-accent, #a8322d) !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-email,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field--email,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-text,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-col,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	align-self: stretch !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last .forminator-col,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last .forminator-field {
	flex: 1 1 auto !important;
	width: auto !important;
	min-height: 100% !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-email .forminator-input--wrap,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-email .forminator-field-wrap,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field--email .forminator-input--wrap,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field--email .forminator-field-wrap,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-text .forminator-input--wrap,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-text .forminator-field-wrap {
	flex: 1 1 auto !important;
	display: flex !important;
	align-items: stretch !important;
	min-width: 0 !important;
	width: 100% !important;
	padding: 0 !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-email .forminator-error-message,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field--email .forminator-error-message,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-text .forminator-error-message {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	top: calc(100% + 8px) !important;
	margin: 0 !important;
	padding: 8px 12px !important;
	border: 1px solid color-mix(in srgb, #fff 22%, transparent) !important;
	border-left: 3px solid var(--cfd-accent, #a8322d) !important;
	background: #121212 !important;
	color: #f0d0cc !important;
	z-index: 2 !important;
}

/* ─── Inputs (visible field on dark band) ─── */

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-input,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="email"],
.cfd-newsletter-band .cfd-forminator-newsletter input[type="text"],
.cfd-newsletter-band .cfd-forminator-newsletter input[type="tel"],
.cfd-newsletter-band .cfd-forminator-newsletter textarea {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: 100% !important;
	min-height: var(--cfd-form-input-min-height) !important;
	height: auto !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	box-sizing: border-box !important;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	color: var(--cfd-newsletter-text, #f5f2eb) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	caret-color: var(--cfd-accent, #a8322d) !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-input::placeholder,
.cfd-newsletter-band .cfd-forminator-newsletter input::placeholder,
.cfd-newsletter-band .cfd-forminator-newsletter textarea::placeholder {
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 15px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	color: color-mix(in srgb, var(--cfd-newsletter-muted, #b8b2a6) 92%, #fff) !important;
	opacity: 1 !important;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-input:hover,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="email"]:hover,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="text"]:hover {
	background: color-mix(in srgb, #fff 4%, transparent) !important;
}
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-input:focus,
.cfd-newsletter-band .cfd-forminator-newsletter input:focus,
.cfd-newsletter-band .cfd-forminator-newsletter textarea:focus {
	outline: none !important;
	border: none !important;
	background: color-mix(in srgb, #fff 6%, transparent) !important;
	box-shadow: inset 0 0 0 2px var(--cfd-accent, #a8322d) !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-input:focus-visible,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="email"]:focus-visible,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="text"]:focus-visible {
	outline: none !important;
	box-shadow: inset 0 0 0 2px var(--cfd-accent, #a8322d) !important;
}

/* Submit: fill the accent column completely (column itself is the red face) */
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button-submit,
.cfd-newsletter-band .cfd-forminator-newsletter button[type="submit"],
.cfd-newsletter-band .cfd-forminator-newsletter input[type="submit"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	flex: 1 1 auto !important;
	align-self: stretch !important;
	margin: 0 !important;
	padding: 0 22px !important;
	min-width: 7.5rem !important;
	width: 100% !important;
	min-height: var(--cfd-form-input-min-height) !important;
	height: auto !important;
	max-height: none !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	cursor: pointer !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	transition: background 0.15s ease, color 0.15s ease, filter 0.15s ease !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last:hover,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button:hover,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button-submit:hover,
.cfd-newsletter-band .cfd-forminator-newsletter button[type="submit"]:hover,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="submit"]:hover {
	background: var(--cfd-accent-hover, #963328) !important;
	color: #fff !important;
	border-color: transparent !important;
	box-shadow: none !important;
	filter: none !important;
}
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last:hover {
	background: var(--cfd-accent-hover, #963328) !important;
}
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last:hover .forminator-button,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last:hover .forminator-button-submit {
	background: transparent !important;
}
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button:focus-visible,
.cfd-newsletter-band .cfd-forminator-newsletter button[type="submit"]:focus-visible,
.cfd-newsletter-band .cfd-forminator-newsletter input[type="submit"]:focus-visible {
	outline: 2px solid #fff !important;
	outline-offset: -4px !important;
}

/* Checkbox / consent (full width below ticket row) */

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-checkbox,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field--checkbox,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-field-consent {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	display: block !important;
	margin-top: 10px !important;
	padding: 0 12px 8px !important;
}

/* Ajax / server response — own ticket below the field shell */
.cfd-newsletter-band .cfd-forminator-newsletter form.forminator-custom-form > .forminator-response-message,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-custom-form--default > .forminator-response-message,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-custom-form--load > .forminator-response-message {
	flex: 1 0 100% !important;
	order: 20 !important;
	width: 100% !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-checkbox-box {
	border-color: var(--cfd-border, #d8d2c5) !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-checkbox-box.forminator-is_checked {
	background: var(--cfd-accent, #a8322d) !important;
	border-color: var(--cfd-accent, #a8322d) !important;
}

/* ─── Success / error response messages (separate ticket below fields) ─── */

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message.forminator-success,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message.forminator-error,
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message.forminator-loading {
	margin: 12px 0 0 !important;
	padding: 12px 14px !important;
	border: 1px solid color-mix(in srgb, #fff 22%, transparent) !important;
	border-radius: 0 !important;
	background: #121212 !important;
	font-family: var(--cfd-sans, "DM Sans", system-ui, sans-serif) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	color: var(--cfd-newsletter-text, #f5f2eb) !important;
	box-shadow: none !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message.forminator-success {
	border-left: 3px solid var(--cfd-accent, #a8322d) !important;
}

.cfd-newsletter-band .cfd-forminator-newsletter .forminator-response-message.forminator-error {
	border-left: 3px solid var(--cfd-accent, #a8322d) !important;
	color: var(--cfd-accent, #a8322d) !important;
}

/* Loading spinner — tone down default Forminator chrome */
.cfd-newsletter-band .cfd-forminator-newsletter .forminator-loading {
	border: none !important;
	background: transparent !important;
}

/* ─── Tablet: full-width form column ─── */

@media (max-width: 1023px) {
	.cfd-newsletter-band .cfd-forminator-newsletter,
	.cfd-newsletter-band .newsletter-band__form.cfd-forminator-newsletter {
		max-width: 100% !important;
		justify-self: stretch !important;
	}
}

/* ─── Mobile: stacked full-width ticket ─── */

@media (max-width: 767px) {
	.cfd-newsletter-band .cfd-forminator-newsletter form.forminator-custom-form,
	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-custom-form--default {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row:not(.forminator-row-last),
	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last {
		flex: 1 1 auto !important;
		width: 100% !important;
		border: 1px solid color-mix(in srgb, #fff 38%, transparent) !important;
	}

	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row:not(.forminator-row-last) {
		border-bottom: none !important;
	}

	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-row-last {
		border-left: 1px solid color-mix(in srgb, #fff 38%, transparent) !important;
	}

	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-input,
	.cfd-newsletter-band .cfd-forminator-newsletter input[type="email"],
	.cfd-newsletter-band .cfd-forminator-newsletter input[type="text"] {
		width: 100% !important;
	}

	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button,
	.cfd-newsletter-band .cfd-forminator-newsletter .forminator-button-submit,
	.cfd-newsletter-band .cfd-forminator-newsletter button[type="submit"],
	.cfd-newsletter-band .cfd-forminator-newsletter input[type="submit"] {
		width: 100% !important;
		min-height: 52px !important;
		height: auto !important;
	}
}
