/**
 * Estilos front-end — AOE Feedback Widget (referencia JBN)
 */

/*
 * dormant: oculto hasta superar el umbral de scroll.
 * sticky: fijo al viewport (sube con el scroll).
 * docked: sección del documento, siempre encima del footer.
 */
.aoe-fw-banner {
	position: fixed;
	bottom: 0;
	left: 50%;
	right: auto;
	width: max-content;
	max-width: calc(100vw - 24px);
	box-sizing: border-box;
	border-radius: 14px 14px 0 0;
	overflow: hidden;
	/* Por debajo de modales/popups del sitio (consentimiento, etc.), por encima del contenido de página. */
	z-index: 2147483000;
	isolation: isolate;
	background: var(--aoe-fw-bg, #f4f4f5);
	color: var(--aoe-fw-text, #3f3f46);
	font-size: var(--aoe-fw-font-text, 18px);
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
	font-family: inherit;
	transform: translateX(-50%);
	transition: opacity 0.28s ease, transform 0.28s ease, box-shadow 0.28s ease;
}

.aoe-fw-banner.aoe-fw-is-dormant {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(100%);
}

.aoe-fw-banner.aoe-fw-is-sticky {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	-webkit-transform: translateX(-50%) translateY(0) translateZ(0);
	transform: translateX(-50%) translateY(0) translateZ(0);
	box-shadow: 0 -4px 24px rgba(94, 74, 110, 0.18);
}

.aoe-fw-banner.aoe-fw-is-docked {
	position: relative;
	bottom: auto;
	left: 50%;
	right: auto;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%);
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.06);
	margin-top: 1.75rem;
}

/* El formulario necesita un ancho útil; la pregunta sigue al largo del texto. */
.aoe-fw-banner.aoe-fw-is-form-open:has(.aoe-fw-step-form:not([hidden])) {
	width: min(36rem, calc(100vw - 24px));
}

.aoe-fw-banner.aoe-fw-is-hidden {
	display: none !important;
}

/* Tras Cerrar: oculta toda la barra */
.aoe-fw-banner.aoe-fw-is-dismissed {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateX(-50%) translateY(100%) !important;
}

/* Banda completa: ancho de la ventana, sin esquinas. */
.aoe-fw-banner.aoe-fw-style-full {
	left: 0;
	right: 0;
	width: 100%;
	max-width: none;
	border-radius: 0;
	transform: none;
}

.aoe-fw-banner.aoe-fw-style-full.aoe-fw-is-dormant {
	transform: translateY(100%);
}

.aoe-fw-banner.aoe-fw-style-full.aoe-fw-is-sticky {
	-webkit-transform: translateY(0) translateZ(0);
	transform: translateY(0) translateZ(0);
}

.aoe-fw-banner.aoe-fw-style-full.aoe-fw-is-docked {
	left: auto;
	right: auto;
	width: 100%;
	transform: none;
}

.aoe-fw-banner.aoe-fw-style-full.aoe-fw-is-form-open:has(.aoe-fw-step-form:not([hidden])) {
	left: 0;
	width: 100%;
	transform: none;
}

.aoe-fw-banner.aoe-fw-style-full.aoe-fw-is-dismissed {
	transform: translateY(100%) !important;
}

.aoe-fw-banner.aoe-fw-style-full .aoe-fw-banner-inner {
	width: 100%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.aoe-fw-banner.aoe-fw-style-full .aoe-fw-initial-row {
	width: auto;
	flex-wrap: wrap;
}

.aoe-fw-banner .aoe-fw-form-feedback .aoe-fw-banner-alert {
	border: 1px solid #c0392b;
	background: #fff5f5;
	color: #7b241c;
	padding: 10px 12px;
	margin: 12px 0 0;
	border-radius: 4px;
	font-size: 0.95em;
	line-height: 1.4;
}

/* Token formkey y honeypot (ocultos) */
.aoe-fw-banner .aoe-fw-hp,
.aoe-fw-banner .aoe-fw-formkey {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.aoe-fw-banner.aoe-fw-is-expanded .aoe-fw-banner-inner {
	padding-top: 20px;
	padding-bottom: 20px;
	transition: padding 0.35s ease;
}

/* Transición fluida entre pregunta Sí/No y formulario */
.aoe-fw-banner .aoe-fw-step-initial,
.aoe-fw-banner .aoe-fw-step-form {
	overflow: hidden;
	transition: max-height 0.4s ease, opacity 0.32s ease, transform 0.32s ease;
}

.aoe-fw-banner .aoe-fw-step-initial {
	max-height: 160px;
	opacity: 1;
	transform: translateY(0);
}

.aoe-fw-banner .aoe-fw-step-form {
	max-height: 0;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
}

.aoe-fw-banner.aoe-fw-is-form-open .aoe-fw-step-initial {
	max-height: 0;
	opacity: 0;
	transform: translateY(-8px);
	pointer-events: none;
	margin: 0;
	padding: 0;
}

.aoe-fw-banner.aoe-fw-is-form-open .aoe-fw-step-form {
	max-height: 2400px;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.aoe-fw-banner .aoe-fw-step-initial,
	.aoe-fw-banner .aoe-fw-step-form,
	.aoe-fw-banner.aoe-fw-is-expanded .aoe-fw-banner-inner,
	.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-spinner,
	body.aoe-fw-banner-active {
		transition: none !important;
		animation: none !important;
	}
}

/* Sin transición al cambiar de paso (p. ej. al alternar Sí/No con el form ya abierto) */
.aoe-fw-banner.aoe-fw-no-step-transition .aoe-fw-step-initial,
.aoe-fw-banner.aoe-fw-no-step-transition .aoe-fw-step-form,
.aoe-fw-banner.aoe-fw-no-step-transition.aoe-fw-is-expanded .aoe-fw-banner-inner,
.aoe-fw-banner.aoe-fw-no-step-transition {
	transition: none !important;
}

.aoe-fw-banner-inner {
	position: relative;
	width: max-content;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 20px 28px;
}

.aoe-fw-banner.aoe-fw-is-form-open:has(.aoe-fw-step-form:not([hidden])) .aoe-fw-banner-inner {
	width: 100%;
}

/* ── Paso inicial: fila centrada pregunta + botones + cerrar ── */
.aoe-fw-initial-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 12px 16px;
	width: max-content;
	max-width: 100%;
	text-align: center;
}

.aoe-fw-question {
	margin: 0 !important;
	min-width: 0;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.4;
	color: var(--aoe-fw-text, #3f3f46);
}

.aoe-fw-actions {
	display: flex;
	flex-wrap: wrap;
	flex-shrink: 0;
	gap: 8px;
	align-items: center;
	justify-content: center;
}

.aoe-fw-btn {
	background: var(--aoe-fw-btn, #52525b);
	color: var(--aoe-fw-btn-text, #ffffff);
	border: none;
	padding: 7px 22px;
	border-radius: 6px;
	cursor: pointer;
	font-weight: 600;
	font-size: var(--aoe-fw-font-btn, 18px) !important;
	line-height: 1.2;
	transition: opacity 0.2s, transform 0.15s;
}

.aoe-fw-btn:hover,
.aoe-fw-btn:focus {
	opacity: 0.88;
}

.aoe-fw-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.aoe-fw-close {
	background: none;
	border: none;
	color: var(--aoe-fw-links, #2271b1);
	cursor: pointer;
	flex-shrink: 0;
	font-size: var(--aoe-fw-font-link, 15px) !important;
	padding: 4px 0;
	text-decoration: underline;
	white-space: nowrap;
	font-family: inherit;
}

.aoe-fw-close-x {
	text-decoration: none;
	font-weight: 600;
}

.aoe-fw-close:hover,
.aoe-fw-close:focus {
	opacity: 0.85;
}

/* ── Paso formulario expandido ── */
.aoe-fw-step-form {
	text-align: center;
}

.aoe-fw-form-title {
	margin: 0 0 14px;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.5;
	color: var(--aoe-fw-text, #3f3f46);
	text-align: left;
}

.aoe-fw-form-wrap {
	margin-bottom: 0;
	text-align: left;
}

/* Zona de respuesta vacía: sin hueco ni cajas fantasma */
.aoe-fw-form-wrap .fusion-form-response:empty,
.aoe-fw-form-wrap .fusion-form-notices:empty,
.aoe-fw-form-wrap .fusion-form-response-holder:empty,
.aoe-fw-form-wrap .wpcf7-response-output:empty,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response[aria-hidden="true"],
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices[aria-hidden="true"] {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	height: 0 !important;
	border: none !important;
	overflow: hidden !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert:empty,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert:not(:has(*)):not(:empty) {
	display: none !important;
}

/* Solo estilizar alertas con texto (Avada las rellena tras enviar) */
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:not([aria-hidden="true"]),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:not([aria-hidden="true"]) {
	margin: 16px 0 10px !important;
	padding: 0 !important;
	min-height: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert:not(:empty),
.aoe-fw-banner .aoe-fw-form-wrap .alert:not(:empty) {
	display: block !important;
	margin: 0 !important;
	padding: 14px 18px !important;
	border: 1px solid currentColor !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
	line-height: 1.5 !important;
	text-align: left !important;
}

/* Sin mensajes de éxito inline: solo pantalla de gracias */
.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert.alert-success:not(:empty),
.aoe-fw-banner .aoe-fw-form-wrap .alert-success:not(:empty),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response-success,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-status-msg-success,
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-avada-inline-alert--success,
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-response-output.wpcf7-mail-sent-ok,
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-mail-sent-ok {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Con error visible: sin fondo blanco de alert-success de Avada */
.aoe-fw-banner .aoe-fw-form-wrap:has(.aoe-fw-avada-alert--error) .fusion-alert.alert-success,
.aoe-fw-banner .aoe-fw-form-wrap:has(.aoe-fw-avada-alert--error) .alert-success,
.aoe-fw-banner .aoe-fw-form-wrap:has(.aoe-fw-avada-inline-alert.aoe-fw-avada-alert--error) .fusion-alert.alert-success,
.aoe-fw-banner .aoe-fw-form-wrap:has(.aoe-fw-avada-inline-alert.aoe-fw-avada-alert--error) .alert-success {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
}

/* Avada: avisos del plugin (sin plantilla Fusion que deja 200–300px de alto) */
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-avada-inline-alert {
	display: block !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	width: 100% !important;
	max-width: 800px !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
	line-height: 1.45 !important;
	text-align: left !important;
	font-size: inherit !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-inline-alert),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.aoe-fw-avada-inline-alert),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-alert--error),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.aoe-fw-avada-alert--error) {
	width: 100% !important;
	max-width: 800px !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-avada-inline-alert.aoe-fw-avada-alert--error,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert.aoe-fw-avada-alert--error,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert.fusion-alert-danger.aoe-fw-avada-alert--error,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert.alert-danger.aoe-fw-avada-alert--error {
	width: 700px !important;
	max-width: 100% !important;
	border: 1px solid #c0392b !important;
	background: #fff5f5 !important;
	color: #7b241c !important;
	box-shadow: none !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-inline-alert),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.aoe-fw-avada-inline-alert) {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	margin: 16px 0 10px !important;
	background: transparent !important;
	border: none !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-inline-alert) .fusion-alert:not(.aoe-fw-avada-inline-alert),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-alert--error) .alert-success,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-alert--error) .fusion-alert-success,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.aoe-fw-avada-alert--error) .alert-success,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.aoe-fw-avada-alert--error) .fusion-alert-success {
	display: none !important;
	min-height: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response.fusion-form-response-error,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.aoe-fw-avada-alert--error),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.aoe-fw-avada-alert--error) {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 16px 0 10px !important;
	width: 700px !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response.fusion-form-response-success:has(.aoe-fw-avada-alert--error),
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.fusion-alert-danger) {
	border: none !important;
	background: transparent !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert.aoe-fw-avada-alert--error .fusion-alert-content {
	color: inherit !important;
	text-align: left !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert.alert-danger:not(:empty):not(.aoe-fw-avada-alert--error),
.aoe-fw-banner .aoe-fw-form-wrap .alert-danger:not(:empty) {
	border-color: rgba(200, 60, 60, 0.85) !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert .fusion-alert-content,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-alert .close {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.alert-success) .alert-danger,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response:has(.fusion-alert-success) .fusion-alert-danger,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices:has(.alert-success) .alert-danger {
	display: none !important;
}

/* Avada: estado enviando visible de inmediato (validación previa al AJAX nativo) */
.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap .fusion-form-submit,
.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap button[type="submit"],
.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap input[type="submit"],
.aoe-fw-banner .fusion-form-submit.fusion-form-submitting,
.aoe-fw-banner .fusion-form-submit.processing,
.aoe-fw-banner .fusion-form-submit.loading,
.aoe-fw-banner .fusion-form-submit.aoe-fw-submit-loading,
.aoe-fw-banner .fusion-form-submit[disabled][aria-busy="true"],
.aoe-fw-banner .aoe-fw-form-wrap button[type="submit"][aria-busy="true"],
.aoe-fw-banner .aoe-fw-form-wrap input[type="submit"][aria-busy="true"] {
	opacity: 0.82 !important;
	cursor: wait !important;
}

/* Solo bloquear clics durante la validación previa; no durante el AJAX de Avada */
.aoe-fw-banner .aoe-fw-form-wrap.aoe-fw-submit-pending .fusion-form-submit,
.aoe-fw-banner .aoe-fw-form-wrap.aoe-fw-submit-pending button[type="submit"],
.aoe-fw-banner .aoe-fw-form-wrap.aoe-fw-submit-pending input[type="submit"],
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-loading[disabled] {
	pointer-events: none !important;
}

.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap .fusion-form-submit .fusion-button-text,
.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap button[type="submit"] .fusion-button-text,
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-loading .fusion-button-text,
.aoe-fw-banner .aoe-fw-form-wrap [aria-busy="true"] .fusion-button-text {
	visibility: hidden !important;
	position: relative;
}

.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap .fusion-form-submit .fusion-button-text::after,
.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap button[type="submit"] .fusion-button-text::after,
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-loading .fusion-button-text::after,
.aoe-fw-banner .aoe-fw-form-wrap [aria-busy="true"] .fusion-button-text::after {
	content: 'Enviando…';
	visibility: visible !important;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

@keyframes aoe-fw-submit-dots {
	0%, 20% { content: 'Enviando'; }
	40% { content: 'Enviando.'; }
	60% { content: 'Enviando..'; }
	80%, 100% { content: 'Enviando…'; }
}

.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap .fusion-form-submit.aoe-fw-submit-loading:not(:has(.fusion-button-text))::after,
.aoe-fw-banner.aoe-fw-is-submitting .aoe-fw-form-wrap button[type="submit"].aoe-fw-submit-loading:not(:has(.fusion-button-text))::after,
.aoe-fw-banner .aoe-fw-form-wrap input[type="submit"].aoe-fw-submit-loading::after {
	animation: aoe-fw-submit-dots 1.2s steps(4, end) infinite;
}

/* Solo colapsar envoltorios vacíos que no usa Avada para alertas AJAX */
.aoe-fw-form-wrap .aoe-fw-form-dead-space:not(.fusion-form-response):not(.fusion-form-notices):not(.fusion-form-response-holder) {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: none !important;
}

/* Submit nativo Avada/CF7: visible en la fila junto a Cancelar */
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-submit-container,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-submit-field,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-field.fusion-form-field-submit,
.aoe-fw-banner .aoe-fw-submit-row .fusion-form-submit-container {
	display: inline-flex !important;
	justify-content: start !important;
	flex-wrap: nowrap !important;
	flex-direction: row !important;
	gap: 16px !important;
	position: relative !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	text-align: center;
	margin-top: 20px !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-submit,
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-submit,
.aoe-fw-banner .aoe-fw-form-wrap input[type="submit"],
.aoe-fw-banner .aoe-fw-form-wrap button[type="submit"] {
	pointer-events: auto !important;
}

.aoe-fw-email-label {
	display: block !important;
	visibility: visible !important;
	margin: 8px 0 4px;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.35;
	color: var(--aoe-fw-text, #3f3f46) !important;
	text-align: left;
}

/* Ocultar labels nativos del formulario Avada/CF7 — el widget los gestiona */
.aoe-fw-form-wrap label:not(.aoe-fw-email-label):not(.aoe-feedback-email-label),
.aoe-fw-form-wrap .fusion-form-label,
.aoe-fw-form-wrap .wpcf7-form-control-wrap > label {
	display: none !important;
}

.aoe-fw-form-wrap .fusion-form-field-hidden,
.aoe-fw-form-wrap input[type="hidden"].aoe-fw-field-seleccion,
.aoe-fw-form-wrap .wpcf7-form-control-wrap .aoe-fw-field-seleccion {
	display: none !important;
}

/* Reset contenedores Avada dentro del banner */
.aoe-fw-form-wrap .fusion-form,
.aoe-fw-form-wrap .wpcf7,
.aoe-fw-form-wrap form {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.aoe-fw-form-wrap .fusion-form-form-wrapper,
.aoe-fw-form-wrap .fusion-form-field,
.aoe-fw-form-wrap .wpcf7-form-control-wrap {
	margin: 0 0 8px !important;
	padding: 0 !important;
}

/* Orden visual: campos → (Avada: legal → alertas → botones) | (CF7: alertas → botones → legal) */
.aoe-fw-banner .aoe-fw-form-wrap form {
	display: flex !important;
	flex-direction: column !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-field:not(.fusion-form-field-submit),
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-form-control-wrap:not(:has(.wpcf7-submit)),
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p:not(.aoe-fw-submit-inline-field):not(:has(.wpcf7-submit)) {
	order: 10 !important;
}

.aoe-fw-banner .aoe-fw-privacy.aoe-fw-privacy-slot:not(.aoe-fw-privacy-after-submit) {
	order: 20 !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	margin: 10px 0 14px !important;
	box-sizing: border-box !important;
}

/* CF7: legal debajo de Enviar y Cancelar */
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 .aoe-fw-privacy.aoe-fw-privacy-after-submit {
	order: 50 !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	margin: 12px 0 0 !important;
	box-sizing: border-box !important;
}

/* Texto legal nativo: debajo de Enviar / Cancelar (banner + shortcode) */
.aoe-feedback-native-form .aoe-fw-privacy.aoe-fw-privacy-after-submit {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 4px 0 0;
	font-size: inherit;
	line-height: 1.45;
	color: var(--aoe-fw-text, #3f3f46);
	text-align: left;
	opacity: 0.9;
}

.aoe-feedback-form-standalone .aoe-fw-privacy.aoe-fw-privacy-after-submit {
	color: #1d2327;
	opacity: 0.85;
}

.aoe-feedback-native-form .aoe-fw-privacy.aoe-fw-privacy-after-submit p {
	margin: 0;
}

.aoe-feedback-native-form .aoe-fw-privacy.aoe-fw-privacy-after-submit a {
	color: inherit;
	text-decoration: underline;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-response,
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-notices,
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-response-output {
	order: 30 !important;
	width: 100% !important;
	flex: 0 0 100% !important;
	margin: 8px 0 12px !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-field.fusion-form-field-submit,
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7-form-control-wrap:has(.wpcf7-submit),
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p.aoe-fw-submit-inline-field {
	order: 40 !important;
}

/* CF7: márgenes de párrafos del formulario del widget */
.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p {
	margin: 0 !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p.aoe-fw-submit-inline-field {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 16px !important;
	width: 100% !important;
	margin-top: 20px !important;
	padding: 0 !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p.aoe-fw-submit-inline-field .wpcf7-submit {
	order: 1;
	flex: 0 0 auto;
}

.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p.aoe-fw-submit-inline-field .wpcf7-spinner {
	order: 2;
	flex: 0 0 auto;
	display: inline-block;
	width: 1.2em;
	height: 1.2em;
	margin: 0 0 0 8px !important;
	position: static !important;
	visibility: hidden;
	border: 2px solid rgba(0, 0, 0, 0.12);
	border-top-color: currentColor;
	border-radius: 50%;
	background: transparent !important;
	vertical-align: middle;
	animation: aoe-fw-cf7-spin 0.65s linear infinite;
}

.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 form.submitting .wpcf7-spinner {
	visibility: visible;
}

@keyframes aoe-fw-cf7-spin {
	to {
		transform: rotate(360deg);
	}
}

.aoe-fw-banner .aoe-fw-form-wrap .wpcf7 p.aoe-fw-submit-inline-field .aoe-fw-cancel {
	order: 3;
	flex: 0 0 auto;
}

.aoe-fw-form-wrap textarea,
.aoe-fw-form-wrap input[type="email"],
.aoe-fw-form-wrap input[type="text"] {
	width: 100% !important;
	max-width: 100% !important;
	padding: 12px 14px !important;
	border: 1px solid #ccc !important;
	border-radius: 2px !important;
	background: #ffffff !important;
	color: #333 !important;
	font-size: var(--aoe-fw-font-text, 18px) !important;
	box-sizing: border-box !important;
	margin: 0 0 8px !important;
	font-family: inherit !important;
}

.aoe-fw-form-wrap input[type="email"] {
	margin-bottom: 4px !important;
}

.aoe-fw-form-wrap textarea {
	min-height: 90px !important;
	resize: vertical !important;
}

.aoe-fw-form-wrap textarea::placeholder,
.aoe-fw-form-wrap input::placeholder {
	color: #999 !important;
	opacity: 1 !important;
}

.aoe-fw-banner .aoe-fw-privacy {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 8px 0 12px;
	font-size: inherit;
	line-height: 1.45;
	color: var(--aoe-fw-text, #3f3f46);
	text-align: left !important;
	opacity: 0.9;
	white-space: normal;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

.aoe-fw-banner .aoe-fw-privacy p,
.aoe-fw-banner .aoe-fw-privacy span,
.aoe-fw-banner .aoe-fw-privacy div,
.aoe-fw-banner .aoe-fw-privacy a {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
}

.aoe-fw-banner .aoe-fw-privacy br {
	display: none !important;
}

.aoe-fw-banner .aoe-fw-privacy a {
	white-space: nowrap !important;
}

@media (min-width: 420px) {
	.aoe-fw-banner .aoe-fw-privacy.aoe-fw-privacy-slot {
		white-space: nowrap !important;
	}
}

/* Pie del form: legal + fila Enviar | Cancelar */
.aoe-fw-form-footer {
	width: 100%;
	max-width: 100%;
	margin: 16px 0 0;
	clear: both;
}

.aoe-fw-submit-row,
.aoe-fw-form-wrap .aoe-fw-submit-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 100%;
	margin: 12px 0 0;
}

.aoe-fw-form-wrap .aoe-fw-submit-actions .fusion-form-field.fusion-form-field-submit {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto;
	margin: 0 !important;
}

/* Enviar y Cancelar en la misma fila (Avada) */
.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-field.fusion-form-field-submit.aoe-fw-submit-inline-field {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	gap: 16px !important;
	width: auto !important;
	max-width: 100% !important;
	margin-top: 20px !important;
	padding: 0 !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-inline-field .fusion-form-submit-container {
	display: inline-flex !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	flex-direction: row !important;
	gap: 16px !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-inline-field .fusion-form-submit,
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-inline-field input[type="submit"],
.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-inline-field button[type="submit"] {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .aoe-fw-submit-inline-field > .aoe-fw-cancel {
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	display: inline-block !important;
	order: 2;
}

.aoe-fw-submit-row > .fusion-form-field,
.aoe-fw-submit-row > .wpcf7-form-control-wrap {
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
}

.aoe-fw-banner .aoe-fw-form-wrap .fusion-form-field:has(input[type="email"]) {
	margin-bottom: 0 !important;
}

.aoe-fw-privacy a,
.aoe-fw-banner .aoe-fw-form-wrap a {
	color: var(--aoe-fw-links, #2271b1);
	font-size: var(--aoe-fw-font-link, 15px) !important;
	text-decoration: underline;
}

/* Contenedor legacy: Cancelar se mueve a .aoe-fw-submit-row por JS */
.aoe-fw-form-actions {
	display: none;
}

.aoe-fw-form-actions:not(:empty) {
	display: none;
}

/* Mensajes de éxito/error Avada y CF7 (debajo de Enviar) */
.aoe-fw-form-feedback {
	width: 100%;
	margin: 10px 0 0;
	text-align: center;
	font-size: var(--aoe-fw-font-link, 15px) !important;
	line-height: 1.45;
}

.aoe-fw-form-feedback[hidden] {
	display: none !important;
}

/* Alertas al final del paso formulario (Avada/CF7) */
.aoe-fw-banner.aoe-fw-is-form-open .aoe-fw-form-feedback:not(:empty) {
	display: block !important;
}

.aoe-fw-form-feedback .fusion-form-response,
.aoe-fw-form-feedback .fusion-form-notices,
.aoe-fw-form-feedback .wpcf7-response-output {
	margin: 0 !important;
	padding: 0 !important;
}

.aoe-fw-form-feedback .fusion-alert,
.aoe-fw-form-feedback .alert {
	margin: 0;
}

.aoe-fw-banner .aoe-fw-submit-row .aoe-fw-cancel:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.aoe-fw-banner.aoe-fw-form-submitted .aoe-fw-submit-row .aoe-fw-cancel {
	pointer-events: none;
	opacity: 0.45;
}

.aoe-fw-banner.aoe-fw-form-submitted .aoe-fw-form-wrap .fusion-form-submit-container,
.aoe-fw-banner.aoe-fw-form-submitted .aoe-fw-form-wrap .wpcf7-submit {
	display: none !important;
}

.aoe-fw-banner.aoe-fw-form-submitted .aoe-fw-form-wrap .fusion-form-response:not(:empty),
.aoe-fw-banner.aoe-fw-form-submitted .aoe-fw-form-wrap .fusion-form-notices:not(:empty) {
	display: none !important;
	visibility: hidden !important;
}


.aoe-fw-form-wrap form {
	position: relative;
}

.aoe-fw-link {
	background: none;
	border: none;
	color: var(--aoe-fw-text, #3f3f46);
	cursor: pointer;
	text-decoration: none;
	font-size: var(--aoe-fw-font-link, 15px) !important;
	padding: 10px 0;
	font-family: inherit;
	opacity: 0.85;
}

.aoe-fw-link:hover,
.aoe-fw-link:focus {
	opacity: 1;
	text-decoration: underline;
}

/* ── Pantalla de gracias ── */
.aoe-fw-step-thanks {
	text-align: center;
	padding: 8px 0;
}

.aoe-fw-thanks-icon {
	margin: 0 0 12px !important;
	font-size: 2.25rem !important;
	line-height: 1;
	color: var(--aoe-fw-text, #3f3f46);
}

.aoe-fw-thanks-icon .fa,
.aoe-fw-thanks-icon .fas,
.aoe-fw-thanks-icon .far {
	color: inherit;
}

.aoe-fw-thanks-title {
	margin: 0 0 8px;
	font-size: inherit;
	font-weight: 600;
	color: var(--aoe-fw-text, #3f3f46);
}

.aoe-fw-thanks-subtitle {
	margin: 0 0 16px;
	font-size: inherit;
	line-height: 1.5;
	color: var(--aoe-fw-text, #3f3f46);
}

.aoe-fw-btn-close-thanks {
	background: var(--aoe-fw-btn, #52525b) !important;
	color: var(--aoe-fw-btn-text, #ffffff) !important;
	border: none !important;
	padding: 5px 32px !important;
	border-radius: 5px !important;
	font-weight: 600 !important;
	font-size: var(--aoe-fw-font-btn, 18px) !important;
	min-width: 120px;
}

.aoe-fw-btn-close-thanks:hover,
.aoe-fw-btn-close-thanks:focus {
	opacity: 0.88;
}

@media (max-width: 640px) {
	.aoe-fw-banner-inner {
		padding: 20px 28px;
	}

	.aoe-fw-initial-row {
		flex-direction: column;
		gap: 10px;
	}

	.aoe-fw-submit-row {
		flex-direction: row;
		gap: 12px;
	}
}

/* Formulario nativo AOE Feedback */
.aoe-feedback-native-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.aoe-feedback-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 12px 16px;
	margin-top: 4px;
	width: 100%;
}

.aoe-feedback-form-actions .aoe-fw-cancel {
	display: inline-block;
	color: var(--aoe-fw-text, #3f3f46);
}

.aoe-fw-banner .aoe-feedback-email-label,
.aoe-fw-banner .aoe-fw-email-label,
.aoe-feedback-field-email .aoe-feedback-email-label {
	display: block !important;
	visibility: visible !important;
	margin: 0 0 6px;
	font-size: var(--aoe-fw-font-text, 18px);
	font-weight: 400;
	line-height: 1.35;
	color: var(--aoe-fw-text, #3f3f46);
	text-align: left;
}

.aoe-feedback-form-standalone .aoe-feedback-email-label {
	color: #1d2327;
}

/* Texto tipado siempre negro sobre el campo blanco (banner y shortcode). */
.aoe-fw-banner .aoe-feedback-comentarios,
.aoe-fw-banner .aoe-feedback-email,
.aoe-feedback-native-form .aoe-feedback-comentarios,
.aoe-feedback-native-form .aoe-feedback-email {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid var(--aoe-fw-border, #e4e4e7);
	border-radius: 4px;
	font: inherit;
	font-size: var(--aoe-fw-font-text, 18px);
	color: #1d2327 !important;
	caret-color: #1d2327 !important;
	background: #fff !important;
	-webkit-text-fill-color: #1d2327;
}

.aoe-fw-banner .aoe-feedback-comentarios::placeholder,
.aoe-fw-banner .aoe-feedback-email::placeholder,
.aoe-feedback-native-form .aoe-feedback-comentarios::placeholder,
.aoe-feedback-native-form .aoe-feedback-email::placeholder {
	color: #757575 !important;
	-webkit-text-fill-color: #757575;
	opacity: 1;
}

/* Shortcode: solo campos, sin fondo de diseño del banner. */
.aoe-feedback-form-standalone {
	max-width: 640px;
	margin: 1.5rem 0;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	color: #1d2327;
}

.aoe-feedback-form-standalone .aoe-feedback-form-title {
	margin: 0 0 10px;
	font-size: var(--aoe-fw-font-text, 18px);
	font-weight: 600;
	line-height: 1.35;
	color: inherit;
}

.aoe-feedback-form-standalone .aoe-feedback-submit {
	background: var(--aoe-fw-btn, #52525b);
	color: var(--aoe-fw-btn-text, #ffffff);
}

.aoe-feedback-form-messages.is-error .aoe-fw-banner-alert {
	border-color: #c0392b;
	background: #fff5f5;
	color: #7b241c;
}

.aoe-feedback-form-messages.is-success .aoe-fw-banner-alert {
	border-color: #1e7e34;
	background: #f0fff4;
	color: #1e7e34;
}

.aoe-feedback-submit:disabled {
	opacity: 0.65;
	cursor: wait;
}

.aoe-feedback-submit-spinner {
	display: none;
	width: 18px;
	height: 18px;
	border: 2px solid rgba(17, 17, 17, 0.2);
	border-top-color: var(--aoe-fw-text, #111111);
	border-radius: 50%;
	vertical-align: middle;
	animation: aoe-fw-spin 0.7s linear infinite;
}

.aoe-feedback-submit-spinner.is-active {
	display: inline-block;
}

@keyframes aoe-fw-spin {
	to {
		transform: rotate(360deg);
	}
}

.aoe-fw-banner .aoe-fw-hp,
.aoe-fw-banner .aoe-fw-formkey,
.aoe-feedback-native-form .aoe-fw-hp,
.aoe-feedback-native-form .aoe-fw-formkey {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}
