/*
 * Barón Core · Fluent Forms skin
 * Presentación únicamente. Fluent Forms conserva estructura, validación,
 * accesibilidad y lógica de envío.
 */
.frm-fluent-form{
	--bc-form-blue:var(--baron-blue,#0b4a8b);
	--bc-form-blue-dark:var(--baron-blue-dark,#073462);
	--bc-form-text:var(--baron-text,#202632);
	--bc-form-muted:#66758a;
	--bc-form-border:var(--baron-border,#cbd9e8);
	--bc-form-soft:var(--baron-bg-soft,#f5f8fb);
	--bc-form-error:#c4322b;
	--bc-form-radius:10px;
	color:var(--bc-form-text);
	font:inherit;
}

.frm-fluent-form .ff-el-group{margin-bottom:18px}
.frm-fluent-form .ff-t-container{gap:18px}
.frm-fluent-form .ff-t-cell{padding-left:0!important;padding-right:0!important}

.frm-fluent-form .ff-el-input--label{margin-bottom:7px}
.frm-fluent-form .ff-el-input--label label,
.frm-fluent-form .ff-el-form-label{
	color:var(--bc-form-text);
	font:inherit;
	font-weight:650;
	line-height:1.35;
}
.frm-fluent-form .ff-el-input--label.ff-el-is-required label:after,
.frm-fluent-form .ff-el-form-label.ff-el-is-required:after{
	color:#e34b40;
}

.frm-fluent-form .ff-el-form-control{
	width:100%;
	min-height:52px;
	padding:12px 16px;
	border:1px solid var(--bc-form-border);
	border-radius:var(--bc-form-radius);
	background:#fff;
	box-shadow:none;
	color:var(--bc-form-text);
	font:inherit;
	line-height:1.45;
	transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.frm-fluent-form textarea.ff-el-form-control{
	min-height:118px;
	resize:vertical;
}
.frm-fluent-form select.ff-el-form-control{cursor:pointer}
.frm-fluent-form .ff-el-form-control::placeholder{color:#8795a8;opacity:1}
.frm-fluent-form .ff-el-form-control:hover{border-color:#aebfd3}
.frm-fluent-form .ff-el-form-control:focus{
	border-color:var(--bc-form-blue);
	outline:0;
	box-shadow:0 0 0 3px rgba(11,74,139,.12);
}
.frm-fluent-form .ff-el-form-control:disabled,
.frm-fluent-form .ff-el-form-control[readonly]{
	background:var(--bc-form-soft);
	color:var(--bc-form-muted);
	cursor:not-allowed;
}

.frm-fluent-form .ff-el-form-check{margin:8px 0}
.frm-fluent-form .ff-el-form-check-label{
	display:flex;
	align-items:flex-start;
	gap:8px;
	color:var(--bc-form-text);
	font:inherit;
	line-height:1.45;
}
.frm-fluent-form .ff-el-form-check-input,
.frm-fluent-form input[type="checkbox"],
.frm-fluent-form input[type="radio"]{
	flex:0 0 auto;
	width:18px;
	height:18px;
	margin:2px 0 0;
	accent-color:var(--bc-form-blue);
}
.frm-fluent-form .ff-el-form-check-label a{color:var(--bc-form-blue);text-underline-offset:2px}

.frm-fluent-form .ff-btn,
.frm-fluent-form button[type="submit"],
.frm-fluent-form input[type="submit"]{
	min-height:48px;
	padding:12px 22px;
	border:1px solid var(--bc-form-blue);
	border-radius:var(--bc-form-radius);
	background:var(--bc-form-blue);
	box-shadow:none;
	color:#fff;
	font:inherit;
	font-weight:700;
	line-height:1.2;
	cursor:pointer;
	transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.frm-fluent-form .ff-btn:hover,
.frm-fluent-form button[type="submit"]:hover,
.frm-fluent-form input[type="submit"]:hover{
	border-color:var(--bc-form-blue-dark);
	background:var(--bc-form-blue-dark);
	color:#fff;
}
.frm-fluent-form .ff-btn:focus-visible,
.frm-fluent-form button[type="submit"]:focus-visible,
.frm-fluent-form input[type="submit"]:focus-visible{
	outline:0;
	box-shadow:0 0 0 3px rgba(11,74,139,.18);
}
.frm-fluent-form .ff-btn:active{transform:translateY(1px)}
.frm-fluent-form .ff-btn-prev{
	border-color:var(--bc-form-border);
	background:#fff;
	color:var(--bc-form-blue-dark);
}
.frm-fluent-form .ff-btn-prev:hover{
	border-color:var(--bc-form-blue);
	background:var(--bc-form-soft);
	color:var(--bc-form-blue-dark);
}
.frm-fluent-form .ff-btn-submit,
.frm-fluent-form .ff-btn-next{font-weight:700}
.frm-fluent-form .ff-btn-submit.ff-btn-lg,
.frm-fluent-form .ff-btn-submit.ff-btn-md{width:100%}
.frm-fluent-form .ff-btn:disabled,
.frm-fluent-form .ff-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

.frm-fluent-form .ff-el-is-error .ff-el-form-control,
.frm-fluent-form .ff-el-form-control.error{
	border-color:var(--bc-form-error);
	box-shadow:0 0 0 2px rgba(196,50,43,.08);
}
.frm-fluent-form .error,
.frm-fluent-form .text-danger,
.frm-fluent-form .ff-el-is-error .error{
	margin-top:6px;
	color:var(--bc-form-error);
	font-size:.9rem;
	line-height:1.35;
}
.frm-fluent-form .ff-errors-in-stack{
	margin:0 0 18px;
	padding:12px 14px;
	border:1px solid #efb8b4;
	border-radius:var(--bc-form-radius);
	background:#fff6f5;
	color:#922b25;
}
.frm-fluent-form .ff-message-success{
	margin:16px 0;
	padding:14px 16px;
	border:1px solid #b9dfc6;
	border-radius:var(--bc-form-radius);
	background:#f1faf4;
	color:#235d36;
	box-shadow:none;
}

.frm-fluent-form .ff-el-section-break{
	margin:24px 0 18px;
	padding-bottom:8px;
	border-bottom:1px solid var(--bc-form-border);
}
.frm-fluent-form .ff-el-section-break .ff-el-section-title{
	margin:0;
	color:var(--bc-form-blue-dark);
	font:inherit;
	font-size:1.08rem;
	font-weight:750;
}
.frm-fluent-form .ff_upload_btn.ff-btn{
	width:auto;
	background:#fff;
	color:var(--bc-form-blue-dark);
}

@media(max-width:700px){
	.frm-fluent-form .ff-el-group{margin-bottom:16px}
	.frm-fluent-form .ff-t-container{gap:0}
	.frm-fluent-form .ff-el-form-control{min-height:50px;padding:11px 13px}
	.frm-fluent-form textarea.ff-el-form-control{min-height:110px}
	.frm-fluent-form .ff-btn,
	.frm-fluent-form button[type="submit"],
	.frm-fluent-form input[type="submit"]{width:100%}
}


/*
 * Override de cascada Fluent Forms.
 * Fluent Forms y algunas plantillas guardan estilos de botón/campos con
 * especificidad alta o !important. Estas reglas se limitan al wrapper del
 * formulario y fuerzan únicamente la capa visual Barón.
 */
body .frm-fluent-form input.ff-el-form-control:not([type="checkbox"]):not([type="radio"]),
body .frm-fluent-form select.ff-el-form-control,
body .frm-fluent-form textarea.ff-el-form-control{
	border:1px solid var(--bc-form-border)!important;
	border-radius:var(--bc-form-radius)!important;
	background:#fff!important;
	box-shadow:none!important;
	color:var(--bc-form-text)!important;
	font:inherit!important;
}
body .frm-fluent-form input.ff-el-form-control:not([type="checkbox"]):not([type="radio"]):focus,
body .frm-fluent-form select.ff-el-form-control:focus,
body .frm-fluent-form textarea.ff-el-form-control:focus{
	border-color:var(--bc-form-blue)!important;
	box-shadow:0 0 0 3px rgba(11,74,139,.12)!important;
	outline:0!important;
}
body .frm-fluent-form textarea.ff-el-form-control{
	min-height:118px!important;
	padding:12px 16px!important;
}
body .frm-fluent-form .ff-el-input--label label,
body .frm-fluent-form label.ff-el-form-label{
	color:var(--bc-form-text)!important;
	font-family:inherit!important;
	font-weight:650!important;
}
body .frm-fluent-form .ff-el-form-check label,
body .frm-fluent-form label.ff-el-form-check-label{
	color:var(--bc-form-text)!important;
	font-family:inherit!important;
	font-size:inherit!important;
	line-height:1.45!important;
}
body .frm-fluent-form input[type="checkbox"],
body .frm-fluent-form input[type="radio"]{
	accent-color:var(--bc-form-blue)!important;
}
body .frm-fluent-form .ff-btn-submit,
body .frm-fluent-form button.ff-btn-submit,
body .frm-fluent-form button[type="submit"],
body .frm-fluent-form input[type="submit"]{
	min-height:50px!important;
	border:1px solid var(--bc-form-blue)!important;
	border-radius:var(--bc-form-radius)!important;
	background:var(--bc-form-blue)!important;
	background-color:var(--bc-form-blue)!important;
	box-shadow:none!important;
	color:#fff!important;
	font-family:inherit!important;
	font-weight:700!important;
	text-shadow:none!important;
}
body .frm-fluent-form .ff-btn-submit:hover,
body .frm-fluent-form button.ff-btn-submit:hover,
body .frm-fluent-form button[type="submit"]:hover,
body .frm-fluent-form input[type="submit"]:hover{
	border-color:var(--bc-form-blue-dark)!important;
	background:var(--bc-form-blue-dark)!important;
	background-color:var(--bc-form-blue-dark)!important;
	color:#fff!important;
}
body .frm-fluent-form .ff-btn-submit:focus-visible,
body .frm-fluent-form button[type="submit"]:focus-visible{
	outline:0!important;
	box-shadow:0 0 0 3px rgba(11,74,139,.18)!important;
}
